将php字符串翻译成其他语言


Translating php strings into other languages

我有一个可视化web应用程序(小型项目),它可以从数据库中创建图表,并将它们呈现在html/css模板中。目前,所有字符串都是用英语硬编码在代码中的(不是在一个特殊的位置/数组/容器中,而是在我们前进的过程中用echo'ed或<p>'ed)。你认为提供我的网络应用程序本地化版本的最佳方式是什么?我估计我有大约60-70根小绳子。

我认为我应该创建一个lang.en.php文件,将字符串作为常量字符串变量,并将该文件包含在我的config.php中(包含DB信息等内容),然后它已经包含在我使用的所有页面中/required()。在页面内部,我将用它们的常量替换所有字符串,例如TOP_10_WHATEVER_CHART。

如果有人想创建一种新的语言,他会复制lang.en.php文件,对其进行重命名,并更改其中的所有字符串。然后,他只需要更改config.php中的include语句,一切都设置好了。

听起来不错吗?我看到的其他一些解决方案似乎有些过头了。如果有更"标准化"或可扩展的方法,但仍然很简单,请告诉我。

您所描述的是我见过的一种非常标准的方式,尤其是对于较小的项目。这种方法的唯一问题是,您的框架的每种语言需要N个实例(除非您正在动态地做我在上面的描述中没有注意到的事情)。您可能想要创建一个函数,该函数接受您要查找的字符串常量和语言。函数返回翻译后的字符串。可以根据http请求选择语言,如果不支持该语言,函数可以返回默认语言。