gettext简介
gettext是一种国际化与本地化系统,在类Unix系统中编写多语言程序时经常被使用。gettext的一个常用的实现版本为GNU gettext,1995年发布。
源代码中所有需要多语言支持的(需要翻译的)字符串都修改为使用
gettext
函数包装起来。为了方便也可以使用下划线
_
。比如:
echo gettext('示例');
echo _('示例');
gettext需要先配置好对应的语言包,并在代码中进行设置需要翻译的语言,然后根据对应的语言包对选择的文本进行翻译。
其中gettext会用到两个语言文件,一个以
.po
结尾,是我们用于编辑语言翻译的文本文件,另外一个以
.mo
结尾,这个是
.po
文件的二进制版本,也是PHP程序真正使用的文件。
我们每次修改了
.po
文件之后都需要编译成对应的
.mo
文件。这些文件的编辑可以用软件
Poedit
来操作。
PHP环境gettext使用指引
1、确定PHP已安装且已启用gettext拓展(现在机器基本都已安装且启用),通过以下命令查看是否已开启。
php -m | grep gettext
2、window、linux环境需安装gettext(仅用于开发环境生成PO文件,线上环境不需安装)
window直接在
这里
下载,并且需要把
bin
目录设置到环境变量的
path
里去
linux 通过命令直接安装
yum install gettext
3、对代码里所有需要翻译的文本,用
_
或者
gettext
封装起来,如下
throw new