Pregunta

Tengo este problema 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"

No sé por qué el modelo del libro no recibe el masaje de reserva. Tengo conjunto config.i18n.fallbacks = true. Estoy usando Rails 3

¿Fue útil?

Solución

Cuando un por defecto se da, se devolverá su valor si la traducción es que falta:

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

Más información aquí

Otros consejos

I situado en config / application.rb generalmente

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

Así que puede desacelerar el orden del repliegue.

Sin embargo, mantener la atención en algunos entornos / *. Rb la configuración se sobrescribe.

¿Ha habilitado retrocesos para su back-end? Asumiendo que es simple (basado en yml en el ejemplo):

poner esto en un inicializador:

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

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

En los carriles 3+, se establece en el config / archivos entornos:

  # 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

Creo que la mejor manera de manejar una cadena que falta, es para mostrar una configuración regional predeterminada, en lugar de un mensaje de error.

Añadir esta línea en application.rb de repliegue a la configuración regional Inglés.

config.i18n.fallbacks = [:en]

En caso de que desee para especificar la configuración regional retrocesos específicos, puede utilizar lo siguiente:

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

Además, cabe destacar que se puede activar y desactivar los mecanismos de emergencia en base a su medio ambiente. Así, mientras que en el desarrollo que podría tener sentido para tener visualiza un error, en su lugar puede permitir retrocesos en su environments/production.rb con lo siguiente:

config.i18n.fallbacks = true
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top