我如何为我的php项目提供多语言和多种货币设施?

时间:2011-07-24 09:10:24

标签: php

我需要为我的项目提供多语言多种货币设施。我的团队不想使用Google语言转换器。我怎样才能完成这项任务。我的项目与酒店预订有关,我正在使用php开发这个项目。请帮帮我。

5 个答案:

答案 0 :(得分:2)

您需要的是国际化。通常缩写为 i18n

您使用的是框架吗? SymfonyCakePHPCode Igniter的大型网络框架集成了i18n库。

如果您可以配置生产服务器,则可以启用PHP Intl

i18n使您能够:

  1. 将数字格式化为货币。据我所知,Symfony也可以 根据语言/文化区分货币格式,以便在某些国家/地区使用5欧元而不是5欧元
  2. 根据语言/文化格式化日期
  3. 翻译翻译文本(显然)

答案 1 :(得分:0)

答案 2 :(得分:0)

借助智能模板引擎,您可以从config file加载翻译,并可以使用custom modifiers来显示货币。

答案 3 :(得分:0)

优良作法是在源代码中使用常量来表示所有人类可读信息,即

define('COMMON_ERROR','An error occured.');
print COMMON_ERROR;
// instead of
print 'An error occured.';

对于每种语言,都需要包含defs的文件;即。

if($_GET['mylang']){ require_once($_GET['mylang'].'.languagefile.php')}
else require_once('en.languagefile.php');

假设每个语言文件都具有模式'language.languagefile.php'的名称,并包含适当的常量。

答案 4 :(得分:0)

我使用Zend Framework(Zend_Translate / _Currency)来处理一个包含6种语言(gettext)和2种货币的项目,结果非常值得一试。如果你不介意ZF的陡峭学习曲线......

从前面的答案中可以看出,最好的选择是使用out-of-the-box i18n的框架。