The Intl.PluralRules object enables plural-sensitive formatting and plural-related language rules.



Creates a new Intl.PluralRules object.

Static methods


Returns an array containing those of the provided locales that are supported without having to fall back to the runtime's default locale.

Instance methods


Returns a new object with properties reflecting the locale and collation options computed during initialization of the object.

Returns a string indicating which plural rule to use for locale-aware formatting.

Intl.PluralRules.prototype.selectRange() Experimental

This method receives two values and returns a string indicating which plural rule to use for locale-aware formatting.


Using locales

This example shows some of the variations in localized plural rules. In order to get the format of the language used in the user interface of your application, make sure to specify that language (and possibly some fallback languages) using the locales argument:

// Arabic has different plural rules

new Intl.PluralRules('ar-EG').select(0);
// → 'zero'
new Intl.PluralRules('ar-EG').select(1);
// → 'one'
new Intl.PluralRules('ar-EG').select(2);
// → 'two'
new Intl.PluralRules('ar-EG').select(6);
// → 'few'
new Intl.PluralRules('ar-EG').select(18);
// → 'many'


ECMAScript Internationalization API Specification
# pluralrules-objects

Browser compatibility

BCD tables only load in the browser

See also