如何本地化Rails 3中的现有内容?

时间:2012-12-09 21:00:33

标签: ruby-on-rails locale generator

我已根据默认文档中的Post,Comment示例设置了一个简单的Rails应用程序。 - > http://edgeguides.rubyonrails.org/getting_started.html

从这些帖子本地化现有内容的适当方法是什么?

如果我认为Post有一个:标题和“内容,我希望这些内容不仅用英语输入,而且用德语和荷兰语输入,那么如果我想要最终结果,我将如何实现这一目标?看起来类似于:

http://0.0.0.0:3000/en/posts.json分别获得所有英文帖子, 德语http://0.0.0.0:3000/de/posts.json

我还没找到一个宝石,它会支持这样的多语言内容。

我已经看过doe,许多现有的方法,主要是在Wordpress或Drupal等应用程序中,这些应用程序不是基于rails的。

我想首选的方法是在单独的表中存储EN和DE帖子(但是如何添加新语言?),或者将所有翻译放在同一个数据库表中,但是以不同的方式分离翻译,但是如何用正确的语言轻松地将它们放到json中?

我真的很困惑和疑惑为什么这样的“常见”问题,默认情况下没有在Rails中解决,或者我只是在错误的地方寻找。

1 个答案:

答案 0 :(得分:1)

Globalize3会做你想做的事。它将特定模型的所有翻译存储在单独的表中,其中locale列标识特定翻译的语言。这使得无需迁移数据库即可添加新语言,因此该方法具有很高的可扩展性。

还有其他用于翻译内容的宝石,例如Traco是我所知道的,但是这个将翻译存储在与模型相同的表中,因此当您添加新语言时,您必须迁移每个模型表。我个人更喜欢Globalize3方法,虽然它使宝石内部更加复杂。