【发布时间】:2019-02-18 02:18:18
【问题描述】:
我正在为多语言在线词典实现一个数据库。目前我只有 2 种语言(RO - 罗马尼亚语,CS - 捷克语),但我想将来我可能会想要添加更多语言(例如 EN - 英语)。
该网站也将是多语言的,因此罗马尼亚语用户可以查找捷克语单词,而捷克语用户可以查找罗马尼亚语单词。
我在考虑如何实现TRANSLATIONS 表以进行多种翻译。目前我有这个实现,但这不是要走的路,因为如果我要添加另外 10 种语言,我将不得不添加另外 10 列:
WORD (id,word,language_id,..)
TRANSLATIONS(id,ro_id,cs_id)
LANGUAGE(id,code)
LANGUAGE
id code
1 ro
2 cs
WORD
id word language_id
1 xxx 1
2 yyy 2
TRANSLATIONS
id ro_id cs_id
1 1 2
我可以制作这样的表格:
TRANSLATIONS(id,word_id,translation_id)
但在这种情况下,我不知道如何搜索翻译,我必须同时添加两种情况:
TRANSLATIONS
id word_id translation_id
1 1 2
2 2 1
一些想法?我希望我的描述有意义。
谢谢。
更新:另一种方法可能是带有 JSON 列的表,例如:
TRANSLATIONS(id,data)
id data
1 {"ro":1,"cs":2,"another_lang": "another_id"}
但这是个好主意吗?
【问题讨论】:
标签: database multilingual