首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WP本地化:如何翻译2个合并的pugins?

WP本地化:如何翻译2个合并的pugins?
EN

Stack Overflow用户
提问于 2017-07-20 16:56:59
回答 1查看 132关注 0票数 0

从几天以来,我一直在为插件翻译的问题而挣扎。我有一个免费的插件版本和使用:

代码语言:javascript
复制
function my_plugin_l10n(){
load_plugin_textdomain( 'free-plugin', false, dirname(plugin_basename( __FILE__ )).'/languages/');
}
add_action('plugins_loaded','my_plugin_l10n');

然后,我有一个依赖于免费版本的附加功能,并向免费版本添加功能和屏幕,有时合并免费页面中的功能,有时创建新页面。如何组合翻译文件?我一直使用翻译插件,例如'codestyling本地化‘或'loco转换’,但从未处理过这种情况。

我尝试过几种方法,例如:

代码语言:javascript
复制
function addon_l10n(){
 load_plugin_textdomain( "addon", false, dirname(plugin_basename( __FILE__ )).'/languages/');
}

add_action('plugins_loaded','addon_l10n');

代码语言:javascript
复制
function addon_l10n(){
load_plugin_textdomain( "addon", false, ABSPATH . 'wp-content/plugins/my_free_plugin/languages/' );
}
add_action('plugins_loaded','addon_l10n');

我尝试手动合并po字符串,但没有成功,在插件页面中只有来自免费版本的字符串被翻译(本地化的文件" free - plugin -{locale}.po,free-plugin-{locale}.mo“在/free/language/dir中已经到位)。

我还尝试在两个插件之间使用相同的文本域,但不知道是否正确,也不知道如何存储po-mo文件。

所以实际上我很困惑..。有人能帮忙吗?

EN

回答 1

Stack Overflow用户

发布于 2017-07-26 17:23:46

每个插件都应该有自己的文本域和自己的语言文件(.po,.mo),所以您应该像这样重写addon_l10n()

代码语言:javascript
复制
function addon_l10n(){
    load_plugin_textdomain( "addon", false, dirname(plugin_basename( __FILE__ )).'/languages/');
}
add_action('plugins_loaded','addon_l10n');

事实上,其中一个是另一个的副词并不影响这一点。每个插件的..po/..mo文件都应该包含相应插件中使用的文本,即使它们似乎共享一些字符串。

您可能会说,共享字符串需要翻译两次,但这正是大多数翻译工具(如Poedit)实现某种翻译记忆的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45220890

复制
相关文章

相似问题

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