首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WordPress插件本地化,load_plugin_textdomain不工作

WordPress插件本地化,load_plugin_textdomain不工作
EN

Stack Overflow用户
提问于 2014-11-18 15:49:35
回答 3查看 4K关注 0票数 1

好的,我为联系人表格建立了插件,我想为它添加翻译。在我的主要插件文件中,我添加了以下代码

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

// Add actions
add_action('init', 'ap_action_init');

在我写联系人表格的文件中,我有

代码语言:javascript
复制
_e( 'Prva','prijava_forma' );

在我的语言文件夹中,我添加了用Poedit创建的.mo和.po文件。

另外,我在WPLANG中定义了config.php,并更改了仪表板中的语言。

但我没得到翻译。哪里会有问题,我是新手吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-18 15:58:04

有许多可能的原因:

  • .mo文件不可读或根本找不到(顺便说一句,WordPress没有使用.po文件)
  • 您所期望的字符串尚未翻译。
  • 错误的.mo文件名,有效名称是ar.mo,fr_FR.mo.,无效名称是br_BR.mo,arabic.po,AR.mo,ar_AR.mo.所以确保你把这个做对了。
  • 对于插件,名称将是文本域、破折号和区域设置的连接:myplugin-ru_RU.mo

检查textdomain()返回了什么,如果加载了.mo文件,它应该返回true,在这种情况下,下一步将检查您在__()_e()和类似函数中没有丢失textdomain参数。

更多关于WordPress本地化的信息

票数 4
EN

Stack Overflow用户

发布于 2019-01-22 14:54:01

它也可能是在钩子上引起的,其中函数是附加的,po/mo文件在哪里。

在Init上,load_plugin_textdomain()返回true,但是字符串没有被翻译。

我将操作更改为plugins_loaded,因为po/mo位于自定义插件中的文件夹中。

票数 0
EN

Stack Overflow用户

发布于 2019-11-29 13:06:44

还请确保您的字符串代表其本身。不要将任何内容附加到字符串中,而是在gettext函数之后执行此操作。

错:

代码语言:javascript
复制
return __('Please translate me'.'(666)','your-textdomain');

右图:

代码语言:javascript
复制
return __('Please translate me','your-textdomain').'(666)';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26998316

复制
相关文章

相似问题

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