无法在 Rails 中更改语言环境

问题描述

出于某种原因,无法在我的应用中更改区域设置。我创建了 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

说实话,也许我只是不知道如何使用它们,但无论如何我不需要它们——所以现在它们不见了。