有几种方法可以做到这一点,而不需要插件的开销。
方法1第一种方法涉及挂钩到load_textdomain_mofile
滤器
(这必须放入一个单独的插件中)
function wpse31785_change_mofile( $mofile, $domain ) {
if ( $domain == \'default\'
and get_current_user() == \'riccardo\' )
return substr($mofile, 0, -8).\'it_IT.mo\';
return $mofile;
}
add_filter( \'load_textdomain_mofile\', \'wpse31785_change_mofile\', null, 2 );
方法2此方法涉及修改wp配置。php文件,以便有条件地设置
WPLANG
.
// store the language in session
if ( isset($_GET[\'lang\']) ) $_SESSION[\'lang\'] = $_GET[\'lang\'];
if ( isset($_SESSION[\'lang\']) ) // pick the language conditionally
if ( $_SESSION[\'lang\'] == \'it\' ) define( \'WPLANG\', \'it_IT\' );
elseif ( $_SESSION[\'lang\'] == \'en\' ) define ( \'WPLANG\' , \'en_EN\' );
// the default fallback
if ( !defined( \'WPLANG\' ) ) define ( \'WPLANG\', \'\' );
在您的wp配置中使用此选项。php可以提供额外的GET参数来设置会话的语言。
http://yoursite.com/wp-admin/?lang=it 将设置
WPLANG
常数至
it_IT
.
或者,您可以使用将所选语言存储在Cookie中setcookie()
从$_COOKIE
全局而不是使用会话变量。