Skip to content

Latest commit

 

History

History

cli

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

make-plural-cli

Command-line interface for make-plural-compiler, used to build the make-plural package of pluralization functions, using Unicode CLDR pluralization rules. This tool may be of interest to you if you wish to build your own smaller set of pluralization functions, and you're not able to drop unused functions by tree-shaking.

For more detailed documentation and additional options, use make-plural --help.

npm install make-plural-cli

Print Plural Category

make-plural --locale [lc] cardinal [value]
make-plural --locale [lc] ordinal [value]

make-plural --locale en cardinal # one, other
make-plural --locale en cardinal 1 # one
make-plural --locale en cardinal 2 # other

make-plural --locale en ordinal # one, two, few, other
make-plural --locale en ordinal 1 # one
make-plural --locale en ordinal 2 # two

Print JS Module

make-plural plurals [locale...]
make-plural categories [locale...]

make-plural plurals en fi > plurals.js
make-plural categories en fi > categories.js
// plurals.js
export function en(n, ord) {
  var s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n,
      n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);
  if (ord) return (n10 == 1 && n100 != 11) ? 'one'
      : (n10 == 2 && n100 != 12) ? 'two'
      : (n10 == 3 && n100 != 13) ? 'few'
      : 'other';
  return (n == 1 && v0) ? 'one' : 'other';
}
export function fi(n, ord) {
  var s = String(n).split('.'), v0 = !s[1];
  if (ord) return 'other';
  return (n == 1 && v0) ? 'one' : 'other';
}
// categories.js
const z = "zero", o = "one", t = "two", f = "few", m = "many", x = "other";

export const en = {cardinal:[o,x],ordinal:[o,t,f,x]};
export const fi = {cardinal:[o,x],ordinal:[x]};