我已经看了几个选项能够使本地化和国际化的动态php应用程序。似乎有各种各样的工具,例如gettext和雅虎的R3和我有兴趣听一听从开发人员和笔译员对其工具是很好用,什么的功能是重要的缓解的任务的执行情况和翻译。

有帮助吗?

解决方案

PHP gettext实现非常顺利。使用po edit和gettext的po文件就像你可以处理本地化一样好,因为没有这种解决方案可以完全处理各种语言的复杂性。例如,gettext方法在复数形式上非常好,但我见过的任何东西都不能处理像共轭这样的东西。

有关详细信息,请参阅我的帖子:如何你建立了一个多语言的网站吗?

其他提示

我们一直在修补 Zend_Translate ,因为我们使用无论如何,Zend框架。它有很好的记录,迄今为止非常可靠。

过去,我几乎主要使用自己的自行开发的解决方案。其中涉及包含所有文本部分的常量或变量的语言文件,稍后将在视图/模板中进行回显。

至于gettext,过去我听说过关于PHP的gettext实现有错误的引用,但是我不能真正支持它,我现在也没有任何引用。

pecl中有许多有用的扩展: http://pecl.php.net/packages.php?catpid=28& catname =国际

特别是,您可能需要查看php-intl,它提供了来自International Components for Unicode(ICU)的大部分关键i18n函数

该数据库驱动的方案来显示的消息总是不好,我曾在一个网站有超过15种语言的翻译是一个问题。

因此,我们的设计是:

  • 翻译程序在php-mysql(翻译访问,等等)。
  • 然后翻译php编写的arrrays
  • 这些阵列也是缓存在APC,以加速该网站。

因此,本地化不同的语言你只需要做一个包括

喜欢

<?php
include('lang/en.php');
include('lang/en_us.php'); // this file overrides few keys from the last one.
?>

Xataface可用于非常轻松地将任意PHP / MySQL应用程序国际化。它支持静态文本和数据库数据的转换。您所要做的就是在应用程序的几个地方添加一行或两行代码,这样做很好。

http://xataface.com/documentation/tutorial/internationalization-with-dataface-0.6

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top