wordpress之模板汉化

我的独立博客 夜の程序

wordpress的汉化机制

1. 在php文件中,需要汉化的地方使用__()或_e()函数进行标识;

2. 创建.po文件,进行翻译;

3. 将.po文件编译成.mo文件;

4. 向主题中加载.mo文件。

__()函数和__e()函数

这两个函数都接收字符串作为参数。例如:

__("Translate Me")
_e("Translate Me")

它们的区别在于:_()函数返回翻译后的字符串,而__e()函数打印出翻译后的字符串。其实__e()就相当于echo __()。

.po文件和.mo文件

.po文件用来对已标识的字符串进行汉化,它的格式如下:

#: sidebar.php:22
msgid "Get updates by email"
msgstr "通过邮件订阅更新"

#: sidebar.php:33
msgid "Latest Posts"
msgstr "最新文章"

#: sidebar.php:37
msgid "Feed on"
msgstr "订阅"

msgid是用__()或_e()标识的字符串,msgstr是对应的翻译。

.mo文件二进制文件,它由.po文件生成,wordpress在生成网页时使用它来快速提取翻译后的字符串。

可以用poedit软件来快速方便地生成.po文件和.mo文件。

poedit的使用

poedit可以从它的主页下载

如果主题目录中已经存在zh_CN.po文件,直接用poedit进行编辑即可;如果不存在则参见以下步骤:

1. 点击“文件-新建消息目录文档”。

2. 在弹出的对话框中填写“工程名称以及版本”、“团队”、“团队专用电子邮件”、“语言”、“字符集”、“源代码字符集”等信息。注意:不要填写“国家”,否则是否汉化会信赖于国家而不是信赖于语言。

3. 切换到“路径”选项卡,在“基本路径”中填入要汉化的主题的路径,在“路径”中加入一个"点(.)"。

4. 切换到“关键字”选项卡,在“关键字”中加入“__”和“_e”,这样poedit就会在所有php文件中查找由__()和_e()标识的字符串。

5. 点击确定后,弹出“另存为”对话框,把po文件命名为zh_CN.po。poedit会自动从所有php文件中提取出需要翻译的字符串,如下图所示,一项一项翻译就可以了。

在“编辑-首选-编辑器-行为”中勾上“保存时自动编译.mo文件”,则在保存时会自动生成zh_CN.mo文件。

若翻译完后又在php文件中添加或删除了要翻译的字符串,点击“类目-自源更新”,poedit会查找出相应的变更。

使用汉化主题

如果你用的是wordpress中文版,那么汉化完的主题就可以直接使用了;如果是英文版,则需要把wordpress安装目录的wp-config.php文件中的:

define ('WPLANG', '');
改成:
define ('WPLANG', 'zh_CN');
更多信息参见:
posted @ 2011-03-15 11:29  白色之夜  阅读(1058)  评论(1编辑  收藏  举报