Организация файлов локалей в приложении rails

В настоящее время у меня есть следующие 4 файла в моей конфигурации/локалях моего корневого приложения:

-en.yml
-de.yml
-simple_form.en.yml
-simple_form.de.yml

В моем приложении .rb, который находится в папке spec/dummy для тестирования жемчуга приложения. У меня есть следующая строка кода, которая, кажется, извлекает переводы как Ожидаемый результат:

# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
config.i18n.default_locale = :de

Теперь я хочу представить структуру в файловую структуру папки моих локалей, но когда я добавляю дополнительные папки и меняю путь загрузки в application.rb, я получаю перевод, который не найден ошибками. Вот моя попытка:

Попытайтесь включить структуру в config/locales моего корневого приложения:

-views
  -en.yml
  -de.yml
-models
  -en.yml
  -de.yml
-forms
  -simple_form.en.yml
  -simple_form.de.yml

И мой путь загрузки в application.rb изменился на:

config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]

В соответствии со следующим руководством по направляющим: http://guides.rubyonrails.org/i18n.html#setting-the-locale-from-the-domain-name

Ответы

Ответ 1

Чтобы протестировать хост-приложение, вам нужно изменить путь i18n.load_ в папку конфигурации вашего основного приложения, а не фиктивную спецификацию для целей тестирования. Код выглядит следующим образом:

config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]
config.i18n.default_locale = :en

Ответ 2

У меня была аналогичная проблема, я решил ее, добавив эту строку в мою конфигурацию application.rb:

# load the subfolders in the locales
config.i18n.load_path += Dir["#{Rails.root.to_s}/config/locales/**/*.{rb,yml}"]

Ответ 3

Следующие параметры работали для меня

config.i18n.load_path += Dir["#{Rails.root.to_s}/config/locales/**/*.yml"]

config.i18n.load_path += Dir["#{Rails.root.to_s}/config/locales/**/*.{rb,yml}"]

config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**' '*.{rb,yml}').to_s]

После перезапуска веб-сервера, конечно...