WordPress主题本地化
目前大多数WordPress主题(皮肤)都是英文的。而对于中文或其他语言用户来说,为了与网站内容语言一致,需要将界面转化为本地化语言。
首先,要确定这个主题是否支持“国际本地化”,即是否为翻译为多种语言而设计。在WordPress安装主题界面,可以筛选“支持多国语言翻译”条件的主题。支持国际本地化的主题的PHP代码有着明显的不同:
<button class="search-submit button small" type="submit" role="button"><?php _e( 'Search', 'corpo' ); ?></button>
<button class="search-submit button small" type="submit" role="button">Search</button>
可以看出,支持国际本地化的主题中所有显示为文本的字段都用<?php _e( 'Search', 'corpo' ); ?>的形式来表示,而不是直接插入文本。这样WordPress就可以根据WordPress的语言不同,启用不同的主题语言。而不支持国际本地化的主题,只能通过手动修改所有出现在界面中的文本,才能实现本地化。
国际本地化是通过读取一系列语言文件实现的。语言文件位于“/themes/主题名称/languages”目录下,每种语言都有以语言代码明明的.po和.mo文件。还有一个特殊的以主题名字命名的po文件,它是一个模板,可以用来翻译成其他语言。如果没有你所使用的语言(简体中文是zh_CN,繁体(台湾)zh_TW,繁体(香港)zh_HK),则需要自己创建。
下载那个特殊的以主题名字命名的po文件。po文件是一个文本文件,可以文本编辑器打开。而po文件需要编译成mo文件之后才能够被WordPress使用。(po文件是给人读的,而mo文件是给程序读的)我们可以用poedit这个软件,它在GNU/Linux,Windows和Mac OSX上都可用。
用poedit打开po文件之后,逐条翻译。要注意像“%”“%s”这样的标记是代指输入内容的,因此要保留原样,如“% Comments”翻译成“% 条评论”。国际本地化是很复杂的工作,因为不同的语言不一定有如英语一般的逻辑和语法。因此,良好的国际本地化主题应该充分考虑了这种差异,避免为本地化造成困难。而在本地化的过程中,也要巧妙转换以适应本地化语言的表达方式。对于不确定的翻译,可以留空,WordPress会按照英文原文显示没有翻译的字段。
翻译完成后,保存。poedit会自动生成一个mo文件。将文件以语言编码命名,如zh_CN.po,zh_CN.mo,然后上传到“/themes/主题名称/languages”目录。
在浏览器中打开或刷新你的WordPress站点,它已经可以以本地化语言显示了!
这样的主题修改起来十分复杂,需要在“仪表盘》主题》编辑”中修改代码。对于所有出现在界面上的文本,都要修改成本地化语言。
如:
<button class="search-submit button small" type="submit" role="button">Search</button>
要修改为:
<button class="search-submit button small" type="submit" role="button">搜索</button>
用户需要熟悉HTML和PHP才能进行操作。