我正在尝试更改我的rails(4.1.4)应用程序正在使用的语言环境,但每次我尝试使用
等命令在控制台中更改它I18n.locale = :es
I18n.default_locale = :de
出现了I18n :: InvalidLocale错误。对于我测试的每个区域设置都是这种情况,包括区域性的,例如:en-US。即使我为该语言环境设置了* .yml文件,也是如此。唯一有效的是:en,这是我的默认值。
我觉得这应该是非常基本的东西,因为我找到的所有资源似乎都跳过这个作为给定,但它不适合我,我无法找出在哪里寻找问题源。
答案 0 :(得分:25)
您是否在application.rb
中添加了新的区域设置?
config.i18n.enforce_available_locales = false
config.i18n.available_locales = [:en, :es, :de]
config.i18n.default_locale = :de
您还必须在en.yml
文件夹中创建文件es.yml
,de.yml
和config/locale
。
答案 1 :(得分:0)
谢谢!当我查看该文件时,我意识到除了你给出的答案之外,Rails还提供了自己的解决方案 -
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
所以基本上它需要一个翻译文件,如pt-br.yml,并将其添加到有效的语言环境列表中。
答案 2 :(得分:0)
确保已将es.yml和de.yml添加到config / locales文件夹中。