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