How to debug load_textdomain?

时间:2018-08-17 作者:Fredy31

我真的被难住了。

我有这个代码来为我正在工作的网站的英文版本加载我的textdomains。

以下代码位于函数中。php主题文件。

if(ICL_LANGUAGE_CODE == \'en\'){
    $textdomainLoad = load_textdomain( SHIROI_THEME_DOMAIN, get_template_directory().\'/lang/en_US.mo\' );
    load_textdomain( "site", get_template_directory().\'/lang/en_US.mo\' );
    echo \'<!--textdomainloadednohook \'.$textdomainLoad.\'-->\';
}
这通常有效。但在这个网站上,它没有。我检查过了,我的textdomain是正确的。

下面的回音在页面的开头回音,这意味着文件正常并且加载正确。

但在这个网站上尤其如此。在我的页脚中,文本仍然是法语,这是我的字符串开始的语言。

我可以用什么来测试并找出挂接装置在哪里?

附言:更奇怪的是:我们在一个登台环境中运行sameish代码,在登台上运行。在生产过程中,情况并非如此。

1 个回复
最合适的回答,由SO网友:Fredy31 整理而成

我很想事先知道这一点。这是我的问题的解决方案,所以其他陷入困境的人可能不会在这个问题上陷入数小时。

WPML有一个字符串转换插件。如果它被激活,它似乎在load\\u textdomain之前优先通过。因此,load\\u textdomain在加载文件时起作用(给出true),但字符串转换在加载自身时会将其全部扔进垃圾箱。

结束

相关推荐

为什么LOAD_TextDOMAIN有效,而LOAD_PLUGIN_TextDOMAIN无效?

在我的插件中init 作用 load_textdomain( \'myplugin\', ABS_PATH_TO_MO_FILE ); // OK load_plugin_textdomain( \'myplugin\', false, ABS_PATH_TO_LANGS_DIR); // No effect echo( __(\'Test\', \'myplugin\') ); 在上面的代码中,load\\u textdomain可以