下一篇 » « 上一篇

如何汉化 po 文件及编译成 mo 文件

作者:    时间:2008-03-21    来源:    点击:3862    本文共1篇文章 字体:[ ]
标签:汉化

我们在使用 WordPress 及其插件时,经常可以找到汉化的版本,一般是通过一个汉化过(翻译过)的 mo 文件来实现( WordPress 仅可识别 mo 文件),实际上不单 WordPress ,包括很多桌面应用程序都是是依靠 po 文件或 mo 文件来实现多语言版本.如果原作者提供了一个 po 文件或 mo 文件,那么我们就可以通过相关工具来自行汉化,或者翻译成其他语言版本.因为 mo 文件不能直接编辑,所以我们得编辑 po 文件,若仅有 mo 文件,那么就应该先把它转换成 po 文件后再进行编辑翻译.

php学习之家http://www.444p.com

至于编辑工具,由于 po 文件本身就是一个文本文件,所以任何文本编辑器都可以使用.除了专门编辑 po 文件的 poEdit ,还推荐使用 poEdit 、EditPlus、UltraEdit或者你喜欢的 vi 或 vim.

www.444p.com php学习之家

我们来看一个 po 文件,这是 yskin 制作的 WordPress 2.11 中文版 po 文件 中的一部分 本文来自 www.444p.com

msgid ""
msgstr ""
"Project-Id-Version: WordPress 2.1-1.0\n"
"PO-Revision-Date: 2007-02-22 12:35+0800\n"
"Last-Translator: yskin \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Basepath: d:/wordpress\n"
"X-Poedit-Language: Simplified Chinese\n"
"X-Poedit-Country: China\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-KeywordsList: _e;__;__ngettext:1,2\n"
"Language-Team: \n"
"POT-Creation-Date: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Poedit-SearchPath-0: .\n"

# 第一条要翻译的字符串.
#: wp-comments-post.php:15
msgid "Sorry, comments are closed for this item."
msgstr "对不起,这篇文章禁止评论." php学习之家http://www.444p.com

上面是这个 po 文件的最初部分,各行意思一目了然,注意编码尽可能采用UTF-8.

www.444p.com版权所有

# 第一条要翻译的字符串.
#: wp-comments-post.php:15
msgid "Sorry, comments are closed for this item."
msgstr "对不起,这篇文章禁止评论." php学习之家

这段就是po文件的主体结构了,每一个翻译项占一段.#: wp-comments-post.php:15 说明字符串相应的位置; msgid "Sorry, comments are closed for this item." 翻译前的原文; msgstr "对不起,这篇文章禁止评论." 翻译后的字符串.以此类推,即可完成所有资源的翻译.非常简单. www.444p.com

那么如何将 po 文件编译成(转换) mo 文件呢? php学习之家

如如果你使用的是 poEdit ,按 Ctrl + s 保存就会自动生成相应的 po 文件和 mo 文件;
或者在命令提示符界面,使用 msgfmt demo.po 命令将po文件编译为可用的 demo.mo 文件,用 msgunfmt demo.mo 命令转回 demo.po 文件,这些命令在 poEdit 的安裝目录下有,可以拷贝msgunfmt.exe 、msgfmt.exe 及相关链接库文件 gettextlib.dll 、gettextsrc.dll 、iconv.dll 、intl.dll 到 c:/windows/system32 目录下,或者安装 .Net 2.0环境。
另外推荐一款 GUI 界面的转化程序 po2mo.exe ,作者的说明:该程序是调用 msgfmt.exe 和 msgunfmt.exe 文件,从而进行po 、mo 文件互转。文件是用C#写的,需要.Net 2.0环境。

www.444p.com

 

网络磁盘分流下载

  • http://www.icemanpro.com/download/tools/PO_MO.7z

责任编辑:semirock
发表评论
密码: (游客不需要密码)
记住我【Alt+S 或 Ctrl+Enter 快速提交】

搜索工具


《Wordpress》点击排行