我需要为我的项目提供多语言和多种货币设施。我的团队不想使用Google语言转换器。我怎样才能完成这项任务。我的项目与酒店预订有关,我正在使用php开发这个项目。请帮帮我。
答案 0 :(得分:2)
您需要的是国际化。通常缩写为 i18n 。
您使用的是框架吗? Symfony,CakePHP,Code Igniter的大型网络框架集成了i18n库。
如果您可以配置生产服务器,则可以启用PHP Intl。
i18n使您能够:
答案 1 :(得分:0)
阅读PHP的gettext
功能
答案 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
的框架。