CMS 多语言 怎么设计呢?

2020-07-05 01:34:17 +08:00
 JasonTsang

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

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

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

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

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

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

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

© 2021 V2EX