@formatjs/intl-pluralrules
Version:
Polyfill for Intl.PluralRules
31 lines (30 loc) • 1.64 kB
JavaScript
/* @generated */
// prettier-ignore
if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function') {
Intl.PluralRules.__addLocaleData({"data":{"categories":{"cardinal":["few","many","one","other","two","zero"],"ordinal":["many","one","other"]},"fn":function(num, isOrdinal, exponent = 0) {
const numStr = String(num);
const parts = numStr.split(".");
const integerPart = parts[0];
const decimalPart = parts[1] || "";
const n = Math.abs(parseFloat(numStr));
if (isOrdinal) {
if (n === 5 || (n % 100) === 5)
return "many";
if ((n >= 1 && n <= 4) || ((((((n % 100) >= 1 && (n % 100) <= 4) || ((n % 100) >= 21 && (n % 100) <= 24)) || ((n % 100) >= 41 && (n % 100) <= 44)) || ((n % 100) >= 61 && (n % 100) <= 64)) || ((n % 100) >= 81 && (n % 100) <= 84)))
return "one";
}
else {
if ((((((n % 100) === 3 || (n % 100) === 23) || (n % 100) === 43) || (n % 100) === 63) || (n % 100) === 83))
return "few";
if (n !== 1 && (((((n % 100) === 1 || (n % 100) === 21) || (n % 100) === 41) || (n % 100) === 61) || (n % 100) === 81))
return "many";
if (n === 1)
return "one";
if ((((((n % 100) === 2 || (n % 100) === 22) || (n % 100) === 42) || (n % 100) === 62) || (n % 100) === 82) || (n % 1000) === 0 && (((((n % 100000) >= 1000 && (n % 100000) <= 20000) || (n % 100000) === 40000) || (n % 100000) === 60000) || (n % 100000) === 80000) || n !== 0 && (n % 1000000) === 100000)
return "two";
if (n === 0)
return "zero";
}
return "other";
}},"locale":"kw"})
}