在数据库中设置i8n的最佳方法

时间:2015-06-10 06:16:55

标签: database database-design

我面临着开发具有多语言支持的数据库的问题。 我的第一个approch是,为每种语言写一个额外的表。 例如,我处理食谱,所以我根据语言创建了各种模板:

- enRecipe
- deRecipe
- frRecipe

这是正确的还是更好的方法?

1 个答案:

答案 0 :(得分:1)

当您需要添加更多表格时,需要将其他语言添加到设计中时,将显示设计的主要问题。
此外,很难发现巫婆语言没有实现特定的配方键。

我建议有一个像波纹管一样的设计:
enter image description here

关于评论:
为了概括其他实体(如成分)的解决方案,可能有其他选择:

  1. 拥有包含sting资源键的Resource表,它会 很可能在你的应用程序中有资源文件(文件是 用表替换)。
    请注意,在此设计中,文本键是 与食谱和成分等商业实体分开。 enter image description here
  2. 更具体的设计将为每个人提供一个基表 可能需要多语言支持的业务实体,这个基础 table将具有必须翻译的名称密钥。 enter image description here