问题描述
出于某种原因,无法在我的应用中更改区域设置。我创建了 config/locales/el.yml
并在 application.rb
中设置了如下配置:
config.i18n.default_locale = :en
config.i18n.available_locales = [:en,:el,:zh]
如果我尝试在 Rails 控制台中更改语言环境,它就不会改变。
[1] pry(main)> I18n.locale = :el
:el
[2] pry(main)> I18n.locale
:en
翻译总是默认为英语,即使指定了另一个语言环境并且密钥存在于翻译文件中,例如
[3] pry(main)> I18n.t("hello",:el)
"Hello world"
en.yml:
en:
hello: Hello world
el.yml:
el:
hello: Hello Greek world
任何想法可能是什么问题?
解决方法
问题是我正在处理遗留代码,并且有一堆已经过时的遗留代码——比如清理冰箱——我把它们从我的 Gemfile
中扔掉,现在它可以工作了!我丢弃的宝石是:
- gettext_i18n_rails
- 获取文本
- i15r
- i18n 任务
- i18n-js
说实话,也许我只是不知道如何使用它们,但无论如何我不需要它们——所以现在它们不见了。