WebSite上的多语言内容

时间:2009-02-11 14:34:24

标签: database-design

我正在撰写一个调查网站,向用户提出多项选择问题。

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

我的直觉告诉我,我有以下表格(删除了所有讨厌的位):

  

问题(id)

     

选择(id,questionid)

     

问题翻译(questionid,languagecode,content)

     

choicetranslations(choiceid,languagecode,content)

     

答案(userid,questionid,choiceid)

现在,我知道这会起作用,但我不禁想到桌子的#不必要地膨胀。

有没有人就不同的方法或改进方法的方法提出建议?

注意:语言数量在发布时已修复,但可能会随着时间的推移而增长。

1 个答案:

答案 0 :(得分:1)

架构看起来很好。您还可以为每个问题和选择使用唯一键,然后只需要一个包含键,值,区域设置(语言 - 国家/地区标识符)的表。这会将您的翻译表减少一个。它还将创建一个通用的翻译系统,使问题的模式与翻译模式分离。

我们为我们的应用程序使用类似的模式来提供常规翻译服务,该服务还有一个用于监视翻译未命中的附加表,如果服务无法在请求的语言环境中提供翻译,则会记录密钥和区域设置。