你们的系统是如何保存多语言的

2017-07-19 17:59:19 +08:00
 jimyan
假如一个商品名词有中文和英文,在数据库中是 name_ch 和 name_en 類似這樣嗎?還是有其它好的處理方法,這樣處理的問題是擴展不方便,如果我要多加一個語言,則需要多加一個字段,想到的方案是格式化後保存到一個字段中。
2556 次点击
所在节点    程序员
11 条回复
jarlyyn
2017-07-19 18:06:37 +08:00
你是想说网站有不同语言版本?
jimyan
2017-07-19 18:11:31 +08:00
@jarlyyn 如果是網站的語言還好,可以直接配置不同的語言文件,就是這種商品的處理。
cxbig
2017-07-19 18:27:23 +08:00
看你们平台的复杂程度
可以参考 E-A-V 数据结构(希望隔开不会踩雷)
https://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model
QAPTEAWH
2017-07-19 18:32:03 +08:00
领导:小基啊,我这里有条小裙子你先穿着
jarlyyn
2017-07-19 18:40:11 +08:00
@jimyan

你这个字段是什么用呢?
jimyan
2017-07-19 18:40:47 +08:00
@jarlyyn 根據用戶的區域顯示不同的描述
littleylv
2017-07-19 18:47:50 +08:00
我一般是
products(id, xxx, yyy)
languages(id, code, name)
products_i18ns(id, product_id, language_id, name, desc)
jimyan
2017-07-19 23:36:36 +08:00
@cxbig 学习啦
jimyan
2017-07-19 23:36:45 +08:00
@littleylv 我研究下
cxbig
2017-07-19 23:47:05 +08:00
@jimyan
如果你的项目需要的 语种有限,字段也不多,可以单开一个表存
如 product_id, name_cn, name_en, description_cn, description_en,...

不够用再上 E-A-V 或其他方案也不迟
wenzhoou
2017-07-20 07:21:36 +08:00
Java 就没有这个问题了

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

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

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

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

© 2021 V2EX