首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从全局语言目录[Wordpress]加载textdomain

从全局语言目录[Wordpress]加载textdomain
EN

Stack Overflow用户
提问于 2016-10-29 10:19:10
回答 2查看 876关注 0票数 1

我正在为我的插件创建翻译。

为了从我的插件/语言目录中获取.mo文件,我使用以下函数

代码语言:javascript
复制
//Load translation
function load_plugin_textdomain() {
    load_plugin_textdomain( 'my-plugin', FALSE, basename( dirname( __FILE__ ) ) . '/languages/' );
}
add_action( 'plugins_loaded', 'load_plugin_textdomain' );

如何将位置设置为wp-content/languages

将位置设置为ABSPATH.'/wp-content/languages'不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-30 06:56:36

如果有其他人在找,它就在这里。

代码语言:javascript
复制
function load_txtdomain() {
    $locale = apply_filters( 'plugin_locale', get_locale(), 'my-plugin' );
    load_textdomain( 'my-plugin', WP_LANG_DIR . '/my-plugin-' . $locale . '.mo' );
}
add_action('plugins_loaded','load_txtdomain');
票数 0
EN

Stack Overflow用户

发布于 2017-10-05 09:07:05

我知道您已经接受了您自己的答案,但是尽管它会起作用,但它违背了WordPress标准。

load_plugin_textdomain将不加修改地从全局语言目录加载,并且应该用于引导插件翻译。您指定为第三个参数的路径是一个回退,以便在未安装全局语言文件的情况下使用。

为了澄清它是如何工作的: WordPress将严格地在<WP_LANG_DIR>/plugins/my-plugin-<locale>.mo上查看全局语言目录。因此,只要您的文本域和地区代码是正确的,它将被加载。

如果找不到,WordPress将查看您指定的路径,该路径必须是相对于wp-content/plugins目录的路径。

历史上(在WP4.6之前),第三个参数是首先加载的,但是WordPress决定交换订单,更倾向于社区翻译(全球安装)而不是作者提供的翻译(随插件一起提供)。

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

https://stackoverflow.com/questions/40318104

复制
相关文章

相似问题

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