WordPress 2.1中文包

做了几天,前后耗时12个多小时,终于把WordPress 2.1的中文包做好了。

1月28日做好的WordPress 2.0.7中文包2.0版,在此基础上做WordPress 2.1的中文包。因为WordPress 2.1相对2.0系列的改动非常大,更新翻译字符串后,总共有346条待翻译的。于是,一条一条地查源文件查后台对应位置进行翻译。其间还有一些功能我不太了解具体的作用,在源代码里翻了一下实现该功能的代码,也耗了一点时间。

WordPress 2.1里已经把WordPress Database Backup插件移出核心了,而WordPress Database Backup插件已经换了开发者,并推出了兼容WordPress 2.1的2.0版。这个2.0版里修复了以前的一些bug,并增加了对WordPress 2.1的定时功能的支持,但是所有的翻译还是用的直接调用WordPress语言包的方法,没有使用自己的语言包。所以,这次翻译WordPress 2.1时我还是把它包含了进来,使用WordPress 2.1的人只要装上这个插件激活就立即是中文的了,就像以前内置的插件一样。

TinyMCE此次更新巨大,花了一个下午的时间从TinyMCE的各个en.js文件里把要翻译的字符串提取出来,做成po文件。最后弄出了150多项,经过内部查重,再经过对比WordPress中文包查重,最终去掉了所有重复项,只剩133项。TinyMCE的大升级,对应的要翻译的字符串也从42项猛增到133项,确实是个好消息。在编辑文章时按下Alt+v快捷键即可看到更多的工具栏按钮,使用的过程中就会在按钮的提示以及弹出的对话框中看到翻译后的中文了。

在弄好TinyMCE的翻译并合并到WordPress中文包之后,我就上传了mo文件到Blog里做测试。不过很遗憾的发现,有几处工具栏按钮的提示没有正确的显示中文。在WordPress 2.1的源代码里查了一番,又到WordPress网站上查源代码的修改记录,最终查到在[3664]里,进行TinyMCE翻译处理的代码里的正则表达式由$search2 = "/ : (['\"])(.*)\\1/Uem";替换成$search2 = "/\\s:\\s(['\"])(.*)\\1(,|\\s*})/Uem";。于是,原本能翻译的一些地方现在没法翻译了。唉,郁闷的很,辛辛苦苦弄的TinyMCE的翻译,到头来却因为WordPress 2.1的bug而无法完整地翻译整个编辑器的字符串。报了bug #3733,等修复吧。

这次翻译的过程中,多亏了Edwardcqcrz的鞭策,而且翻译完以后他们也帮忙做了测试并提出了很多意见,真是要谢谢他们。

最近在WordPress中文论坛看到有个叫陈少钧的人做了个WordPress 2.1中文包[via],并在他的中文包页面上写上“我们需要结束 WordPress 混乱滞后的中文翻译。把 WordPress 本土化标准和统一,受益的是全体使用 WordPress 的用户。有兴趣推动此标准化的朋友请发邮件给我:paveochen(at)gmail.com 。”(好像现在这句话已经被删了)呃,WordPress的中文翻译,“混乱”倒谈不上,目前也没几个人在做这个事。“滞后”嘛,我倒没觉得点点游和我的中文包翻译的有多烂。“标准”嘛,也许弄了工作组,把大家都拉进来,统一制作WordPress中文包也不错。不过,现在这种局面倒也没什么不好。好几个人在做WordPress中文包,大家愿意用哪个就用哪个。百花齐放也未必是件坏事。

这个中文包我下下来看过,并不是很好。我做了WordPress中文包,里面一千三百多项字符串,每一项我都是认真找出在源代码中的地址仔细的查看过,所以对每一项字符串我都清楚的很。陈少钧的整个中文包我大致翻了一下,很多地方都和我和点点游的中文包没什么不同,有些地方还自作聪明的按照英文原文做翻译,却没有参考源代码。比如,我的中文包对存档日期格式的翻译是“%2$d年%1$05s”,而对月份的翻译是“1月”、“2月”...“12月”。"%1$05s"里,5的意思是要显示5个字节,0的意思是不足的以数字0做补充。因为UTF-8里汉字都是3个字节的,所以最终显示效果就是“01月”、“02月”...“12月”。这样把格式写进翻译字符串而不是直接把“01月”写进月份的翻译也是为了不影响其他地方的日期格式。不过,陈少钧的中文包里照抄了我对存档日期格式的翻译,却把月份的翻译改为了“一月”、“二月”...“十二月”,这样就不对应了。

最近nbachiyski提了个建议#3687,建议给要翻译的文字加上注释,以方便翻译者。我觉得这没这个必要。WordPress使用了gettext,翻译者使用poEdit软件即可从WordPress源代码里得到所有要翻译的英文字符串。但是,翻译的时候并不能只看这些英文字符串做翻译,而是要参考每个字符串在源代码里的上下文。同时,翻译者要对WordPress有足够的了解,起码对后台各个选项的作用要清楚。只有这样,翻译出来的效果才会比较好。或许,陈少钧同学应该先把自己的中文包做好,再来扯标准这面大旗。当然,我也知道,“三流企业做产品,二流企业做品牌,一流企业做标准”,扯上标准这面大旗对自己是很有利的。而且,使用者如果看到“WordPress标准中文包”或者“WordPress官方中文包”的字样,也会有所倾心的。只是,在做标准之前,先把你的产品做好撒。

点点游做的WordPress中文版很不错,很多地方都做了很深入的汉化,比如WordPress自带的两个模板,以及很多WordPress没提供汉化的日期等部分。据点点游大大本人所说,他曾经做过很多大型程序的汉化工作。怪不得做WP的汉化做的这么专业。

我做的中文包不同于中文版,有很大的局限性,所有WordPress不提供翻译的地方我都翻译不了。我能做的也就是尽量的去报bug,但是也比较麻烦。首先我的英语很蹩脚,要跟WordPress开发组的人解释清楚事情的原委要查好久的金山词霸。另外,WordPress开发组也比较懒,感觉上好像很多bug被报上去后,他们总要说,希望有人做个Patch。或许,有了Patch他们可以很容易的让机器帮他们合并到WordPress源文件里,而不用自己去找那几行代码了。而我又不会做Patch,对svn软件不太熟...

对于中文版,我觉得不应该仅仅是汉化。我以前看过日本的一个WordPress网站,他们做的非常好,整套的日文文档,还有WordPress日文版里,他们也做了很深入的日文化,还加入了一些功能。比如,安装WordPress日文版时,你可以自行选择数据库的编码方式,是Shift-JIS还是UTF-8。所以我觉得中文版应该做的更多些。比如,WordPress里有一些bug,WordPress开发组迟迟不肯修复。(比如数据库编码方式的问题,WordPress开发组决定到2.2版才开始考虑该问题)还有一些不适合中文的地方,比如后台的一些CSS,比如对英文引号的处理,都不符合中国人的习惯。还有,每次WordPress有release版出来时,都会有很多bug被曝出来,Mark经常在他的Blog上对这些bug做出说明并给出临时处理意见。或许中文版可以做出一个小更新来修复这些问题,不必等WordPress原版推出下一个版本,这样对中文WordPress用户也是个好事。

如果有谁真的希望弄个标准化的WordPress中文版来,以上是我的建议。不过,要紧跟WordPress的步伐,随时获得最新的bug报告,对WordPress进行一些修改以适应中文环境,确实是个很累人的事。

而且,如果多人合作,也会遇到一些新问题。我自己做中文包,对于每一项我都很清楚,但是多人合作,我就要写注释,说明这里为什么不能按照原文翻译而要翻译成这样。同时也会面临一些冲突,比如我比较喜欢不翻译很多名词,比如blog、Trackback、Pingback、blogroll、feed、RSS。没必要非把blog翻译成博客,从国外的Windows、Word、Excel、Winamp、WinRAR,到国内的QQ、Foxmail,英文名并没有对它们的流行造成什么阻碍嘛。只有Google,傻乎乎的认为起个中文名字“谷歌”会更本地化一些。

