当前位置:  开发笔记 > 编程语言 > 正文

什么是在PHP中构建"多语言"脚本的最佳方法?

如何解决《什么是在PHP中构建"多语言"脚本的最佳方法?》经验,为你挑选了2个好方法。

我正在建立一个网站,它需要7种语言?我想知道是否有一个好的做法可以应用于获得多语言的PHP脚本?

对我来说很容易

易于翻译

您还有什么想法,我应该将其存储在DB,XML还是PHP文件中?



1> Eran Galperi..:

存储翻译有很多选项:

TMX:一种相对较新的XML格式的翻译.似乎越来越受欢迎.

Gettext是另一种翻译的开放格式.长期以来一直是事实上的标准.

ini文件 - 易于编辑,格式非常简单

PHP文件(数组) - 易于编辑PHP程序员,性能良好

CSV格式 - 使用起来相对简单.

我建议您使用类似Zend_Translate的东西,它支持多个适配器,并提供在应用程序中嵌入翻译的基本方法.



2> pilif..:

与daddz相反,我建议不要在PHP中使用gettext:

区域设置是按进程进行的.这意味着当您使用多线程apache或任何其他运行PHP进程的多线程Web服务器时,在一个线程中调用setlocale将影响其他线程.

因为您无法知道哪个线程/进程正在处理哪个请求,所以用户间歇性地获取错误的区域设置会遇到可怕的问题.

您在PHP中设置的语言环境会影响printf甚至是函数strtotime.如果你使用gettext/setlocale,你肯定会得到你的后端代码中的"奇怪"数字格式

使用Eran排列的任何其他解决方案或快速自己做一些事情(PHP数组非常好用).还可以使用intl-extension,它将在核心PHP 5.3中用于数字和日期格式化和整理.

在一个基于Web的解决方案上反复使用gettext被证明就像打开众所周知的蠕虫一样.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有