我有一个PHP应用程序,现在我需要实现多语言支持。这是我第一次处理这个问题。 我在互联网上做了一些搜索,总是来到PHP的gettext函数,我已经在我的服务器上编译了。 我想知道gettext()是否是最好的方法呢?大多数文章的历史可以追溯到2002年,在PHP 5.2中是不是有新方法? 另外我读到你在调整翻译时必须重新启动服务器?
答案 0 :(得分:2)
intl扩展使用新的ICU库,但它仅在PHP 5.3 +
中可用答案 1 :(得分:0)
是的,重新启动服务器是一个主要问题,对我来说是一个交易代码。此外,gettext的主要目的是翻译语言字符串,而不是用文本替换常量,是否对你有好处是由你来决定(即文字替换是'狗是棕色'=>'Das hund ist braun'(我不是知道德语;),常量替换是'catalog_greeting'=>'欢迎来到目录'。
有许多替代的纯PHP解决方案可能适合您。我使用一个常量替换方案,我保存在数据库中,并为每个保存的每种语言创建一个单独的序列化数组,因此提取非常快,数据库格式与性能无关。效果很好,易于设置(即使从头开始),易于维护和扩展。