应用无法访问引擎或gem中的翻译文件
我尝试了我能想到的每一个组合,但我无法让我的应用程序看到我的引擎提供的本地化内容。 现在发动机做得很好。
我在Rails_admin
看到了同样的问题。 它的i18n文件在一个单独的gem中。 主应用程序似乎无法看到文件。 我确定我如何指定I18n.load_path
一定会出错,但它让我I18n.load_path
了。
来自Ryan Bates的铁杆演员:
I18n.load_path += Dir[Rails.root.join('config', 'locale', '*.{rb,yml}')]
我的一次黑客尝试:
I18n.load_path += Dir[Rails.root.join('**','locales', '**', '*.{rb,yml}')]
应用程序内部的任何引用都会导致找不到翻译。
任何线索。
我遇到了同样的问题,如果你开发的rails引擎然后将以下行添加到lib / engine_name / engine.rb
module MyEngine class MyEngine < Rails::Engine config.before_initialize do config.i18n.load_path += Dir["#{config.root}/config/locales/**/*.yml"] end end end
其他方式
module MyEngine class MyEngine < Rails::Engine initializer 'MyEngine', before: :load_config_initializers do Rails.application.config.i18n.load_path += Dir["#{config.root}/config/locales/**/*.yml"] end end end
- Rails国际化不在生产模式下工作
- 如何递归地将YAML文件展平为JSON对象,其中键是以点分隔的字符串?
- 为什么单词’translate’会弄乱irb?
- I18n locale无视后备
- Rails I18n翻译范围
- 升级到ruby 2.3.0 NameError:uninitialized constant I18n :: Config :: Backend
- Ruby on Rails 3.2.13 – 使用I18n获取自定义错误页面的错误
- Rails:Model.human_attribute_name:字段应该在找不到翻译时引发错误? (也许是由state_machine引起的?)
- 如何动态地向I18n添加值?