私のサイトでは、ロケールは URL に追加されたクエリ パラメータによって決定されます (例: http://www.mysite.com/mypage?locale=en )。
アプリケーションコントローラーでデバイスを使用してbefore_filter :authenticate_user!
いますが、ロケールパラメーターをデバイスサインインビューに渡す方法がわかりませんでした (表示された後にこれをビュー URL に手動で追加すると、翻訳されたビューが表示されます。私が理解できないパラメータを渡す)
アプリケーションコントローラーに以下を追加しましたが、うまくいきませんでした:
before_filter :set_locale
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
def default_url_options(options={})
{ locale: I18n.locale }
end