【发布时间】:2011-02-14 18:44:49
【问题描述】:
我在一个包含多语言内容的网络应用程序中有一些表格/模型。 例如一所大学,它的描述是默认语言(英语),用户希望他可以用另一种语言看到相同的信息(如果对象的字段已翻译)。 如果只有几种语言,那么我只会添加诸如 name_en 和 name_de 之类的字段,但是语言的数量不固定,所以会造成混乱。 我也可以用翻译后的数据创建一个新对象,但外键不起作用,只能翻译一些字段,这样会创建重复数据。 将翻译存储在文件中并使用 gettext 或类似的东西也不是一种选择,因为对象字段可以由网站用户翻译,而不仅仅是开发人员/管理员。
设计/构建这样一个数据库的最佳方法是什么?从翻译后的数据中搜索也不应该太复杂 - 因为它不应该需要创建复杂的连接,这会使查询变慢
我正在使用 PostgreSQL 和 Rails 的 Ruby,但我不是在寻找技术解决方案,而是想大致了解如何设计它。
【问题讨论】:
标签: database-design