Question

J'ai ce problème 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"

Je ne sais pas pourquoi le modèle de livre ne reçoit pas le massage de secours. J'ai mis config.i18n.fallbacks = true. J'utilise Rails 3

Était-ce utile?

La solution

: par défaut est donnée, sa valeur sera retournée si la traduction est manquante:

I18n.t :missing, :default => 'Not here'
# => 'Not here'

Plus d'infos

Autres conseils

I dans la config / application.rb habituellement

    config.i18n.fallbacks =[:de, :fr, :en]

Vous pouvez décélérer l'ordre du repli.

Mais garder l'attention dans certains environnements / *. Rb la configuration seront écrasées.

Avez-vous activé pour votre back-end des solutions de repli? En supposant qu'il est simple (basé sur YML dans l'exemple):

a mis cela dans un initialiseur:

require "i18n/backend/fallbacks" 
I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)

https://github.com/svenfuchs/i18n/wiki/Fallbacks

Dans rails 3+, ce paramètre est réglé dans les fichiers config / environnements:

  # 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

Je crois que la meilleure façon de gérer une chaîne manquante, est d'afficher un lieu par défaut, au lieu d'un message d'erreur.

Ajoutez cette ligne dans application.rb pour revenir sur les paramètres régionaux anglais.

config.i18n.fallbacks = [:en]

Si vous souhaitez spécifier des solutions de repli spécifiques des paramètres régionaux, vous pouvez utiliser les éléments suivants:

config.i18n.fallbacks = {:de => [:de,:en], :en => [:en,:de]}

Notez également que vous pouvez activer et désactiver en fonction de solutions de repli de votre environnement. Ainsi, alors que sur le développement, il serait logique d'avoir une erreur affiché, vous pouvez activer la place dans votre environments/production.rb des solutions de repli avec ce qui suit:

config.i18n.fallbacks = true
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top