多语言支持,无需更改数据库结构

时间:2016-11-17 13:55:21

标签: database multilingual erd

我对网站上的语言支持有疑问。

使用多种语言时,构建数据库的最佳方法是什么?例如,在创建具有议程表,新闻表和产品表的数据库模式时。所有这些组件都有描述和标题。

然后结构将是:

  • 议程(ID,标题,说明)
  • 新闻(ID,标题,说明)
  • 产品(ID,标题,说明)

通常,我会创建一个语言表。每个上述表格都会得到一个额外的列; LANGUAGE_ID。

这意味着使用不同的ID再次插入记录的每个翻译。此方法的优点是您可以添加多种语言,而无需更改数据库(您只需在新创建的语言表中添加新行,并在news / agenda / products表中插入相应的language_id)。

知道我知道这是非常麻烦的事实。基本上具有相同内容的行 - 仅在不同的翻译中 - 无法知道它们是相同的。

我见过许多方法,例如使用'翻译'表。因此,您可以获得额外的news_translation,products_translation和agenda_translation。

是否有其他解决方案,无需为每个组件添加转换表?

提前致谢。

0 个答案:

没有答案