Подтвердить что ты не робот

Ключ I18N для моделей рельсов, сгруппированных в модуле

У меня есть несколько моделей, сгруппированных в модуле:

  #/app/models/blobs/small_text.rb
  class Blobs::SmallText < ActiveRecord::Base

        #.. class implementation

  end

Я хотел бы указать имя класса человека в "Texte Court" по-французски:

  I18n.locale = "fr"
  Blobs::SmallText.model_name.human # should return "Texte Court" 

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


  # /config/locales/models/blobs.fr.yml

  # first attempt (does not work)
  fr:
    activerecord:
      models:
         blobs_small_text: "Texte Court"

  # /config/locales/models/blobs.fr.yml   
  # second attempt(does not work) 
  fr:
    activerecord:
      models:
         blobs:
           small_text: "Texte Court"

Любые идеи? благодаря Д.

4b9b3361

Ответ 1

Ok. Я нашел ответ. Когда вы не знаете, что ключ класса просто запускается в консоли rails, выполните следующую команду:

 Blobs::SmallText.model_name.i18n_key  # this returns :"blobs/small_text"

Теперь я могу обновить файлы локали:

# /config/locales/models/blobs.fr.yml
# last attempt (it works)
fr:
  activerecord:
    models:
       blobs/small_text: "Texte Court"

Итак, теперь это работает. Однако, это только я или это соглашение об именах не уважает общие соглашения об именах в Ruby on Rails?