在网站上创建各种语言包的最佳做法? PHP
-
06-07-2019 - |
题
之前我为网站创建了一个语言包,但我不确定我所做的是最好的方法。
基本上,我所拥有的是一个包含定义字符串常量的变量的文件。通常是一组数组,其中数组通常引用站点的特定元素。
然后,站点代码只包含基于标志的相应文件,然后回显出适当的数组元素。
有哪些方法可以减少维护难题和性能?
解决方案
我建议使用 Zend_Translate 。它有点结合了人们留在这里的其他建议,只有更易于维护和更好的设计。
您可以根据您的偏好切换适配器(支持gettext,csv和众多其他功能),您不需要定义或全局污染您的全局范围,并且已有详细记录。
其他提示
使用PHP,您可以拥有的最佳选择是 GetText ,但并非所有服务器都内置了它,所以如果您管理服务器,它可能是一个显示停止。
执行此操作的几种最常见方法是:
1)使用 define('SOME_STRING','Some string');
- 只需要为每种语言填充这些定义的不同文件。这非常简单,您不必使用“全局”信息。到处都是。
2)在函数中包装字符串: translate('My String')
- 这更灵活,因为您可以解析代码以创建要翻译的字符串列表,并添加变量等功能,例如 translate('我可以数到[数字]',10);
(当然,你通常选择一个较短的函数名,比如“_”)
不隶属于 StackOverflow