PHP搭建多语言网站的更好实践

问题:PHP搭建多语言网站的更好实践

我有一个网站,我用两种语言构建,包括两个基于浏览器语言的不同“字典”

在每个 langXX.php 我有

define('SOME_STRING', 'Some string');

等等......但我现在讨厌这个解决方案,因为我不确定我是否在两个文件中都包含了新定义......所以我试图将所有定义包含在 mysql 中并构建一个类似的函数

translate('SOME_STRING', 'en'); // ouput 'Some string'

我正在迁移到 mysql,因为我喜欢通过我将构建的 CMS 直接管理翻译,我不想让网站管理员通过 ftp 和 textmate...

所以我的问题是,如果后一种解决方案更好或者对mysql来说压力太大而无法获取页面的每个文本元素的查询..

PS。据我记得,即使 osCommerce 也使用过这种做法,对吗?

解答

为什么不使用存储在数据库中的数据的文件缓存?您删除了可能成本高昂、重复次数多的数据库调用集,但可以保留 CMS 语言值概览的优势。

  • 在数据库中存储翻译

  • 有一个从数据库值生成平面文件的过程

  • 每次发生翻译更新时重新启动此进程

  • 在任何前端翻译检索操作中使用平面文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全能资料库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值