将Ruby gem中的locales / I18n文件加载到Rails中

时间:2014-12-28 20:59:13

标签: ruby-on-rails-3 ruby-on-rails-4 rubygems rails-i18n

我有一个我正在处理的ruby gem,包括一些locale / I18n文件,如果Rails使用gem,我希望加载它们。

我看了一下,看起来我需要提供一个Railtie - 我已经在stackoverflow和其他地方找到了一些例子,但我无法让它工作。

理想情况下,我希望这适用于Rails 3和4。

这是我宝石的布局:

+ lib
    + my_gem
        my_gem.rb
        version.rb
+ locales
    en.yml

从我发现的情况来看,似乎我需要添加lib/my_gem/railtie.rb并在其中添加一些代码,这些代码将路径附加到我的gem的locales目录中的.yml文件。我已尝试过各种不同的方法,但我无法让它发挥作用。

1 个答案:

答案 0 :(得分:1)

你应该有这个布局:

+ lib
    + my_gem
        engine.rb
        my_gem.rb
        version.rb
+ config
    + locales
        en.yml

在engine.rb文件中,您应该扩展Rails :: Engine,如下所示:

module YourGem
   class Engine < Rails::Engine
   end
end

它应该工作! =)