多种语言的数据库结构

时间:2014-08-20 21:17:38

标签: mysql localization

我将开发一个mysql Web应用程序来添加对多种语言的支持。

该应用程序最初设计时并未考虑多种语言。

现有内容的基本表结构如下所示:

TABLE documents
  id
  title
  body

我的想法是根据需要在表格中添加更多列:

TABLE documents
  id
  title_english
  body_english
  title_french
  body_french
  etc

然而,之前我还没有进行本地化工作,所以在我走这条路太远之前,我想知道其他人对这种方法的看法。这是构建数据库进行本地化的可行方法吗?这种方法有缺点吗?我应该将每种语言分成单独的表吗?

1 个答案:

答案 0 :(得分:1)

最好有这样的结构:

TABLE document_in_language
    id
    document_id (FK to documents table)
    language
    title
    body
    etc.

(document_id, language)上会有一个唯一的综合索引。 documents表只包含与语言无关的属性,例如作者。