pipe理数据库国际化的最佳方法

我有一些麻烦,在我的数据库中pipe理我的i18n

现在我的应用程序中只有两种语言可用,但为了可扩展性,我希望以“最好”的方式来实现。

我可以重复像description_fr, description_en所有字段description_fr, description_en但我完全没有这个舒适。 我现在所做的是一个外部表格,将其称为content ,其架构如下所示:

 id_ref => entity referenced id (2) type => table name (university) field => field of the specific table (description) lang => which lang (fr, en, es…) content => and finally the appropriate content. 

我认为精确可以是重要的,我使用sequelizeJS作为ORM。 所以我可以使用一个有用的钩子afterFind,afterCreate和afterUpdate。 所以每当我想find一个资源的例子,find它后,我的钩子检索这个资源的所有内容,并确定我的对象与货物价值。 它的工作,但我不爱这个。

但是我有这个麻烦:

  • 这大大增加了我对数据库的请求数量:例如,如果我select50行,我必须做50个请求更多..,而只是一个特定的模型。 如果我有嵌套模型,它是指数…

  • 那么,通过内容提取数据是非常复杂的。 示例find具有特定名称的大学很复杂。

  • 而且这是更新等很多工作…

所以我想知道,如果这是一个好主意,直​​接在相关表中保存为JSON,数据。 就像是

 { fr : { 'name':'Ma super université' }, en : { 'name':'My kick ass university' } } 

并继续使用Sequelize挂钩build立和插入适当的数据到我的对象。

你怎么看 ? 你如何pipe理这个?


编辑

  • 我使用一个MySQL数据库

  • 它涉及20个领域(交叉模型)

  • 如果没有内容设置,我必须使用我的default_lang来设置默认值(例如,如果没有内容设置,法语中的event.description将与英语中的相同)