@singleton-i18n/js-core-sdk-server
Version:
A JavaScript Singleton client library for internationalization and localization that leverage data from Singleton service. The library works both for the browser and as a Node.js module.
920 lines (919 loc) • 30.6 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PLURALFUNCS = void 0;
/*
* Copyright 2019-2021 VMware, Inc.
* SPDX-License-Identifier: EPL-2.0
*/
const C = [
function (n, ord) {
if (ord) {
return 'other';
}
return 'other';
},
function (n, ord) {
if (ord) {
return 'other';
}
return (n === 1) ? 'one' : 'other';
},
function (n, ord) {
if (ord) {
return 'other';
}
return ((n === 0
|| n === 1)) ? 'one' : 'other';
},
function (n, ord) {
const s = String(n).split('.'), v0 = !s[1];
if (ord) {
return 'other';
}
return (n === 1 && v0) ? 'one' : 'other';
}
];
exports.PLURALFUNCS = {
af: C[1],
ak: C[2],
am: function (n, ord) {
if (ord) {
return 'other';
}
return (n >= 0 && n <= 1) ? 'one' : 'other';
},
ar: function (n, ord) {
const s = String(n).split('.'), t0 = Number(s[0]) === n, n100 = t0 && Number(s[0].slice(-2));
if (ord) {
return 'other';
}
return (n === 0) ? 'zero'
: (n === 1) ? 'one'
: (n === 2) ? 'two'
: ((n100 >= 3 && n100 <= 10)) ? 'few'
: ((n100 >= 11 && n100 <= 99)) ? 'many'
: 'other';
},
ars: function (n, ord) {
const s = String(n).split('.'), t0 = Number(s[0]) === n, n100 = t0 && +s[0].slice(-2);
if (ord) {
return 'other';
}
return (n === 0) ? 'zero'
: (n === 1) ? 'one'
: (n === 2) ? 'two'
: ((n100 >= 3 && n100 <= 10)) ? 'few'
: ((n100 >= 11 && n100 <= 99)) ? 'many'
: 'other';
},
as: function (n, ord) {
if (ord) {
return ((n === 1 || n === 5 || n === 7 || n === 8 || n === 9
|| n === 10)) ? 'one'
: ((n === 2
|| n === 3)) ? 'two'
: (n === 4) ? 'few'
: (n === 6) ? 'many'
: 'other';
}
return (n >= 0 && n <= 1) ? 'one' : 'other';
},
asa: C[1],
ast: C[3],
az: function (n, ord) {
const s = String(n).split('.'), i = s[0], i10 = Number(i.slice(-1)), i100 = Number(i.slice(-2)), i1000 = Number(i.slice(-3));
if (ord) {
return ((i10 === 1 || i10 === 2 || i10 === 5 || i10 === 7 || i10 === 8) || (i100 === 20 || i100 === 50
|| i100 === 70
|| i100 === 80)) ? 'one'
: ((i10 === 3 || i10 === 4) || (i1000 === 100 || i1000 === 200 || i1000 === 300 || i1000 === 400 || i1000 === 500
|| i1000 === 600 || i1000 === 700 || i1000 === 800
|| i1000 === 900)) ? 'few'
: (+Number(i) === 0 || i10 === 6 || (i100 === 40 || i100 === 60
|| i100 === 90)) ? 'many'
: 'other';
}
return (n === 1) ? 'one' : 'other';
},
be: function (n, ord) {
const s = String(n).split('.'), t0 = Number(s[0]) === n, n10 = t0 && Number(s[0].slice(-1)), n100 = t0 && Number(s[0].slice(-2));
if (ord) {
return ((n10 === 2
|| n10 === 3) && n100 !== 12 && n100 !== 13) ? 'few' : 'other';
}
return (n10 === 1 && n100 !== 11) ? 'one'
: ((n10 >= 2 && n10 <= 4) && (n100 < 12
|| n100 > 14)) ? 'few'
: (t0 && n10 === 0 || (n10 >= 5 && n10 <= 9)
|| (n100 >= 11 && n100 <= 14)) ? 'many'
: 'other';
},
bem: C[1],
bez: C[1],
bg: C[1],
bh: C[2],
bm: C[0],
bn: function (n, ord) {
if (ord) {
return ((n === 1 || n === 5 || n === 7 || n === 8 || n === 9
|| n === 10)) ? 'one'
: ((n === 2
|| n === 3)) ? 'two'
: (n === 4) ? 'few'
: (n === 6) ? 'many'
: 'other';
}
return (n >= 0 && n <= 1) ? 'one' : 'other';
},
bo: C[0],
br: function (n, ord) {
const s = String(n).split('.'), t0 = Number(s[0]) === n, n10 = t0 && Number(s[0].slice(-1)), n100 = t0 && Number(s[0].slice(-2)), n1000000 = t0 && Number(s[0].slice(-6));
if (ord) {
return 'other';
}
return (n10 === 1 && n100 !== 11 && n100 !== 71 && n100 !== 91) ? 'one'
: (n10 === 2 && n100 !== 12 && n100 !== 72 && n100 !== 92) ? 'two'
: (((n10 === 3 || n10 === 4) || n10 === 9) && (n100 < 10 || n100 > 19) && (n100 < 70 || n100 > 79) && (n100 < 90
|| n100 > 99)) ? 'few'
: (n !== 0 && t0 && n1000000 === 0) ? 'many'
: 'other';
},
brx: C[1],
bs: function (n, ord) {
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = Number(i.slice(-1)), i100 = Number(i.slice(-2)), f10 = Number(f.slice(-1)), f100 = Number(f.slice(-2));
if (ord) {
return 'other';
}
return (v0 && i10 === 1 && i100 !== 11
|| f10 === 1 && f100 !== 11) ? 'one'
: (v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12
|| f100 > 14)) ? 'few'
: 'other';
},
ca: function (n, ord) {
const s = String(n).split('.'), v0 = !s[1];
if (ord) {
return ((n === 1
|| n === 3)) ? 'one'
: (n === 2) ? 'two'
: (n === 4) ? 'few'
: 'other';
}
return (n === 1 && v0) ? 'one' : 'other';
},
ce: C[1],
cgg: C[1],
chr: C[1],
ckb: C[1],
cs: function (n, ord) {
const s = String(n).split('.'), i = s[0], v0 = !s[1];
if (ord) {
return 'other';
}
return (n === 1 && v0) ? 'one'
: ((Number(i) >= 2 && Number(i) <= 4) && v0) ? 'few'
: (!v0) ? 'many'
: 'other';
},
cy: function (n, ord) {
if (ord) {
return ((n === 0 || n === 7 || n === 8
|| n === 9)) ? 'zero'
: (n === 1) ? 'one'
: (n === 2) ? 'two'
: ((n === 3
|| n === 4)) ? 'few'
: ((n === 5
|| n === 6)) ? 'many'
: 'other';
}
return (n === 0) ? 'zero'
: (n === 1) ? 'one'
: (n === 2) ? 'two'
: (n === 3) ? 'few'
: (n === 6) ? 'many'
: 'other';
},
da: function (n, ord) {
const s = String(n).split('.'), i = s[0], t0 = Number(s[0]) === n;
if (ord) {
return 'other';
}
return (n === 1 || !t0 && (Number(i) === 0
|| Number(i) === 1)) ? 'one' : 'other';
},
de: C[3],
dsb: function (n, ord) {
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i100 = Number(i.slice(-2)), f100 = Number(f.slice(-2));
if (ord) {
return 'other';
}
return (v0 && i100 === 1
|| f100 === 1) ? 'one'
: (v0 && i100 === 2
|| f100 === 2) ? 'two'
: (v0 && (i100 === 3 || i100 === 4) || (f100 === 3
|| f100 === 4)) ? 'few'
: 'other';
},
dv: C[1],
dz: C[0],
ee: C[1],
el: C[1],
en: function (n, ord) {
const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) === n, n10 = t0 && Number(s[0].slice(-1)), n100 = t0 && Number(s[0].slice(-2));
if (ord) {
return (n10 === 1 && n100 !== 11) ? 'one'
: (n10 === 2 && n100 !== 12) ? 'two'
: (n10 === 3 && n100 !== 13) ? 'few'
: 'other';
}
return (n === 1 && v0) ? 'one' : 'other';
},
eo: C[1],
es: C[1],
et: C[3],
eu: C[1],
fa: function (n, ord) {
if (ord) {
return 'other';
}
return (n >= 0 && n <= 1) ? 'one' : 'other';
},
ff: function (n, ord) {
if (ord) {
return 'other';
}
return (n >= 0 && n < 2) ? 'one' : 'other';
},
fi: C[3],
fil: function (n, ord) {
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = Number(i.slice(-1)), f10 = Number(f.slice(-1));
if (ord) {
return (n === 1) ? 'one' : 'other';
}
return (v0 && (Number(i) === 1 || Number(i) === 2 || Number(i) === 3) || v0 && i10 !== 4 && i10 !== 6 && i10 !== 9
|| !v0 && f10 !== 4 && f10 !== 6 && f10 !== 9) ? 'one' : 'other';
},
fo: C[1],
fr: function (n, ord) {
if (ord) {
return (n === 1) ? 'one' : 'other';
}
return (n >= 0 && n < 2) ? 'one' : 'other';
},
fur: C[1],
fy: C[3],
ga: function (n, ord) {
const s = String(n).split('.'), t0 = Number(s[0]) === n;
if (ord) {
return (n === 1) ? 'one' : 'other';
}
return (n === 1) ? 'one'
: (n === 2) ? 'two'
: ((t0 && n >= 3 && n <= 6)) ? 'few'
: ((t0 && n >= 7 && n <= 10)) ? 'many'
: 'other';
},
gd: function (n, ord) {
const s = String(n).split('.'), t0 = Number(s[0]) === n;
if (ord) {
return ((n === 1
|| n === 11)) ? 'one'
: ((n === 2
|| n === 12)) ? 'two'
: ((n === 3
|| n === 13)) ? 'few'
: 'other';
}
return ((n === 1
|| n === 11)) ? 'one'
: ((n === 2
|| n === 12)) ? 'two'
: (((t0 && n >= 3 && n <= 10)
|| (t0 && n >= 13 && n <= 19))) ? 'few'
: 'other';
},
gl: C[3],
gsw: C[1],
gu: function (n, ord) {
if (ord) {
return (n === 1) ? 'one'
: ((n === 2
|| n === 3)) ? 'two'
: (n === 4) ? 'few'
: (n === 6) ? 'many'
: 'other';
}
return (n >= 0 && n <= 1) ? 'one' : 'other';
},
guw: C[2],
gv: function (n, ord) {
const s = String(n).split('.'), i = s[0], v0 = !s[1], i10 = Number(i.slice(-1)), i100 = Number(i.slice(-2));
if (ord) {
return 'other';
}
return (v0 && i10 === 1) ? 'one'
: (v0 && i10 === 2) ? 'two'
: (v0 && (i100 === 0 || i100 === 20 || i100 === 40 || i100 === 60
|| i100 === 80)) ? 'few'
: (!v0) ? 'many'
: 'other';
},
ha: C[1],
haw: C[1],
he: function (n, ord) {
const s = String(n).split('.'), i = s[0], v0 = !s[1], t0 = Number(s[0]) === n, n10 = t0 && Number(s[0].slice(-1));
if (ord) {
return 'other';
}
return (n === 1 && v0) ? 'one'
: (Number(i) === 2 && v0) ? 'two'
: (v0 && (n < 0
|| n > 10) && t0 && n10 === 0) ? 'many'
: 'other';
},
hi: function (n, ord) {
if (ord) {
return (n === 1) ? 'one'
: ((n === 2
|| n === 3)) ? 'two'
: (n === 4) ? 'few'
: (n === 6) ? 'many'
: 'other';
}
return (n >= 0 && n <= 1) ? 'one' : 'other';
},
hr: function (n, ord) {
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = Number(i.slice(-1)), i100 = Number(i.slice(-2)), f10 = Number(f.slice(-1)), f100 = Number(f.slice(-2));
if (ord) {
return 'other';
}
return (v0 && i10 === 1 && i100 !== 11
|| f10 === 1 && f100 !== 11) ? 'one'
: (v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12
|| f100 > 14)) ? 'few'
: 'other';
},
hsb: function (n, ord) {
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i100 = Number(i.slice(-2)), f100 = Number(f.slice(-2));
if (ord) {
return 'other';
}
return (v0 && i100 === 1
|| f100 === 1) ? 'one'
: (v0 && i100 === 2
|| f100 === 2) ? 'two'
: (v0 && (i100 === 3 || i100 === 4) || (f100 === 3
|| f100 === 4)) ? 'few'
: 'other';
},
hu: function (n, ord) {
if (ord) {
return ((n === 1
|| n === 5)) ? 'one' : 'other';
}
return (n === 1) ? 'one' : 'other';
},
hy: function (n, ord) {
if (ord) {
return (n === 1) ? 'one' : 'other';
}
return (n >= 0 && n < 2) ? 'one' : 'other';
},
ia: C[3],
id: C[0],
ig: C[0],
ii: C[0],
'in': C[0],
io: C[3],
is: function (n, ord) {
const s = String(n).split('.'), i = s[0], t0 = Number(s[0]) === n, i10 = Number(i.slice(-1)), i100 = Number(i.slice(-2));
if (ord) {
return 'other';
}
return (t0 && i10 === 1 && i100 !== 11
|| !t0) ? 'one' : 'other';
},
it: function (n, ord) {
const s = String(n).split('.'), v0 = !s[1];
if (ord) {
return ((n === 11 || n === 8 || n === 80
|| n === 800)) ? 'many' : 'other';
}
return (n === 1 && v0) ? 'one' : 'other';
},
iu: function (n, ord) {
if (ord) {
return 'other';
}
return (n === 1) ? 'one'
: (n === 2) ? 'two'
: 'other';
},
iw: function (n, ord) {
const s = String(n).split('.'), i = s[0], v0 = !s[1], t0 = Number(s[0]) === n, n10 = t0 && Number(s[0].slice(-1));
if (ord) {
return 'other';
}
return (n === 1 && v0) ? 'one'
: (Number(i) === 2 && v0) ? 'two'
: (v0 && (n < 0
|| n > 10) && t0 && n10 === 0) ? 'many'
: 'other';
},
ja: C[0],
jbo: C[0],
jgo: C[1],
ji: C[3],
jmc: C[1],
jv: C[0],
jw: C[0],
ka: function (n, ord) {
const s = String(n).split('.'), i = s[0], i100 = Number(i.slice(-2));
if (ord) {
return (Number(i) === 1) ? 'one'
: (Number(i) === 0 || ((i100 >= 2 && i100 <= 20) || i100 === 40 || i100 === 60
|| i100 === 80)) ? 'many'
: 'other';
}
return (n === 1) ? 'one' : 'other';
},
kab: function (n, ord) {
if (ord) {
return 'other';
}
return (n >= 0 && n < 2) ? 'one' : 'other';
},
kaj: C[1],
kcg: C[1],
kde: C[0],
kea: C[0],
kk: function (n, ord) {
const s = String(n).split('.'), t0 = Number(s[0]) === n, n10 = t0 && Number(s[0].slice(-1));
if (ord) {
return (n10 === 6 || n10 === 9
|| t0 && n10 === 0 && n !== 0) ? 'many' : 'other';
}
return (n === 1) ? 'one' : 'other';
},
kkj: C[1],
kl: C[1],
km: C[0],
kn: function (n, ord) {
if (ord) {
return 'other';
}
return (n >= 0 && n <= 1) ? 'one' : 'other';
},
ko: C[0],
ks: C[1],
ksb: C[1],
ksh: function (n, ord) {
if (ord) {
return 'other';
}
return (n === 0) ? 'zero'
: (n === 1) ? 'one'
: 'other';
},
ku: C[1],
kw: function (n, ord) {
if (ord) {
return 'other';
}
return (n === 1) ? 'one'
: (n === 2) ? 'two'
: 'other';
},
ky: C[1],
lag: function (n, ord) {
const s = String(n).split('.'), i = s[0];
if (ord) {
return 'other';
}
return (n === 0) ? 'zero'
: ((Number(i) === 0
|| Number(i) === 1) && n !== 0) ? 'one'
: 'other';
},
lb: C[1],
lg: C[1],
lkt: C[0],
ln: C[2],
lo: function (n, ord) {
if (ord) {
return (n === 1) ? 'one' : 'other';
}
return 'other';
},
lt: function (n, ord) {
const s = String(n).split('.'), f = s[1] || '', t0 = Number(s[0]) === n, n10 = t0 && Number(s[0].slice(-1)), n100 = t0 && Number(s[0].slice(-2));
if (ord) {
return 'other';
}
return (n10 === 1 && (n100 < 11
|| n100 > 19)) ? 'one'
: ((n10 >= 2 && n10 <= 9) && (n100 < 11
|| n100 > 19)) ? 'few'
: (Number(f) !== 0) ? 'many'
: 'other';
},
lv: function (n, ord) {
const s = String(n).split('.'), f = s[1] || '', v = f.length, t0 = Number(s[0]) === n, n10 = t0 && Number(s[0].slice(-1)), n100 = t0 && Number(s[0].slice(-2)), f100 = Number(f.slice(-2)), f10 = Number(f.slice(-1));
if (ord) {
return 'other';
}
return (t0 && n10 === 0 || (n100 >= 11 && n100 <= 19)
|| v === 2 && (f100 >= 11 && f100 <= 19)) ? 'zero'
: (n10 === 1 && n100 !== 11 || v === 2 && f10 === 1 && f100 !== 11
|| v !== 2 && f10 === 1) ? 'one'
: 'other';
},
mas: C[1],
mg: C[2],
mgo: C[1],
mk: function (n, ord) {
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = Number(i.slice(-1)), i100 = Number(i.slice(-2)), f10 = Number(f.slice(-1)), f100 = Number(f.slice(-2));
if (ord) {
return (i10 === 1 && i100 !== 11) ? 'one'
: (i10 === 2 && i100 !== 12) ? 'two'
: ((i10 === 7
|| i10 === 8) && i100 !== 17 && i100 !== 18) ? 'many'
: 'other';
}
return (v0 && i10 === 1 && i100 !== 11
|| f10 === 1 && f100 !== 11) ? 'one' : 'other';
},
ml: C[1],
mn: C[1],
mo: function (n, ord) {
const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) === n, n100 = t0 && Number(s[0].slice(-2));
if (ord) {
return (n === 1) ? 'one' : 'other';
}
return (n === 1 && v0) ? 'one'
: (!v0 || n === 0
|| n !== 1 && (n100 >= 1 && n100 <= 19)) ? 'few'
: 'other';
},
mr: function (n, ord) {
if (ord) {
return (n === 1) ? 'one'
: ((n === 2
|| n === 3)) ? 'two'
: (n === 4) ? 'few'
: 'other';
}
return (n >= 0 && n <= 1) ? 'one' : 'other';
},
ms: function (n, ord) {
if (ord) {
return (n === 1) ? 'one' : 'other';
}
return 'other';
},
mt: function (n, ord) {
const s = String(n).split('.'), t0 = Number(s[0]) === n, n100 = t0 && Number(s[0].slice(-2));
if (ord) {
return 'other';
}
return (n === 1) ? 'one'
: (n === 0
|| (n100 >= 2 && n100 <= 10)) ? 'few'
: ((n100 >= 11 && n100 <= 19)) ? 'many'
: 'other';
},
my: C[0],
nah: C[1],
naq: function (n, ord) {
if (ord) {
return 'other';
}
return (n === 1) ? 'one'
: (n === 2) ? 'two'
: 'other';
},
nb: C[1],
nd: C[1],
ne: function (n, ord) {
const s = String(n).split('.'), t0 = Number(s[0]) === n;
if (ord) {
return ((t0 && n >= 1 && n <= 4)) ? 'one' : 'other';
}
return (n === 1) ? 'one' : 'other';
},
nl: C[3],
nn: C[1],
nnh: C[1],
no: C[1],
nqo: C[0],
nr: C[1],
nso: C[2],
ny: C[1],
nyn: C[1],
om: C[1],
or: function (n, ord) {
const s = String(n).split('.'), t0 = Number(s[0]) === n;
if (ord) {
return ((n === 1 || n === 5
|| (t0 && n >= 7 && n <= 9))) ? 'one'
: ((n === 2
|| n === 3)) ? 'two'
: (n === 4) ? 'few'
: (n === 6) ? 'many'
: 'other';
}
return (n === 1) ? 'one' : 'other';
},
os: C[1],
pa: C[2],
pap: C[1],
pl: function (n, ord) {
const s = String(n).split('.'), i = s[0], v0 = !s[1], i10 = Number(i.slice(-1)), i100 = Number(i.slice(-2));
if (ord) {
return 'other';
}
return (n === 1 && v0) ? 'one'
: (v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12
|| i100 > 14)) ? 'few'
: (v0 && Number(i) !== 1 && (i10 === 0 || i10 === 1) || v0 && (i10 >= 5 && i10 <= 9)
|| v0 && (i100 >= 12 && i100 <= 14)) ? 'many'
: 'other';
},
prg: function (n, ord) {
const s = String(n).split('.'), f = s[1] || '', v = f.length, t0 = Number(s[0]) === n, n10 = t0 && Number(s[0].slice(-1)), n100 = t0 && Number(s[0].slice(-2)), f100 = Number(f.slice(-2)), f10 = Number(f.slice(-1));
if (ord) {
return 'other';
}
return (t0 && n10 === 0 || (n100 >= 11 && n100 <= 19)
|| v === 2 && (f100 >= 11 && f100 <= 19)) ? 'zero'
: (n10 === 1 && n100 !== 11 || v === 2 && f10 === 1 && f100 !== 11
|| v !== 2 && f10 === 1) ? 'one'
: 'other';
},
ps: C[1],
pt: function (n, ord) {
const s = String(n).split('.'), i = s[0];
if (ord) {
return 'other';
}
return ((Number(i) === 0
|| Number(i) === 1)) ? 'one' : 'other';
},
'pt-PT': C[3],
rm: C[1],
ro: function (n, ord) {
const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) === n, n100 = t0 && Number(s[0].slice(-2));
if (ord) {
return (n === 1) ? 'one' : 'other';
}
return (n === 1 && v0) ? 'one'
: (!v0 || n === 0
|| n !== 1 && (n100 >= 1 && n100 <= 19)) ? 'few'
: 'other';
},
rof: C[1],
root: C[0],
ru: function (n, ord) {
const s = String(n).split('.'), i = s[0], v0 = !s[1], i10 = Number(i.slice(-1)), i100 = Number(i.slice(-2));
if (ord) {
return 'other';
}
return (v0 && i10 === 1 && i100 !== 11) ? 'one'
: (v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12
|| i100 > 14)) ? 'few'
: (v0 && i10 === 0 || v0 && (i10 >= 5 && i10 <= 9)
|| v0 && (i100 >= 11 && i100 <= 14)) ? 'many'
: 'other';
},
rwk: C[1],
sah: C[0],
saq: C[1],
sc: function (n, ord) {
const s = String(n).split('.'), v0 = !s[1];
if (ord) {
return ((n === 11 || n === 8 || n === 80
|| n === 800)) ? 'many' : 'other';
}
return (n === 1 && v0) ? 'one' : 'other';
},
scn: function (n, ord) {
const s = String(n).split('.'), v0 = !s[1];
if (ord) {
return ((n === 11 || n === 8 || n === 80
|| n === 800)) ? 'many' : 'other';
}
return (n === 1 && v0) ? 'one' : 'other';
},
sd: C[1],
sdh: C[1],
se: function (n, ord) {
if (ord) {
return 'other';
}
return (n === 1) ? 'one'
: (n === 2) ? 'two'
: 'other';
},
seh: C[1],
ses: C[0],
sg: C[0],
sh: function (n, ord) {
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = Number(i.slice(-1)), i100 = Number(i.slice(-2)), f10 = Number(f.slice(-1)), f100 = Number(f.slice(-2));
if (ord) {
return 'other';
}
return (v0 && i10 === 1 && i100 !== 11
|| f10 === 1 && f100 !== 11) ? 'one'
: (v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12
|| f100 > 14)) ? 'few'
: 'other';
},
shi: function (n, ord) {
const s = String(n).split('.'), t0 = Number(s[0]) === n;
if (ord) {
return 'other';
}
return (n >= 0 && n <= 1) ? 'one'
: ((t0 && n >= 2 && n <= 10)) ? 'few'
: 'other';
},
si: function (n, ord) {
const s = String(n).split('.'), i = s[0], f = s[1] || '';
if (ord) {
return 'other';
}
return ((n === 0 || n === 1)
|| Number(i) === 0 && Number(f) === 1) ? 'one' : 'other';
},
sk: function (n, ord) {
const s = String(n).split('.'), i = s[0], v0 = !s[1];
if (ord) {
return 'other';
}
return (n === 1 && v0) ? 'one'
: ((Number(i) >= 2 && Number(i) <= 4) && v0) ? 'few'
: (!v0) ? 'many'
: 'other';
},
sl: function (n, ord) {
const s = String(n).split('.'), i = s[0], v0 = !s[1], i100 = Number(i.slice(-2));
if (ord) {
return 'other';
}
return (v0 && i100 === 1) ? 'one'
: (v0 && i100 === 2) ? 'two'
: (v0 && (i100 === 3 || i100 === 4)
|| !v0) ? 'few'
: 'other';
},
sma: function (n, ord) {
if (ord) {
return 'other';
}
return (n === 1) ? 'one'
: (n === 2) ? 'two'
: 'other';
},
smi: function (n, ord) {
if (ord) {
return 'other';
}
return (n === 1) ? 'one'
: (n === 2) ? 'two'
: 'other';
},
smj: function (n, ord) {
if (ord) {
return 'other';
}
return (n === 1) ? 'one'
: (n === 2) ? 'two'
: 'other';
},
smn: function (n, ord) {
if (ord) {
return 'other';
}
return (n === 1) ? 'one'
: (n === 2) ? 'two'
: 'other';
},
sms: function (n, ord) {
if (ord) {
return 'other';
}
return (n === 1) ? 'one'
: (n === 2) ? 'two'
: 'other';
},
sn: C[1],
so: C[1],
sq: function (n, ord) {
const s = String(n).split('.'), t0 = Number(s[0]) === n, n10 = t0 && Number(s[0].slice(-1)), n100 = t0 && Number(s[0].slice(-2));
if (ord) {
return (n === 1) ? 'one'
: (n10 === 4 && n100 !== 14) ? 'many'
: 'other';
}
return (n === 1) ? 'one' : 'other';
},
sr: function (n, ord) {
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = Number(i.slice(-1)), i100 = Number(i.slice(-2)), f10 = Number(f.slice(-1)), f100 = Number(f.slice(-2));
if (ord) {
return 'other';
}
return (v0 && i10 === 1 && i100 !== 11
|| f10 === 1 && f100 !== 11) ? 'one'
: (v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12
|| f100 > 14)) ? 'few'
: 'other';
},
ss: C[1],
ssy: C[1],
st: C[1],
sv: function (n, ord) {
const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) === n, n10 = t0 && Number(s[0].slice(-1)), n100 = t0 && Number(s[0].slice(-2));
if (ord) {
return ((n10 === 1
|| n10 === 2) && n100 !== 11 && n100 !== 12) ? 'one' : 'other';
}
return (n === 1 && v0) ? 'one' : 'other';
},
sw: C[3],
syr: C[1],
ta: C[1],
te: C[1],
teo: C[1],
th: C[0],
ti: C[2],
tig: C[1],
tk: function (n, ord) {
const s = String(n).split('.'), t0 = Number(s[0]) === n, n10 = t0 && Number(s[0].slice(-1));
if (ord) {
return ((n10 === 6 || n10 === 9)
|| n === 10) ? 'few' : 'other';
}
return (n === 1) ? 'one' : 'other';
},
tl: function (n, ord) {
const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = Number(i.slice(-1)), f10 = Number(f.slice(-1));
if (ord) {
return (n === 1) ? 'one' : 'other';
}
return (v0 && (Number(i) === 1 || Number(i) === 2 || Number(i) === 3) || v0 && i10 !== 4 && i10 !== 6 && i10 !== 9
|| !v0 && f10 !== 4 && f10 !== 6 && f10 !== 9) ? 'one' : 'other';
},
tn: C[1],
to: C[0],
tr: C[1],
ts: C[1],
tzm: function (n, ord) {
const s = String(n).split('.'), t0 = Number(s[0]) === n;
if (ord) {
return 'other';
}
return ((n === 0 || n === 1)
|| (t0 && n >= 11 && n <= 99)) ? 'one' : 'other';
},
ug: C[1],
uk: function (n, ord) {
const s = String(n).split('.'), i = s[0], v0 = !s[1], t0 = Number(s[0]) === n, n10 = t0 && Number(s[0].slice(-1)), n100 = t0 && Number(s[0].slice(-2)), i10 = Number(i.slice(-1)), i100 = Number(i.slice(-2));
if (ord) {
return (n10 === 3 && n100 !== 13) ? 'few' : 'other';
}
return (v0 && i10 === 1 && i100 !== 11) ? 'one'
: (v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12
|| i100 > 14)) ? 'few'
: (v0 && i10 === 0 || v0 && (i10 >= 5 && i10 <= 9)
|| v0 && (i100 >= 11 && i100 <= 14)) ? 'many'
: 'other';
},
ur: C[3],
uz: C[1],
ve: C[1],
vi: function (n, ord) {
if (ord) {
return (n === 1) ? 'one' : 'other';
}
return 'other';
},
vo: C[1],
vun: C[1],
wa: C[2],
wae: C[1],
wo: C[0],
xh: C[1],
xog: C[1],
yi: C[3],
yo: C[0],
yue: C[0],
zh: C[0],
zu: function (n, ord) {
if (ord) {
return 'other';
}
return (n >= 0 && n <= 1) ? 'one' : 'other';
}
};