@formatjs/intl-pluralrules
Version:
Polyfill for Intl.PluralRules
233 lines (232 loc) • 2.34 kB
JavaScript
import { match } from "@formatjs/intl-localematcher";
//#region packages/intl-pluralrules/supported-locales.generated.ts
const supportedLocales = [
"af",
"ak",
"am",
"an",
"ar",
"ars",
"as",
"asa",
"ast",
"az",
"bal",
"be",
"bem",
"bez",
"bg",
"bho",
"bm",
"bn",
"bo",
"br",
"brx",
"bs",
"ca",
"ce",
"ceb",
"cgg",
"chr",
"ckb",
"cs",
"cy",
"da",
"de",
"doi",
"dsb",
"dv",
"dz",
"ee",
"el",
"en",
"eo",
"es",
"et",
"eu",
"fa",
"ff",
"fi",
"fil",
"fo",
"fr",
"fur",
"fy",
"ga",
"gd",
"gl",
"gsw",
"gu",
"guw",
"gv",
"ha",
"haw",
"he",
"hi",
"hnj",
"hr",
"hsb",
"hu",
"hy",
"ia",
"id",
"ig",
"ii",
"io",
"is",
"it",
"iu",
"ja",
"jbo",
"jgo",
"jmc",
"jv",
"jw",
"ka",
"kab",
"kaj",
"kcg",
"kde",
"kea",
"kk",
"kkj",
"kl",
"km",
"kn",
"ko",
"ks",
"ksb",
"ksh",
"ku",
"kw",
"ky",
"lag",
"lb",
"lg",
"lij",
"lkt",
"ln",
"lo",
"lt",
"lv",
"mas",
"mg",
"mgo",
"mk",
"ml",
"mn",
"mo",
"mr",
"ms",
"mt",
"my",
"nah",
"naq",
"nb",
"nd",
"ne",
"nl",
"nn",
"nnh",
"no",
"nqo",
"nr",
"nso",
"ny",
"nyn",
"om",
"or",
"os",
"osa",
"pa",
"pap",
"pcm",
"pl",
"prg",
"ps",
"pt",
"pt-PT",
"rm",
"ro",
"rof",
"ru",
"rwk",
"sah",
"saq",
"sat",
"sc",
"scn",
"sd",
"sdh",
"se",
"seh",
"ses",
"sg",
"sh",
"shi",
"si",
"sk",
"sl",
"sma",
"smi",
"smj",
"smn",
"sms",
"sn",
"so",
"sq",
"sr",
"ss",
"ssy",
"st",
"su",
"sv",
"sw",
"syr",
"ta",
"te",
"teo",
"th",
"ti",
"tig",
"tk",
"tl",
"tn",
"to",
"tpi",
"tr",
"ts",
"tzm",
"ug",
"uk",
"und",
"ur",
"uz",
"ve",
"vi",
"vo",
"vun",
"wa",
"wae",
"wo",
"xh",
"xog",
"yi",
"yo",
"yue",
"zh",
"zu"
];
//#endregion
//#region packages/intl-pluralrules/should-polyfill.ts
function supportedLocalesOf(locale) {
if (!locale) return true;
const locales = Array.isArray(locale) ? locale : [locale];
return Intl.PluralRules.supportedLocalesOf(locales).length === locales.length;
}
function shouldPolyfill(locale = "en") {
if (!("PluralRules" in Intl) || new Intl.PluralRules("en", { minimumFractionDigits: 2 }).select(1) === "one" || !supportedLocalesOf(locale)) return locale ? match([locale], supportedLocales, "en") : void 0;
}
//#endregion
export { shouldPolyfill };
//# sourceMappingURL=should-polyfill.js.map