首页 > 后端开发 > php教程 > 讨论 YII2 开发多语言动态网站方案

讨论 YII2 开发多语言动态网站方案

WBOY
发布: 2016-08-30 09:36:42
原创
1262 人浏览过

除了使用多套数据表方案,还有其他方案吗?要做到 所有从数据库读出来的数据都实现多语言的。

回复内容:

除了使用多套数据表方案,还有其他方案吗?要做到 所有从数据库读出来的数据都实现多语言的。

太少见使用 多套数据表的方案了,一般还是用语言文件...数据库里面可以只存放key,然后自动转换为翻译关键字,如category表
category.id = 1, category.name = 'Demo', category.slug = demo, category.meta = 'It is demo'
对应的翻译文件
category_id_1_name = '演示'
category_id_1_meta = '这是一个演示'
如果需要的话可以自行开发语言文件的管理页面,不过一般用类似PO的编辑器就行了。
当然有些东西是不能这样处理的,比如文档,需要额外的语言字段,而不是新建表。如 article 表会包含 id, language, title, content等,在显示的时候自动根据语言过滤不同的文档列表出来就行了。

归纳一下就是 简单的翻译使用语言文件,复杂的数据添加语言字段,不同语言的内容按多条记录进行管理。

至于 “所有从数据库读出来的数据都实现多语言” ,这方案太累了,数据库压力也大,数据的维护量也大,而且缺少弹性。通常我们认为翻译是前端为了优化交互使用的方案,而不是数据库的工作。类似的问题还有货币转换、数字格式、日期格式,难道你都要靠数据库?新建个商品存3种不同格式的价格?想想都觉得累。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板