如何根据语言加载不同的css文件

时间:2012-04-09 作者:kentzo

我正在运行一个多语种的wordpress网站-英语和日语。我正在使用转置插件将英文文本翻译成日语。当用户选择日语时,我的url中会附加一个单词“ja”。(这个问题应该与Transposh插件无关。)

例如,www.momorice。com是英文网站,而www.momorice。com/ja/表示日语页面。

我想根据用户选择的语言加载不同的css文件。我能想到的解决方案是检测字符“ja”的url,如果找到,我将不得不将所有css文件指向日语css文件。这是推荐的方式吗?如果是这样的话,有人能给我一些指导吗?

我意识到我可以利用@font face unicode范围为日语字符指定特定的日语字体类型。但是,Firefox浏览器不支持这一点。因此,我不会采用这种方法。

1 个回复
SO网友:Eugene Manuilov
function load_my_styles() {
    wp_register_style( \'my-en-style1\', plugins_url( \'en-style1.css\', __FILE__ ) );
    wp_register_style( \'my-en-style2\', plugins_url( \'en-style2.css\', __FILE__ ) );

    wp_register_style( \'my-ja-style1\', plugins_url( \'ja-style1.css\', __FILE__ ) );
    wp_register_style( \'my-ja-style2\', plugins_url( \'ja-style2.css\', __FILE__ ) );

    $lang = preg_match( \'/^\\/ja\\//i\', $_SERVER[\'REQUEST_URI\'] ) ? \'ja\' : \'en\';
    wp_enqueue_style( "my-{$lang}-style1" );
    wp_enqueue_style( "my-{$lang}-style2" );
}
add_action( \'wp_enqueue_scripts\', \'load_my_styles\' );
结束