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")