我有一个要翻译的插件。我完成了以下任务:
加载TextDomain:
$my_td = 'mysignup';
function my_signup_textdomain_init() {
global $my_td;
load_plugin_textdomain( $my_td, false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}
add_action('plugins_loaded', 'my_signup_textdomain_init');
在wp_plugin_folder \ my_signup \ languages中添加语言文件(po,pot,mo)(对于孟加拉语bn_BD):
更改了wp_config.php文件中的语言代码:
define('WPLANG', 'bn_BD');
但问题是没有改变。我不确定我做错了什么。我已经阅读了很多文章和答案。我仍然需要帮助才能知道如何测试一切都很好,我已经完成了,我该如何解决这个问题。
请帮帮我。提前谢谢。
答案 0 :(得分:1)
首先 - 全球$nl_td;
是什么意思全球$my_td;
?
第二 - 您似乎错过了.po
文件(例如mysignup.po
) - 您不需要bn_BD.po
和bn_BD.mo
第三 - 尝试像这样加载(没有不必要的变量):
load_plugin_textdomain( 'mysignup', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
第四 - 确保所有字符串都是这样的:__('string','mysignup');
编辑我:
在你的评论中你写道:
__('First Name字段是必需的',$ nl_td)和_e('First Name字段是必需的',$ nl_td)
再次 - 据我所知,你的代码非常有限 - $nl_td
没有定义。 $my_td
已定义。
只需用简单的字符串mysignup
替换所有这些变量即可。
您的代码可能是某种cut&paste
- 但您必须了解这些变量的含义,如果您希望它们正常工作,或确保它们一直都是一致的。
编辑II (现在您已将$nl_td
的评论编辑为$my_td
,您似乎开始明白了 - 编辑您的代码...... :-)然后它就可以了只要它是全球性的。但最好只写一个字符串。 )