默认情况下覆盖插件的文本域-丢失翻译

时间:2013-02-16 作者:André

Wordpress很棒,但有些东西让我抓狂。

无论何时更新插件或主题,都会删除并替换所有文件。所以,如果我在一个插件中有自定义代码或翻译,它就会丢失!

我看到一些解决方案建议更改插件的textdomain以从wp内容/语言加载语言文件,但如果我编写自定义函数来加载*。采购订单和*。mo来自wp内容,直接在插件代码中,它也会被覆盖。

所以我想知道如何更新插件,而不丢失翻译或自定义代码。

我最终使用了WPML字符串来完成这项工作,将翻译保存在DB中(我不确定是否可行),但WPML是一个非常繁重的插件,我必须在所有站点安装它,这使得维护起来很困难。

是否有任何功能可以覆盖插件的所有textdomains,这样我就可以在不更改插件代码的情况下以wp内容/语言进行所有翻译?

1 个回复
SO网友:André

这是一个patch for 3.5 将其用于插件
使用wp-content/languages/plugins/textdomain-pt_BR.po

通过SSH将其应用于:patch -p1 < no_plugin_overwrite.patch
希望它能在3.6版本中发布。

Ticket #18200 (new task (blessed))

实现核心、插件和主题的语言包。

结束

相关推荐

为什么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可以