ApplicationController で before_filter を使用して、アプリケーションのロケールを設定します。
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
私が書いたコントローラーで動作します。しかし、devise のメッセージはすべて英語のままです。
設定config.i18n.default_locale = "uk"
(またはその他)がconfig/application.rb
機能するので、問題はdeviseのコントローラーが私のbefore_filterを使用していないことだと思います(おそらく、まったく継承ApplicationController
していません(?))。
この問題を解決するにはどうすればよいですか? デバイスに私のロケールを使用させる方法は?