之前我为网站创建了一个语言包,但我不确定我所做的是最好的方法。

基本上,我所拥有的是一个包含定义字符串常量的变量的文件。通常是一组数组,其中数组通常引用站点的特定元素。

然后,站点代码只包含基于标志的相应文件,然后回显出适当的数组元素。

有哪些方法可以减少维护难题和性能?

有帮助吗?

解决方案

我建议使用 Zend_Translate 。它有点结合了人们留在这里的其他建议,只有更易于维护和更好的设计。

您可以根据您的偏好切换适配器(支持gettext,csv和众多其他功能),您不需要定义或全局污染您的全局范围,并且已有详细记录。

其他提示

使用PHP,您可以拥有的最佳选择是 GetText ,但并非所有服务器都内置了它,所以如果您管理服务器,它可能是一个显示停止。

执行此操作的几种最常见方法是:

1)使用 define('SOME_STRING','Some string'); - 只需要为每种语言填充这些定义的不同文件。这非常简单,您不必使用“全局”信息。到处都是。

2)在函数中包装字符串: translate('My String') - 这更灵活,因为您可以解析代码以创建要翻译的字符串列表,并添加变量等功能,例如 translate('我可以数到[数字]',10); (当然,你通常选择一个较短的函数名,比如“_”)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top