По вашему мнению, вы звоните I18N.translate(@firm.status)
(хорошо, вы, вероятно, просто звоните t @firm.status
, потому что это выглядит красивее, верно?)
В этом случае, поскольку статус «триальный», он аналогичен вызову t "trial"
, поэтому он ищет перевод верхнего уровня «en.trial». Если вы хотите использовать пространство имен для этого, самый простой способ - просто вызвать t "activemodel.attributes.firm.status.#{@firm.status}"
, хотя это быстро станет раздражающим, и вам понадобятся некоторые вспомогательные методы, которые сделают это за вас. Я также не уверен, что у вас должен быть файл "activemodel.attributes" как часть области действия.
Подумайте о том, чтобы прочитать http://guides.rubyonrails.org/i18n.html,, в частности, раздел 4.1.1 о областях и 3.5 об организации файлов локали.