PHP搭建多语言网站的更好实践
问题:PHP搭建多语言网站的更好实践 我有一个网站,我用两种语言构建,包括两个基于浏览器语言的不同“字典” 在每个 langXX.php 我有 define('SOME_STRING', 'Some string'); 等等......但我现在讨厌这个解决方案,因为我不确定我是否在两个文件中都包含了新定义......所以我试图将所有定义包含在 mysql 中并构建一个类似的函数 translate
·
问题:PHP搭建多语言网站的更好实践
我有一个网站,我用两种语言构建,包括两个基于浏览器语言的不同“字典”
在每个 langXX.php 我有
define('SOME_STRING', 'Some string');
等等......但我现在讨厌这个解决方案,因为我不确定我是否在两个文件中都包含了新定义......所以我试图将所有定义包含在 mysql 中并构建一个类似的函数
translate('SOME_STRING', 'en'); // ouput 'Some string'
我正在迁移到 mysql,因为我喜欢通过我将构建的 CMS 直接管理翻译,我不想让网站管理员通过 ftp 和 textmate...
所以我的问题是,如果后一种解决方案更好或者对mysql来说压力太大而无法获取页面的每个文本元素的查询..
PS。据我记得,即使 osCommerce 也使用过这种做法,对吗?
解答
为什么不使用存储在数据库中的数据的文件缓存?您删除了可能成本高昂、重复次数多的数据库调用集,但可以保留 CMS 语言值概览的优势。
-
在数据库中存储翻译
-
有一个从数据库值生成平面文件的过程
-
每次发生翻译更新时重新启动此进程
-
在任何前端翻译检索操作中使用平面文件。
更多推荐
已为社区贡献23584条内容
所有评论(0)