Rails: название вложенной модели не переводится на i18n? - PullRequest
1 голос
/ 19 июня 2020

Я просмотрел множество вопросов stackoverflow, чтобы найти решение, с различными описаниями того, как правильно записать файл yml, чтобы обеспечить правильный перевод сообщений об ошибках для вложенных атрибутов.

Для меня атрибуты не проблема, проблема в названии модели.

Компания имеет_множество подписантов. Я написал для этого сообщение:

validates :signatories, length: {minimum: 1, message: _("Signatories should have at least one authorized signatory")}

Однако из-за способа его построения методом full_message мое сообщение выглядит так: «Подписавшие стороны должны иметь по крайней мере одну авторизованную подписавшую сторону»

Я пробовал несколько вариантов своего en.yml, как показано ниже. Есть идеи относительно конструкции, чтобы гарантировать перевод названия модели?

en:
  activerecord:
    models:
      user: User
      company: Company
      company/signatory: #This seems good for attributes, but not for the model name
        one: Signatory
        other: Signatories
      party: Party
      signatory: 
        one: Signatory         #This is correct for the model name, but doesn't help with error messages
        other: Signatories ```

1 Ответ

0 голосов
/ 19 июня 2020

Как насчет следующего?

en:
  activerecord:
    models:
      company: Company
      signatory: 
        one: Signatory
        other: Signatories 
    attributes:
      company:
        signatory:
          one: Signatory
          other: Signatories 

Из документации

...