Rails本地化“懒惰”查找

时间:2014-11-27 19:44:48

标签: ruby-on-rails view localization rails-i18n

我有这样的观点结构:

views
  layouts
    visitors
      _footer.html.haml
      _header.html.haml
    visitors.html.haml

config/application.rb我已添加

config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]

我的语言环境文件结构如下所示:

config
  locales
    views
      layouts
        visitors.en.yml

我的visitor.en.yml有这样的结构

en:
  layouts:
    visitors:
      title: Site title

views/layouts/visitors.html.haml我致电I18n.t('.title'),但收到错误translation missing en.title

如果我喜欢这个I18n.t('layouts.visitors.title') - 它可以正确地翻译所有内容。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

已经找到了答案。事实证明,这个Rails功能只有在我调用这个t('.title')的帮助器时才有效。只有这样才能获得适当的翻译。如果我使用I18n.t,则只有完整I18n.t('layouts.visitors.title')正常工作。