试图在Wordpress中的Bedrock堆栈上本地化插件

时间:2014-10-07 22:50:28

标签: php wordpress localization wordpress-plugin

我尝试在工作时本地化WordPress插件。我已经创建了必要的.mo.po文件,并尝试在不同的地方存储它们,但我无法让本地化工作。我注意到它在Bedrock application.php文件中指定我应该将语言文件放在app/languages中,但它仍然不起作用。

我已尝试将.mo个文件命名为plugin-en.moen.mo但未成功。

我已相应地设置了我的WPLANG:define('WPLANG','en');

我是否需要插入load_plugin_textdomain()功能?如果是这样,我会把它放在哪里?

2 个答案:

答案 0 :(得分:1)

如果您的插件名为myplugin,则您的语言文件应为(例如)myplugin-fr_FR.momyplugin-fr_FR.mo(对于法语)。 Codex表示会议同时包含语言代码和国家/地区代码 - 我不知道是否只有en(不是,en_US)正在贡献你的问题。

将它们放在名为languages的子目录中,并使用类似

的内容加载它们
add_action( 'plugins_loaded', 'myplugin_load_textdomain' );
function myplugin_load_textdomain() {
    load_plugin_textdomain( 'myplugin', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); 
}

在主插件文件中(如果从其他目录中的文件加载它们,则需要修改第三个参数)。

答案 1 :(得分:0)

运行Bedrock的站点将其语言文件存储在不同的目录中:app/languages。无需在包裹字符串的_e()__()函数中添加textdomain。

因此,将所有.mo.po文件添加到app/languages文件夹即可。例如:_e( 'String-to-be-translated')__('String to be translated')

查看this link了解详情。