我正在开发一个自定义的Wordpress插件,但是我无法准备好多种语言。
它确实正确加载了主语言的.mo文件,但在切换语言时(使用WPML),它总是显示主语言的翻译(在本例中为德语)。因此,当我使用英语时,它仍会显示德语翻译。
这是我的代码:
标题中的:
/*
Plugin Name: MM Jobs
Plugin URI: http://example.com/
Description: Custom Jobs Plugin to create new Jobs
Version: 1.3.84
Author: Jekey
Author URI: http://example.com/
Text Domain: mm-jobs
Domain Path: /languages
*/
然后:
function mm_jobs_plugins_loaded() {
load_plugin_textdomain( 'mm-jobs', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}
add_action( 'plugins_loaded', 'mm_jobs_plugins_loaded', 0 );
.mo文件是正确的,因为它已加载德语翻译。 名称:/ plugins / mm-jobs / languages /
下的mm-jobs-en_US.mo或mm-jobs-de_DE.mo你知道造成这个问题的原因是什么吗?
答案 0 :(得分:1)
如果有人遇到同样的问题。我有
get_plugin_data( __FILE__ );
在我的代码中。这导致运行wp_core函数加载textdomain,所以我的en_US.mo被de_DE.mo覆盖
我不知道为什么get_plugin_data()使用了错误的lang文件。它似乎为使用该功能的不同插件选择了正确的插件。