Wordpress主题.mo文件将无法加载

时间:2015-06-30 12:29:26

标签: wordpress translation translate multilingual multiple-languages

我正在开发一个实现多种语言的主题。我有一些字符串必须在主题中翻译。我想使用.po和.mo文件。出于某种原因,当我尝试加载文件时,它们无法正确加载,我不知道为什么。

我尝试使用以下代码加载正确的文本域。

function my_theme_localized($locale)
{
    if (isset($_GET['lang'])){
        return sanitize_key($_GET['lang']);
    }

    return $locale;
}
add_filter('locale', 'my_theme_localized');

function my_theme_setup(){
    load_theme_textdomain('theme', TRANSLATION_URL);
}
add_action('after_setup_theme', 'my_theme_setup');

我调试了一下,并且在class-wp-theme中生成的mo文件的链接应该是正确的。我正在使用的语言环境正确返回,相应的文件位于目录中(例如pl_PL.mo)。

我已经尝试了所有我能想到的东西,但我仍然不知道这段代码有什么问题。谁可以帮助我?

1 个答案:

答案 0 :(得分:0)

解决了这个问题。我使用了指向textdomain的链接,而不是我服务器上的绝对路径。所以问题出在我的TRANSLATION_URL变量中。

你应该使用这样的东西:

define("THEME_URL", get_template_directory());
define("TRANSLATION_URL", THEME_URL . "/languages");