Rails语言环境文件不会加载

时间:2012-03-11 21:45:49

标签: ruby-on-rails locale yaml

我正在用英语和法语翻译我的网站。 我的config / locales目录中有很多语言环境文件,组织成子文件夹。

我的所有文件都正常加载,除了一个,我只是不知道为什么。

以下是我的文件内容:

fr:
  categories:
    index:
      page_title: "Toutes les catégories"
      page_description: "Liste de toutes les catégories de tutoriels."

在我的类别控制器的索引视图中,我有以下调用:

%h1= t('.page_title')

我一直在

  

翻译缺失:fr.categories.index.page_title

您对此问题有任何暗示吗?


好的,终于找到了问题。

我在另一个档案中有以下内容:

fr:
  categories: "Catégories"

此密钥与我的其他文件中的密钥冲突,这就是无法找到子密钥的原因。

2 个答案:

答案 0 :(得分:2)

如果有人试图加载locale子文件夹中的所有文件,您只需将以下行添加到application.rb

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

在Rails 5.0.2上为我工作得很好。

答案 1 :(得分:0)

我认为这是由于您的组织在子文件夹中。我在我的application.rb # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.

中看到了

您需要停止使用子文件夹,或更改config.i18n.load_path以便它以递归方式显示到语言环境/ * / .rb,yml