Skip to content

Latest commit

 

History

History
84 lines (55 loc) · 2.39 KB

plural-generator.md

File metadata and controls

84 lines (55 loc) · 2.39 KB

.pluralGenerator( [options] ) ➜ function( value )

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.

Parameters

options.type

Optional. String cardinal (default), or ordinal.

value

A Number for which to return the plural group.

Example

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