如何设置多语言管理用户界面?

时间:2011-10-22 作者:gyurisc

我将有两个管理用户,其中一个只会说意大利语,另一个只会说英语。如何设置多语言管理用户界面?

2 个回复
最合适的回答,由SO网友:soulseekah 整理而成

有几种方法可以做到这一点,而不需要插件的开销。

方法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 全局而不是使用会话变量。

SO网友:anmari

有一些插件可以为您实现这一点。

我认为其中一个叫做wp native dashboard,它允许用户从安装的仪表板中选择语言

另一种称为“在他们的语言中”的方法简单但有效——尝试从浏览器设置中确定首选语言。

当然,您还必须在管理区域中为要支持的语言加载wp语言文件。http://codex.wordpress.org/WordPress_in_Your_Language

结束