Intl.PluralRules

new Intl.PluralRules(locale).select(number)

Zwraca kategorię liczby mnogiej według reguł języka. Polski ma przy liczebnikach głównych cztery kategorie: one (1 plik), few (2–4, 22–24 pliki), many (0, 5–21, 25 plików) i other (ułamki: 1,5 pliku). Angielskie liczebniki porządkowe mają też kategorię two (2nd), inne języki do sześciu kategorii.

Parametry

  • locale – na przykład 'pl-PL'.
  • options – opcjonalnie type: 'ordinal' dla liczebników porządkowych (1st, 2nd w angielskim).

Wartość zwracana

Obiekt; select() zwraca 'zero', 'one', 'two', 'few', 'many' albo 'other'.

Przykłady

const pr = new Intl.PluralRules('pl-PL');
console.log([0, 1, 2, 5, 1.5].map((n) => pr.select(n)));
const forms = { one: 'plik', few: 'pliki', many: 'plików', other: 'pliku' };
const count = (n) => `${n.toLocaleString('pl-PL')} ${forms[pr.select(n)]}`;
console.log(count(1), '|', count(2), '|', count(1.5), '|', count(22));

Wynik:

[ 'many', 'one', 'few', 'many', 'other' ]
1 plik | 2 pliki | 1,5 pliku | 22 pliki

Na co uważać

  • Polskie liczebniki porządkowe zapisuje się z kropką albo słownie (1., 2., drugi), dlatego język pl przy liczebnikach porządkowych zawsze zwraca other; końcówki 1st, 2nd i 21st zna tylko angielski.
  • Kategorie różnią się w zależności od języka – każdy język strony potrzebuje własnych form wyrazów. W polskim 12–14 należą do many (12 plików), ale 22–24 do few (22 pliki).

Obsługa w przeglądarkach

Baseline – szeroko dostępne: we wszystkich popularnych przeglądarkach od września 2019, za szeroko dostępne uznawane od marca 2022. Od wersji: Chrome 63, Firefox 58, Safari 13; Node.js 10.0.0. Stan: październik 2026 (MDN browser-compat-data).

Zobacz też:
Intl.NumberFormat
Intl.RelativeTimeFormat