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