我正在使用在WordPress网站上安装qTranslate多语言插件。该网站有一个自定义插件,从而使事情复杂化。这个问题涉及qTranslate无法翻译Gettext标记字符串(_e
等)的一些情况。在这些情况下,我可以正确验证qTranslate语言和WordPress语言环境,就像Gettext调用之前的行一样,如下所示:
<pre>lang: <?php echo qtrans_getLanguage(); ?></pre>
<p class="message"><?php _e('Cart is empty.', 'myplugin'); ?></p>
无论当前语言如何,字符串都将以qTranslate中默认设置的语言输出。所以这是典型的输出,其中瑞典语是默认语言:
lang: en
Varukorgenärtom。
据我所知,你无法从这个摘要中看出到底出了什么问题。但你可以通过建议可能导致这种行为的原因来帮助我吗?
提示:Ajax可能会涉及,但说实话,我有点困惑,看看是否真的如此。
答案 0 :(得分:1)
load_plugin_textdomain
调用应该在init函数中,因此不是
load_plugin_textdomain('myplugin', false, dirname(plugin_basename(__FILE__))
. '/languages/');
我做了
function myplugin_init() {
load_plugin_textdomain('myplugin', false, dirname(plugin_basename(__FILE__))
. '/languages/');
}
add_action( 'init', 'myplugin_init' );
并且有效。