如何处理本地化?我应该遵循标准吗?

时间:2010-11-23 19:02:15

标签: php localization currency

我正在尝试创建一组类来处理本地化(主要是货币部分,还有语言)。

我可以想象逻辑是怎样的,但我不知道用于不同语言和货币的名称。我已经看到有很多ISO标准,我应该选哪一个?

无论如何,这是我想到的逻辑,以防你也可以提供帮助:

我会有一个Money类,包含金额和货币属性。在创建时,对象接收金额和货币(本地化类提供的对象可能?)。您可以添加或乘以金额。 add方法将另一个货币对象作为参数,如果它具有不同的货币,则自动进行转换。 某个地方存储了一个数组,其中包含所有标准名称,例如en_US和USD,它们适当地关联它们,并且还将它们与美元中的等价物相关联作为标量值。 Money对象应该能够以不同的格式打印金额,例如$ 1000或U $ s等。

  • 这是解决这个问题的好方法吗?
  • 我应该遵循哪个标准?
  • 你知道任何已存在的,解耦的php库吗?

3 个答案:

答案 0 :(得分:4)

使用新的intl模块。虽然ICU库作为一个整体不是标准,但它的组件是。它与C,C ++和Java兼容。

答案 1 :(得分:1)

看看Zend Framework的组件Zend_Locale。它为您完成所有工作,无需编写自己的类。

答案 2 :(得分:0)

通常我不会建议镜像.Net,但请查看他们进行本地化的方式。它很容易成为我见过的最好的小规模实现之一。

对于iGoogle的高动态应用程序来说并不是很好,但对于静态表单,货币等标题来说非常棒。