0

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

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

如果我假设 Post 有一个 :title 和“内容,并且我希望这个内容不仅可以用英语输入,还可以用德语和荷兰语输入,那么如果我希望最终结果看起来类似于这 :

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 默认没有解决这样一个“常见”问题,或者我只是找错地方了。

4

1 回答 1

1

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

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

于 2012-12-09T22:16:16.703 回答