7.3.0 • Published 12 months ago

make-plural-cli v7.3.0

Weekly downloads
112
License
ISC
Repository
github
Last release
12 months ago

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

12 months ago

7.2.0

1 year ago

7.1.0

2 years ago

7.0.0

3 years ago

6.2.1

4 years ago

6.2.0

4 years ago

6.1.0

4 years ago

6.0.1

5 years ago

6.0.0

5 years ago

6.0.0-beta.3

5 years ago

6.0.0-beta.2

5 years ago

5.0.1

5 years ago

6.0.0-beta.1

5 years ago

5.0.0

5 years ago

5.0.0-beta.1

5 years ago