make-plural 6.1.0 → 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 +217 -0
- 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 +102 -0
- package/ordinals.js +58 -83
- package/ordinals.mjs +58 -81
- package/package.json +67 -18
- package/pluralCategories.d.ts +217 -0
- package/pluralCategories.js +8 -8
- package/pluralCategories.mjs +5 -1
- package/plurals.d.ts +217 -0
- 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 -78
package/plurals.js
CHANGED
|
@@ -1,51 +1,46 @@
|
|
|
1
|
-
|
|
1
|
+
const a = (n, ord) => {
|
|
2
2
|
if (ord) return 'other';
|
|
3
3
|
return n == 1 ? 'one' : 'other';
|
|
4
|
-
}
|
|
5
|
-
|
|
4
|
+
};
|
|
5
|
+
const b = (n, ord) => {
|
|
6
6
|
if (ord) return 'other';
|
|
7
7
|
return (n == 0 || n == 1) ? 'one' : 'other';
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
};
|
|
9
|
+
const c = (n, ord) => {
|
|
10
|
+
if (ord) return 'other';
|
|
11
|
+
return n >= 0 && n <= 1 ? 'one' : 'other';
|
|
12
|
+
};
|
|
13
|
+
const d = (n, ord) => {
|
|
14
|
+
const s = String(n).split('.'), v0 = !s[1];
|
|
11
15
|
if (ord) return 'other';
|
|
12
16
|
return n == 1 && v0 ? 'one' : 'other';
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
function e(n, ord) {
|
|
17
|
+
};
|
|
18
|
+
const e = (n, ord) => 'other';
|
|
19
|
+
const f = (n, ord) => {
|
|
18
20
|
if (ord) return 'other';
|
|
19
21
|
return n == 1 ? 'one'
|
|
20
22
|
: n == 2 ? 'two'
|
|
21
23
|
: 'other';
|
|
22
|
-
}
|
|
24
|
+
};
|
|
23
25
|
|
|
24
26
|
(function (root, plurals) {
|
|
25
27
|
Object.defineProperty(plurals, '__esModule', { value: true });
|
|
26
|
-
if (typeof define === 'function' && define.amd)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
module.exports = plurals;
|
|
30
|
-
} else {
|
|
31
|
-
root.plurals = plurals;
|
|
32
|
-
}
|
|
28
|
+
if (typeof define === 'function' && define.amd) define(plurals);
|
|
29
|
+
else if (typeof exports === 'object') module.exports = plurals;
|
|
30
|
+
else root.plurals = plurals;
|
|
33
31
|
}(this, {
|
|
34
|
-
_in:
|
|
32
|
+
_in: e,
|
|
35
33
|
|
|
36
34
|
af: a,
|
|
37
35
|
|
|
38
36
|
ak: b,
|
|
39
37
|
|
|
40
|
-
am:
|
|
41
|
-
if (ord) return 'other';
|
|
42
|
-
return n >= 0 && n <= 1 ? 'one' : 'other';
|
|
43
|
-
},
|
|
38
|
+
am: c,
|
|
44
39
|
|
|
45
40
|
an: a,
|
|
46
41
|
|
|
47
|
-
ar:
|
|
48
|
-
|
|
42
|
+
ar: (n, ord) => {
|
|
43
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);
|
|
49
44
|
if (ord) return 'other';
|
|
50
45
|
return n == 0 ? 'zero'
|
|
51
46
|
: n == 1 ? 'one'
|
|
@@ -55,8 +50,8 @@ ar: function ar(n, ord) {
|
|
|
55
50
|
: 'other';
|
|
56
51
|
},
|
|
57
52
|
|
|
58
|
-
ars:
|
|
59
|
-
|
|
53
|
+
ars: (n, ord) => {
|
|
54
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);
|
|
60
55
|
if (ord) return 'other';
|
|
61
56
|
return n == 0 ? 'zero'
|
|
62
57
|
: n == 1 ? 'one'
|
|
@@ -66,7 +61,7 @@ ars: function ars(n, ord) {
|
|
|
66
61
|
: 'other';
|
|
67
62
|
},
|
|
68
63
|
|
|
69
|
-
as:
|
|
64
|
+
as: (n, ord) => {
|
|
70
65
|
if (ord) return (n == 1 || n == 5 || n == 7 || n == 8 || n == 9 || n == 10) ? 'one'
|
|
71
66
|
: (n == 2 || n == 3) ? 'two'
|
|
72
67
|
: n == 4 ? 'few'
|
|
@@ -77,10 +72,10 @@ as: function as(n, ord) {
|
|
|
77
72
|
|
|
78
73
|
asa: a,
|
|
79
74
|
|
|
80
|
-
ast:
|
|
75
|
+
ast: d,
|
|
81
76
|
|
|
82
|
-
az:
|
|
83
|
-
|
|
77
|
+
az: (n, ord) => {
|
|
78
|
+
const s = String(n).split('.'), i = s[0], i10 = i.slice(-1), i100 = i.slice(-2), i1000 = i.slice(-3);
|
|
84
79
|
if (ord) return (i10 == 1 || i10 == 2 || i10 == 5 || i10 == 7 || i10 == 8) || (i100 == 20 || i100 == 50 || i100 == 70 || i100 == 80) ? 'one'
|
|
85
80
|
: (i10 == 3 || i10 == 4) || (i1000 == 100 || i1000 == 200 || i1000 == 300 || i1000 == 400 || i1000 == 500 || i1000 == 600 || i1000 == 700 || i1000 == 800 || i1000 == 900) ? 'few'
|
|
86
81
|
: i == 0 || i10 == 6 || (i100 == 40 || i100 == 60 || i100 == 90) ? 'many'
|
|
@@ -88,8 +83,8 @@ az: function az(n, ord) {
|
|
|
88
83
|
return n == 1 ? 'one' : 'other';
|
|
89
84
|
},
|
|
90
85
|
|
|
91
|
-
be:
|
|
92
|
-
|
|
86
|
+
be: (n, ord) => {
|
|
87
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);
|
|
93
88
|
if (ord) return (n10 == 2 || n10 == 3) && n100 != 12 && n100 != 13 ? 'few' : 'other';
|
|
94
89
|
return n10 == 1 && n100 != 11 ? 'one'
|
|
95
90
|
: (n10 >= 2 && n10 <= 4) && (n100 < 12 || n100 > 14) ? 'few'
|
|
@@ -105,9 +100,9 @@ bg: a,
|
|
|
105
100
|
|
|
106
101
|
bho: b,
|
|
107
102
|
|
|
108
|
-
bm:
|
|
103
|
+
bm: e,
|
|
109
104
|
|
|
110
|
-
bn:
|
|
105
|
+
bn: (n, ord) => {
|
|
111
106
|
if (ord) return (n == 1 || n == 5 || n == 7 || n == 8 || n == 9 || n == 10) ? 'one'
|
|
112
107
|
: (n == 2 || n == 3) ? 'two'
|
|
113
108
|
: n == 4 ? 'few'
|
|
@@ -116,10 +111,10 @@ bn: function bn(n, ord) {
|
|
|
116
111
|
return n >= 0 && n <= 1 ? 'one' : 'other';
|
|
117
112
|
},
|
|
118
113
|
|
|
119
|
-
bo:
|
|
114
|
+
bo: e,
|
|
120
115
|
|
|
121
|
-
br:
|
|
122
|
-
|
|
116
|
+
br: (n, ord) => {
|
|
117
|
+
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);
|
|
123
118
|
if (ord) return 'other';
|
|
124
119
|
return n10 == 1 && n100 != 11 && n100 != 71 && n100 != 91 ? 'one'
|
|
125
120
|
: n10 == 2 && n100 != 12 && n100 != 72 && n100 != 92 ? 'two'
|
|
@@ -130,16 +125,16 @@ br: function br(n, ord) {
|
|
|
130
125
|
|
|
131
126
|
brx: a,
|
|
132
127
|
|
|
133
|
-
bs:
|
|
134
|
-
|
|
128
|
+
bs: (n, ord) => {
|
|
129
|
+
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);
|
|
135
130
|
if (ord) return 'other';
|
|
136
131
|
return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one'
|
|
137
132
|
: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12 || f100 > 14) ? 'few'
|
|
138
133
|
: 'other';
|
|
139
134
|
},
|
|
140
135
|
|
|
141
|
-
ca:
|
|
142
|
-
|
|
136
|
+
ca: (n, ord) => {
|
|
137
|
+
const s = String(n).split('.'), v0 = !s[1];
|
|
143
138
|
if (ord) return (n == 1 || n == 3) ? 'one'
|
|
144
139
|
: n == 2 ? 'two'
|
|
145
140
|
: n == 4 ? 'few'
|
|
@@ -149,8 +144,8 @@ ca: function ca(n, ord) {
|
|
|
149
144
|
|
|
150
145
|
ce: a,
|
|
151
146
|
|
|
152
|
-
ceb:
|
|
153
|
-
|
|
147
|
+
ceb: (n, ord) => {
|
|
148
|
+
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), f10 = f.slice(-1);
|
|
154
149
|
if (ord) return 'other';
|
|
155
150
|
return v0 && (i == 1 || i == 2 || i == 3) || v0 && i10 != 4 && i10 != 6 && i10 != 9 || !v0 && f10 != 4 && f10 != 6 && f10 != 9 ? 'one' : 'other';
|
|
156
151
|
},
|
|
@@ -161,8 +156,8 @@ chr: a,
|
|
|
161
156
|
|
|
162
157
|
ckb: a,
|
|
163
158
|
|
|
164
|
-
cs:
|
|
165
|
-
|
|
159
|
+
cs: (n, ord) => {
|
|
160
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1];
|
|
166
161
|
if (ord) return 'other';
|
|
167
162
|
return n == 1 && v0 ? 'one'
|
|
168
163
|
: (i >= 2 && i <= 4) && v0 ? 'few'
|
|
@@ -170,7 +165,7 @@ cs: function cs(n, ord) {
|
|
|
170
165
|
: 'other';
|
|
171
166
|
},
|
|
172
167
|
|
|
173
|
-
cy:
|
|
168
|
+
cy: (n, ord) => {
|
|
174
169
|
if (ord) return (n == 0 || n == 7 || n == 8 || n == 9) ? 'zero'
|
|
175
170
|
: n == 1 ? 'one'
|
|
176
171
|
: n == 2 ? 'two'
|
|
@@ -185,16 +180,18 @@ cy: function cy(n, ord) {
|
|
|
185
180
|
: 'other';
|
|
186
181
|
},
|
|
187
182
|
|
|
188
|
-
da:
|
|
189
|
-
|
|
183
|
+
da: (n, ord) => {
|
|
184
|
+
const s = String(n).split('.'), i = s[0], t0 = Number(s[0]) == n;
|
|
190
185
|
if (ord) return 'other';
|
|
191
186
|
return n == 1 || !t0 && (i == 0 || i == 1) ? 'one' : 'other';
|
|
192
187
|
},
|
|
193
188
|
|
|
194
|
-
de:
|
|
189
|
+
de: d,
|
|
195
190
|
|
|
196
|
-
|
|
197
|
-
|
|
191
|
+
doi: c,
|
|
192
|
+
|
|
193
|
+
dsb: (n, ord) => {
|
|
194
|
+
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i100 = i.slice(-2), f100 = f.slice(-2);
|
|
198
195
|
if (ord) return 'other';
|
|
199
196
|
return v0 && i100 == 1 || f100 == 1 ? 'one'
|
|
200
197
|
: v0 && i100 == 2 || f100 == 2 ? 'two'
|
|
@@ -204,14 +201,14 @@ dsb: function dsb(n, ord) {
|
|
|
204
201
|
|
|
205
202
|
dv: a,
|
|
206
203
|
|
|
207
|
-
dz:
|
|
204
|
+
dz: e,
|
|
208
205
|
|
|
209
206
|
ee: a,
|
|
210
207
|
|
|
211
208
|
el: a,
|
|
212
209
|
|
|
213
|
-
en:
|
|
214
|
-
|
|
210
|
+
en: (n, ord) => {
|
|
211
|
+
const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);
|
|
215
212
|
if (ord) return n10 == 1 && n100 != 11 ? 'one'
|
|
216
213
|
: n10 == 2 && n100 != 12 ? 'two'
|
|
217
214
|
: n10 == 3 && n100 != 13 ? 'few'
|
|
@@ -223,41 +220,41 @@ eo: a,
|
|
|
223
220
|
|
|
224
221
|
es: a,
|
|
225
222
|
|
|
226
|
-
et:
|
|
223
|
+
et: d,
|
|
227
224
|
|
|
228
225
|
eu: a,
|
|
229
226
|
|
|
230
|
-
fa:
|
|
231
|
-
if (ord) return 'other';
|
|
232
|
-
return n >= 0 && n <= 1 ? 'one' : 'other';
|
|
233
|
-
},
|
|
227
|
+
fa: c,
|
|
234
228
|
|
|
235
|
-
ff:
|
|
229
|
+
ff: (n, ord) => {
|
|
236
230
|
if (ord) return 'other';
|
|
237
231
|
return n >= 0 && n < 2 ? 'one' : 'other';
|
|
238
232
|
},
|
|
239
233
|
|
|
240
|
-
fi:
|
|
234
|
+
fi: d,
|
|
241
235
|
|
|
242
|
-
fil:
|
|
243
|
-
|
|
236
|
+
fil: (n, ord) => {
|
|
237
|
+
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), f10 = f.slice(-1);
|
|
244
238
|
if (ord) return n == 1 ? 'one' : 'other';
|
|
245
239
|
return v0 && (i == 1 || i == 2 || i == 3) || v0 && i10 != 4 && i10 != 6 && i10 != 9 || !v0 && f10 != 4 && f10 != 6 && f10 != 9 ? 'one' : 'other';
|
|
246
240
|
},
|
|
247
241
|
|
|
248
242
|
fo: a,
|
|
249
243
|
|
|
250
|
-
fr:
|
|
244
|
+
fr: (n, ord) => {
|
|
245
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], i1000000 = i.slice(-6);
|
|
251
246
|
if (ord) return n == 1 ? 'one' : 'other';
|
|
252
|
-
return n >= 0 && n < 2 ? 'one'
|
|
247
|
+
return n >= 0 && n < 2 ? 'one'
|
|
248
|
+
: i != 0 && i1000000 == 0 && v0 ? 'many'
|
|
249
|
+
: 'other';
|
|
253
250
|
},
|
|
254
251
|
|
|
255
252
|
fur: a,
|
|
256
253
|
|
|
257
|
-
fy:
|
|
254
|
+
fy: d,
|
|
258
255
|
|
|
259
|
-
ga:
|
|
260
|
-
|
|
256
|
+
ga: (n, ord) => {
|
|
257
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n;
|
|
261
258
|
if (ord) return n == 1 ? 'one' : 'other';
|
|
262
259
|
return n == 1 ? 'one'
|
|
263
260
|
: n == 2 ? 'two'
|
|
@@ -266,8 +263,8 @@ ga: function ga(n, ord) {
|
|
|
266
263
|
: 'other';
|
|
267
264
|
},
|
|
268
265
|
|
|
269
|
-
gd:
|
|
270
|
-
|
|
266
|
+
gd: (n, ord) => {
|
|
267
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n;
|
|
271
268
|
if (ord) return (n == 1 || n == 11) ? 'one'
|
|
272
269
|
: (n == 2 || n == 12) ? 'two'
|
|
273
270
|
: (n == 3 || n == 13) ? 'few'
|
|
@@ -278,11 +275,11 @@ gd: function gd(n, ord) {
|
|
|
278
275
|
: 'other';
|
|
279
276
|
},
|
|
280
277
|
|
|
281
|
-
gl:
|
|
278
|
+
gl: d,
|
|
282
279
|
|
|
283
280
|
gsw: a,
|
|
284
281
|
|
|
285
|
-
gu:
|
|
282
|
+
gu: (n, ord) => {
|
|
286
283
|
if (ord) return n == 1 ? 'one'
|
|
287
284
|
: (n == 2 || n == 3) ? 'two'
|
|
288
285
|
: n == 4 ? 'few'
|
|
@@ -293,8 +290,8 @@ gu: function gu(n, ord) {
|
|
|
293
290
|
|
|
294
291
|
guw: b,
|
|
295
292
|
|
|
296
|
-
gv:
|
|
297
|
-
|
|
293
|
+
gv: (n, ord) => {
|
|
294
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2);
|
|
298
295
|
if (ord) return 'other';
|
|
299
296
|
return v0 && i10 == 1 ? 'one'
|
|
300
297
|
: v0 && i10 == 2 ? 'two'
|
|
@@ -307,8 +304,8 @@ ha: a,
|
|
|
307
304
|
|
|
308
305
|
haw: a,
|
|
309
306
|
|
|
310
|
-
he:
|
|
311
|
-
|
|
307
|
+
he: (n, ord) => {
|
|
308
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1);
|
|
312
309
|
if (ord) return 'other';
|
|
313
310
|
return n == 1 && v0 ? 'one'
|
|
314
311
|
: i == 2 && v0 ? 'two'
|
|
@@ -316,7 +313,7 @@ he: function he(n, ord) {
|
|
|
316
313
|
: 'other';
|
|
317
314
|
},
|
|
318
315
|
|
|
319
|
-
hi:
|
|
316
|
+
hi: (n, ord) => {
|
|
320
317
|
if (ord) return n == 1 ? 'one'
|
|
321
318
|
: (n == 2 || n == 3) ? 'two'
|
|
322
319
|
: n == 4 ? 'few'
|
|
@@ -325,16 +322,16 @@ hi: function hi(n, ord) {
|
|
|
325
322
|
return n >= 0 && n <= 1 ? 'one' : 'other';
|
|
326
323
|
},
|
|
327
324
|
|
|
328
|
-
hr:
|
|
329
|
-
|
|
325
|
+
hr: (n, ord) => {
|
|
326
|
+
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);
|
|
330
327
|
if (ord) return 'other';
|
|
331
328
|
return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one'
|
|
332
329
|
: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12 || f100 > 14) ? 'few'
|
|
333
330
|
: 'other';
|
|
334
331
|
},
|
|
335
332
|
|
|
336
|
-
hsb:
|
|
337
|
-
|
|
333
|
+
hsb: (n, ord) => {
|
|
334
|
+
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i100 = i.slice(-2), f100 = f.slice(-2);
|
|
338
335
|
if (ord) return 'other';
|
|
339
336
|
return v0 && i100 == 1 || f100 == 1 ? 'one'
|
|
340
337
|
: v0 && i100 == 2 || f100 == 2 ? 'two'
|
|
@@ -342,42 +339,42 @@ hsb: function hsb(n, ord) {
|
|
|
342
339
|
: 'other';
|
|
343
340
|
},
|
|
344
341
|
|
|
345
|
-
hu:
|
|
342
|
+
hu: (n, ord) => {
|
|
346
343
|
if (ord) return (n == 1 || n == 5) ? 'one' : 'other';
|
|
347
344
|
return n == 1 ? 'one' : 'other';
|
|
348
345
|
},
|
|
349
346
|
|
|
350
|
-
hy:
|
|
347
|
+
hy: (n, ord) => {
|
|
351
348
|
if (ord) return n == 1 ? 'one' : 'other';
|
|
352
349
|
return n >= 0 && n < 2 ? 'one' : 'other';
|
|
353
350
|
},
|
|
354
351
|
|
|
355
|
-
ia:
|
|
352
|
+
ia: d,
|
|
356
353
|
|
|
357
|
-
id:
|
|
354
|
+
id: e,
|
|
358
355
|
|
|
359
|
-
ig:
|
|
356
|
+
ig: e,
|
|
360
357
|
|
|
361
|
-
ii:
|
|
358
|
+
ii: e,
|
|
362
359
|
|
|
363
|
-
io:
|
|
360
|
+
io: d,
|
|
364
361
|
|
|
365
|
-
is:
|
|
366
|
-
|
|
362
|
+
is: (n, ord) => {
|
|
363
|
+
const s = String(n).split('.'), i = s[0], t0 = Number(s[0]) == n, i10 = i.slice(-1), i100 = i.slice(-2);
|
|
367
364
|
if (ord) return 'other';
|
|
368
365
|
return t0 && i10 == 1 && i100 != 11 || !t0 ? 'one' : 'other';
|
|
369
366
|
},
|
|
370
367
|
|
|
371
|
-
it:
|
|
372
|
-
|
|
368
|
+
it: (n, ord) => {
|
|
369
|
+
const s = String(n).split('.'), v0 = !s[1];
|
|
373
370
|
if (ord) return (n == 11 || n == 8 || n == 80 || n == 800) ? 'many' : 'other';
|
|
374
371
|
return n == 1 && v0 ? 'one' : 'other';
|
|
375
372
|
},
|
|
376
373
|
|
|
377
|
-
iu:
|
|
374
|
+
iu: f,
|
|
378
375
|
|
|
379
|
-
iw:
|
|
380
|
-
|
|
376
|
+
iw: (n, ord) => {
|
|
377
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1);
|
|
381
378
|
if (ord) return 'other';
|
|
382
379
|
return n == 1 && v0 ? 'one'
|
|
383
380
|
: i == 2 && v0 ? 'two'
|
|
@@ -385,29 +382,29 @@ iw: function iw(n, ord) {
|
|
|
385
382
|
: 'other';
|
|
386
383
|
},
|
|
387
384
|
|
|
388
|
-
ja:
|
|
385
|
+
ja: e,
|
|
389
386
|
|
|
390
|
-
jbo:
|
|
387
|
+
jbo: e,
|
|
391
388
|
|
|
392
389
|
jgo: a,
|
|
393
390
|
|
|
394
|
-
ji:
|
|
391
|
+
ji: d,
|
|
395
392
|
|
|
396
393
|
jmc: a,
|
|
397
394
|
|
|
398
|
-
jv:
|
|
395
|
+
jv: e,
|
|
399
396
|
|
|
400
|
-
jw:
|
|
397
|
+
jw: e,
|
|
401
398
|
|
|
402
|
-
ka:
|
|
403
|
-
|
|
399
|
+
ka: (n, ord) => {
|
|
400
|
+
const s = String(n).split('.'), i = s[0], i100 = i.slice(-2);
|
|
404
401
|
if (ord) return i == 1 ? 'one'
|
|
405
402
|
: i == 0 || ((i100 >= 2 && i100 <= 20) || i100 == 40 || i100 == 60 || i100 == 80) ? 'many'
|
|
406
403
|
: 'other';
|
|
407
404
|
return n == 1 ? 'one' : 'other';
|
|
408
405
|
},
|
|
409
406
|
|
|
410
|
-
kab:
|
|
407
|
+
kab: (n, ord) => {
|
|
411
408
|
if (ord) return 'other';
|
|
412
409
|
return n >= 0 && n < 2 ? 'one' : 'other';
|
|
413
410
|
},
|
|
@@ -416,12 +413,12 @@ kaj: a,
|
|
|
416
413
|
|
|
417
414
|
kcg: a,
|
|
418
415
|
|
|
419
|
-
kde:
|
|
416
|
+
kde: e,
|
|
420
417
|
|
|
421
|
-
kea:
|
|
418
|
+
kea: e,
|
|
422
419
|
|
|
423
|
-
kk:
|
|
424
|
-
|
|
420
|
+
kk: (n, ord) => {
|
|
421
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1);
|
|
425
422
|
if (ord) return n10 == 6 || n10 == 9 || t0 && n10 == 0 && n != 0 ? 'many' : 'other';
|
|
426
423
|
return n == 1 ? 'one' : 'other';
|
|
427
424
|
},
|
|
@@ -430,20 +427,17 @@ kkj: a,
|
|
|
430
427
|
|
|
431
428
|
kl: a,
|
|
432
429
|
|
|
433
|
-
km:
|
|
430
|
+
km: e,
|
|
434
431
|
|
|
435
|
-
kn:
|
|
436
|
-
if (ord) return 'other';
|
|
437
|
-
return n >= 0 && n <= 1 ? 'one' : 'other';
|
|
438
|
-
},
|
|
432
|
+
kn: c,
|
|
439
433
|
|
|
440
|
-
ko:
|
|
434
|
+
ko: e,
|
|
441
435
|
|
|
442
436
|
ks: a,
|
|
443
437
|
|
|
444
438
|
ksb: a,
|
|
445
439
|
|
|
446
|
-
ksh:
|
|
440
|
+
ksh: (n, ord) => {
|
|
447
441
|
if (ord) return 'other';
|
|
448
442
|
return n == 0 ? 'zero'
|
|
449
443
|
: n == 1 ? 'one'
|
|
@@ -452,8 +446,8 @@ ksh: function ksh(n, ord) {
|
|
|
452
446
|
|
|
453
447
|
ku: a,
|
|
454
448
|
|
|
455
|
-
kw:
|
|
456
|
-
|
|
449
|
+
kw: (n, ord) => {
|
|
450
|
+
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);
|
|
457
451
|
if (ord) return (t0 && n >= 1 && n <= 4) || ((n100 >= 1 && n100 <= 4) || (n100 >= 21 && n100 <= 24) || (n100 >= 41 && n100 <= 44) || (n100 >= 61 && n100 <= 64) || (n100 >= 81 && n100 <= 84)) ? 'one'
|
|
458
452
|
: n == 5 || n100 == 5 ? 'many'
|
|
459
453
|
: 'other';
|
|
@@ -467,8 +461,8 @@ kw: function kw(n, ord) {
|
|
|
467
461
|
|
|
468
462
|
ky: a,
|
|
469
463
|
|
|
470
|
-
lag:
|
|
471
|
-
|
|
464
|
+
lag: (n, ord) => {
|
|
465
|
+
const s = String(n).split('.'), i = s[0];
|
|
472
466
|
if (ord) return 'other';
|
|
473
467
|
return n == 0 ? 'zero'
|
|
474
468
|
: (i == 0 || i == 1) && n != 0 ? 'one'
|
|
@@ -479,17 +473,23 @@ lb: a,
|
|
|
479
473
|
|
|
480
474
|
lg: a,
|
|
481
475
|
|
|
482
|
-
|
|
476
|
+
lij: (n, ord) => {
|
|
477
|
+
const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n;
|
|
478
|
+
if (ord) return (n == 11 || n == 8 || (t0 && n >= 80 && n <= 89) || (t0 && n >= 800 && n <= 899)) ? 'many' : 'other';
|
|
479
|
+
return n == 1 && v0 ? 'one' : 'other';
|
|
480
|
+
},
|
|
481
|
+
|
|
482
|
+
lkt: e,
|
|
483
483
|
|
|
484
484
|
ln: b,
|
|
485
485
|
|
|
486
|
-
lo:
|
|
486
|
+
lo: (n, ord) => {
|
|
487
487
|
if (ord) return n == 1 ? 'one' : 'other';
|
|
488
488
|
return 'other';
|
|
489
489
|
},
|
|
490
490
|
|
|
491
|
-
lt:
|
|
492
|
-
|
|
491
|
+
lt: (n, ord) => {
|
|
492
|
+
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);
|
|
493
493
|
if (ord) return 'other';
|
|
494
494
|
return n10 == 1 && (n100 < 11 || n100 > 19) ? 'one'
|
|
495
495
|
: (n10 >= 2 && n10 <= 9) && (n100 < 11 || n100 > 19) ? 'few'
|
|
@@ -497,8 +497,8 @@ lt: function lt(n, ord) {
|
|
|
497
497
|
: 'other';
|
|
498
498
|
},
|
|
499
499
|
|
|
500
|
-
lv:
|
|
501
|
-
|
|
500
|
+
lv: (n, ord) => {
|
|
501
|
+
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);
|
|
502
502
|
if (ord) return 'other';
|
|
503
503
|
return t0 && n10 == 0 || (n100 >= 11 && n100 <= 19) || v == 2 && (f100 >= 11 && f100 <= 19) ? 'zero'
|
|
504
504
|
: n10 == 1 && n100 != 11 || v == 2 && f10 == 1 && f100 != 11 || v != 2 && f10 == 1 ? 'one'
|
|
@@ -511,8 +511,8 @@ mg: b,
|
|
|
511
511
|
|
|
512
512
|
mgo: a,
|
|
513
513
|
|
|
514
|
-
mk:
|
|
515
|
-
|
|
514
|
+
mk: (n, ord) => {
|
|
515
|
+
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);
|
|
516
516
|
if (ord) return i10 == 1 && i100 != 11 ? 'one'
|
|
517
517
|
: i10 == 2 && i100 != 12 ? 'two'
|
|
518
518
|
: (i10 == 7 || i10 == 8) && i100 != 17 && i100 != 18 ? 'many'
|
|
@@ -524,15 +524,15 @@ ml: a,
|
|
|
524
524
|
|
|
525
525
|
mn: a,
|
|
526
526
|
|
|
527
|
-
mo:
|
|
528
|
-
|
|
527
|
+
mo: (n, ord) => {
|
|
528
|
+
const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);
|
|
529
529
|
if (ord) return n == 1 ? 'one' : 'other';
|
|
530
530
|
return n == 1 && v0 ? 'one'
|
|
531
531
|
: !v0 || n == 0 || (n100 >= 2 && n100 <= 19) ? 'few'
|
|
532
532
|
: 'other';
|
|
533
533
|
},
|
|
534
534
|
|
|
535
|
-
mr:
|
|
535
|
+
mr: (n, ord) => {
|
|
536
536
|
if (ord) return n == 1 ? 'one'
|
|
537
537
|
: (n == 2 || n == 3) ? 'two'
|
|
538
538
|
: n == 4 ? 'few'
|
|
@@ -540,13 +540,13 @@ mr: function mr(n, ord) {
|
|
|
540
540
|
return n == 1 ? 'one' : 'other';
|
|
541
541
|
},
|
|
542
542
|
|
|
543
|
-
ms:
|
|
543
|
+
ms: (n, ord) => {
|
|
544
544
|
if (ord) return n == 1 ? 'one' : 'other';
|
|
545
545
|
return 'other';
|
|
546
546
|
},
|
|
547
547
|
|
|
548
|
-
mt:
|
|
549
|
-
|
|
548
|
+
mt: (n, ord) => {
|
|
549
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);
|
|
550
550
|
if (ord) return 'other';
|
|
551
551
|
return n == 1 ? 'one'
|
|
552
552
|
: n == 0 || (n100 >= 2 && n100 <= 10) ? 'few'
|
|
@@ -554,23 +554,23 @@ mt: function mt(n, ord) {
|
|
|
554
554
|
: 'other';
|
|
555
555
|
},
|
|
556
556
|
|
|
557
|
-
my:
|
|
557
|
+
my: e,
|
|
558
558
|
|
|
559
559
|
nah: a,
|
|
560
560
|
|
|
561
|
-
naq:
|
|
561
|
+
naq: f,
|
|
562
562
|
|
|
563
563
|
nb: a,
|
|
564
564
|
|
|
565
565
|
nd: a,
|
|
566
566
|
|
|
567
|
-
ne:
|
|
568
|
-
|
|
567
|
+
ne: (n, ord) => {
|
|
568
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n;
|
|
569
569
|
if (ord) return (t0 && n >= 1 && n <= 4) ? 'one' : 'other';
|
|
570
570
|
return n == 1 ? 'one' : 'other';
|
|
571
571
|
},
|
|
572
572
|
|
|
573
|
-
nl:
|
|
573
|
+
nl: d,
|
|
574
574
|
|
|
575
575
|
nn: a,
|
|
576
576
|
|
|
@@ -578,7 +578,7 @@ nnh: a,
|
|
|
578
578
|
|
|
579
579
|
no: a,
|
|
580
580
|
|
|
581
|
-
nqo:
|
|
581
|
+
nqo: e,
|
|
582
582
|
|
|
583
583
|
nr: a,
|
|
584
584
|
|
|
@@ -590,8 +590,8 @@ nyn: a,
|
|
|
590
590
|
|
|
591
591
|
om: a,
|
|
592
592
|
|
|
593
|
-
or:
|
|
594
|
-
|
|
593
|
+
or: (n, ord) => {
|
|
594
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n;
|
|
595
595
|
if (ord) return (n == 1 || n == 5 || (t0 && n >= 7 && n <= 9)) ? 'one'
|
|
596
596
|
: (n == 2 || n == 3) ? 'two'
|
|
597
597
|
: n == 4 ? 'few'
|
|
@@ -602,14 +602,16 @@ or: function or(n, ord) {
|
|
|
602
602
|
|
|
603
603
|
os: a,
|
|
604
604
|
|
|
605
|
-
osa:
|
|
605
|
+
osa: e,
|
|
606
606
|
|
|
607
607
|
pa: b,
|
|
608
608
|
|
|
609
609
|
pap: a,
|
|
610
610
|
|
|
611
|
-
|
|
612
|
-
|
|
611
|
+
pcm: c,
|
|
612
|
+
|
|
613
|
+
pl: (n, ord) => {
|
|
614
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2);
|
|
613
615
|
if (ord) return 'other';
|
|
614
616
|
return n == 1 && v0 ? 'one'
|
|
615
617
|
: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) ? 'few'
|
|
@@ -617,8 +619,8 @@ pl: function pl(n, ord) {
|
|
|
617
619
|
: 'other';
|
|
618
620
|
},
|
|
619
621
|
|
|
620
|
-
prg:
|
|
621
|
-
|
|
622
|
+
prg: (n, ord) => {
|
|
623
|
+
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);
|
|
622
624
|
if (ord) return 'other';
|
|
623
625
|
return t0 && n10 == 0 || (n100 >= 11 && n100 <= 19) || v == 2 && (f100 >= 11 && f100 <= 19) ? 'zero'
|
|
624
626
|
: n10 == 1 && n100 != 11 || v == 2 && f10 == 1 && f100 != 11 || v != 2 && f10 == 1 ? 'one'
|
|
@@ -627,18 +629,18 @@ prg: function prg(n, ord) {
|
|
|
627
629
|
|
|
628
630
|
ps: a,
|
|
629
631
|
|
|
630
|
-
pt:
|
|
631
|
-
|
|
632
|
+
pt: (n, ord) => {
|
|
633
|
+
const s = String(n).split('.'), i = s[0];
|
|
632
634
|
if (ord) return 'other';
|
|
633
635
|
return (i == 0 || i == 1) ? 'one' : 'other';
|
|
634
636
|
},
|
|
635
637
|
|
|
636
|
-
pt_PT:
|
|
638
|
+
pt_PT: d,
|
|
637
639
|
|
|
638
640
|
rm: a,
|
|
639
641
|
|
|
640
|
-
ro:
|
|
641
|
-
|
|
642
|
+
ro: (n, ord) => {
|
|
643
|
+
const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);
|
|
642
644
|
if (ord) return n == 1 ? 'one' : 'other';
|
|
643
645
|
return n == 1 && v0 ? 'one'
|
|
644
646
|
: !v0 || n == 0 || (n100 >= 2 && n100 <= 19) ? 'few'
|
|
@@ -647,10 +649,10 @@ ro: function ro(n, ord) {
|
|
|
647
649
|
|
|
648
650
|
rof: a,
|
|
649
651
|
|
|
650
|
-
root:
|
|
652
|
+
root: e,
|
|
651
653
|
|
|
652
|
-
ru:
|
|
653
|
-
|
|
654
|
+
ru: (n, ord) => {
|
|
655
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2);
|
|
654
656
|
if (ord) return 'other';
|
|
655
657
|
return v0 && i10 == 1 && i100 != 11 ? 'one'
|
|
656
658
|
: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) ? 'few'
|
|
@@ -660,18 +662,20 @@ ru: function ru(n, ord) {
|
|
|
660
662
|
|
|
661
663
|
rwk: a,
|
|
662
664
|
|
|
663
|
-
sah:
|
|
665
|
+
sah: e,
|
|
664
666
|
|
|
665
667
|
saq: a,
|
|
666
668
|
|
|
667
|
-
|
|
668
|
-
|
|
669
|
+
sat: f,
|
|
670
|
+
|
|
671
|
+
sc: (n, ord) => {
|
|
672
|
+
const s = String(n).split('.'), v0 = !s[1];
|
|
669
673
|
if (ord) return (n == 11 || n == 8 || n == 80 || n == 800) ? 'many' : 'other';
|
|
670
674
|
return n == 1 && v0 ? 'one' : 'other';
|
|
671
675
|
},
|
|
672
676
|
|
|
673
|
-
scn:
|
|
674
|
-
|
|
677
|
+
scn: (n, ord) => {
|
|
678
|
+
const s = String(n).split('.'), v0 = !s[1];
|
|
675
679
|
if (ord) return (n == 11 || n == 8 || n == 80 || n == 800) ? 'many' : 'other';
|
|
676
680
|
return n == 1 && v0 ? 'one' : 'other';
|
|
677
681
|
},
|
|
@@ -680,38 +684,38 @@ sd: a,
|
|
|
680
684
|
|
|
681
685
|
sdh: a,
|
|
682
686
|
|
|
683
|
-
se:
|
|
687
|
+
se: f,
|
|
684
688
|
|
|
685
689
|
seh: a,
|
|
686
690
|
|
|
687
|
-
ses:
|
|
691
|
+
ses: e,
|
|
688
692
|
|
|
689
|
-
sg:
|
|
693
|
+
sg: e,
|
|
690
694
|
|
|
691
|
-
sh:
|
|
692
|
-
|
|
695
|
+
sh: (n, ord) => {
|
|
696
|
+
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);
|
|
693
697
|
if (ord) return 'other';
|
|
694
698
|
return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one'
|
|
695
699
|
: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12 || f100 > 14) ? 'few'
|
|
696
700
|
: 'other';
|
|
697
701
|
},
|
|
698
702
|
|
|
699
|
-
shi:
|
|
700
|
-
|
|
703
|
+
shi: (n, ord) => {
|
|
704
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n;
|
|
701
705
|
if (ord) return 'other';
|
|
702
706
|
return n >= 0 && n <= 1 ? 'one'
|
|
703
707
|
: (t0 && n >= 2 && n <= 10) ? 'few'
|
|
704
708
|
: 'other';
|
|
705
709
|
},
|
|
706
710
|
|
|
707
|
-
si:
|
|
708
|
-
|
|
711
|
+
si: (n, ord) => {
|
|
712
|
+
const s = String(n).split('.'), i = s[0], f = s[1] || '';
|
|
709
713
|
if (ord) return 'other';
|
|
710
714
|
return (n == 0 || n == 1) || i == 0 && f == 1 ? 'one' : 'other';
|
|
711
715
|
},
|
|
712
716
|
|
|
713
|
-
sk:
|
|
714
|
-
|
|
717
|
+
sk: (n, ord) => {
|
|
718
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1];
|
|
715
719
|
if (ord) return 'other';
|
|
716
720
|
return n == 1 && v0 ? 'one'
|
|
717
721
|
: (i >= 2 && i <= 4) && v0 ? 'few'
|
|
@@ -719,8 +723,8 @@ sk: function sk(n, ord) {
|
|
|
719
723
|
: 'other';
|
|
720
724
|
},
|
|
721
725
|
|
|
722
|
-
sl:
|
|
723
|
-
|
|
726
|
+
sl: (n, ord) => {
|
|
727
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], i100 = i.slice(-2);
|
|
724
728
|
if (ord) return 'other';
|
|
725
729
|
return v0 && i100 == 1 ? 'one'
|
|
726
730
|
: v0 && i100 == 2 ? 'two'
|
|
@@ -728,30 +732,30 @@ sl: function sl(n, ord) {
|
|
|
728
732
|
: 'other';
|
|
729
733
|
},
|
|
730
734
|
|
|
731
|
-
sma:
|
|
735
|
+
sma: f,
|
|
732
736
|
|
|
733
|
-
smi:
|
|
737
|
+
smi: f,
|
|
734
738
|
|
|
735
|
-
smj:
|
|
739
|
+
smj: f,
|
|
736
740
|
|
|
737
|
-
smn:
|
|
741
|
+
smn: f,
|
|
738
742
|
|
|
739
|
-
sms:
|
|
743
|
+
sms: f,
|
|
740
744
|
|
|
741
745
|
sn: a,
|
|
742
746
|
|
|
743
747
|
so: a,
|
|
744
748
|
|
|
745
|
-
sq:
|
|
746
|
-
|
|
749
|
+
sq: (n, ord) => {
|
|
750
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);
|
|
747
751
|
if (ord) return n == 1 ? 'one'
|
|
748
752
|
: n10 == 4 && n100 != 14 ? 'many'
|
|
749
753
|
: 'other';
|
|
750
754
|
return n == 1 ? 'one' : 'other';
|
|
751
755
|
},
|
|
752
756
|
|
|
753
|
-
sr:
|
|
754
|
-
|
|
757
|
+
sr: (n, ord) => {
|
|
758
|
+
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);
|
|
755
759
|
if (ord) return 'other';
|
|
756
760
|
return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one'
|
|
757
761
|
: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12 || f100 > 14) ? 'few'
|
|
@@ -764,15 +768,15 @@ ssy: a,
|
|
|
764
768
|
|
|
765
769
|
st: a,
|
|
766
770
|
|
|
767
|
-
su:
|
|
771
|
+
su: e,
|
|
768
772
|
|
|
769
|
-
sv:
|
|
770
|
-
|
|
773
|
+
sv: (n, ord) => {
|
|
774
|
+
const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);
|
|
771
775
|
if (ord) return (n10 == 1 || n10 == 2) && n100 != 11 && n100 != 12 ? 'one' : 'other';
|
|
772
776
|
return n == 1 && v0 ? 'one' : 'other';
|
|
773
777
|
},
|
|
774
778
|
|
|
775
|
-
sw:
|
|
779
|
+
sw: d,
|
|
776
780
|
|
|
777
781
|
syr: a,
|
|
778
782
|
|
|
@@ -782,42 +786,42 @@ te: a,
|
|
|
782
786
|
|
|
783
787
|
teo: a,
|
|
784
788
|
|
|
785
|
-
th:
|
|
789
|
+
th: e,
|
|
786
790
|
|
|
787
791
|
ti: b,
|
|
788
792
|
|
|
789
793
|
tig: a,
|
|
790
794
|
|
|
791
|
-
tk:
|
|
792
|
-
|
|
795
|
+
tk: (n, ord) => {
|
|
796
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1);
|
|
793
797
|
if (ord) return (n10 == 6 || n10 == 9) || n == 10 ? 'few' : 'other';
|
|
794
798
|
return n == 1 ? 'one' : 'other';
|
|
795
799
|
},
|
|
796
800
|
|
|
797
|
-
tl:
|
|
798
|
-
|
|
801
|
+
tl: (n, ord) => {
|
|
802
|
+
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), f10 = f.slice(-1);
|
|
799
803
|
if (ord) return n == 1 ? 'one' : 'other';
|
|
800
804
|
return v0 && (i == 1 || i == 2 || i == 3) || v0 && i10 != 4 && i10 != 6 && i10 != 9 || !v0 && f10 != 4 && f10 != 6 && f10 != 9 ? 'one' : 'other';
|
|
801
805
|
},
|
|
802
806
|
|
|
803
807
|
tn: a,
|
|
804
808
|
|
|
805
|
-
to:
|
|
809
|
+
to: e,
|
|
806
810
|
|
|
807
811
|
tr: a,
|
|
808
812
|
|
|
809
813
|
ts: a,
|
|
810
814
|
|
|
811
|
-
tzm:
|
|
812
|
-
|
|
815
|
+
tzm: (n, ord) => {
|
|
816
|
+
const s = String(n).split('.'), t0 = Number(s[0]) == n;
|
|
813
817
|
if (ord) return 'other';
|
|
814
818
|
return (n == 0 || n == 1) || (t0 && n >= 11 && n <= 99) ? 'one' : 'other';
|
|
815
819
|
},
|
|
816
820
|
|
|
817
821
|
ug: a,
|
|
818
822
|
|
|
819
|
-
uk:
|
|
820
|
-
|
|
823
|
+
uk: (n, ord) => {
|
|
824
|
+
const s = String(n).split('.'), i = s[0], v0 = !s[1], t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2), i10 = i.slice(-1), i100 = i.slice(-2);
|
|
821
825
|
if (ord) return n10 == 3 && n100 != 13 ? 'few' : 'other';
|
|
822
826
|
return v0 && i10 == 1 && i100 != 11 ? 'one'
|
|
823
827
|
: v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) ? 'few'
|
|
@@ -825,13 +829,13 @@ uk: function uk(n, ord) {
|
|
|
825
829
|
: 'other';
|
|
826
830
|
},
|
|
827
831
|
|
|
828
|
-
ur:
|
|
832
|
+
ur: d,
|
|
829
833
|
|
|
830
834
|
uz: a,
|
|
831
835
|
|
|
832
836
|
ve: a,
|
|
833
837
|
|
|
834
|
-
vi:
|
|
838
|
+
vi: (n, ord) => {
|
|
835
839
|
if (ord) return n == 1 ? 'one' : 'other';
|
|
836
840
|
return 'other';
|
|
837
841
|
},
|
|
@@ -844,22 +848,19 @@ wa: b,
|
|
|
844
848
|
|
|
845
849
|
wae: a,
|
|
846
850
|
|
|
847
|
-
wo:
|
|
851
|
+
wo: e,
|
|
848
852
|
|
|
849
853
|
xh: a,
|
|
850
854
|
|
|
851
855
|
xog: a,
|
|
852
856
|
|
|
853
|
-
yi:
|
|
857
|
+
yi: d,
|
|
854
858
|
|
|
855
|
-
yo:
|
|
859
|
+
yo: e,
|
|
856
860
|
|
|
857
|
-
yue:
|
|
861
|
+
yue: e,
|
|
858
862
|
|
|
859
|
-
zh:
|
|
863
|
+
zh: e,
|
|
860
864
|
|
|
861
|
-
zu:
|
|
862
|
-
if (ord) return 'other';
|
|
863
|
-
return n >= 0 && n <= 1 ? 'one' : 'other';
|
|
864
|
-
}
|
|
865
|
+
zu: c
|
|
865
866
|
}));
|