В настоящее время я использую этот код, как это предлагается в руководстве по Rails:
# application_controller.rb
around_action :switch_locale
def switch_locale(&action)
locale = params[:locale] || I18n.default_locale
I18n.with_locale(locale, &action)
end
Это потокобезопасность и отлично работает для приложения ... но не для Devise! Devise продолжает использовать язык по умолчанию (даже если есть переведенные файлы YML).
Что мне делать, чтобы указать Devise язык для текущего пользователя?
Я знаю, что есть I18n.locale
но это не потокобезопасный ...