使い方レールi18nスクフォースメンバーの特徴
-
26-09-2019 - |
質問
私はこのi18nの問題
activerecord:
notices:
messages:
success:
create: "Something was created"
models:
user:
success:
create: "Thanks for registration"
I18n.t("activerecord.notices.models.user.success.create")
# => "Thanks for registration"
I18n.t("activerecord.notices.models.book.success.create")
# => "translation missing: de, activerecord, notices, models, book, success, create"
なぜだかよくわかりませんのモデルさんをフォールバックのマッサージを行います。きでしょうか。 config.i18n.fallbacks = true
.を使用していレールの3
解決
をすると
:デフォルトの
のオプションが指定された翻訳が失われている場合、その値が返されますI18n.t :missing, :default => 'Not here'
# => 'Not here'
詳細情報ここを
他のヒント
で設定しますconfig/願います。rb通常
config.i18n.fallbacks =[:de, :fr, :en]
できますので減速のフォールバック.
さま、ありがとうございました注目の一部環境/*.rbの設定が上書きされます。
あなたのバックエンドのためのフォールバックを有効にしていますか?それは(例ではYMLに基づいて)単純だと仮定します:
初期化子でこれを入れます:
require "i18n/backend/fallbacks"
I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)
には、これは設定で設定されている、3+レール/環境ファイルます:
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
# the I18n.default_locale when a translation can not be found)
config.i18n.fallbacks = true
私が不足している文字列を処理するための最良の方法は、エラーメッセージではなく、デフォルトのロケールを表示することであると考えています。
英語ロケールにフォールバックするapplication.rbにこの行を追加します。
config.i18n.fallbacks = [:en]
あなたはロケール固有のフォールバックを指定したい場合は、次のものを使用することができます
config.i18n.fallbacks = {:de => [:de,:en], :en => [:en,:de]}
また、ご使用の環境に基づいてフォールバックを有効にして無効にすることができます。
だから、開発の一方で、それはあなたの代わりに、次のあなたのenvironments/production.rb
でフォールバックを有効にすることができ、エラーが表示されていても意味があります:
config.i18n.fallbacks = true
所属していません StackOverflow