wordpress主题汉化设置教程

十度 wordpress 2015年12月20日 收藏

让 WordPress 主题支持多语言并不复杂,我们需要使用到 WordPress 的三个函数:__()、_e() 和 load_theme_textdomain()。具体的操作如下:

第一步:在 functions.php 页面中添加支持多语言的初始化代码

/** 
 * 载入语言包
 * shouce.ren
 */
function theme_languages_init(){
	load_theme_textdomain('bluenight', get_template_directory() . '/languages');
}
add_action ('init', 'theme_languages_init');

很简单的处理,主要是利用 load_theme_textdomain() 指定主题语言模块的名称(bluenight)和语言文件的目录(/wp-content/themes/BlueNight/languages).如例子中的所示,我们通常是在主题的目录下新建一个名为 languages 的文件夹来存放翻译语言的.po和.mo文件。其中.po文件为语言文件的源文件。
第二步:将主题中需要翻译的文字使用 __()、_e() 输出

// 普通的输出使用 _e() 函数
<div class="post"><p><?php _e('Sorry, no posts matched your criteria.', 'bluenight'); ?></p></div>

// 在函数中走参数或返回值输出使用 __() 函数
echo the_tags('<h2>'.__('Related ','bluenight'), ' , ' , __(' Posts','bluenight').'</h2>').'<ul>';

如实例代码中说的,作为字符串直接输出的时候我们使用 _e() 函数,而作为一个 PHP 方法的参数时,则需要使用 __() 函数。这两个函数都接受同样的参数:第一个为需要翻译的文本,第二个则是翻译主题的之前定义的主题语言模块名称(bluenight)。操作不复杂,麻烦是你需要把主题中所有需要翻译的文本都使用这两个函数输出。

第三步:使用 PoEdit 制作翻译语言文件
PoEdit 下载地址:http://www.shouce.ren/a-1038.html
我们首先要做的是下载一个?PoEdit(PoEdit 是一款免费的软件,而且最新版本支持中文哦!)。接下来我们就需要开始新建一个翻译项目(新建编目),如下图:

wordpress-theme-languages-set-1

设置翻译属性

设置翻译属性,主要是要注意把源代码字符集和字符集都设置为 UTF-8 代码,其余的就自己根据需要填写好。

wordpress-theme-languages-set-2

设置源路径

设置源路径,路基基本是固定的(因为我们都是在主题目录下的 languages 目录下存放语言文件),如图设置好就行。只是 PoEdit 设置路径的时候需要在路径下的空白处多点几下才会出来路径的输入框,反正我的这个不是那么灵敏。

wordpress-theme-languages-set-3

设置源关键字

设置源关键字,如图我们就知道了,就是设置___e函数作为关键字,扫描提取要翻译的文本。

表单填写好设置信息表单,点击确定,则会提示里保存文件,我们都是选择保存到主题的 languages 目录下面,如图:

wordpress-theme-languages-set-4

保存文件名为 zh_CN

BlueNight 主题是支持中文和英文,所以我就将文件名保存为“zh_CN”。

这些处理完后,接下来我们要做的就是把 PoEidt 扫描到的文本都添加相应的翻译问文本,如图:

wordpress-theme-languages-set-5
OK!到这里就完成了所需要的一切工作了。而语言的切换则根据你在 wp-config.php 文件中定义的语言设置自动切换的(中文版的默认为zh_CN):

/**
 * WordPress 语言设置,中文版本默认为中文。
 *
 * 本项设定能够让 WordPress 显示您需要的语言。
 * wp-content/languages 内应放置同名的 .mo 语言文件。
 * 要使用 WordPress 简体中文界面,只需填入 zh_CN。
 */
define('WPLANG', 'zh_CN');