@boxid/plurals-cldr
v1.36.0
Published
Plurals suport, generated from CLDR.
Downloads
7
Maintainers
Readme
plurals-cldr - plurals support for JS
Key benefits:
- Competely automated code generation from CLDR on update.
- Generated code automatically tested with CLDR fixtures.
- Both
cardinal
andordinal
forms support. - Rules for all languages are stored in single file in very compact form.
Installation
node.js:
$ npm install plurals-cldr
browser:
$ bower install plurals-cldr
Rebuild
make clean
make generate
API
.(locale, number)
Returns form name for given number. Number can be passed as string to keep
tailing decimal zeros. If locale not supported, returns null
.
var plural = require('plural-cldr');
// Get cardinal form name
//
// Params:
//
// - locale
// - number (Number|String)
//
plural('ru', 0) // -> 'many'
plural('ru', 1) // -> 'one'
plural('ru', 2) // -> 'few'
plural('ru', 19) // -> 'many'
plural('ru', 0.5) // -> 'other'
.forms(locale)
Returns array of available forms for specified locale. If locale not supported,
returns null
.
.indexOf(locale, number)
Returns index of form for specified locale. That's convenient, if you wish to implement lookup from compact ordered list, like babelfish does.
If locale not supported, function returns -1
.
Order of forms is the same for all languages: zero
, one
, two
, few
,
many
, other
. Remove unavailable forms, and you will get indexes of each.
.ordinal(), .ordinal.forms(), ordinal.indexOf()
The same as above, but for ordinal forms.
References
License
Mit.