Как заметил @overzealous в комментариях, не все языки имеют те же простые правила множественного числа, что и английский язык. В английском есть только две формы: one
(количество равно 1, например, 1 машина, 1 час) и other
(количество больше 1, например, 3 машины, 11 часов). В этом случае плюрализация может быть обработана в Grails довольно просто, используя ChoiseFormat
. Однако некоторые языки имеют более двух форм, например, польский имеет 4 формы: one
(например, 1 авто), few
(например, 2 аута), many
(например, 6 аут) и other
. Вот ссылка на таблицу, описывающую правила множественного числа для всех языков.
Я также написал плагин для Grails , который добавляет богатые возможности плюрализации, используя таблицу выше. С его помощью вы можете просто написать messages.properties
msgcode={0} {0, plural, one{auto}few{auta}many{aut}other{aut}}
и затем используйте его:
<g:message code="msgcode" args="[3]"/>
напечатает 3 auta
.