多语言数据库设计模式

Luk*_*uth 5 mysql sql multilingual

我目前正在开发Blog-Software,它应该为多种语言的内容提供支持.

我正在考虑设计我的数据库(MySQL)的方法.我的第一个想法如下:

  • 每个条目都存储在一个表中(让我们称之为entries).此表包含不会更改的信息(如唯一ID,如果是否已发布以及后期类型).
  • 另一个表(让我们称之为content)包含字符串(如内容,标题,日期和特定语言的作者).
  • 然后他们通过唯一的入口ID加入.

这样做的想法是,一篇文章可以翻译成多种其他语言,但并不一定如此.如果用户的母语没有翻译(由他的IP或其他东西确定),他会看到标准语言(这将是英语).

对我来说,这听起来像一个简单的多语言数据库,我敢肯定有一个设计模式.可悲的是,我没有找到任何.

如果没有模式,你会如何实现这一目标?任何输入都非常感谢.

Tom*_*m H 6

您的方法就是我在大多数具有此类功能的应用程序中看到的.唯一不变的是一些地方将"默认"值放入基表(Entry),而其他地方将其视为另一Content行.