1

我正在 WordPress 网站上安装 qTranslate 多语言插件。该站点有一个以前的自定义插件,这使事情变得复杂。_e这个问题涉及 qTranslate 无法翻译 Gettext 标记的字符串(等)的某些情况。在这些情况下,我可以正确验证 qTranslate 语言和 WordPress 语言环境,就像 Gettext 调用之前的行一样,如下所示:

<pre>lang: <?php echo qtrans_getLanguage(); ?></pre>
<p class="message"><?php _e('Cart is empty.', 'myplugin'); ?></p>

无论当前语言如何,字符串都将以 qTranslate 中设置为默认的语言输出。所以这是一个典型的输出,其中瑞典语是默认语言:

lang: en

Varukorgen är 汤姆。

我了解您无法从本摘要中确切看出哪里出了问题。但是,您能否通过建议可能导致这种行为的原因来帮助我?

提示:Ajax 可能参与其中,但老实说,我有点困惑,看看这是否真的是真的。

4

1 回答 1

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' );

它奏效了。

于 2013-11-03T11:23:44.070 回答