make-plural-cli

7.3.0 • Public • Published

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]};

Package Sidebar

Install

npm i make-plural-cli

Weekly Downloads

0

Version

7.3.0

License

ISC

Unpacked Size

18.5 kB

Total Files

11

Last publish

Collaborators

  • eemeli