好的我为联系表单构建了插件,我想为它添加翻译。在我的主插件文件中,我添加了此代码
function ap_action_init() {
// Localization
load_plugin_textdomain('prijava_forma', false, dirname(plugin_basename(__FILE__))."/languages";
}
// Add actions
add_action('init', 'ap_action_init');
在我的文件中写了联系表格我有这个
_e( 'Prva','prijava_forma' );
在我的语言文件夹中,我添加了使用Poedit创建的.mo和.po文件。
我还在config.php中定义了WPLANG
并更改了仪表板中的语言。
但我没有翻译。哪里可能有问题,我是新来的?
答案 0 :(得分:3)
有很多可能的原因:
myplugin-ru_RU.mo
检查返回的load_plugin_textdomain()是什么,如果.mo文件已加载,则应该返回true,在这种情况下,下一步是检查您是否遗漏了__()
中的textdomain参数,_e()
和类似的功能。
答案 1 :(得分:0)
这也可能是钩子在附加功能的地方以及po / mo文件的地方。
在Init Hooks上,load_plugin_textdomain()
返回了true
,但字符串未翻译。
我将po / mo放在自定义插件的文件夹中,因此将操作更改为plugins_loaded
。
答案 2 :(得分:0)
还要确保您的字符串代表自己。请勿在字符串后附加任何内容,而应在gettext
函数之后执行。
错误:
return __('Please translate me'.'(666)','your-textdomain');
右:
return __('Please translate me','your-textdomain').'(666)';