我正在用英语和法语翻译我的网站。 我的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"
此密钥与我的其他文件中的密钥冲突,这就是无法找到子密钥的原因。
答案 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