清源绿里

Hybrid Blog

目前大多数所谓的博客语言转换无非将界面主题换成其他语种但内容还是中文,有种换汤不换药的感觉;或者用google的网页翻译功能,结果自然一坨x。

而伟大万能的WordPress利用它丰富的外部资源包括这个Language Switcher插件,可以来实现多语言展示。

作者提到最好使用英文原版的wordpress,其他语言的Wordpress安装包中某些文件可能被修改,language Switcher 不一定能够正常运行。

Wordpres 2.3以下的版本需要到这里下载修正包。对于Wordpress 2.3及以上版本,找到wp-admin,在其includes文件夹中有一个schema.php。
找到

1
$wp_queries="CREATE TABLE $wpdb->terms

这句代码下面会有:

1
name varchar(55) NOT NULL default '',

将里面的“55”改成“200”。

在wordpress根目录下的wp-config.php,如果其中包含:

1
define('ENABLE_CACHE', true);

请把它删除。

同样,如果你在wp-config.php定义了网页编码和区域语言,请删除,改成

1
2
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

完成以上操作后,到这里下载 Language Switcher 插件安装包。解压缩,把文件(langswitch.php和langswitch_flags文件夹)上传到wp-content中的plugins文件夹内。后台激活该插件。

进入“设置”的“Language Switcher”控制台,设置你想要显示的语言种类。
* ISO Code:两个字母的语言标识(可以参考flags的文件命名);例如,en 对应英语,es 对应西班牙语。
* Language:语言名字。例如 English 对应英语,español 对应西班牙语。
* Flag File:在 langswitch_flags 文件夹中找到对应的国旗,把文件名放到这里,例如:us.png。
* Time Format:时间格式,g:i A 对应12小时制,G:i 对应24小时制。
* Date Format:日期格式。例如 j M. Y 将显示 25 Dec. 2008,m/d/Y 将显示 12/25/2008。谁要是问m、d、y表示什么意思,拖出去弹鸡鸡。
* Text Missing Message:如果某内容无对应翻译将显示的信息。

例图:

Hybrid Blog

完成设置以后,点击“update options”。

之外还要将你要显示的WordPress语言包上传到wp-content的languages目录。注意语言包文件名必须与ISO Code一致,例如 cn.mo。

最后修改主题。注意使用 _e 标记。例如

1
<?php _e('Archives');?>

在你要显示语言选择标识的地方插入

1
2
3
4
5
6
7
<li><h2><?php _e('Language');?></h2>
<ul>
<?php if(function_exists('langswitch_list_langs')){
langswitch_list_langs(false, true, 'li');
}?>
</ul>
</li>

写日志时用[lang_**]进行语言标记,**为你要显示的语言种类。
范例:

1
2
3
4
5
[lang_en]This is the post text in English[/lang_en]
[lang_es]Esto es el texto del artículo en español[/lang_es]
[lang_cn]这个日志是中文的[/lang_cn]
[lang_all]I want this text to appear for all languages[/lang_all]
This text that is not in a language tag will also appear for all languages.

其他需要多语言显示的地方,例如日志标题、分类标题甚至博客名字、说明等,都可以用[lang_**]包裹起来。

中文界面:

Hybrid Blog

英文界面:

Hybrid Blog

彻彻底底的多语言显示,绝对不是阉割版,绝对不忽悠。

Leave a Comment