汉化WordPress,拥有“火星文”式的后台

感谢老N的投稿
WordPress2.6出来了,我们也在第一时间发布了WordPress 2.6 简体中文版和中文语言包,这是我们的第一个版本,得到了很多朋友的支持,这里说声感谢,我们会一直努力,为WordPress本地化做贡献。

在发布WordPress 2.6简体中文版的时候,我们就说了会写篇关于如何汉化WordPress的教程,当天下午就通过QQ和老N聊上了,马上奔他的博客一看,汗颜,第一时间就写了一篇汉化WordPress的教程,随即马上被我预定,今天分享给大家。

理论准备:(不想看,可以忽略)(via
WordPress使用GNU gettext这一本地化框架,可以方便的在代码中标记哪些文字可以被本地化,翻译者所需要做的是收集这些被标记的文字然后将其翻译为自己的母语。在这一过程中不需要更改代码,也不需要了解这些代码是怎样运行的。
那么,WordPress所涉及的可以被本地化代码一般有如下3个形式:

  • __($text):寻找$text的对应翻译版本,并返回结果;
  • _e($text):寻找$text的对应翻译版本,并将结果打印到屏幕,等同于echo__($text)
  • __ngettext($single,$plural,$number):如果$number等于1,则寻找$single的对应翻译版本;如果$number大于1,则寻找$plural的对应版本;

翻译WordPress所涉及的3个文件:

1.POT (Portable Object Template) 文件

也就是英文语言包,在这个文件里有着所有原程序原语言(英文的)的字符串归集清单。WordPress已经为我们提供了改文件,因此你就不用安装gettext环境来自己提取了(挺麻烦的)。我们只要下载 最新的POT文件就可以了。

2.PO (Portable Object)文件

这是我们本地化过程中的非常重要的文件。译者将POT文件中的英语条目翻译成本地语言(如:中文),并另存为这个PO文件,它包含英文对应的中文信息。

3.MO (Machine Object) 文件

将PO文件通过特定的程序转化成机器可以读的MO文件。由软件自动生成。

物料准备:
1.下载最新WordPress.POT文件,官方下载地址:http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot (注意,同样不要用迅雷等下载,以免下到过去的版本)
2.下载并安装翻译软件,老N推荐用PoEdit,因为它包含中文版:PoEdit(http://www.poedit.net)
开始翻译:
1.运行PoEdit,文件—从pot文件更新类目—选则wordpress.pot,按照下图填写,其中复数形式中文应该填写:

nplurals=2; plural=1;

路径和关键字项可以忽略。
localize wordpress poedit
2.确定后,选择存放路径。简体中文汉化包的文件名应该为:zh_CN.po

3.接着我们就能看见这个汉化的界面了,分位4个框,图中红色框内为原文,蓝色框内为翻译。
localize wordpress poedit
注意:翻译时,一般来说 <> 内标记的内容需要保留。
4.上图最底下我们看到,一共有2303项需要翻译吧。同志们,辛苦啦,慢慢来吧。工作量很大啊!!! 翻译完了就保存吧。软件自动为你在保存的位置生成mo文件。

5.当然,当然,事情并不完全是这样滴。
如果每次更细都要这样翻译个几千条,不是要人命么,我们完全可以利用老的汉化文件,比如老N手头又一个2.5.1版本的汉化包,我们用poedit打开它。
在工具栏选择 类目(Catelog)—从pot文件更新(Update from pot File)—选择最新的那个pot文件—确定
你就会看到,poedit为你添加了新的条目和删除了新pot没有的条目。这样更改起来快多了吧。
localize wordpress poedit

6.再当然,当然,也许我们并不需要自己完全翻译所有东西,我只想个性化一下。我们大家看之前的文章也知道了吧,你只要改下别人的汉化包就ok了么。
像老N这样,嘿嘿
老N汉化

参考文章:(饮水不忘掘井人)

1.WordPress汉化手册

2.怎样为WordPress做中文翻译和提供中文语言包

3.官方文档Translating WordPress

看到这里,相信大家已经差不多都知道汉化WordPress是怎么回事了,其实真正的技术含量很少,主要是需要时间和耐心,当然了,多学点英语也是不错的。不知道有朋友会不会在看了这篇日志以后真的把自己的后台搞成火星文的,或者其他个性的后台,如果有,可以TB回来,和大家一起分享。