搭建中英双语 wordpress 博客

打算搭建一个中英双语博客的想法由来已久。早期的帖子里,dapeng 曾同一篇前一半用英文,后一半用中文,想来阅读体验是相当糟糕的。后来,用个懒省事儿的办法,给博客上添加了个按钮直接链接到Google Translatge,英德韩简繁,看上去挺唬人,后来韩国同学的反馈是:大概看不出博客在说什么。其实,英德互译的话基本意思还能看明白,而中英互译简直就是胡说八道了。虽然 twisting 也许是个不错的名字,但 dapeng 不能忍受 Google Translate 把它作为兜兜名字的英文翻译。不过,作为一款免费翻译软件,表现已经相当出色了,还能期待什么呢?说到头来,双语博客还是得靠自己一个字一个字去写才靠谱。也看到很多朋友中文英文各开一个博客,各自独立,这不是 dapeng 想要的。dapeng 需要的是个双语界面,就像系主页那样。最好同一篇文章双语版本的评论能聚合到一起。但是,技术上 dapeng 一直不知道怎么实现双语界面,直到这两天为自己糟糕的英语水平所困,终于决定拿双语博客来练练手了。点击博客右上角的语言按钮,就可以实现切换。不是 Google 翻译的哦!

qTranslate

搭建双语博客比想象得要容易。这里假定已经搭建好了一个普通的单语种 wordpress 博客(方法以前介绍过),那么步骤如下:

  1. 安装 qTranslate 插件。
  2. 修改 qTranslate 的语言设置。这个插件支持多语,甚至可以自定义语言。别说双语,新增一个精灵语都没有问题。 晴耕雨讀志默认安装了中英德三语,于是 dapeng 把德语删掉了。
  3. 这样在撰写文章的界面就会出现语言标签进行切换。同一个帖子或页面可以用多种语言书写,共用同一个永久链接。
  4. 在小工具选项里多出一个语言选择器,添加到侧边栏之后,读者就有入口来切换语言了。

时间格式问题

安装设置完 qTranslate 之后,dapeng 发现每篇帖子末尾附加的时间信息格式乱了。解决这个问题很简单。

  1. 在 qTranslate 的高级设置里找到时间日期转换选项,将 “使用模拟的 date 函数”选中。
  2. qtranslate_core.php 文件中找到 qtrans_strftime 函数,将下面这一行代码插入到这个函数的开头: $format = str_replace('%%','%',$format)

小工具的双语切换

侧边栏的小工具,可以通过下面的代码来切换语言:<!--:language-->your text<!--:-->。例如,<!--:zh-->晴耕雨讀志<!--:--><!--:en-->dapeng<!--:--> 会自动在中英文之间切换。

还剩下最后一个问题,就是小工具的标题仍然只有一种语言显示。要解决这个问题可以通过 Widget logic 插件。安装该插件后,每个小工具会多出一个选项,叫做 Widget logic。将它设置成相应的语言即可,比如 qtrans_getLanguage()==’en’

好了,一个双语博客就完工啦!

搭建中英双语 wordpress 博客》上有42条评论

  1. chojemmy

    我以为你想说的双语博客就是另外再加一个博客呢。没想到这么高级!那这么说这篇文章英文版中文版都搜得到了?从英文版搜到的进来会不会自动转成中文,还是得要手动切换。

    回复
    1. dapeng 文章作者

      对,都能搜得到。默认语言是根据浏览者的浏览器语言自动切换的。浏览器默认是英文的,输入 dapengde.com会自动跳转到 dapengde.com/en.

      回复
  2. 土木坛子

    In my opinion, if you do want to make a blog in English, it is better to use another domain or a sub-domain to write English posts. Sure, it is just my opinion.As for your mentioned bi-language of some homepages, that is homepage that does not update so often, while your blog is always updated.

    回复
    1. dapeng 文章作者

      I have no idea. Maybe you are right. It is an experiment. Let’s see what will happen in the future.

      回复
        1. dapeng 文章作者

          Well, I guess I will play some tricks, like writing ‘ sorry, the English version of this post is unfortunately unavailable ‘ for some posts.

        2. dapeng 文章作者

          不管目测还是新测,显然误差太大。别说 10 篇,我第二篇都懒得用英文写了。

  3. Pingback引用通告: 搭建中英双语 wordpress 博客 – ITC网络管理团队

    1. dapeng 文章作者

      什么意思?我不懂。您是指盗版吗?盗版的我能不用就不用。

      回复
  4. mono

    我打算来试试这个,觉着好久没玩新鲜东西了,呵呵。你在这儿玩得好high

    回复
  5. vera

    我刚刚装了qTranslate, 每一篇文章可以翻译,但是怎样做到整个页面的翻译跳转呢?主页上右上角怎样才能出现切换的按钮呢?找了好多地方都没有答案。。

    回复
    1. 大鹏 文章作者

      我记得是访客第一次访问的时候,会根据访客浏览器的语言设置自动切换,或者是让访客选择语言,这样以后就直接进入所选语言的界面了。按钮我不记得了,但是可以自己做一个链接在边栏就可以了吧。

      回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax