make-plural 6.2.2 → 7.0.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/LICENSE +29 -11
- package/README.md +44 -16
- package/cardinals.d.ts +215 -211
- package/cardinals.js +109 -122
- package/cardinals.mjs +140 -153
- package/examples.d.ts +215 -0
- package/examples.js +230 -0
- package/examples.mjs +223 -0
- package/ordinals.d.ts +100 -98
- package/ordinals.js +58 -83
- package/ordinals.mjs +58 -81
- package/package.json +23 -24
- package/pluralCategories.d.ts +5 -1
- package/pluralCategories.js +8 -8
- package/pluralCategories.mjs +5 -1
- package/plurals.d.ts +215 -211
- package/plurals.js +208 -207
- package/plurals.mjs +268 -267
- package/ranges.d.ts +93 -0
- package/ranges.js +209 -0
- package/ranges.mjs +112 -0
- package/CHANGELOG.md +0 -113
package/cardinals.js
CHANGED
|
@@ -1,34 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
function c(n) {
|
|
8
|
-
return n >= 0 && n <= 1 ? 'one' : 'other';
|
|
9
|
-
}
|
|
10
|
-
function d(n) {
|
|
11
|
-
var s = String(n).split('.'), v0 = !s[1];
|
|
1
|
+
const a = (n) => n == 1 ? 'one' : 'other';
|
|
2
|
+
const b = (n) => (n == 0 || n == 1) ? 'one' : 'other';
|
|
3
|
+
const c = (n) => n >= 0 && n <= 1 ? 'one' : 'other';
|
|
4
|
+
const d = (n) => {
|
|
5
|
+
const s = String(n).split('.'), v0 = !s[1];
|
|
12
6
|
return n == 1 && v0 ? 'one' : 'other';
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
function f(n) {
|
|
18
|
-
return n == 1 ? 'one'
|
|
7
|
+
};
|
|
8
|
+
const e = (n) => 'other';
|
|
9
|
+
const f = (n) => n == 1 ? 'one'
|
|
19
10
|
: n == 2 ? 'two'
|
|
20
11
|
: 'other';
|
|
21
|
-
}
|
|
22
12
|
|
|
23
13
|
(function (root, plurals) {
|
|
24
14
|
Object.defineProperty(plurals, '__esModule', { value: true });
|
|
25
|
-
if (typeof define === 'function' && define.amd)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
module.exports = plurals;
|
|
29
|
-
} else {
|
|
30
|
-
root.plurals = plurals;
|
|
31
|
-
}
|
|
15
|
+
if (typeof define === 'function' && define.amd) define(plurals);
|
|
16
|
+
else if (typeof exports === 'object') module.exports = plurals;
|
|
17
|
+
else root.plurals = plurals;
|
|
32
18
|
}(this, {
|
|
33
19
|
_in: e,
|
|
34
20
|
|
|
@@ -40,8 +26,8 @@ am: c,
|
|
|
40
26
|
|
|
41
27
|
an: a,
|
|
42
28
|
|
|
43
|
-
ar:
|
|
44
|
-
|
|
29
|
+
ar: (n) => {
|
|
30
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);
|
|
45
31
|
return n == 0 ? 'zero'
|
|
46
32
|
: n == 1 ? 'one'
|
|
47
33
|
: n == 2 ? 'two'
|
|
@@ -50,8 +36,8 @@ ar: function ar(n) {
|
|
|
50
36
|
: 'other';
|
|
51
37
|
},
|
|
52
38
|
|
|
53
|
-
ars:
|
|
54
|
-
|
|
39
|
+
ars: (n) => {
|
|
40
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);
|
|
55
41
|
return n == 0 ? 'zero'
|
|
56
42
|
: n == 1 ? 'one'
|
|
57
43
|
: n == 2 ? 'two'
|
|
@@ -68,8 +54,8 @@ ast: d,
|
|
|
68
54
|
|
|
69
55
|
az: a,
|
|
70
56
|
|
|
71
|
-
be:
|
|
72
|
-
|
|
57
|
+
be: (n) => {
|
|
58
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);
|
|
73
59
|
return n10 == 1 && n100 != 11 ? 'one'
|
|
74
60
|
: (n10 >= 2 && n10 <= 4) && (n100 < 12 || n100 > 14) ? 'few'
|
|
75
61
|
: t0 && n10 == 0 || (n10 >= 5 && n10 <= 9) || (n100 >= 11 && n100 <= 14) ? 'many'
|
|
@@ -90,8 +76,8 @@ bn: c,
|
|
|
90
76
|
|
|
91
77
|
bo: e,
|
|
92
78
|
|
|
93
|
-
br:
|
|
94
|
-
|
|
79
|
+
br: (n) => {
|
|
80
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2), n1000000 = t0 && s[0].slice(-6);
|
|
95
81
|
return n10 == 1 && n100 != 11 && n100 != 71 && n100 != 91 ? 'one'
|
|
96
82
|
: n10 == 2 && n100 != 12 && n100 != 72 && n100 != 92 ? 'two'
|
|
97
83
|
: ((n10 == 3 || n10 == 4) || n10 == 9) && (n100 < 10 || n100 > 19) && (n100 < 70 || n100 > 79) && (n100 < 90 || n100 > 99) ? 'few'
|
|
@@ -101,8 +87,8 @@ br: function br(n) {
|
|
|
101
87
|
|
|
102
88
|
brx: a,
|
|
103
89
|
|
|
104
|
-
bs:
|
|
105
|
-
|
|
90
|
+
bs: (n) => {
|
|
91
|
+
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);
|
|
106
92
|
return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one'
|
|
107
93
|
: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12 || f100 > 14) ? 'few'
|
|
108
94
|
: 'other';
|
|
@@ -112,8 +98,8 @@ ca: d,
|
|
|
112
98
|
|
|
113
99
|
ce: a,
|
|
114
100
|
|
|
115
|
-
ceb:
|
|
116
|
-
|
|
101
|
+
ceb: (n) => {
|
|
102
|
+
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), f10 = f.slice(-1);
|
|
117
103
|
return v0 && (i == 1 || i == 2 || i == 3) || v0 && i10 != 4 && i10 != 6 && i10 != 9 || !v0 && f10 != 4 && f10 != 6 && f10 != 9 ? 'one' : 'other';
|
|
118
104
|
},
|
|
119
105
|
|
|
@@ -123,32 +109,32 @@ chr: a,
|
|
|
123
109
|
|
|
124
110
|
ckb: a,
|
|
125
111
|
|
|
126
|
-
cs:
|
|
127
|
-
|
|
112
|
+
cs: (n) => {
|
|
113
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1];
|
|
128
114
|
return n == 1 && v0 ? 'one'
|
|
129
115
|
: (i >= 2 && i <= 4) && v0 ? 'few'
|
|
130
116
|
: !v0 ? 'many'
|
|
131
117
|
: 'other';
|
|
132
118
|
},
|
|
133
119
|
|
|
134
|
-
cy:
|
|
135
|
-
return n == 0 ? 'zero'
|
|
120
|
+
cy: (n) => n == 0 ? 'zero'
|
|
136
121
|
: n == 1 ? 'one'
|
|
137
122
|
: n == 2 ? 'two'
|
|
138
123
|
: n == 3 ? 'few'
|
|
139
124
|
: n == 6 ? 'many'
|
|
140
|
-
: 'other'
|
|
141
|
-
},
|
|
125
|
+
: 'other',
|
|
142
126
|
|
|
143
|
-
da:
|
|
144
|
-
|
|
127
|
+
da: (n) => {
|
|
128
|
+
const s = String(n).split('.'), i = s[0], t0 = Number(s[0]) == n;
|
|
145
129
|
return n == 1 || !t0 && (i == 0 || i == 1) ? 'one' : 'other';
|
|
146
130
|
},
|
|
147
131
|
|
|
148
132
|
de: d,
|
|
149
133
|
|
|
150
|
-
|
|
151
|
-
|
|
134
|
+
doi: c,
|
|
135
|
+
|
|
136
|
+
dsb: (n) => {
|
|
137
|
+
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i100 = i.slice(-2), f100 = f.slice(-2);
|
|
152
138
|
return v0 && i100 == 1 || f100 == 1 ? 'one'
|
|
153
139
|
: v0 && i100 == 2 || f100 == 2 ? 'two'
|
|
154
140
|
: v0 && (i100 == 3 || i100 == 4) || (f100 == 3 || f100 == 4) ? 'few'
|
|
@@ -175,29 +161,30 @@ eu: a,
|
|
|
175
161
|
|
|
176
162
|
fa: c,
|
|
177
163
|
|
|
178
|
-
ff:
|
|
179
|
-
return n >= 0 && n < 2 ? 'one' : 'other';
|
|
180
|
-
},
|
|
164
|
+
ff: (n) => n >= 0 && n < 2 ? 'one' : 'other',
|
|
181
165
|
|
|
182
166
|
fi: d,
|
|
183
167
|
|
|
184
|
-
fil:
|
|
185
|
-
|
|
168
|
+
fil: (n) => {
|
|
169
|
+
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), f10 = f.slice(-1);
|
|
186
170
|
return v0 && (i == 1 || i == 2 || i == 3) || v0 && i10 != 4 && i10 != 6 && i10 != 9 || !v0 && f10 != 4 && f10 != 6 && f10 != 9 ? 'one' : 'other';
|
|
187
171
|
},
|
|
188
172
|
|
|
189
173
|
fo: a,
|
|
190
174
|
|
|
191
|
-
fr:
|
|
192
|
-
|
|
175
|
+
fr: (n) => {
|
|
176
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], i1000000 = i.slice(-6);
|
|
177
|
+
return n >= 0 && n < 2 ? 'one'
|
|
178
|
+
: i != 0 && i1000000 == 0 && v0 ? 'many'
|
|
179
|
+
: 'other';
|
|
193
180
|
},
|
|
194
181
|
|
|
195
182
|
fur: a,
|
|
196
183
|
|
|
197
184
|
fy: d,
|
|
198
185
|
|
|
199
|
-
ga:
|
|
200
|
-
|
|
186
|
+
ga: (n) => {
|
|
187
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n;
|
|
201
188
|
return n == 1 ? 'one'
|
|
202
189
|
: n == 2 ? 'two'
|
|
203
190
|
: (t0 && n >= 3 && n <= 6) ? 'few'
|
|
@@ -205,8 +192,8 @@ ga: function ga(n) {
|
|
|
205
192
|
: 'other';
|
|
206
193
|
},
|
|
207
194
|
|
|
208
|
-
gd:
|
|
209
|
-
|
|
195
|
+
gd: (n) => {
|
|
196
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n;
|
|
210
197
|
return (n == 1 || n == 11) ? 'one'
|
|
211
198
|
: (n == 2 || n == 12) ? 'two'
|
|
212
199
|
: ((t0 && n >= 3 && n <= 10) || (t0 && n >= 13 && n <= 19)) ? 'few'
|
|
@@ -221,8 +208,8 @@ gu: c,
|
|
|
221
208
|
|
|
222
209
|
guw: b,
|
|
223
210
|
|
|
224
|
-
gv:
|
|
225
|
-
|
|
211
|
+
gv: (n) => {
|
|
212
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2);
|
|
226
213
|
return v0 && i10 == 1 ? 'one'
|
|
227
214
|
: v0 && i10 == 2 ? 'two'
|
|
228
215
|
: v0 && (i100 == 0 || i100 == 20 || i100 == 40 || i100 == 60 || i100 == 80) ? 'few'
|
|
@@ -234,8 +221,8 @@ ha: a,
|
|
|
234
221
|
|
|
235
222
|
haw: a,
|
|
236
223
|
|
|
237
|
-
he:
|
|
238
|
-
|
|
224
|
+
he: (n) => {
|
|
225
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1);
|
|
239
226
|
return n == 1 && v0 ? 'one'
|
|
240
227
|
: i == 2 && v0 ? 'two'
|
|
241
228
|
: v0 && (n < 0 || n > 10) && t0 && n10 == 0 ? 'many'
|
|
@@ -244,15 +231,15 @@ he: function he(n) {
|
|
|
244
231
|
|
|
245
232
|
hi: c,
|
|
246
233
|
|
|
247
|
-
hr:
|
|
248
|
-
|
|
234
|
+
hr: (n) => {
|
|
235
|
+
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);
|
|
249
236
|
return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one'
|
|
250
237
|
: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12 || f100 > 14) ? 'few'
|
|
251
238
|
: 'other';
|
|
252
239
|
},
|
|
253
240
|
|
|
254
|
-
hsb:
|
|
255
|
-
|
|
241
|
+
hsb: (n) => {
|
|
242
|
+
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i100 = i.slice(-2), f100 = f.slice(-2);
|
|
256
243
|
return v0 && i100 == 1 || f100 == 1 ? 'one'
|
|
257
244
|
: v0 && i100 == 2 || f100 == 2 ? 'two'
|
|
258
245
|
: v0 && (i100 == 3 || i100 == 4) || (f100 == 3 || f100 == 4) ? 'few'
|
|
@@ -261,9 +248,7 @@ hsb: function hsb(n) {
|
|
|
261
248
|
|
|
262
249
|
hu: a,
|
|
263
250
|
|
|
264
|
-
hy:
|
|
265
|
-
return n >= 0 && n < 2 ? 'one' : 'other';
|
|
266
|
-
},
|
|
251
|
+
hy: (n) => n >= 0 && n < 2 ? 'one' : 'other',
|
|
267
252
|
|
|
268
253
|
ia: d,
|
|
269
254
|
|
|
@@ -275,8 +260,8 @@ ii: e,
|
|
|
275
260
|
|
|
276
261
|
io: d,
|
|
277
262
|
|
|
278
|
-
is:
|
|
279
|
-
|
|
263
|
+
is: (n) => {
|
|
264
|
+
const s = String(n).split('.'), i = s[0], t0 = Number(s[0]) == n, i10 = i.slice(-1), i100 = i.slice(-2);
|
|
280
265
|
return t0 && i10 == 1 && i100 != 11 || !t0 ? 'one' : 'other';
|
|
281
266
|
},
|
|
282
267
|
|
|
@@ -284,8 +269,8 @@ it: d,
|
|
|
284
269
|
|
|
285
270
|
iu: f,
|
|
286
271
|
|
|
287
|
-
iw:
|
|
288
|
-
|
|
272
|
+
iw: (n) => {
|
|
273
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1);
|
|
289
274
|
return n == 1 && v0 ? 'one'
|
|
290
275
|
: i == 2 && v0 ? 'two'
|
|
291
276
|
: v0 && (n < 0 || n > 10) && t0 && n10 == 0 ? 'many'
|
|
@@ -308,9 +293,7 @@ jw: e,
|
|
|
308
293
|
|
|
309
294
|
ka: a,
|
|
310
295
|
|
|
311
|
-
kab:
|
|
312
|
-
return n >= 0 && n < 2 ? 'one' : 'other';
|
|
313
|
-
},
|
|
296
|
+
kab: (n) => n >= 0 && n < 2 ? 'one' : 'other',
|
|
314
297
|
|
|
315
298
|
kaj: a,
|
|
316
299
|
|
|
@@ -336,16 +319,14 @@ ks: a,
|
|
|
336
319
|
|
|
337
320
|
ksb: a,
|
|
338
321
|
|
|
339
|
-
ksh:
|
|
340
|
-
return n == 0 ? 'zero'
|
|
322
|
+
ksh: (n) => n == 0 ? 'zero'
|
|
341
323
|
: n == 1 ? 'one'
|
|
342
|
-
: 'other'
|
|
343
|
-
},
|
|
324
|
+
: 'other',
|
|
344
325
|
|
|
345
326
|
ku: a,
|
|
346
327
|
|
|
347
|
-
kw:
|
|
348
|
-
|
|
328
|
+
kw: (n) => {
|
|
329
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2), n1000 = t0 && s[0].slice(-3), n100000 = t0 && s[0].slice(-5), n1000000 = t0 && s[0].slice(-6);
|
|
349
330
|
return n == 0 ? 'zero'
|
|
350
331
|
: n == 1 ? 'one'
|
|
351
332
|
: (n100 == 2 || n100 == 22 || n100 == 42 || n100 == 62 || n100 == 82) || t0 && n1000 == 0 && ((n100000 >= 1000 && n100000 <= 20000) || n100000 == 40000 || n100000 == 60000 || n100000 == 80000) || n != 0 && n1000000 == 100000 ? 'two'
|
|
@@ -356,8 +337,8 @@ kw: function kw(n) {
|
|
|
356
337
|
|
|
357
338
|
ky: a,
|
|
358
339
|
|
|
359
|
-
lag:
|
|
360
|
-
|
|
340
|
+
lag: (n) => {
|
|
341
|
+
const s = String(n).split('.'), i = s[0];
|
|
361
342
|
return n == 0 ? 'zero'
|
|
362
343
|
: (i == 0 || i == 1) && n != 0 ? 'one'
|
|
363
344
|
: 'other';
|
|
@@ -367,22 +348,24 @@ lb: a,
|
|
|
367
348
|
|
|
368
349
|
lg: a,
|
|
369
350
|
|
|
351
|
+
lij: d,
|
|
352
|
+
|
|
370
353
|
lkt: e,
|
|
371
354
|
|
|
372
355
|
ln: b,
|
|
373
356
|
|
|
374
357
|
lo: e,
|
|
375
358
|
|
|
376
|
-
lt:
|
|
377
|
-
|
|
359
|
+
lt: (n) => {
|
|
360
|
+
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);
|
|
378
361
|
return n10 == 1 && (n100 < 11 || n100 > 19) ? 'one'
|
|
379
362
|
: (n10 >= 2 && n10 <= 9) && (n100 < 11 || n100 > 19) ? 'few'
|
|
380
363
|
: f != 0 ? 'many'
|
|
381
364
|
: 'other';
|
|
382
365
|
},
|
|
383
366
|
|
|
384
|
-
lv:
|
|
385
|
-
|
|
367
|
+
lv: (n) => {
|
|
368
|
+
const s = String(n).split('.'), f = s[1] || '', v = f.length, t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2), f100 = f.slice(-2), f10 = f.slice(-1);
|
|
386
369
|
return t0 && n10 == 0 || (n100 >= 11 && n100 <= 19) || v == 2 && (f100 >= 11 && f100 <= 19) ? 'zero'
|
|
387
370
|
: n10 == 1 && n100 != 11 || v == 2 && f10 == 1 && f100 != 11 || v != 2 && f10 == 1 ? 'one'
|
|
388
371
|
: 'other';
|
|
@@ -394,8 +377,8 @@ mg: b,
|
|
|
394
377
|
|
|
395
378
|
mgo: a,
|
|
396
379
|
|
|
397
|
-
mk:
|
|
398
|
-
|
|
380
|
+
mk: (n) => {
|
|
381
|
+
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);
|
|
399
382
|
return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one' : 'other';
|
|
400
383
|
},
|
|
401
384
|
|
|
@@ -403,8 +386,8 @@ ml: a,
|
|
|
403
386
|
|
|
404
387
|
mn: a,
|
|
405
388
|
|
|
406
|
-
mo:
|
|
407
|
-
|
|
389
|
+
mo: (n) => {
|
|
390
|
+
const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);
|
|
408
391
|
return n == 1 && v0 ? 'one'
|
|
409
392
|
: !v0 || n == 0 || (n100 >= 2 && n100 <= 19) ? 'few'
|
|
410
393
|
: 'other';
|
|
@@ -414,8 +397,8 @@ mr: a,
|
|
|
414
397
|
|
|
415
398
|
ms: e,
|
|
416
399
|
|
|
417
|
-
mt:
|
|
418
|
-
|
|
400
|
+
mt: (n) => {
|
|
401
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);
|
|
419
402
|
return n == 1 ? 'one'
|
|
420
403
|
: n == 0 || (n100 >= 2 && n100 <= 10) ? 'few'
|
|
421
404
|
: (n100 >= 11 && n100 <= 19) ? 'many'
|
|
@@ -464,16 +447,18 @@ pa: b,
|
|
|
464
447
|
|
|
465
448
|
pap: a,
|
|
466
449
|
|
|
467
|
-
|
|
468
|
-
|
|
450
|
+
pcm: c,
|
|
451
|
+
|
|
452
|
+
pl: (n) => {
|
|
453
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2);
|
|
469
454
|
return n == 1 && v0 ? 'one'
|
|
470
455
|
: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) ? 'few'
|
|
471
456
|
: v0 && i != 1 && (i10 == 0 || i10 == 1) || v0 && (i10 >= 5 && i10 <= 9) || v0 && (i100 >= 12 && i100 <= 14) ? 'many'
|
|
472
457
|
: 'other';
|
|
473
458
|
},
|
|
474
459
|
|
|
475
|
-
prg:
|
|
476
|
-
|
|
460
|
+
prg: (n) => {
|
|
461
|
+
const s = String(n).split('.'), f = s[1] || '', v = f.length, t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2), f100 = f.slice(-2), f10 = f.slice(-1);
|
|
477
462
|
return t0 && n10 == 0 || (n100 >= 11 && n100 <= 19) || v == 2 && (f100 >= 11 && f100 <= 19) ? 'zero'
|
|
478
463
|
: n10 == 1 && n100 != 11 || v == 2 && f10 == 1 && f100 != 11 || v != 2 && f10 == 1 ? 'one'
|
|
479
464
|
: 'other';
|
|
@@ -481,8 +466,8 @@ prg: function prg(n) {
|
|
|
481
466
|
|
|
482
467
|
ps: a,
|
|
483
468
|
|
|
484
|
-
pt:
|
|
485
|
-
|
|
469
|
+
pt: (n) => {
|
|
470
|
+
const s = String(n).split('.'), i = s[0];
|
|
486
471
|
return (i == 0 || i == 1) ? 'one' : 'other';
|
|
487
472
|
},
|
|
488
473
|
|
|
@@ -490,8 +475,8 @@ pt_PT: d,
|
|
|
490
475
|
|
|
491
476
|
rm: a,
|
|
492
477
|
|
|
493
|
-
ro:
|
|
494
|
-
|
|
478
|
+
ro: (n) => {
|
|
479
|
+
const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);
|
|
495
480
|
return n == 1 && v0 ? 'one'
|
|
496
481
|
: !v0 || n == 0 || (n100 >= 2 && n100 <= 19) ? 'few'
|
|
497
482
|
: 'other';
|
|
@@ -501,8 +486,8 @@ rof: a,
|
|
|
501
486
|
|
|
502
487
|
root: e,
|
|
503
488
|
|
|
504
|
-
ru:
|
|
505
|
-
|
|
489
|
+
ru: (n) => {
|
|
490
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2);
|
|
506
491
|
return v0 && i10 == 1 && i100 != 11 ? 'one'
|
|
507
492
|
: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) ? 'few'
|
|
508
493
|
: v0 && i10 == 0 || v0 && (i10 >= 5 && i10 <= 9) || v0 && (i100 >= 11 && i100 <= 14) ? 'many'
|
|
@@ -515,6 +500,8 @@ sah: e,
|
|
|
515
500
|
|
|
516
501
|
saq: a,
|
|
517
502
|
|
|
503
|
+
sat: f,
|
|
504
|
+
|
|
518
505
|
sc: d,
|
|
519
506
|
|
|
520
507
|
scn: d,
|
|
@@ -531,35 +518,35 @@ ses: e,
|
|
|
531
518
|
|
|
532
519
|
sg: e,
|
|
533
520
|
|
|
534
|
-
sh:
|
|
535
|
-
|
|
521
|
+
sh: (n) => {
|
|
522
|
+
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);
|
|
536
523
|
return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one'
|
|
537
524
|
: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12 || f100 > 14) ? 'few'
|
|
538
525
|
: 'other';
|
|
539
526
|
},
|
|
540
527
|
|
|
541
|
-
shi:
|
|
542
|
-
|
|
528
|
+
shi: (n) => {
|
|
529
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n;
|
|
543
530
|
return n >= 0 && n <= 1 ? 'one'
|
|
544
531
|
: (t0 && n >= 2 && n <= 10) ? 'few'
|
|
545
532
|
: 'other';
|
|
546
533
|
},
|
|
547
534
|
|
|
548
|
-
si:
|
|
549
|
-
|
|
535
|
+
si: (n) => {
|
|
536
|
+
const s = String(n).split('.'), i = s[0], f = s[1] || '';
|
|
550
537
|
return (n == 0 || n == 1) || i == 0 && f == 1 ? 'one' : 'other';
|
|
551
538
|
},
|
|
552
539
|
|
|
553
|
-
sk:
|
|
554
|
-
|
|
540
|
+
sk: (n) => {
|
|
541
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1];
|
|
555
542
|
return n == 1 && v0 ? 'one'
|
|
556
543
|
: (i >= 2 && i <= 4) && v0 ? 'few'
|
|
557
544
|
: !v0 ? 'many'
|
|
558
545
|
: 'other';
|
|
559
546
|
},
|
|
560
547
|
|
|
561
|
-
sl:
|
|
562
|
-
|
|
548
|
+
sl: (n) => {
|
|
549
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], i100 = i.slice(-2);
|
|
563
550
|
return v0 && i100 == 1 ? 'one'
|
|
564
551
|
: v0 && i100 == 2 ? 'two'
|
|
565
552
|
: v0 && (i100 == 3 || i100 == 4) || !v0 ? 'few'
|
|
@@ -582,8 +569,8 @@ so: a,
|
|
|
582
569
|
|
|
583
570
|
sq: a,
|
|
584
571
|
|
|
585
|
-
sr:
|
|
586
|
-
|
|
572
|
+
sr: (n) => {
|
|
573
|
+
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);
|
|
587
574
|
return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one'
|
|
588
575
|
: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12 || f100 > 14) ? 'few'
|
|
589
576
|
: 'other';
|
|
@@ -617,8 +604,8 @@ tig: a,
|
|
|
617
604
|
|
|
618
605
|
tk: a,
|
|
619
606
|
|
|
620
|
-
tl:
|
|
621
|
-
|
|
607
|
+
tl: (n) => {
|
|
608
|
+
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), f10 = f.slice(-1);
|
|
622
609
|
return v0 && (i == 1 || i == 2 || i == 3) || v0 && i10 != 4 && i10 != 6 && i10 != 9 || !v0 && f10 != 4 && f10 != 6 && f10 != 9 ? 'one' : 'other';
|
|
623
610
|
},
|
|
624
611
|
|
|
@@ -630,15 +617,15 @@ tr: a,
|
|
|
630
617
|
|
|
631
618
|
ts: a,
|
|
632
619
|
|
|
633
|
-
tzm:
|
|
634
|
-
|
|
620
|
+
tzm: (n) => {
|
|
621
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n;
|
|
635
622
|
return (n == 0 || n == 1) || (t0 && n >= 11 && n <= 99) ? 'one' : 'other';
|
|
636
623
|
},
|
|
637
624
|
|
|
638
625
|
ug: a,
|
|
639
626
|
|
|
640
|
-
uk:
|
|
641
|
-
|
|
627
|
+
uk: (n) => {
|
|
628
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2);
|
|
642
629
|
return v0 && i10 == 1 && i100 != 11 ? 'one'
|
|
643
630
|
: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) ? 'few'
|
|
644
631
|
: v0 && i10 == 0 || v0 && (i10 >= 5 && i10 <= 9) || v0 && (i100 >= 11 && i100 <= 14) ? 'many'
|