繁体   English   中英

在站点上创建各种语言包的最佳实践? PHP

[英]Best practices for creating various language-packs on a site? PHP

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

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

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

有哪些方法可以减少维护麻烦和性能?

对于 PHP,您可以拥有的最佳选择是GetText ,但并非所有服务器都内置了它,因此如果您正在管理服务器,它可能会成为阻碍。

我建议使用Zend_Translate 它在某种程度上是人们留下的其他建议的组合,只是更易于维护和设计得更好。

您可以根据自己的喜好切换适配器(支持 gettext、csv 和许多其他适配器),您不需要定义或全局变量污染您的全局范围,并且有详细记录。

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

1) 使用define('SOME_STRING', 'Some string'); - 只需为每种语言填充一个不同的文件即可。 这很容易,您不必到处使用“全局”。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM