以前不太知道wordpress汉化的过程,今天大概的了解了一下,在这里也跟大家分享一下,其实就是使用Poedit软件,非常的容易。
wordpress汉化的必要条件
使用_e 和 __输出待翻译文本
wordpress汉化遵循 GNU gettext 机制,WordPress 有两个可以被调用的函数:_e 和 __。为了使得插件或者主题能够被翻译,每次输出文本的时候,都应该使用这两个函数。
这两个函数的使用方法是:
1 2 |
__($message, $domain) _e($message, $domain) |
_e 和 __的区别是:
_e 直接输出文本,而 __ 是返回文本,需要自己输出,所以 __ 一般用在字符串连接当中。
这两个函数都用 $message 作为第一个参数和 $domain 作为第二个参数。第一个参数就是要输出的文本,而第二个参数 $domain是必选的。
如:主题名字为tennfycms,这里 $domain 就是 tennfycms,$domain 一般是在 load_plugin_textdomain 函数中定义,下面有具体介绍。
使用Poedit汉化wordpress主题插件
这里以我的tennfycms主题为例,介绍下汉化的过程。
这里需要使用Poedit软件来进行汉化,Poedit下载地址:Poedit百度云下载
按以下步骤进行汉化:
1、打开Poedit – 文件 – 新建消息目录文档,填写以下基本信息:
1)翻译属性
2)源路径
3)源关键字
注意 __ 是两个半角下划线。
2、保存生成po文件
设置好后确定,会弹出保存窗口,命名为zh_CN.po,保存到主题目录下即可。保存成功会弹出以下窗口,说明Poedit已经探测到这么多要翻译的英文了,确定即可。
3、开始翻译
一旦所有需要翻译的文本都找到了,就该开始翻译主题了。
载入汉化生成po及mo文件
通过保存新文件,会自动生成一个可以让别人使用的 .po的文件,和一个可以被 WordPress 直接读取来本地化插件的 .mo 文件。
然后我们需要在wordpress functions.php文件中载入汉化生成的po及mo文件:
1 2 3 4 5 6 |
function theme_init(){ load_theme_textdomain('tennfyCMS', get_template_directory() . '/languages'); } add_action ('init', 'theme_init'); ?> |
如果我们在 wp-config.php 文件中设置了使用汉语,他们插件的选项和输出的文本将会使用汉化之后的文本。
参考文章:
使用 poEdit 汉化 WordPress 插件和主题
WordPress主题插件汉化教程