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

WBOY
Freigeben: 2016-08-30 09:36:42
Original
1193 Leute haben es durchsucht

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

回复内容:

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

太少见使用 多套数据表的方案了,一般还是用语言文件...数据库里面可以只存放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种不同格式的价格?想想都觉得累。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!