2017-08-05 115 views
1

我正在做一个自定义的WordPress插件,但我无法获得它的多语言准备。Wordpress插件翻译 - load_plugin_textdomain

它确实加载了主要语言的.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文件是正确的,因为它已经加载的德语翻译。 命名:mm-jobs-en_US.mo或mm-jobs-de_DE.mo under/plugins/mm-jobs/languages/

你有什么想法是什么原因造成的问题?

回答

1

如果有人遇到同样的问题。我有

get_plugin_data(__FILE__); 

在我的代码。这导致运行一个wp_core函数加载textdomain,所以我的en_US.mo被de_DE.mo覆盖。

我不知道为什么get_plugin_data()带错了lang文件。它似乎选择了使用该功能的不同插件的正确选择。