2009-02-11 79 views
1

我正在撰写一个调查网站,向用户询问多项选择题。网站上的多语言内容

在单一语言的情况下设计数据库模式非常简单,但只要有多个模式,模式就会变得模糊。

我的直觉告诉我,我有如下表(除去所有讨厌位):

问题(ID)

选择(ID,questionid)

问号翻译(questionid,languagecode,content)

选择翻译(choiceid,languagecode,content)

答案(用户ID,questionid,choiceid)

现在,我知道这会工作,但我不禁想,表的#不必要气球。

有没有人有这样做的不同方式的建议,或改进方法的方法?

注意:语言的数量在启动时是固定的,但可能会随着时间而增长。

回答

1

模式看起来不错。你也可以为每个问题和选择使用一个唯一的键,然后只有一个包含键,值,语言环境(语言 - 国家标识符)的表。这会使你的翻译表减少一个。它也会建立一个通用的翻译系统,使问题的模式与翻译的模式分开。

我们为我们的应用程序使用了一个类似的模式,它有一个附加的表格用于监视翻译错误,以便如果服务无法在所请求的语言环境中提供翻译,则会记录关键字和语言环境。

+0

有趣的方法。 – 2009-02-11 14:58:48