Wordpress 主题 .mo 文件无法加载
Wordpress theme .mo-file won't load
我正在开发一个实现多种语言的主题。我有一些字符串必须在主题本身中进行翻译。我想使用 .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-文件的link 应该是正确的。我正在使用的语言环境被正确返回并且相应的文件在目录中(例如pl_PL.mo)。
我能想到的都试过了,还是不知道这段代码有什么问题。谁能帮帮我?
问题解决了。我将 link 用于我的文本域,而不是服务器上的绝对路径。所以问题出在我的 TRANSLATION_URL-variable.
你应该使用这样的东西:
define("THEME_URL", get_template_directory());
define("TRANSLATION_URL", THEME_URL . "/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-文件的link 应该是正确的。我正在使用的语言环境被正确返回并且相应的文件在目录中(例如pl_PL.mo)。
我能想到的都试过了,还是不知道这段代码有什么问题。谁能帮帮我?
问题解决了。我将 link 用于我的文本域,而不是服务器上的绝对路径。所以问题出在我的 TRANSLATION_URL-variable.
你应该使用这样的东西:
define("THEME_URL", get_template_directory());
define("TRANSLATION_URL", THEME_URL . "/languages");