У меня есть модель с переводом во множественном числе:

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

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

0
nullnullnull 2 Май 2013 в 19:03

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")
1
PinnyM 2 Май 2013 в 19:27
Последний вариант мне особенно нравится.
 – 
nullnullnull
2 Май 2013 в 19:50