PHP - 多语言应用程序设计

Mar*_*ark 5 php multilingual

有很多方法可以在PHP中设计多语言应用程序.一些语言文件基于,另一些基于数据库.

  • 我希望将它用于少量文本,例如错误 - 最多一段.

  • 我想我需要二十种左右的
    语言.

我真的在寻找建议而不是明确的答案.你以前用过什么,最快,最容易更新等等.

非常感谢,

kar*_*m79 8

Gettext系列函数是一个很好的起点:

gettext函数实现了一个NLS(本地语言支持)API,可用于国际化您的PHP应用程序.

Zend_Translate非常灵活,具有线程安全的实现gettext.该手册指出它解决了本机国际化实现的以下问题:

  • API不一致:不同的源格式没有单一的API.例如,gettext的使用非常复杂.
  • PHP仅支持gettext和native数组:PHP本身仅提供对array或gettext的支持.所有其他源格式都必须手动编码,因为没有本机支持.
  • 未检测到默认语言:如果不深入了解不同Web浏览器的背景,则无法检测用户的默认语言.
  • Gettext不是线程安全的:PHP的gettext库不是线程安全的,它不应该在多线程环境中使用.这是由于gettext本身的问题,而不是PHP,但它是一个存在的问题.

值得注意的是,Zend Framework它不是一个完整的堆栈框架 - 换句话说,你不需要使用整个东西只是为了利用它的国际化API.

我真正喜欢它的是它支持不同数据源的多个适配器,您只需对应用程序进行非常轻微的修改即可轻松混合,匹配和更改.希望有所帮助.