PHP通过gettext实现多语言国际化支持
之前PHP实现多语言国际化,大部分都会采用把语言直接提出来作为数组来调用,比如大家都知道的phpMyadmin,discuz等知名开源系统,不过,这里介绍一种我觉得更好的实现方式,就是通过gettext,即用资源文件来实现。下面来说下php中如何来利用配置文件实现国际化的。
首先介绍下.MO文件,在PHP中是利用.MO文件来做语言包实现的:
PO 是 Portable Object (可移植对象)的缩写形式;
MO 是 Machine Object (机器对象) 的缩写形式。
PO 文件是面向翻译人员的、提取于源代码的一种资源文件。当软件升级的时候,通过使用 gettext 软件包处理 PO 文件,可以在一定程度上使翻译成果得以继承,减轻翻译人员的负担。MO 文件是面向计算机的、由 PO 文件通过 gettext 软件包编译而成的二进制文件。程序通过读取 MO 文件使自身的界面转换成用户使用的语言。
