Вебсправочник
Справочник JavaScript

Intl.PluralRules: выбор формы слова по числу

Intl.PluralRules определяет грамматическую категорию числа для выбранной локали.

Назначение

Intl.PluralRules определяет грамматическую категорию числа для выбранной локали.

Как это работает

Для русского языка категории one, few и many помогают выбирать формы целочисленного счётчика. Дроби и другие случаи требуют категории other. Метод возвращает категорию, а не готовое слово.

Пример

const rules=new Intl.PluralRules("ru-RU");
console.assert(rules.select(1)==="one");
console.assert(rules.select(2)==="few");
console.assert(rules.select(5)==="many");
console.assert(rules.select(11)==="many");
console.assert(rules.select(21)==="one");

Что должно получиться

Категории учитывают исключения для чисел от 11 до 14. Для отображения пользовательского текста приложение должно сопоставить категории заранее подготовленным формам слова.

Граница применения и частая ошибка

Не ограничивайте правило последней цифрой: 11, 12 и 14 имеют особенности по сравнению с 1, 2 и 4. Набор форм и правила нужно проверять для реальной локали.

Самостоятельная проверка

Проверьте 1, 2, 5, 11 и 21, затем дробное значение. Подготовьте словарь форм, явно включая other, а не собирайте слово простым добавлением окончания.

JavaScript в песочнице этого сайта не выполняется. Перенесите пример в отдельный учебный файл. Сначала проверьте исходный результат, затем измените входные данные; ошибка проверки означает, что результат отличается от ожидаемого.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.