UNPKG

19.6 kBJavaScriptView Raw
1
2/*! plurals-cldr 2.0.1 https://github.com/nodeca/plurals-cldr @license MIT */
3(function (global, factory) {
4 typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
5 typeof define === 'function' && define.amd ? define(factory) :
6 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.pluralsCldr = factory());
7})(this, (function () { 'use strict';
8
9 var pluralsCldr$1 = {exports: {}};
10
11 /*
12 * Plural functions support (cardinal & ordinal forms)
13 *
14 * Autogenerated from CLDR:
15 *
16 * Version: 40
17 * Unicode version: 14.0.0
18 */
19
20 (function (module) {
21
22
23 // pluralizers cache
24 var s = {};
25
26 function normalize(loc) {
27 var l;
28 if (s[loc]) { return loc; }
29 l = loc.toLowerCase().replace('_', '-');
30 if (s[l]) { return l; }
31 l = l.split('-')[0];
32 if (s[l]) { return l; }
33 return null;
34 }
35
36 function forms(loc) {
37 var l = normalize(loc);
38 return s[l] ? s[l].c : null;
39 }
40
41 var c_re = /c\d+$/;
42
43 function indexOf(loc, value) {
44 var l = normalize(loc);
45 if (!l) {
46 return -1;
47 }
48
49 if (!s[l].cFn) {
50 return 0;
51 }
52
53 var sval = String(value);
54 var e = 0;
55
56 if (c_re.test(sval)) {
57 var spl = sval.split('c');
58 e = +spl[1];
59 value = Math.pow(10, e) * spl[0];
60 sval = String(value);
61 }
62
63 var f = sval.indexOf('.') < 0 ? '' : sval.split('.')[1];
64 var v = f.length;
65 var w = f.replace(/0+$/, '').length;
66 var n = +value;
67 var i = +(sval.split('.')[0]);
68 var t = f.length === 0 ? 0 : +f.replace(/0+$/, '');
69
70 return s[l].cFn(n, i, v, +f, t, w, e);
71 }
72
73 function plural(loc, value) {
74 var l = normalize(loc);
75 if (!l) {
76 return null;
77 }
78 return s[l].c[indexOf(l, value)];
79 }
80
81
82 function o_forms(loc) {
83 var l = normalize(loc);
84 return s[l] ? s[l].o : null;
85 }
86
87 function o_indexOf(loc, value) {
88 var l = normalize(loc);
89 if (!l) {
90 return -1;
91 }
92
93 if (!s[l].oFn) {
94 return 0;
95 }
96
97 var sval = String(value);
98 var e = 0;
99
100 /* Unused in ordinals now
101 if (c_re.test(sval)) {
102 var spl = sval.split('c');
103 e = +spl[1];
104 value = Math.pow(10, e) * spl[0];
105 sval = String(value);
106 }
107 */
108
109 var f = sval.indexOf('.') < 0 ? '' : sval.split('.')[1];
110 var v = f.length;
111 var w = f.replace(/0+$/, '').length;
112 var n = +value;
113 var i = +(sval.split('.')[0]);
114 var t = f.length === 0 ? 0 : +f.replace(/0+$/, '');
115
116 return s[l].oFn(n, i, v, +f, t, w, e);
117 }
118
119 function ordinal(loc, value) {
120 var l = normalize(loc);
121 if (!s[l]) {
122 return null;
123 }
124 return s[l].o[o_indexOf(l, value)];
125 }
126
127 module.exports = plural;
128 module.exports.indexOf = indexOf;
129 module.exports.forms = forms;
130 module.exports.ordinal = ordinal;
131 module.exports.ordinal.indexOf = o_indexOf;
132 module.exports.ordinal.forms = o_forms;
133
134
135 ////////////////////////////////////////////////////////////////////////////////
136
137 var FORMS = [ 'zero', 'one', 'two', 'few', 'many', 'other' ];
138
139 function unpack(i) { return FORMS[i]; }
140
141 // adds given `rule` pluralizer for given `locales` into `storage`
142 function add(locales, rule) {
143 var i;
144
145 rule.c = rule.c ? rule.c.map(unpack) : [ 'other' ];
146 rule.o = rule.o ? rule.o.map(unpack) : [ 'other' ];
147
148 for (i = 0; i < locales.length; i++) {
149 s[locales[i]] = rule;
150 }
151 }
152
153 function B(x, y, val) { return x <= val && val <= y && val % 1 === 0; }
154 function IN(set, val) { return set.indexOf(val) >= 0; }
155
156
157 add([ 'af', 'an', 'asa', 'bem', 'bez', 'bg', 'brx', 'ce', 'cgg', 'chr', 'ckb', 'dv', 'ee', 'el', 'eo', 'eu', 'fo', 'fur', 'gsw', 'ha', 'haw', 'jgo', 'jmc', 'kaj', 'kcg', 'kkj', 'kl', 'ks', 'ksb', 'ku', 'ky', 'lb', 'lg', 'mas', 'mgo', 'ml', 'mn', 'nah', 'nb', 'nd', 'nn', 'nnh', 'no', 'nr', 'ny', 'nyn', 'om', 'os', 'pap', 'ps', 'rm', 'rof', 'rwk', 'saq', 'sd', 'sdh', 'seh', 'sn', 'so', 'ss', 'ssy', 'st', 'syr', 'ta', 'te', 'teo', 'tig', 'tn', 'tr', 'ts', 'ug', 'uz', 've', 'vo', 'vun', 'wae', 'xh', 'xog' ], {
158 c: [ 1, 5 ],
159 cFn: function (n) {
160 return n === 1 ? 0 : 1;
161 }
162 });
163
164 add([ 'ak', 'bho', 'guw', 'ln', 'mg', 'nso', 'pa', 'ti', 'wa' ], {
165 c: [ 1, 5 ],
166 cFn: function (n) {
167 return B(0, 1, n) ? 0 : 1;
168 }
169 });
170
171 add([ 'am', 'doi', 'fa', 'kn', 'pcm', 'zu' ], {
172 c: [ 1, 5 ],
173 cFn: function (n, i) {
174 return i === 0 || n === 1 ? 0 : 1;
175 }
176 });
177
178 add([ 'ar', 'ars' ], {
179 c: [ 0, 1, 2, 3, 4, 5 ],
180 cFn: function (n) {
181 var n100 = n % 100;
182 return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : B(3, 10, n100) ? 3 : B(11, 99, n100) ? 4 : 5;
183 }
184 });
185
186 add([ 'as', 'bn' ], {
187 c: [ 1, 5 ],
188 cFn: function (n, i) {
189 return i === 0 || n === 1 ? 0 : 1;
190 },
191 o: [ 1, 2, 3, 4, 5 ],
192 oFn: function (n) {
193 return IN([ 1, 5, 7, 8, 9, 10 ], n) ? 0 : IN([ 2, 3 ], n) ? 1 : n === 4 ? 2 : n === 6 ? 3 : 4;
194 }
195 });
196
197 add([ 'ast', 'de', 'et', 'fi', 'fy', 'gl', 'ia', 'io', 'nl', 'sw', 'ur', 'yi' ], {
198 c: [ 1, 5 ],
199 cFn: function (n, i, v) {
200 return i === 1 && v === 0 ? 0 : 1;
201 }
202 });
203
204 add([ 'az' ], {
205 c: [ 1, 5 ],
206 cFn: function (n) {
207 return n === 1 ? 0 : 1;
208 },
209 o: [ 1, 3, 4, 5 ],
210 oFn: function (n, i) {
211 var i10 = i % 10, i100 = i % 100, i1000 = i % 1000;
212 return IN([ 1, 2, 5, 7, 8 ], i10) || IN([ 20, 50, 70, 80 ], i100) ? 0 : IN([ 3, 4 ], i10) || IN([ 100, 200, 300, 400, 500, 600, 700, 800, 900 ], i1000) ? 1 : i === 0 || i10 === 6 || IN([ 40, 60, 90 ], i100) ? 2 : 3;
213 }
214 });
215
216 add([ 'bal' ], {
217 c: [ 1, 5 ],
218 cFn: function (n) {
219 return n === 1 ? 0 : 1;
220 },
221 o: [ 1, 5 ],
222 oFn: function (n) {
223 return n === 1 ? 0 : 1;
224 }
225 });
226
227 add([ 'be' ], {
228 c: [ 1, 3, 4, 5 ],
229 cFn: function (n) {
230 var n10 = n % 10, n100 = n % 100;
231 return n10 === 1 && n100 !== 11 ? 0 : B(2, 4, n10) && !B(12, 14, n100) ? 1 : n10 === 0 || B(5, 9, n10) || B(11, 14, n100) ? 2 : 3;
232 },
233 o: [ 3, 5 ],
234 oFn: function (n) {
235 var n10 = n % 10, n100 = n % 100;
236 return IN([ 2, 3 ], n10) && !IN([ 12, 13 ], n100) ? 0 : 1;
237 }
238 });
239
240 add([ 'bm', 'bo', 'dz', 'hnj', 'id', 'ig', 'ii', 'ja', 'jbo', 'jv', 'jw', 'kde', 'kea', 'km', 'ko', 'lkt', 'my', 'nqo', 'osa', 'sah', 'ses', 'sg', 'su', 'th', 'to', 'tpi', 'und', 'wo', 'yo', 'yue', 'zh' ], {
241 });
242
243 add([ 'br' ], {
244 c: [ 1, 2, 3, 4, 5 ],
245 cFn: function (n) {
246 var n10 = n % 10, n100 = n % 100, n1000000 = n % 1000000;
247 return n10 === 1 && !IN([ 11, 71, 91 ], n100) ? 0 : n10 === 2 && !IN([ 12, 72, 92 ], n100) ? 1 : (B(3, 4, n10) || n10 === 9) && (!B(10, 19, n100) && !B(70, 79, n100) && !B(90, 99, n100)) ? 2 : n !== 0 && n1000000 === 0 ? 3 : 4;
248 }
249 });
250
251 add([ 'bs', 'hr', 'sh', 'sr' ], {
252 c: [ 1, 3, 5 ],
253 cFn: function (n, i, v, f) {
254 var i10 = i % 10, i100 = i % 100, f10 = f % 10, f100 = f % 100;
255 return v === 0 && i10 === 1 && i100 !== 11 || f10 === 1 && f100 !== 11 ? 0 : v === 0 && B(2, 4, i10) && !B(12, 14, i100) || B(2, 4, f10) && !B(12, 14, f100) ? 1 : 2;
256 }
257 });
258
259 add([ 'ca' ], {
260 c: [ 1, 5 ],
261 cFn: function (n, i, v) {
262 return i === 1 && v === 0 ? 0 : 1;
263 },
264 o: [ 1, 2, 3, 5 ],
265 oFn: function (n) {
266 return IN([ 1, 3 ], n) ? 0 : n === 2 ? 1 : n === 4 ? 2 : 3;
267 }
268 });
269
270 add([ 'ceb' ], {
271 c: [ 1, 5 ],
272 cFn: function (n, i, v, f) {
273 var i10 = i % 10, f10 = f % 10;
274 return v === 0 && IN([ 1, 2, 3 ], i) || v === 0 && !IN([ 4, 6, 9 ], i10) || v !== 0 && !IN([ 4, 6, 9 ], f10) ? 0 : 1;
275 }
276 });
277
278 add([ 'cs', 'sk' ], {
279 c: [ 1, 3, 4, 5 ],
280 cFn: function (n, i, v) {
281 return i === 1 && v === 0 ? 0 : B(2, 4, i) && v === 0 ? 1 : v !== 0 ? 2 : 3;
282 }
283 });
284
285 add([ 'cy' ], {
286 c: [ 0, 1, 2, 3, 4, 5 ],
287 cFn: function (n) {
288 return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n === 3 ? 3 : n === 6 ? 4 : 5;
289 },
290 o: [ 0, 1, 2, 3, 4, 5 ],
291 oFn: function (n) {
292 return IN([ 0, 7, 8, 9 ], n) ? 0 : n === 1 ? 1 : n === 2 ? 2 : IN([ 3, 4 ], n) ? 3 : IN([ 5, 6 ], n) ? 4 : 5;
293 }
294 });
295
296 add([ 'da' ], {
297 c: [ 1, 5 ],
298 cFn: function (n, i, v, f, t) {
299 return n === 1 || t !== 0 && IN([ 0, 1 ], i) ? 0 : 1;
300 }
301 });
302
303 add([ 'dsb', 'hsb' ], {
304 c: [ 1, 2, 3, 5 ],
305 cFn: function (n, i, v, f) {
306 var i100 = i % 100, f100 = f % 100;
307 return v === 0 && i100 === 1 || f100 === 1 ? 0 : v === 0 && i100 === 2 || f100 === 2 ? 1 : v === 0 && B(3, 4, i100) || B(3, 4, f100) ? 2 : 3;
308 }
309 });
310
311 add([ 'en' ], {
312 c: [ 1, 5 ],
313 cFn: function (n, i, v) {
314 return i === 1 && v === 0 ? 0 : 1;
315 },
316 o: [ 1, 2, 3, 5 ],
317 oFn: function (n) {
318 var n10 = n % 10, n100 = n % 100;
319 return n10 === 1 && n100 !== 11 ? 0 : n10 === 2 && n100 !== 12 ? 1 : n10 === 3 && n100 !== 13 ? 2 : 3;
320 }
321 });
322
323 add([ 'es' ], {
324 c: [ 1, 4, 5 ],
325 cFn: function (n, i, v, f, t, w, e) {
326 var i1000000 = i % 1000000;
327 return n === 1 ? 0 : e === 0 && i !== 0 && i1000000 === 0 && v === 0 || !B(0, 5, e) ? 1 : 2;
328 }
329 });
330
331 add([ 'ff', 'kab' ], {
332 c: [ 1, 5 ],
333 cFn: function (n, i) {
334 return IN([ 0, 1 ], i) ? 0 : 1;
335 }
336 });
337
338 add([ 'fil', 'tl' ], {
339 c: [ 1, 5 ],
340 cFn: function (n, i, v, f) {
341 var i10 = i % 10, f10 = f % 10;
342 return v === 0 && IN([ 1, 2, 3 ], i) || v === 0 && !IN([ 4, 6, 9 ], i10) || v !== 0 && !IN([ 4, 6, 9 ], f10) ? 0 : 1;
343 },
344 o: [ 1, 5 ],
345 oFn: function (n) {
346 return n === 1 ? 0 : 1;
347 }
348 });
349
350 add([ 'fr' ], {
351 c: [ 1, 4, 5 ],
352 cFn: function (n, i, v, f, t, w, e) {
353 var i1000000 = i % 1000000;
354 return IN([ 0, 1 ], i) ? 0 : e === 0 && i !== 0 && i1000000 === 0 && v === 0 || !B(0, 5, e) ? 1 : 2;
355 },
356 o: [ 1, 5 ],
357 oFn: function (n) {
358 return n === 1 ? 0 : 1;
359 }
360 });
361
362 add([ 'ga' ], {
363 c: [ 1, 2, 3, 4, 5 ],
364 cFn: function (n) {
365 return n === 1 ? 0 : n === 2 ? 1 : B(3, 6, n) ? 2 : B(7, 10, n) ? 3 : 4;
366 },
367 o: [ 1, 5 ],
368 oFn: function (n) {
369 return n === 1 ? 0 : 1;
370 }
371 });
372
373 add([ 'gd' ], {
374 c: [ 1, 2, 3, 5 ],
375 cFn: function (n) {
376 return IN([ 1, 11 ], n) ? 0 : IN([ 2, 12 ], n) ? 1 : (B(3, 10, n) || B(13, 19, n)) ? 2 : 3;
377 },
378 o: [ 1, 2, 3, 5 ],
379 oFn: function (n) {
380 return IN([ 1, 11 ], n) ? 0 : IN([ 2, 12 ], n) ? 1 : IN([ 3, 13 ], n) ? 2 : 3;
381 }
382 });
383
384 add([ 'gu', 'hi' ], {
385 c: [ 1, 5 ],
386 cFn: function (n, i) {
387 return i === 0 || n === 1 ? 0 : 1;
388 },
389 o: [ 1, 2, 3, 4, 5 ],
390 oFn: function (n) {
391 return n === 1 ? 0 : IN([ 2, 3 ], n) ? 1 : n === 4 ? 2 : n === 6 ? 3 : 4;
392 }
393 });
394
395 add([ 'gv' ], {
396 c: [ 1, 2, 3, 4, 5 ],
397 cFn: function (n, i, v) {
398 var i10 = i % 10, i100 = i % 100;
399 return v === 0 && i10 === 1 ? 0 : v === 0 && i10 === 2 ? 1 : v === 0 && IN([ 0, 20, 40, 60, 80 ], i100) ? 2 : v !== 0 ? 3 : 4;
400 }
401 });
402
403 add([ 'he' ], {
404 c: [ 1, 2, 4, 5 ],
405 cFn: function (n, i, v) {
406 var n10 = n % 10;
407 return i === 1 && v === 0 ? 0 : i === 2 && v === 0 ? 1 : v === 0 && !B(0, 10, n) && n10 === 0 ? 2 : 3;
408 }
409 });
410
411 add([ 'hu' ], {
412 c: [ 1, 5 ],
413 cFn: function (n) {
414 return n === 1 ? 0 : 1;
415 },
416 o: [ 1, 5 ],
417 oFn: function (n) {
418 return IN([ 1, 5 ], n) ? 0 : 1;
419 }
420 });
421
422 add([ 'hy' ], {
423 c: [ 1, 5 ],
424 cFn: function (n, i) {
425 return IN([ 0, 1 ], i) ? 0 : 1;
426 },
427 o: [ 1, 5 ],
428 oFn: function (n) {
429 return n === 1 ? 0 : 1;
430 }
431 });
432
433 add([ 'is' ], {
434 c: [ 1, 5 ],
435 cFn: function (n, i, v, f, t) {
436 var i10 = i % 10, i100 = i % 100;
437 return t === 0 && i10 === 1 && i100 !== 11 || t !== 0 ? 0 : 1;
438 }
439 });
440
441 add([ 'it' ], {
442 c: [ 1, 4, 5 ],
443 cFn: function (n, i, v, f, t, w, e) {
444 var i1000000 = i % 1000000;
445 return i === 1 && v === 0 ? 0 : e === 0 && i !== 0 && i1000000 === 0 && v === 0 || !B(0, 5, e) ? 1 : 2;
446 },
447 o: [ 4, 5 ],
448 oFn: function (n) {
449 return IN([ 11, 8, 80, 800 ], n) ? 0 : 1;
450 }
451 });
452
453 add([ 'iu', 'naq', 'sat', 'se', 'sma', 'smi', 'smj', 'smn', 'sms' ], {
454 c: [ 1, 2, 5 ],
455 cFn: function (n) {
456 return n === 1 ? 0 : n === 2 ? 1 : 2;
457 }
458 });
459
460 add([ 'ka' ], {
461 c: [ 1, 5 ],
462 cFn: function (n) {
463 return n === 1 ? 0 : 1;
464 },
465 o: [ 1, 4, 5 ],
466 oFn: function (n, i) {
467 var i100 = i % 100;
468 return i === 1 ? 0 : i === 0 || (B(2, 20, i100) || i100 === 40 || i100 === 60 || i100 === 80) ? 1 : 2;
469 }
470 });
471
472 add([ 'kk' ], {
473 c: [ 1, 5 ],
474 cFn: function (n) {
475 return n === 1 ? 0 : 1;
476 },
477 o: [ 4, 5 ],
478 oFn: function (n) {
479 var n10 = n % 10;
480 return n10 === 6 || n10 === 9 || n10 === 0 && n !== 0 ? 0 : 1;
481 }
482 });
483
484 add([ 'ksh' ], {
485 c: [ 0, 1, 5 ],
486 cFn: function (n) {
487 return n === 0 ? 0 : n === 1 ? 1 : 2;
488 }
489 });
490
491 add([ 'kw' ], {
492 c: [ 0, 1, 2, 3, 4, 5 ],
493 cFn: function (n) {
494 var n100 = n % 100, n1000 = n % 1000, n100000 = n % 100000, n1000000 = n % 1000000;
495 return n === 0 ? 0 : n === 1 ? 1 : IN([ 2, 22, 42, 62, 82 ], n100) || n1000 === 0 && (B(1000, 20000, n100000) || n100000 === 40000 || n100000 === 60000 || n100000 === 80000) || n !== 0 && n1000000 === 100000 ? 2 : IN([ 3, 23, 43, 63, 83 ], n100) ? 3 : n !== 1 && IN([ 1, 21, 41, 61, 81 ], n100) ? 4 : 5;
496 },
497 o: [ 1, 4, 5 ],
498 oFn: function (n) {
499 var n100 = n % 100;
500 return B(1, 4, n) || (B(1, 4, n100) || B(21, 24, n100) || B(41, 44, n100) || B(61, 64, n100) || B(81, 84, n100)) ? 0 : n === 5 || n100 === 5 ? 1 : 2;
501 }
502 });
503
504 add([ 'lag' ], {
505 c: [ 0, 1, 5 ],
506 cFn: function (n, i) {
507 return n === 0 ? 0 : IN([ 0, 1 ], i) && n !== 0 ? 1 : 2;
508 }
509 });
510
511 add([ 'lij' ], {
512 c: [ 1, 5 ],
513 cFn: function (n, i, v) {
514 return i === 1 && v === 0 ? 0 : 1;
515 },
516 o: [ 4, 5 ],
517 oFn: function (n) {
518 return (n === 11 || n === 8 || B(80, 89, n) || B(800, 899, n)) ? 0 : 1;
519 }
520 });
521
522 add([ 'lo', 'ms', 'vi' ], {
523 o: [ 1, 5 ],
524 oFn: function (n) {
525 return n === 1 ? 0 : 1;
526 }
527 });
528
529 add([ 'lt' ], {
530 c: [ 1, 3, 4, 5 ],
531 cFn: function (n, i, v, f) {
532 var n10 = n % 10, n100 = n % 100;
533 return n10 === 1 && !B(11, 19, n100) ? 0 : B(2, 9, n10) && !B(11, 19, n100) ? 1 : f !== 0 ? 2 : 3;
534 }
535 });
536
537 add([ 'lv', 'prg' ], {
538 c: [ 0, 1, 5 ],
539 cFn: function (n, i, v, f) {
540 var n10 = n % 10, n100 = n % 100, f100 = f % 100, f10 = f % 10;
541 return n10 === 0 || B(11, 19, n100) || v === 2 && B(11, 19, f100) ? 0 : n10 === 1 && n100 !== 11 || v === 2 && f10 === 1 && f100 !== 11 || v !== 2 && f10 === 1 ? 1 : 2;
542 }
543 });
544
545 add([ 'mk' ], {
546 c: [ 1, 5 ],
547 cFn: function (n, i, v, f) {
548 var i10 = i % 10, i100 = i % 100, f10 = f % 10, f100 = f % 100;
549 return v === 0 && i10 === 1 && i100 !== 11 || f10 === 1 && f100 !== 11 ? 0 : 1;
550 },
551 o: [ 1, 2, 4, 5 ],
552 oFn: function (n, i) {
553 var i10 = i % 10, i100 = i % 100;
554 return i10 === 1 && i100 !== 11 ? 0 : i10 === 2 && i100 !== 12 ? 1 : IN([ 7, 8 ], i10) && !IN([ 17, 18 ], i100) ? 2 : 3;
555 }
556 });
557
558 add([ 'mo', 'ro' ], {
559 c: [ 1, 3, 5 ],
560 cFn: function (n, i, v) {
561 var n100 = n % 100;
562 return i === 1 && v === 0 ? 0 : v !== 0 || n === 0 || B(2, 19, n100) ? 1 : 2;
563 },
564 o: [ 1, 5 ],
565 oFn: function (n) {
566 return n === 1 ? 0 : 1;
567 }
568 });
569
570 add([ 'mr' ], {
571 c: [ 1, 5 ],
572 cFn: function (n) {
573 return n === 1 ? 0 : 1;
574 },
575 o: [ 1, 2, 3, 5 ],
576 oFn: function (n) {
577 return n === 1 ? 0 : IN([ 2, 3 ], n) ? 1 : n === 4 ? 2 : 3;
578 }
579 });
580
581 add([ 'mt' ], {
582 c: [ 1, 3, 4, 5 ],
583 cFn: function (n) {
584 var n100 = n % 100;
585 return n === 1 ? 0 : n === 0 || B(2, 10, n100) ? 1 : B(11, 19, n100) ? 2 : 3;
586 }
587 });
588
589 add([ 'ne' ], {
590 c: [ 1, 5 ],
591 cFn: function (n) {
592 return n === 1 ? 0 : 1;
593 },
594 o: [ 1, 5 ],
595 oFn: function (n) {
596 return B(1, 4, n) ? 0 : 1;
597 }
598 });
599
600 add([ 'or' ], {
601 c: [ 1, 5 ],
602 cFn: function (n) {
603 return n === 1 ? 0 : 1;
604 },
605 o: [ 1, 2, 3, 4, 5 ],
606 oFn: function (n) {
607 return (n === 1 || n === 5 || B(7, 9, n)) ? 0 : IN([ 2, 3 ], n) ? 1 : n === 4 ? 2 : n === 6 ? 3 : 4;
608 }
609 });
610
611 add([ 'pl' ], {
612 c: [ 1, 3, 4, 5 ],
613 cFn: function (n, i, v) {
614 var i10 = i % 10, i100 = i % 100;
615 return i === 1 && v === 0 ? 0 : v === 0 && B(2, 4, i10) && !B(12, 14, i100) ? 1 : v === 0 && i !== 1 && B(0, 1, i10) || v === 0 && B(5, 9, i10) || v === 0 && B(12, 14, i100) ? 2 : 3;
616 }
617 });
618
619 add([ 'pt' ], {
620 c: [ 1, 4, 5 ],
621 cFn: function (n, i, v, f, t, w, e) {
622 var i1000000 = i % 1000000;
623 return B(0, 1, i) ? 0 : e === 0 && i !== 0 && i1000000 === 0 && v === 0 || !B(0, 5, e) ? 1 : 2;
624 }
625 });
626
627 add([ 'pt-pt' ], {
628 c: [ 1, 4, 5 ],
629 cFn: function (n, i, v, f, t, w, e) {
630 var i1000000 = i % 1000000;
631 return i === 1 && v === 0 ? 0 : e === 0 && i !== 0 && i1000000 === 0 && v === 0 || !B(0, 5, e) ? 1 : 2;
632 }
633 });
634
635 add([ 'ru' ], {
636 c: [ 1, 3, 4, 5 ],
637 cFn: function (n, i, v) {
638 var i10 = i % 10, i100 = i % 100;
639 return v === 0 && i10 === 1 && i100 !== 11 ? 0 : v === 0 && B(2, 4, i10) && !B(12, 14, i100) ? 1 : v === 0 && i10 === 0 || v === 0 && B(5, 9, i10) || v === 0 && B(11, 14, i100) ? 2 : 3;
640 }
641 });
642
643 add([ 'sc', 'scn' ], {
644 c: [ 1, 5 ],
645 cFn: function (n, i, v) {
646 return i === 1 && v === 0 ? 0 : 1;
647 },
648 o: [ 4, 5 ],
649 oFn: function (n) {
650 return IN([ 11, 8, 80, 800 ], n) ? 0 : 1;
651 }
652 });
653
654 add([ 'shi' ], {
655 c: [ 1, 3, 5 ],
656 cFn: function (n, i) {
657 return i === 0 || n === 1 ? 0 : B(2, 10, n) ? 1 : 2;
658 }
659 });
660
661 add([ 'si' ], {
662 c: [ 1, 5 ],
663 cFn: function (n, i, v, f) {
664 return IN([ 0, 1 ], n) || i === 0 && f === 1 ? 0 : 1;
665 }
666 });
667
668 add([ 'sl' ], {
669 c: [ 1, 2, 3, 5 ],
670 cFn: function (n, i, v) {
671 var i100 = i % 100;
672 return v === 0 && i100 === 1 ? 0 : v === 0 && i100 === 2 ? 1 : v === 0 && B(3, 4, i100) || v !== 0 ? 2 : 3;
673 }
674 });
675
676 add([ 'sq' ], {
677 c: [ 1, 5 ],
678 cFn: function (n) {
679 return n === 1 ? 0 : 1;
680 },
681 o: [ 1, 4, 5 ],
682 oFn: function (n) {
683 var n10 = n % 10, n100 = n % 100;
684 return n === 1 ? 0 : n10 === 4 && n100 !== 14 ? 1 : 2;
685 }
686 });
687
688 add([ 'sv' ], {
689 c: [ 1, 5 ],
690 cFn: function (n, i, v) {
691 return i === 1 && v === 0 ? 0 : 1;
692 },
693 o: [ 1, 5 ],
694 oFn: function (n) {
695 var n10 = n % 10, n100 = n % 100;
696 return IN([ 1, 2 ], n10) && !IN([ 11, 12 ], n100) ? 0 : 1;
697 }
698 });
699
700 add([ 'tk' ], {
701 c: [ 1, 5 ],
702 cFn: function (n) {
703 return n === 1 ? 0 : 1;
704 },
705 o: [ 3, 5 ],
706 oFn: function (n) {
707 var n10 = n % 10;
708 return IN([ 6, 9 ], n10) || n === 10 ? 0 : 1;
709 }
710 });
711
712 add([ 'tzm' ], {
713 c: [ 1, 5 ],
714 cFn: function (n) {
715 return B(0, 1, n) || B(11, 99, n) ? 0 : 1;
716 }
717 });
718
719 add([ 'uk' ], {
720 c: [ 1, 3, 4, 5 ],
721 cFn: function (n, i, v) {
722 var i10 = i % 10, i100 = i % 100;
723 return v === 0 && i10 === 1 && i100 !== 11 ? 0 : v === 0 && B(2, 4, i10) && !B(12, 14, i100) ? 1 : v === 0 && i10 === 0 || v === 0 && B(5, 9, i10) || v === 0 && B(11, 14, i100) ? 2 : 3;
724 },
725 o: [ 3, 5 ],
726 oFn: function (n) {
727 var n10 = n % 10, n100 = n % 100;
728 return n10 === 3 && n100 !== 13 ? 0 : 1;
729 }
730 });
731
732 ////////////////////////////////////////////////////////////////////////////////
733 }(pluralsCldr$1));
734
735 var pluralsCldr = pluralsCldr$1.exports;
736
737 return pluralsCldr;
738
739}));