用gettext本地化PHP中的内容?

时间:2010-08-26 16:42:09

标签: php localization gettext

我有一个PHP应用程序,现在我需要实现多语言支持。这是我第一次处理这个问题。 我在互联网上做了一些搜索,总是来到PHP的gettext函数,我已经在我的服务器上编译了。 我想知道gettext()是否是最好的方法呢?大多数文章的历史可以追溯到2002年,在PHP 5.2中是不是有新方法? 另外我读到你在调整翻译时必须重新启动服务器?

2 个答案:

答案 0 :(得分:2)

intl扩展使用新的ICU库,但它仅在PHP 5.3 +

中可用

答案 1 :(得分:0)

是的,重新启动服务器是一个主要问题,对我来说是一个交易代码。此外,gettext的主要目的是翻译语言字符串,而不是用文本替换常量,是否对你有好处是由你来决定(即文字替换是'狗是棕色'=>'Das hund ist braun'(我不是知道德语;),常量替换是'catalog_greeting'=>'欢迎来到目录'。

有许多替代的纯PHP解决方案可能适合您。我使用一个常量替换方案,我保存在数据库中,并为每个保存的每种语言创建一个单独的序列化数组,因此提取非常快,数据库格式与性能无关。效果很好,易于设置(即使从头开始),易于维护和扩展。