我需要创建支持多种语言的网站,但我从未这样做过,我需要帮助为我的应用程序创建数据库。
网站将是商业,所以我们以ITEM表为例。我唯一可以快速提出的是这个模型,但我不认为这很好,因为语言表与Item表绑定,但我也有公司表,其他也可能。
Item
ID
Price
Language
ID
ItemID
Language (example: en-US)
Field (example: title)
Value (example: Good Title)
有人可以帮我设计支持多种语言的优秀数据库吗?
答案 0 :(得分:2)
如何在数据库中存储多语言数据有多种方法,我通常这样做:
Item
ID
price
title_translation_key_id (is a TranslationKey foreign key)
desc_translation_key_id (is a TranslationKey foreign key)
TranslationKey
ID
key (string)
Translation
ID
translation_key_id (is a TranslationKey foreign key)
content (string)
language_id (is a Translation foreign key)
Language
ID
code
如何检索数据?
您可以使用子选择,或者如果数据库运行不正常,您可以从中生成特定于语言的表。
答案 1 :(得分:0)
另一种可能的方法是将翻译保留为json对象。例如
Item
Id Price Name
1 100 {"en":"Car", "fr":"voiture", "am":"մեքենա"}
这非常简单,您无需实现任何联接即可检索数据。但是,您始终必须获得所有翻译。如果您支持多种语言,那可能就不太好了。