Rails: получая перевод с возможностью множественного числа без подсчета

У меня есть модель с переводом, который может быть множественным:

en:
  activerecord:
    models:
      user:
        one: User
        other: Users

Если я вызываю этот перевод напрямую, я получаю следующие результаты:

t("activerecord.models.user", count: 1)
=> User

t("activerecord.models.user", count: 2)
=> Users

t("activerecord.models.user")
=> {:one=>"User", :other=>"Users"}

Есть ли способ получить этот последний перевод по умолчанию на "Пользователь"?

1 ответ

Решение

Если вы собираетесь иногда передавать счет, а иногда нет, вам следует установить для них отдельные ключи:

counted_user:
  one: User
  other: Users
user: User

t("activerecord.models.counted_user", count: 1)
t("activerecord.models.counted_user", count: 2)
t("activerecord.models.user")

Если значение по умолчанию используется только в минимальных обстоятельствах, которые не требуют отдельного ключа, просто вызовите его напрямую:

t("activerecord.models.user.one")
Другие вопросы по тегам