PHP:使用不同语言的技巧

PHP:使用不同语言的技巧,php,internationalization,Php,Internationalization,我们正在把我们的网站国际,.fr,.mx和其他一些很快 我在考虑创建像english.inc.php这样的语言文件,它基本上包含我们使用的每个静态文本的一个大数组 例如$lang['welcome']='welcome' 我会根据所使用的域名动态地包含正确的语言文件,然后在代码中的任何地方使用这些数组,我们以前使用静态文本 这样做对吗 在我深入研究它之前,我将非常感谢那些曾经做过这件事的人给我的任何建议 谢谢 Nathan使用。请研究gettext for php,它专为您所做的事情而设计,可以

我们正在把我们的网站国际,.fr,.mx和其他一些很快

我在考虑创建像english.inc.php这样的语言文件,它基本上包含我们使用的每个静态文本的一个大数组

例如$lang['welcome']='welcome'

我会根据所使用的域名动态地包含正确的语言文件,然后在代码中的任何地方使用这些数组,我们以前使用静态文本

这样做对吗

在我深入研究它之前,我将非常感谢那些曾经做过这件事的人给我的任何建议

谢谢


Nathan

使用。

请研究gettext for php,它专为您所做的事情而设计,可以处理国际化的各种复杂性。(复数、上下文等)

gettext的工作方式是,每个语言环境都有一个带有翻译的纯文本文件,在PHP代码中可以执行以下操作:

<?php echo _("Welcome to my site");?>

然后从相应的语言环境文件中提取Gettext


国际化非常复杂,最好使用经过验证的解决方案。我们在Mozilla的大多数大型网站上使用gettext,它速度快、知名度高、功能齐全。

我一直使用它,它速度非常快,您可以使用外部工具,例如。

谢谢您的提示。不过有一个细节。你真的会为英语创建一个语言环境文件吗?或者您会使用php的自动功能在echo(“欢迎访问我的网站”)中打印字符串吗?因为,如果您想更改英文版本中的单词或句子,会发生什么情况?我们处理它的方法是首先将字符串放入我们的php文件中,就像我之前演示的那样,然后使用xgettext将字符串拉出到另一个po文件中。然后您可以将该文件合并到en-us(英语)文件中。