It supports the creation of internationalized messages with plural inflection by returning a function that returns the value's plural group: zero
, one
, two
, few
, many
, or other
.
The returned function is invoked with one argument: the Number value
for which to return the plural group.
Optional. String cardinal
(default), or ordinal
.
A Number for which to return the plural group.
Prior to using any plural method, you must load either supplemental/plurals.json
for cardinals or supplemental/ordinals.json
for ordinals.
Read CLDR content if you need more information.
You can use the static method Globalize.pluralGenerator()
, which uses the default locale.
var plural;
Globalize.locale( "en" );
// Cardinals
plural = Globalize.pluralGenerator();
plural( 0 );
// > "other"
plural( 1 );
// > "one"
plural( 2 );
// > "other"
// Ordinals
plural = Globalize.pluralGenerator({ type: "ordinal" });
plural( 0 );
// > "other"
plural( 1 );
// > "one"
plural( 2 );
// > "two"
You can use the instance method .pluralGenerator()
, which uses the instance locale.
var plural = Globalize( "zh" ).pluralGenerator();
plural( 1 );
// > "other"
For comparison (cardinals):
en (English) | ru (Russian) | ar (Arabic) | |
---|---|---|---|
plural( 0 ) |
other |
many |
zero |
plural( 1 ) |
one |
one |
one |
plural( 2 ) |
other |
few |
two |
plural( 3 ) |
other |
few |
few |
plural( 5 ) |
other |
many |
few |
For comparison (ordinals):
en (English) | ru (Russian) | ar (Arabic) | |
---|---|---|---|
plural( 0, { type: "ordinal" } ) |
other |
other |
other |
plural( 1, { type: "ordinal" } ) |
one |
other |
other |
plural( 2, { type: "ordinal" } ) |
two |
other |
other |
plural( 3, { type: "ordinal" } ) |
few |
other |
other |
plural( 5, { type: "ordinal" } ) |
other |
other |
other |