Вопрос

У меня есть эта проблема 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. Отказ Я использую Rails 3

Это было полезно?

Решение

Когда :По умолчанию Опция дана, его значение будет возвращено, если перевод отсутствует:

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

Больше информации здесь

Другие советы

Я устанавливаю в конфигурацию / application.rb обычно

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

Таким образом, вы можете обмануть порядок отставания.

Но держите внимание в некоторых средах / *. RB Конфигурация перезаписана.

Вы включили отступы для вашей бэкенда? Предполагая, что это просто (на основе YML в примере):

Положите это в инициализатор:

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

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

В Rails 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.ru в Foxback к английскому языку.

config.i18n.fallbacks = [:en]

Если вы хотите указать SPALDBACS, специфичные для локали, вы можете использовать следующее:

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

Кроме того, обратите внимание, что вы можете включить и отключить отблески в зависимости от вашей среды. Так что в то время как на разработке возможно иметь смысл, чтобы отобразить ошибку, вы можете вместо этого включить отступы в вашем environments/production.rb со следующим:

config.i18n.fallbacks = true
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top