翻译不适用于Text_DOMAIN

时间:2017-02-19 作者:Jean-philippe Emond

我正在尝试翻译我的自定义插件。

如果我放置fr_CA.po/.mo 进入我的wp-content\\languages\\plugins 手动。

但我希望能够把我的。采购订单/。mo进入我的插件文件夹"myplugin/languages"

在主文件中,我有:

 * Text Domain: myplugin
 * Domain Path: /languages/
我的文本

    add_action( \'init\', \'myplugin_load_textdomain\' );

function myplugin_load_textdomain() {
    load_plugin_textdomain( \'myplugin\', false, dirname( plugin_basename( __FILE__ ) ) . \'/languages/\' );
}
所有我的.po / .mo 在该文件夹中myplugin/languages/

我的Wordpress在fr_CA (WordPress 4.7.2–fr\\U CA)

我有一个fr_FR.po /fr_CA.po (及其.mo).

如前所述,如果我将.po/.mo 进入wp-content\\languages\\plugins 我改变了fr_FR(.mo/.po)myplugin-fr_FR(.mo/.po)

但我想.po/.mo 进入我的插件文件夹。

有人知道问题出在哪里吗?

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

来自的源代码load_plugin_textdomain 显然,函数将首先查找$domain . \'-\' . $locale . \'.mo\' (所以myplugin-fr_FR.mo) 在里面WP_LANG_DIR . \'/plugins/\' . $mofile.

只有当文件不在那里时,它才会开始查看指定的路径,如果它不在主插件目录中。因此,如果您没有在指定的目录中获取mo文件,则可能它不在那里,或者您提供了错误的路径。

我看不出你是否有错别字,但不是组合dirnameplugin_basename 你可能想坚持plugin_dir_path 以提供正确的目录。

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。