Ruby on Rails + Devise + I18n :как установить локаль?

Я использую фильтр перед _в ApplicationController, чтобы установить локаль для моего приложения :

class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :set_locale

  def set_locale
    I18n.locale = request.compatible_language_from ["uk", "ru", "de", "en"]
  end
end

. Это работает для контроллеров, которые написаны мной. Но все сообщения устройства по-прежнему на английском языке.

Настройкаconfig.i18n.default_locale = "uk"(или другой )в config/application.rbработает, поэтому я предполагаю, что проблема в том, что контроллер устройства не использует мой прежний _фильтр (, возможно, он вообще не наследует ApplicationController(? )).

Как решить эту проблему? Как заставить devise использовать мою локаль?

7
задан JJD 24 February 2013 в 21:56
поделиться