如何翻译数据库模型的字段?

时间:2010-05-02 15:04:56

标签: database-design

我在网络应用中有一些表格/模型会有多语言内容。 例如,一所大学,用默认语言(英语)描述它,用户希望他能用另一种语言看到相同的信息(如果该对象有翻译的字段)。 如果只有几种语言,那么我只会添加像name_en和name_de等字段,但语言的数量不固定,因此“会造成混乱。” 我也可以使用已翻译的数据创建一个新对象,但外键不起作用,只有一些字段可以翻译,以便创建重复数据。 将翻译存储在文件中并使用gettext或类似的东西也不是一个选项,因为对象字段可以由网站用户翻译,而不仅仅是开发人员/管理员。

设计/构建这样一个数据库的最佳方法是什么?从翻译的数据中搜索也不应该太复杂 - 因为它不应该需要创建复杂的连接,这会使查询变慢

我正在使用PostgreSQL和Ruby of Rails,但我并不是在寻找技术解决方案,而是一般的想法如何设计它。

1 个答案:

答案 0 :(得分:0)

不要重新发明轮子。安装globalize2插件即可。当然,如果你想要你也可以研究它是如何工作的(使用转换表,是的,加入)。有一个fork使用主表作为默认语言。