4月 152013
 

打算搭建一个中英双语博客的想法由来已久。早期的帖子里,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’

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

  43 Responses to “搭建中英双语 wordpress 博客”

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

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

  2. 还是看中文吧一串字母拆开来我认识组合一起就不认识了

  3. 你这个真不是一般的折腾啊。

  4. 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.

  5. 我说怎么翻译的这么好,是你自己写的啊

  6. 还是习惯中文了

  7. 没什么实际价值吧!

  8. 还是用商业版的WPML吧,商业版也可以免费用,你懂的!

  9. try this
    zhihua-lai.com/
    and
    http://zhihua-lai.com/?do=Welcome.Home&lang=ch

    右上角第一个图标就是页面语言切换的.

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

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

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

  12. 没看到右上角英文版本的链接啊,难道删掉了?

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

 填写评论

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(必填)

(必填)