私は翻訳をfallbackにしたいと思いますが、デフォルトのロケールは:deです。どのように私はこの最高を達成することができますか? 私は '設定/ application.rb' にrails 3 i18nの設定されたロケールが機能しない
config.i18n.default_locale = :en
config.i18n.locale = :de
を試みたが、I18n.localeはまだです:この後のエン。 アイデア?
私は翻訳をfallbackにしたいと思いますが、デフォルトのロケールは:deです。どのように私はこの最高を達成することができますか? 私は '設定/ application.rb' にrails 3 i18nの設定されたロケールが機能しない
config.i18n.default_locale = :en
config.i18n.locale = :de
を試みたが、I18n.localeはまだです:この後のエン。 アイデア?
環境内でロケールを設定することはできません。
環境設定ファイルにdefault_localeを入れて、アプリケーション自体にロケールを設定する必要があります。あなたは次の行後の行がトリガ後
I18n.locale = :de
のようにロケール設定されている場合は、あなたのapplication_controller.rb
before_filter: set_locale
private
def set_locale
I18n.locale = params[:locale] if params[:locale]
end
で例えば
、すべての訪問者は、de
ロケールを使用しますありませんデフォルトのロケールen
。
だから、より良い方法は、あなたのapplication_controller.rbで
ジョナサン・クラークへ
before_filter: set_locale
private
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
返信です:
application_controllerから継承されたすべてのコントローラは、ロケールを設定します。
なぜこれが起こりますか?答えは有効ですが、ドキュメンテーションによれば、 'config/application.rb'の行を変更するとロケールが変更されるはずです。 – acrespo
すべてのページでロケールを設定する必要がありますか?上記のコードをアプリケーションコントローラに入れたとしますか? –