/ I18n

wordpress插件国际化(I18n)

之前写的WP插件fancy-captcha,由于网站的访客需要看提示才能把正确的图片拖到圆圈内,所以需要根据网站的具体情况输出对应语言的提示信息,折腾了一下午终于搞定。下面就以fancy-captcha为例讲解如何国际化wordpress插件。

首先将所有需要国际化的文字修改为英文,然后作为参数传给__()函数,例如

您必须启用 javascript 才能在这儿看到验证码!

修改为

注意,__()函数要有两个参数,第一个参数是英文版的内容,第二个参数是你自己定义的一个名字,不一定要是插件名,但是不可以有下划线_。

然后增加一个函数

function captcha_init() { $plugin_dir = dirname(plugin_basename(FILE)); load_plugin_textdomain( 'fancy-captcha', false , $plugin_dir.'/language' ); }

其中load_plugin_textdomain的参数有三个,第一个是刚刚你定义的那个名字,不可以有下划线,第二个统一用false,第三个是放置po和mo文件的目录。

最后添加一个action hook

add_action( 'init' , 'captcha_init');

保存即可。

下面介绍如何生成po和mo文件。

首先访问http://sourceforge.net/projects/poedit/下载poedit。

运行poedit,点击菜单的“文件”→“新建消息目录文档”

填好前四个框即可,注意千万不要填“国家”这个里面的内容。

然后切换到“路径”选项卡,基本路径那边填入的你插件文件所在文件夹,然后在那些小图标里找到“新项”,点击之后填入“.”即可(就是一个点)。

再切换到“关键字”选项卡,还是点击“新项”,填入“__”(两个下划线)。

点确定。

如果你的配置正确,poedit就会自动扫描你的php文件,寻找所有需要国际化的字符串。

然后你就可以双击那些字符串进行翻译了(当然是你自己翻译了- -!)

所有字符串翻译完毕之后,保存的名字用fancy-captcha-zh_CN,其中zh_CN为你翻译的目标语言,zh_CN前面是你之前定义的名字,这就是为什么不可以有下划线的原因。

之后会自动生成fancy-captcha-zh_CN.mo和fancy-captcha-zh_CN.po两个文件,把这两个文件移动到language文件夹下,大功告成!

wordpress插件国际化(I18n)
Share this