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

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

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

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


不要重新发明轮子。 安装globalize2插件,你去了。 当然,如果你愿意,你也可以研究它是如何工作的(使用翻译表,是的,与连接)。 虽然有一个使用默认语言的主表的分支。

链接地址: http://www.djcxy.com/p/37459.html

上一篇: How to translate the fields of a database model?

下一篇: Designing a Localized Database Schema