Ger*_*obs 6 php multilingual localization gettext
为了使我的应用程序多语言,我想知道GNU的gettext是否有很大的优势,或者构建自己的"库"有很大的缺点.
另外,如果建议"建立自己的",最佳做法是什么?显然他们必须存储在数据库中,我怀疑我想使用平面文件,所以在某些时候我最好缓存它们,我应该怎么做呢?
gettext扩展有一些怪癖.
使用手工制作的解决方案几乎总能减少麻烦.但话虽如此,gettext API在简洁性方面是无与伦比的._("orig text")或多或少是翻译文本的最佳界面.
如果您想自己编写代码,我建议您专注于此.
_()一些php应用程序使用双下划线__().不要采用任何使实际使用翻译字符串变得麻烦的库.(例如,如果使用Zend Framework,请始终编写包装函数.)BTN_SUBMT)您可以经常使用PHP数组脚本lang/nl.php,但$text["orig english"] = "dutch here";这些脚本只包含您使用的任何访问方法都可以轻松使用.
还要避免将所有内容都压入该系统.有时,对于较长的文本采用第二种机制是不可避免的.例如template/mail.EN.txt,我用于更大的blob.