笔记 by 车东

poEdit: Windows下的.po文件编辑器

· 技术笔记|Tech Notes

twiki在DakarRelease中加强了本地化的支持,可以给TWiki设置不同的本地语言界面,这个设置是通过locale/目录下的.po文件实现的,.po是GNU gettext项目的一套应用规范。是一种比较规范的l10n方案。’.po’是: Portable Object(可跨平台对象)的缩写,而创建/编辑.po文件过程中会生成相应的机器码binary的格式文件:’.mo’ MO是Machine Object。

元旦放假时翻译是用Notepad对着德文版的翻译一行一行翻译的。几个星期过去了,2月1日TWiki 4.0(DakarRelease)就要发布了,目前的状态是:

Our current status is this:
locale/da.po: 628 translated messages.
locale/de.po: 628 translated messages.
locale/es.po: 270 translated messages, 58 fuzzy translations, 300 untranslated messages.
locale/fr.po: 542 translated messages, 58 fuzzy translations, 28 untranslated messages.
locale/nl.po: 626 translated messages, 2 untranslated messages.
locale/pt.po: 628 translated messages.
**locale/zh-cn.po: 548 translated messages, 72 fuzzy translations, 8 untranslated messages.
locale/zh-tw.po: 548 translated messages, 72 fuzzy translations, 8 untranslated messages.**

Instructions for posting patch against translations are available at:
[http://twiki.org/cgi-bin/view/Codev/DakarReleaseTranslations](http://twiki.org/cgi-bin/view/Codev/DakarReleaseTranslations)

由于中间开发过程中又有一些文字的修改,这时候再用Notepad编辑,中间已经有些内容很难定位和识别状态了。以前知道Linux平台下有2个分别在KDE和gnome平台下的PO编辑器:GTranslator和KBabel,我尝试了找了一下,发现了另外一个可以运行在Windows下面的.po编辑器:poEdit,使用界面如图

poedit.png

有了gettext系列工具的支持:翻译后的.po还可以通过工具进行校验

[msgfmt](http://www.chedong.com/phpMan.php/man/msgfmt/1) --statistics --output=/dev/null zh-cn.po

和以前其他的一些应用翻译不一样,比如,AWStats的翻译:内容都是用固定的字符串ID进行标记的。直接使用文本编辑器对照的进行翻译就可以了:

message65=六月          message65=Jun
message66=七月          message66=Jul
message67=八月          message67=Aug
message68=九月          message68=Sep
message69=十月          message69=Oct
message70=十一月        message70=Nov
message71=十二月        message71=Dec
message72=浏览器统计    message72=Navigation
message73=文件类别      message73=File type
message74=立即更新      message74=Update now
message75=字节          message75=Bandwidth
message76=回到主页      message76=Back to main page

而.po中对应的是相对比较复杂多变的字符设置,对于变更较多的项目来说,.po可管理性还是很强的。尤其是其中的meta信息的编辑。

💬 历史评论

以下 2 条评论从旧版 Movable Type 博客迁移而来。 原始评论时间:2002–2016 年。

Fenng · 2006-02-01 14:01

04 年的时候曾经用这个工具给原来的公司汉化过 Audacity .因为给公司做的,汉化包一直没放出来


小虎 · 2007-04-01 04:31

在poEdit里遇到%s这样的字符就编辑不了了,怎么解决呢?