раньше я использовал Rails 3.2.13 с Ruby 2.0.0, и это работало нормально:
В моем application.rb у меня было:
def set_locale
I18n.locale = http_accept_language.compatible_language_from([:en, :de])
end
Я использую 2 локали, de.yml и en.yml
Теперь, когда я обновился до Rails 3.2.22 и Ruby 2.2.4, мне пришлось также обновить gem i18n до версии 0.7.0, и я получаю сообщение об ошибке «I18n::InvalidLocale (:en is not a valid locale)». если я выбираю клиент на 'en' или другом языке. "де" работает.
Пробовал разные комбинации параметров в application.rb
config.i18n.enforce_available_locales = true
config.i18n.available_locales = ["en", "de"]
config.i18n.default_locale = :'de'
но безрезультатно... Если я использую клиент на "de", он работает, но если я использую клиент на "en" или другом языке, я получаю вышеуказанное сообщение об ошибке. Раньше, если я выбирал другой язык клиента, по умолчанию использовался «de».