您的位置:首页 > 其它

wordpress的本地化技术(多语言)支持

2014-01-05 22:26 417 查看
wordpress的本地化技术(多语言)支持:

WordPress的开发者选择使用GNU gettext本地化框架来提供WordPress本地化的基本结构。Gettext是一个成熟的,广泛使用的,软件翻译模框架,而且是免费软件领域/开放源码本地化的实际标准。

gettext使用消息标准的翻译—就是说,显示给用户的每个"消息"都是单个翻译的,不管这个消息是一段话还是一个单词。在WordPress中,WordPress PHP 文件通过两个PHP函数产生,翻译,并且使用这样的"消息"。当消息作为参数传给另一个函数的时候,会用到__();使用_e()直接在网页上写信息。更多的关于这两个函数的详细信息:

__($message)

搜索翻译$message的本地化模块,并且将翻译传递给PHP返回申明。如果没有找到$message的翻译,只会返回$message。

_e($message)

搜索翻译$message的本地化模块,并且将翻译传递给PHPecho申明。如果没有找到$message的翻译,只会echoes$message。

注意如果你正将一个主题或者插件国际化,你应该使用一个"文本域"。更多关于怎样国际化一个插件的内容的信息,请看看编写一个插件;主题国际化的操作也类似。 Gettext框架照顾到了大部分的WordPress。但是,WordPress版本中的某些部分不能使用gettext—更多关于怎样翻译这些部分的信息,请看看关于直接翻译的文件。

gettext 文件

Gettext翻译框架中使用了三种类型的文件。这些文件在翻译过程中,由翻译工具产生和/或者使用,如下:

POT(轻便目标模板)文件:本地化过程中的第一步是使用一个程序来搜索WordPress源代码并且找出通过__() or _e()函数的每个message。这个英语message列表被输进一个特别格式的模板文件(POT文件),这个文件形成了翻译的基础。一般来说,你可以为WordPress下载一个POT文件,这样你就不要制造一个自己的POT文件了。如果主题/插件开发者将所有的文本包含在__() 或者_e()函数中,主题和插件也可以使用分开的POT文件。

:PO(轻便对象)文件:本地化过程的第二步是翻译者将POT文件中的所有内容翻译为目标语言,并且在一个PO文件中保存英语和翻译好的内容。

MO(机器对象)文件:本地化过程的最后一步是,PO文件在一个程序中运行,这个程序将PO文件转变为最优化的机器可读的二进制文件(MO文件)。将翻译汇编为机器代码来使得本地化程序运行时候,能够更快地重新找到翻译。

具体操作:

1.开启中文本地化

wp-config.php

/**

* WordPress语言设置,中文版本默认为中文。

*

* 本项设定能够让WordPress显示您需要的语言。

* wp-content/languages内应放置同名的.mo语言文件。

* 例如,要使用WordPress简体中文界面,请在wp-content/languages

* 放入zh_CN.mo,并将WPLANG设为'zh_CN'。

*/

define('WPLANG', 'zh_CN');

这时本地化文件全部放置在wp-content/languages 样式的本地化文件放置在wp-content\languages\themes:

对于每一个主要样式具体使用什么文件,位置在什么地方可以通过调试输出

l10n.php

load_theme_textdomain

几个相关的函数:

l10n.php

__

load_textdomain

translate

load_default_textdomain

pomo/po.php

pomo/mo.php

pomo/translations.php

function.php

load_theme_textdomain('zeeDynamic_language', get_template_directory() . '/languages' );

poEdit

Windows,Mac OS X和UNIX/Linux的一个开放源码程序,提供一个便于使用的GUI来编辑PO文件并且产生MO文件。
http://go.zzbaike.com/pootle.locamotion.org/projects/wordpress/
参考:http://www.zzbaike.com/wiki/WordPress:Translating_WordPress
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: