首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >load_plugin_textdomain不工作

load_plugin_textdomain不工作
EN

Stack Overflow用户
提问于 2012-04-20 03:20:08
回答 6查看 6.1K关注 0票数 5

嘿,我正在尝试本地化一个名为Donate Plus的插件(技术上是本地化的)。

插件附带了en_CA和de_DE文件,我试着创建了一个he_IL文件,但没有成功。所以我试着使用插件附带的de文件,但不起作用。

我已经将wp-config.php中的WPLANG设置为de_DE,但这并没有改变代码。

设置代码如下:

代码语言:javascript
复制
load_plugin_textdomain( 'dplus', '/wp-content/plugins/donate-plus' );

我确实检查了所有的字符串都被设置为本地化。

有谁有线索吗?

EN

回答 6

Stack Overflow用户

发布于 2015-03-16 06:56:35

我刚才也是这么想的,你有没有试着把你的文件从de_DE.po和de_DE.mo重命名为插件名-de_de.mo和插件名-de_de.po(当然,用你的插件名来改)?

dplus-de_DE.mo和dplus-de_DE.po它必须工作;)

票数 9
EN

Stack Overflow用户

发布于 2012-05-02 15:23:39

load_plugin_textdomain有三个参数。在您的例子中,应该是这样的(假设.po和.mo文件位于名为‘languages’的子目录中)

代码语言:javascript
复制
load_plugin_textdomain( 'dplus', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
票数 3
EN

Stack Overflow用户

发布于 2012-04-20 18:09:56

我检查了DonatePlus Plugin的源代码,发现这个插件的本地化是错误的。

load_plugin_textdomain()调用是在DonatePlus类构造函数内部进行的。但它应该出现在'init‘钩子中。尝试在init函数中添加以下代码(位于文件的末尾)。

代码语言:javascript
复制
if( class_exists('DonatePlus') )
    $donateplus = new DonatePlus();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10235232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档