6

有没有办法switch_to_blog()在 WordPress 中切换语言。

就像是

global $locale
$currentLanguage = $locale;
switch_to_language('de_DE');

//do some action with german localisation

switch_to_language($currentLanguage);

WordPress一般可以做到这一点吗?

4

2 回答 2

14

所以我终于找到了解决方案。该函数被调用load_textdomain()

这就是我这边的做法。请记住定义LANGUAGE_PATH和您想切换到的语言$new_language$your_domain是您的插件/主题的文本域

//will output "Good Morning"
_e('Good Morning', $your_domain);

global $locale;
//save the current language for later
$current_language = $locale;
$new_language = 'DE_de';

//load the new text domain
load_textdomain( $your_language_domain, LANGUAGE_PATH.'/'.$your_domain.'-'.$new_language.'.mo' );

//do some action with the new localisation
//will output "Guten Morgen"
_e('Good Morning', $your_domain);

//go back to the previous language
load_textdomain( $your_language_domain , LANGUAGE_PATH.'/'.$your_domain.'-'.$current_language.'.mo' );

花了一段时间才在核心中找到这个方法。在 codex 网站上阅读有关该功能的更多信息

于 2013-06-21T09:55:55.400 回答
1

恐怕你需要一个插件。WordPress 并没有开箱即用。WPML 通常是 WordPress 的首选多语言插件,您应该检查一下 :)

于 2013-06-21T08:05:02.490 回答