存档

文章标签 ‘多语言’

PHP通过gettext实现多语言国际化支持

2010年1月8日

之前PHP实现多语言国际化,大部分都会采用把语言直接提出来作为数组来调用,比如大家都知道的phpMyadmin,discuz等知名开源系统,不过,这里介绍一种我觉得更好的实现方式,就是通过gettext,即用资源文件来实现。下面来说下php中如何来利用配置文件实现国际化的。

首先介绍下.MO文件,在PHP中是利用.MO文件来做语言包实现的:
PO 是 Portable Object (可移植对象)的缩写形式;
MO 是 Machine Object (机器对象) 的缩写形式。
PO 文件是面向翻译人员的、提取于源代码的一种资源文件。当软件升级的时候,通过使用 gettext 软件包处理 PO 文件,可以在一定程度上使翻译成果得以继承,减轻翻译人员的负担。MO 文件是面向计算机的、由 PO 文件通过 gettext 软件包编译而成的二进制文件。程序通过读取 MO 文件使自身的界面转换成用户使用的语言。

阅读全文…

PHP编程 , , ,

CakePHP多语言版本的实现方法

2010年1月5日

看过CakePHP的程序例子就会发现,在Controller或者View中,大多数输出都是用一个函数 __(”xxxx”) 来执行
这个函数是CakePHP遵循标准的gettext方案.
但是CakePHP不用加载php-gettext模块就可以使用,因为它已经用php代码在CakePHP内核中解决它了.这种方法在用来处理多国语言的时候,非常方便

阅读全文…

PHP编程 ,