我还发现我是个很呆的人,内向,不善于与人交流。而且,只懂研究技术,不懂做一些宣传。象点点游在WordPress新版发布后会写“WordPress ××版发布,本站在第一时间为您提供中文版。”象我这样木呐的人写不出这种文字,我只会写中文的WordPress changelog,一条一条的列出更新的内容。唉,孤僻的程序员,终日与电脑为伴。

本文共有 36 条评论WordPress 2.1中文包


  1. 1 Wady

    blog、Trackback 之类的名次我讲起翻译过来不过因为个别地方可能需要中文统一会比较美观,干脆全部翻译掉得了- -

  2. 2 Jiang

    请教一个问题,很奇怪啊:
    我使用的wp 2.1点点游的版本,使用自己修改后的mozine主题或默认主题。
    打开我blog的时候,或者某篇文章,经常出现空白页面,只有再次或者多次刷新才显示内容。
    原来我一直认为是盘古空间的问题,不过别人也用的盘古空间,我打开一点问题都没有。我以为主题速度慢,换成默认主题也不行。
    请帮助指点一二,谢谢!

  3. 3 Wady

    貌似你忘记翻译关键字为 __ngettext 的那部分内容了。

  4. 4 炎藤

    google本来就不是什么好记的词--
    记得N年前第一次用Google的时候还拼错几次

  5. 5 Wady

    还发现不少没有写进 po 文档的翻译内容 …… 我这里更新下有 300 多个新建,300 多个过时。过时的档应该是对 WordPress Database Backup 和 TingMCE 等的翻译内容。但 300 多条新建内容是怎么回事 …… 比如 Front Page 一项没找到

  6. 6 mickeylili

    为什么一定要汉化呢?呵呵,就用英文岂不是更好,少了许多麻烦的问题。

  7. 7 nonozone

    我到有个建议,就是关于主题文件名称那部分最好不要汉化,比如index.php呀,siderbar.php这些文件名称修改成主模版文件呀,侧边栏呀,我反而觉得一下子不知道怎么找了,毕竟ftp里显示的都是文件名,但是到了后台一下子变成中文,怪怪 的!

  8. 8 yskin

    真是对不起啊,mickeylili,给你制造了那么多麻烦。

  9. 9 yskin

    收到。这里是WordPress为了方便用户而特殊设计的,傻瓜化嘛。我也苦于无法翻译准确。英文里叫"Sidebar",我觉得翻译成“侧边栏文件”才好些。

    还是给去了吧,待会去查一下还原回去。

  10. 10 Nicky

    就是,做人低调一点好,我对“首发“”第一时间“”独家“这些东西没有好感。

  11. 11 cqcrz

    真实的,怎么把我这个大恶人都写出来了,晕~~~~~~~~~~

  12. 12 ES2004

    Y别这么说自己嘛,我们还是非常喜欢你支持你的~

  13. 13 kevin

    我倒觉得大家来组件一个翻译的队伍是一个不错的选择
    可以快速、准确的完成

  14. 14 Evan

    完全同意kevin的想法,毕竟这样可以减少不少无用功,而且效率也高!

  15. 15 mickeylili

    真是对不起啊,mickeylili,给你制造了那么多麻烦。
    ————————
    呵呵,yskin莫生气,我一点没有针对您的意思。
    我是针对您在文中的抱怨的那些人——若是有些人白用着您的劳动成果还四处挑毛病,就叫他们用英文原版得了,这样他们就什么麻烦也没有^_^

  16. 16 mickeylili

    翻译可以像您说的日文版那样面面俱到,甚至做成“加强版”;也可以尽可能忠实于原版做尽量少的更改。
    对于前者来说,更加适合新手(这也占用户的大多数),但因为做了许多涉及核心的修改,假如出现不稳定等情况难免引来一些稍微懂行的人的非议。这个适合有一定“追求”的汉化者。
    对于后者来说,自己则可以少掉很多麻烦,即使汉化版有问题也可以归咎于原版。不过这样粗糙的中文版可能很难吸引大多数初级用户的眼球。这个适合仅仅出于业余爱好,不指望靠这个给自己带来名利的汉化^_^

  17. 17 Edward

    对于任何一个中国人来说,无论他是不是高手,都希望能用得顺手,而WP的中文化也不仅是翻译的问题,由翻译引出的其他方面的问题还有好多,但是仅仅是中文化的话,对于核心代码应该没有什么影响,而其他方面的东西比如字体大小,以及显示风格,都要符合中国人的思维,这才叫中文化。因此如果招来一些不稳定的情况,我想十分懂行的人应该不会非议,而是去修正他,而稍微懂行的人来说,可能会非议吧,那就继续非议吧,不是我们能控制的。

    当然我也有听说有中国人英文说太好了,都不知道中文应该怎么说了,或者十分难以适应中文环境了,我对此保留自己的看法,我只知道中文比英文舒服多了,而已。

    WP是个优秀的Blog系统,中文化只是想让更多人能更轻松更便宜的建立一个属于自己的博客。至于淡薄名利,那是任何一个程序员必修的课程。

    嗯,我们都在努力。感谢这么多人能关注我们的中文化工程。

  18. 18 [BLT]FQX

    突然不知道说什么好了……我的站点还是2.0.5呢~
    要是空间直接上的去就好了啊。

  19. 19 pute

    你blog今天经常出现空白页面,要刷新才能正常显示。
    另外,2.1的“继续阅读”你没翻译?

  20. 20 pute

    解决了,是k2中文包的原因。。。

  21. 21 shawn

    我想问问2.1后台编写的空行问题,看惯了以前段落与段落之间的一行空白,为什么现在回车之后不留了呢?或者是我的有问题?我现在只能自己加才行。有没有更方便的方式?

  22. 22 shawn

    非要自己加

  23. 23 yskin

    貌似WordPress 2.1的TinyMCE里,回车一样是加<p>分段而非<br />。除非用的是代码编辑器,需要两次回车。

  24. 24 氧气层

    哈哈,yskin兄,你这样热心的程序员已经很少了哈。。

    比如我公司技术部的程序员,就拽个P样的,我有事都直接找766的程序员的。

  25. 25 Camel

    wp开发组指的patch,应该是指用一个叫diff的程序做的文件。ibm网站上有一篇具体的介绍,其实就是两个命令行程序,用起来不会比gettext难多少。这两个程序有windows版本的,在msys的包里。如果有什么问题可以找我。

    http://www.ibm.com/developerworks/cn/linux/l-diffp/index.html

  26. 26 bunny

    我用点点的汉化,可管理后台都是英文的,是怎样的吗

  27. 27 快乐

    不错,我下载用了。加油。

  28. 28 Петрович

    А мне нравится.

  1. 1 BloggingPro China » WordPress 2.1中文包
    Pingback2007-2-7 2:26 下午
  2. 2 折腾Wordpress at 心如止水
    Pingback2007-2-9 6:12 下午
  3. 3 总而言之,统而言之
    Trackback2007-2-23 1:22 上午
  4. 4 WordPress中文教程之4,准备安装 : 木子de博客
    Pingback2007-6-24 7:33 上午
  5. 5 ebaying | WordPress中文教程4,准备安装
    Pingback2007-9-2 2:51 下午
  6. 6 坤爷的博客 » Blog Archive » WordPress中文教程之4,准备安装
    Pingback2008-4-16 7:11 下午
  7. 7 WordPress 安装的必要准备 | hellow world
    Pingback2008-6-10 3:43 下午
  8. 8 WordPress天下 » Blog Archive » WordPress中文教程之04
    Pingback2008-9-1 11:09 上午

请留下您的评论: