CMS 多语言 怎么设计呢?

2020 年 7 月 5 日
 JasonTsang

除了页面版面一些文字内,数据库里的内容也想是多语言的,比如文章内容。哪就是说一篇文章 有多少个语言,就应该对应有多少个文章内容。

这个业务逻辑应该怎么设计好呢?

3686 次点击
所在节点    PHP
13 条回复
somalia
2020 年 7 月 5 日
设计到什么程度了,一般分个表换个字段分个库都可行。
AngryPanda
2020 年 7 月 5 日
这样的话,直接 copy 出多个站点好了。
JasonTsang
2020 年 7 月 5 日
@AngryPanda 这样的设计太复杂了,哈哈哈
JasonTsang
2020 年 7 月 5 日
@somalia 我试过 这个也不好。看了一下 所有的系统好像都是 一个语言包 ,但这并不附合要求。因为要文章也是多语言的。
zsdroid
2020 年 7 月 5 日
没看懂。。。
你写了篇中文文章,然后选择韩日德语,就自动翻译出来???
JasonTsang
2020 年 7 月 6 日
@zsdroid 不是自动翻译出来,是数据库中有一篇韩日德对应的文章。比如 公司简介,支持中英双语,那数据应该有两篇 中英的公司简介。
xsseroot
2020 年 7 月 6 日
可以参考下 dtcms 是怎么设计的
ben1024
2020 年 7 月 6 日
两种
1.水平复制主语言结构,粘贴成各种子语言
2.挂靠在字段上,表进行语言关联
JasonTsang
2020 年 7 月 9 日
@ben1024 嗯 应该第二种方案靠谱。
JasonTsang
2020 年 7 月 9 日
@xsseroot 好的
JasonTsang
2020 年 7 月 9 日
@ben1024 我自己想了一种 不知和你说的第二种方法 哪个更优。我的想法是这样的。
现在 mysql 不是支持 json 搜索查询了吗?我想在文章表 分类 等表,都放一个扩展的字段 extend_data,这样其它语言的内容都可以保存到里面去。
ben1024
2020 年 7 月 10 日
@JasonTsang
MySQL 支持 JSON 的但不建议,使用起来不方便,存储也会压力比较麻烦
简单就挂几个子表
复杂就拆解语音模块(进行挂靠关联,放到搜索引擎 ES 一类中)
JasonTsang
2020 年 7 月 11 日
@ben1024

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/687228

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX