make-plural 7.3.0 → 7.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cardinals.d.ts +9 -1
- package/cardinals.js +48 -35
- package/cardinals.mjs +40 -35
- package/examples.d.ts +9 -1
- package/examples.js +9 -1
- package/examples.json +9 -1
- package/examples.mjs +9 -1
- package/ordinals.d.ts +6 -0
- package/ordinals.js +28 -1
- package/ordinals.mjs +22 -1
- package/package.json +1 -1
- package/pluralCategories.d.ts +9 -1
- package/pluralCategories.js +9 -1
- package/pluralCategories.mjs +9 -1
- package/plurals.d.ts +8 -0
- package/plurals.js +61 -3
- package/plurals.mjs +53 -3
package/plurals.js
CHANGED
|
@@ -100,6 +100,17 @@ bg: a,
|
|
|
100
100
|
|
|
101
101
|
bho: b,
|
|
102
102
|
|
|
103
|
+
blo: (n, ord) => {
|
|
104
|
+
const s = String(n).split('.'), i = s[0];
|
|
105
|
+
if (ord) return i == 0 ? 'zero'
|
|
106
|
+
: i == 1 ? 'one'
|
|
107
|
+
: (i == 2 || i == 3 || i == 4 || i == 5 || i == 6) ? 'few'
|
|
108
|
+
: 'other';
|
|
109
|
+
return n == 0 ? 'zero'
|
|
110
|
+
: n == 1 ? 'one'
|
|
111
|
+
: 'other';
|
|
112
|
+
},
|
|
113
|
+
|
|
103
114
|
bm: e,
|
|
104
115
|
|
|
105
116
|
bn: (n, ord) => {
|
|
@@ -167,6 +178,15 @@ cs: (n, ord) => {
|
|
|
167
178
|
: 'other';
|
|
168
179
|
},
|
|
169
180
|
|
|
181
|
+
csw: b,
|
|
182
|
+
|
|
183
|
+
cv: (n, ord) => {
|
|
184
|
+
if (ord) return 'other';
|
|
185
|
+
return n == 0 ? 'zero'
|
|
186
|
+
: n == 1 ? 'one'
|
|
187
|
+
: 'other';
|
|
188
|
+
},
|
|
189
|
+
|
|
170
190
|
cy: (n, ord) => {
|
|
171
191
|
if (ord) return (n == 0 || n == 7 || n == 8 || n == 9) ? 'zero'
|
|
172
192
|
: n == 1 ? 'one'
|
|
@@ -362,6 +382,8 @@ ia: d,
|
|
|
362
382
|
|
|
363
383
|
id: e,
|
|
364
384
|
|
|
385
|
+
ie: d,
|
|
386
|
+
|
|
365
387
|
ig: e,
|
|
366
388
|
|
|
367
389
|
ii: e,
|
|
@@ -433,6 +455,22 @@ kn: c,
|
|
|
433
455
|
|
|
434
456
|
ko: e,
|
|
435
457
|
|
|
458
|
+
kok: (n, ord) => {
|
|
459
|
+
if (ord) return n == 1 ? 'one'
|
|
460
|
+
: (n == 2 || n == 3) ? 'two'
|
|
461
|
+
: n == 4 ? 'few'
|
|
462
|
+
: 'other';
|
|
463
|
+
return n >= 0 && n <= 1 ? 'one' : 'other';
|
|
464
|
+
},
|
|
465
|
+
|
|
466
|
+
kok_Latn: (n, ord) => {
|
|
467
|
+
if (ord) return n == 1 ? 'one'
|
|
468
|
+
: (n == 2 || n == 3) ? 'two'
|
|
469
|
+
: n == 4 ? 'few'
|
|
470
|
+
: 'other';
|
|
471
|
+
return n >= 0 && n <= 1 ? 'one' : 'other';
|
|
472
|
+
},
|
|
473
|
+
|
|
436
474
|
ks: a,
|
|
437
475
|
|
|
438
476
|
ksb: a,
|
|
@@ -481,6 +519,14 @@ lij: (n, ord) => {
|
|
|
481
519
|
|
|
482
520
|
lkt: e,
|
|
483
521
|
|
|
522
|
+
lld: (n, ord) => {
|
|
523
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], i1000000 = i.slice(-6);
|
|
524
|
+
if (ord) return (n == 11 || n == 8 || n == 80 || n == 800) ? 'many' : 'other';
|
|
525
|
+
return n == 1 && v0 ? 'one'
|
|
526
|
+
: i != 0 && i1000000 == 0 && v0 ? 'many'
|
|
527
|
+
: 'other';
|
|
528
|
+
},
|
|
529
|
+
|
|
484
530
|
ln: b,
|
|
485
531
|
|
|
486
532
|
lo: (n, ord) => {
|
|
@@ -682,9 +728,11 @@ sc: (n, ord) => {
|
|
|
682
728
|
},
|
|
683
729
|
|
|
684
730
|
scn: (n, ord) => {
|
|
685
|
-
const s = String(n).split('.'), v0 = !s[1];
|
|
686
|
-
if (ord) return (n == 11 || n == 8 || n
|
|
687
|
-
return n == 1 && v0 ? 'one'
|
|
731
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], t0 = Number(s[0]) == n, i1000000 = i.slice(-6);
|
|
732
|
+
if (ord) return (n == 11 || n == 8 || (t0 && n >= 80 && n <= 89) || (t0 && n >= 800 && n <= 899)) ? 'many' : 'other';
|
|
733
|
+
return n == 1 && v0 ? 'one'
|
|
734
|
+
: i != 0 && i1000000 == 0 && v0 ? 'many'
|
|
735
|
+
: 'other';
|
|
688
736
|
},
|
|
689
737
|
|
|
690
738
|
sd: a,
|
|
@@ -699,6 +747,16 @@ ses: e,
|
|
|
699
747
|
|
|
700
748
|
sg: e,
|
|
701
749
|
|
|
750
|
+
sgs: (n, ord) => {
|
|
751
|
+
const s = String(n).split('.'), f = s[1] || '', t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);
|
|
752
|
+
if (ord) return 'other';
|
|
753
|
+
return n10 == 1 && n100 != 11 ? 'one'
|
|
754
|
+
: n == 2 ? 'two'
|
|
755
|
+
: n != 2 && (n10 >= 2 && n10 <= 9) && (n100 < 11 || n100 > 19) ? 'few'
|
|
756
|
+
: f != 0 ? 'many'
|
|
757
|
+
: 'other';
|
|
758
|
+
},
|
|
759
|
+
|
|
702
760
|
sh: (n, ord) => {
|
|
703
761
|
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2), f10 = f.slice(-1), f100 = f.slice(-2);
|
|
704
762
|
if (ord) return 'other';
|
package/plurals.mjs
CHANGED
|
@@ -78,6 +78,16 @@ export const bem = a;
|
|
|
78
78
|
export const bez = a;
|
|
79
79
|
export const bg = a;
|
|
80
80
|
export const bho = b;
|
|
81
|
+
export const blo = (n, ord) => {
|
|
82
|
+
const s = String(n).split('.'), i = s[0];
|
|
83
|
+
if (ord) return i == 0 ? 'zero'
|
|
84
|
+
: i == 1 ? 'one'
|
|
85
|
+
: (i == 2 || i == 3 || i == 4 || i == 5 || i == 6) ? 'few'
|
|
86
|
+
: 'other';
|
|
87
|
+
return n == 0 ? 'zero'
|
|
88
|
+
: n == 1 ? 'one'
|
|
89
|
+
: 'other';
|
|
90
|
+
};
|
|
81
91
|
export const bm = e;
|
|
82
92
|
export const bn = (n, ord) => {
|
|
83
93
|
if (ord) return (n == 1 || n == 5 || n == 7 || n == 8 || n == 9 || n == 10) ? 'one'
|
|
@@ -132,6 +142,13 @@ export const cs = (n, ord) => {
|
|
|
132
142
|
: !v0 ? 'many'
|
|
133
143
|
: 'other';
|
|
134
144
|
};
|
|
145
|
+
export const csw = b;
|
|
146
|
+
export const cv = (n, ord) => {
|
|
147
|
+
if (ord) return 'other';
|
|
148
|
+
return n == 0 ? 'zero'
|
|
149
|
+
: n == 1 ? 'one'
|
|
150
|
+
: 'other';
|
|
151
|
+
};
|
|
135
152
|
export const cy = (n, ord) => {
|
|
136
153
|
if (ord) return (n == 0 || n == 7 || n == 8 || n == 9) ? 'zero'
|
|
137
154
|
: n == 1 ? 'one'
|
|
@@ -287,6 +304,7 @@ export const hy = (n, ord) => {
|
|
|
287
304
|
};
|
|
288
305
|
export const ia = d;
|
|
289
306
|
export const id = e;
|
|
307
|
+
export const ie = d;
|
|
290
308
|
export const ig = e;
|
|
291
309
|
export const ii = e;
|
|
292
310
|
export const io = d;
|
|
@@ -334,6 +352,20 @@ export const kl = a;
|
|
|
334
352
|
export const km = e;
|
|
335
353
|
export const kn = c;
|
|
336
354
|
export const ko = e;
|
|
355
|
+
export const kok = (n, ord) => {
|
|
356
|
+
if (ord) return n == 1 ? 'one'
|
|
357
|
+
: (n == 2 || n == 3) ? 'two'
|
|
358
|
+
: n == 4 ? 'few'
|
|
359
|
+
: 'other';
|
|
360
|
+
return n >= 0 && n <= 1 ? 'one' : 'other';
|
|
361
|
+
};
|
|
362
|
+
export const kok_Latn = (n, ord) => {
|
|
363
|
+
if (ord) return n == 1 ? 'one'
|
|
364
|
+
: (n == 2 || n == 3) ? 'two'
|
|
365
|
+
: n == 4 ? 'few'
|
|
366
|
+
: 'other';
|
|
367
|
+
return n >= 0 && n <= 1 ? 'one' : 'other';
|
|
368
|
+
};
|
|
337
369
|
export const ks = a;
|
|
338
370
|
export const ksb = a;
|
|
339
371
|
export const ksh = (n, ord) => {
|
|
@@ -371,6 +403,13 @@ export const lij = (n, ord) => {
|
|
|
371
403
|
return n == 1 && v0 ? 'one' : 'other';
|
|
372
404
|
};
|
|
373
405
|
export const lkt = e;
|
|
406
|
+
export const lld = (n, ord) => {
|
|
407
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], i1000000 = i.slice(-6);
|
|
408
|
+
if (ord) return (n == 11 || n == 8 || n == 80 || n == 800) ? 'many' : 'other';
|
|
409
|
+
return n == 1 && v0 ? 'one'
|
|
410
|
+
: i != 0 && i1000000 == 0 && v0 ? 'many'
|
|
411
|
+
: 'other';
|
|
412
|
+
};
|
|
374
413
|
export const ln = b;
|
|
375
414
|
export const lo = (n, ord) => {
|
|
376
415
|
if (ord) return n == 1 ? 'one' : 'other';
|
|
@@ -522,9 +561,11 @@ export const sc = (n, ord) => {
|
|
|
522
561
|
return n == 1 && v0 ? 'one' : 'other';
|
|
523
562
|
};
|
|
524
563
|
export const scn = (n, ord) => {
|
|
525
|
-
const s = String(n).split('.'), v0 = !s[1];
|
|
526
|
-
if (ord) return (n == 11 || n == 8 || n
|
|
527
|
-
return n == 1 && v0 ? 'one'
|
|
564
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], t0 = Number(s[0]) == n, i1000000 = i.slice(-6);
|
|
565
|
+
if (ord) return (n == 11 || n == 8 || (t0 && n >= 80 && n <= 89) || (t0 && n >= 800 && n <= 899)) ? 'many' : 'other';
|
|
566
|
+
return n == 1 && v0 ? 'one'
|
|
567
|
+
: i != 0 && i1000000 == 0 && v0 ? 'many'
|
|
568
|
+
: 'other';
|
|
528
569
|
};
|
|
529
570
|
export const sd = a;
|
|
530
571
|
export const sdh = a;
|
|
@@ -532,6 +573,15 @@ export const se = f;
|
|
|
532
573
|
export const seh = a;
|
|
533
574
|
export const ses = e;
|
|
534
575
|
export const sg = e;
|
|
576
|
+
export const sgs = (n, ord) => {
|
|
577
|
+
const s = String(n).split('.'), f = s[1] || '', t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);
|
|
578
|
+
if (ord) return 'other';
|
|
579
|
+
return n10 == 1 && n100 != 11 ? 'one'
|
|
580
|
+
: n == 2 ? 'two'
|
|
581
|
+
: n != 2 && (n10 >= 2 && n10 <= 9) && (n100 < 11 || n100 > 19) ? 'few'
|
|
582
|
+
: f != 0 ? 'many'
|
|
583
|
+
: 'other';
|
|
584
|
+
};
|
|
535
585
|
export const sh = (n, ord) => {
|
|
536
586
|
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2), f10 = f.slice(-1), f100 = f.slice(-2);
|
|
537
587
|
if (ord) return 'other';
|