@formatjs/intl-displaynames 6.0.1 → 6.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/BUILD +832 -0
- package/CHANGELOG.md +541 -0
- package/LICENSE.md +0 -0
- package/README.md +0 -0
- package/abstract/CanonicalCodeForDisplayNames.ts +41 -0
- package/index.ts +311 -0
- package/package.json +8 -4
- package/polyfill-force.ts +8 -0
- package/polyfill.ts +11 -0
- package/scripts/cldr-raw.ts +21 -0
- package/scripts/cldr.ts +31 -0
- package/scripts/extract-displaynames.ts +119 -0
- package/scripts/test-locale-data-gen.ts +19 -0
- package/scripts/test262-main-gen.ts +28 -0
- package/should-polyfill.ts +53 -0
- package/supported-locales.generated.ts +1 -0
- package/test262-main.ts +23 -0
- package/tests/index.test.ts +54 -0
- package/tests/locale-data/en.json +1 -0
- package/tests/locale-data/zh.json +1 -0
- package/tests/should-polyfill.test.ts +23 -0
- package/tsconfig.json +5 -0
- package/abstract/CanonicalCodeForDisplayNames.d.ts +0 -2
- package/abstract/CanonicalCodeForDisplayNames.d.ts.map +0 -1
- package/abstract/CanonicalCodeForDisplayNames.js +0 -35
- package/index.d.ts +0 -26
- package/index.d.ts.map +0 -1
- package/index.js +0 -179
- package/lib/abstract/CanonicalCodeForDisplayNames.d.ts +0 -2
- package/lib/abstract/CanonicalCodeForDisplayNames.d.ts.map +0 -1
- package/lib/abstract/CanonicalCodeForDisplayNames.js +0 -31
- package/lib/index.d.ts +0 -26
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -176
- package/lib/polyfill-force.d.ts +0 -2
- package/lib/polyfill-force.d.ts.map +0 -1
- package/lib/polyfill-force.js +0 -7
- package/lib/polyfill.d.ts +0 -2
- package/lib/polyfill.d.ts.map +0 -1
- package/lib/polyfill.js +0 -10
- package/lib/should-polyfill.d.ts +0 -3
- package/lib/should-polyfill.d.ts.map +0 -1
- package/lib/should-polyfill.js +0 -43
- package/lib/supported-locales.d.ts +0 -2
- package/lib/supported-locales.d.ts.map +0 -1
- package/lib/supported-locales.js +0 -2
- package/locale-data/af-NA.d.ts +0 -1
- package/locale-data/af-NA.js +0 -6
- package/locale-data/af.d.ts +0 -1
- package/locale-data/af.js +0 -6
- package/locale-data/agq.d.ts +0 -1
- package/locale-data/agq.js +0 -6
- package/locale-data/ak.d.ts +0 -1
- package/locale-data/ak.js +0 -6
- package/locale-data/am.d.ts +0 -1
- package/locale-data/am.js +0 -6
- package/locale-data/ar-AE.d.ts +0 -1
- package/locale-data/ar-AE.js +0 -6
- package/locale-data/ar-BH.d.ts +0 -1
- package/locale-data/ar-BH.js +0 -6
- package/locale-data/ar-DJ.d.ts +0 -1
- package/locale-data/ar-DJ.js +0 -6
- package/locale-data/ar-DZ.d.ts +0 -1
- package/locale-data/ar-DZ.js +0 -6
- package/locale-data/ar-EG.d.ts +0 -1
- package/locale-data/ar-EG.js +0 -6
- package/locale-data/ar-EH.d.ts +0 -1
- package/locale-data/ar-EH.js +0 -6
- package/locale-data/ar-ER.d.ts +0 -1
- package/locale-data/ar-ER.js +0 -6
- package/locale-data/ar-IL.d.ts +0 -1
- package/locale-data/ar-IL.js +0 -6
- package/locale-data/ar-IQ.d.ts +0 -1
- package/locale-data/ar-IQ.js +0 -6
- package/locale-data/ar-JO.d.ts +0 -1
- package/locale-data/ar-JO.js +0 -6
- package/locale-data/ar-KM.d.ts +0 -1
- package/locale-data/ar-KM.js +0 -6
- package/locale-data/ar-KW.d.ts +0 -1
- package/locale-data/ar-KW.js +0 -6
- package/locale-data/ar-LB.d.ts +0 -1
- package/locale-data/ar-LB.js +0 -6
- package/locale-data/ar-LY.d.ts +0 -1
- package/locale-data/ar-LY.js +0 -6
- package/locale-data/ar-MA.d.ts +0 -1
- package/locale-data/ar-MA.js +0 -6
- package/locale-data/ar-MR.d.ts +0 -1
- package/locale-data/ar-MR.js +0 -6
- package/locale-data/ar-OM.d.ts +0 -1
- package/locale-data/ar-OM.js +0 -6
- package/locale-data/ar-PS.d.ts +0 -1
- package/locale-data/ar-PS.js +0 -6
- package/locale-data/ar-QA.d.ts +0 -1
- package/locale-data/ar-QA.js +0 -6
- package/locale-data/ar-SA.d.ts +0 -1
- package/locale-data/ar-SA.js +0 -6
- package/locale-data/ar-SD.d.ts +0 -1
- package/locale-data/ar-SD.js +0 -6
- package/locale-data/ar-SO.d.ts +0 -1
- package/locale-data/ar-SO.js +0 -6
- package/locale-data/ar-SS.d.ts +0 -1
- package/locale-data/ar-SS.js +0 -6
- package/locale-data/ar-SY.d.ts +0 -1
- package/locale-data/ar-SY.js +0 -6
- package/locale-data/ar-TD.d.ts +0 -1
- package/locale-data/ar-TD.js +0 -6
- package/locale-data/ar-TN.d.ts +0 -1
- package/locale-data/ar-TN.js +0 -6
- package/locale-data/ar-YE.d.ts +0 -1
- package/locale-data/ar-YE.js +0 -6
- package/locale-data/ar.d.ts +0 -1
- package/locale-data/ar.js +0 -6
- package/locale-data/as.d.ts +0 -1
- package/locale-data/as.js +0 -6
- package/locale-data/asa.d.ts +0 -1
- package/locale-data/asa.js +0 -6
- package/locale-data/ast.d.ts +0 -1
- package/locale-data/ast.js +0 -6
- package/locale-data/az-Cyrl.d.ts +0 -1
- package/locale-data/az-Cyrl.js +0 -6
- package/locale-data/az-Latn.d.ts +0 -1
- package/locale-data/az-Latn.js +0 -6
- package/locale-data/az.d.ts +0 -1
- package/locale-data/az.js +0 -6
- package/locale-data/bas.d.ts +0 -1
- package/locale-data/bas.js +0 -6
- package/locale-data/be-tarask.d.ts +0 -1
- package/locale-data/be-tarask.js +0 -6
- package/locale-data/be.d.ts +0 -1
- package/locale-data/be.js +0 -6
- package/locale-data/bem.d.ts +0 -1
- package/locale-data/bem.js +0 -6
- package/locale-data/bez.d.ts +0 -1
- package/locale-data/bez.js +0 -6
- package/locale-data/bg.d.ts +0 -1
- package/locale-data/bg.js +0 -6
- package/locale-data/bm.d.ts +0 -1
- package/locale-data/bm.js +0 -6
- package/locale-data/bn-IN.d.ts +0 -1
- package/locale-data/bn-IN.js +0 -6
- package/locale-data/bn.d.ts +0 -1
- package/locale-data/bn.js +0 -6
- package/locale-data/bo-IN.d.ts +0 -1
- package/locale-data/bo-IN.js +0 -6
- package/locale-data/bo.d.ts +0 -1
- package/locale-data/bo.js +0 -6
- package/locale-data/br.d.ts +0 -1
- package/locale-data/br.js +0 -6
- package/locale-data/brx.d.ts +0 -1
- package/locale-data/brx.js +0 -6
- package/locale-data/bs-Cyrl.d.ts +0 -1
- package/locale-data/bs-Cyrl.js +0 -6
- package/locale-data/bs-Latn.d.ts +0 -1
- package/locale-data/bs-Latn.js +0 -6
- package/locale-data/bs.d.ts +0 -1
- package/locale-data/bs.js +0 -6
- package/locale-data/ca-AD.d.ts +0 -1
- package/locale-data/ca-AD.js +0 -6
- package/locale-data/ca-ES-valencia.d.ts +0 -1
- package/locale-data/ca-ES-valencia.js +0 -6
- package/locale-data/ca-FR.d.ts +0 -1
- package/locale-data/ca-FR.js +0 -6
- package/locale-data/ca-IT.d.ts +0 -1
- package/locale-data/ca-IT.js +0 -6
- package/locale-data/ca.d.ts +0 -1
- package/locale-data/ca.js +0 -6
- package/locale-data/ccp-IN.d.ts +0 -1
- package/locale-data/ccp-IN.js +0 -6
- package/locale-data/ccp.d.ts +0 -1
- package/locale-data/ccp.js +0 -6
- package/locale-data/ce.d.ts +0 -1
- package/locale-data/ce.js +0 -6
- package/locale-data/ceb.d.ts +0 -1
- package/locale-data/ceb.js +0 -6
- package/locale-data/cgg.d.ts +0 -1
- package/locale-data/cgg.js +0 -6
- package/locale-data/chr.d.ts +0 -1
- package/locale-data/chr.js +0 -6
- package/locale-data/ckb-IR.d.ts +0 -1
- package/locale-data/ckb-IR.js +0 -6
- package/locale-data/ckb.d.ts +0 -1
- package/locale-data/ckb.js +0 -6
- package/locale-data/cs.d.ts +0 -1
- package/locale-data/cs.js +0 -6
- package/locale-data/cy.d.ts +0 -1
- package/locale-data/cy.js +0 -6
- package/locale-data/da-GL.d.ts +0 -1
- package/locale-data/da-GL.js +0 -6
- package/locale-data/da.d.ts +0 -1
- package/locale-data/da.js +0 -6
- package/locale-data/dav.d.ts +0 -1
- package/locale-data/dav.js +0 -6
- package/locale-data/de-AT.d.ts +0 -1
- package/locale-data/de-AT.js +0 -6
- package/locale-data/de-BE.d.ts +0 -1
- package/locale-data/de-BE.js +0 -6
- package/locale-data/de-CH.d.ts +0 -1
- package/locale-data/de-CH.js +0 -6
- package/locale-data/de-IT.d.ts +0 -1
- package/locale-data/de-IT.js +0 -6
- package/locale-data/de-LI.d.ts +0 -1
- package/locale-data/de-LI.js +0 -6
- package/locale-data/de-LU.d.ts +0 -1
- package/locale-data/de-LU.js +0 -6
- package/locale-data/de.d.ts +0 -1
- package/locale-data/de.js +0 -6
- package/locale-data/dje.d.ts +0 -1
- package/locale-data/dje.js +0 -6
- package/locale-data/doi.d.ts +0 -1
- package/locale-data/doi.js +0 -6
- package/locale-data/dsb.d.ts +0 -1
- package/locale-data/dsb.js +0 -6
- package/locale-data/dua.d.ts +0 -1
- package/locale-data/dua.js +0 -6
- package/locale-data/dyo.d.ts +0 -1
- package/locale-data/dyo.js +0 -6
- package/locale-data/dz.d.ts +0 -1
- package/locale-data/dz.js +0 -6
- package/locale-data/ebu.d.ts +0 -1
- package/locale-data/ebu.js +0 -6
- package/locale-data/ee-TG.d.ts +0 -1
- package/locale-data/ee-TG.js +0 -6
- package/locale-data/ee.d.ts +0 -1
- package/locale-data/ee.js +0 -6
- package/locale-data/el-CY.d.ts +0 -1
- package/locale-data/el-CY.js +0 -6
- package/locale-data/el.d.ts +0 -1
- package/locale-data/el.js +0 -6
- package/locale-data/en-001.d.ts +0 -1
- package/locale-data/en-001.js +0 -6
- package/locale-data/en-150.d.ts +0 -1
- package/locale-data/en-150.js +0 -6
- package/locale-data/en-AE.d.ts +0 -1
- package/locale-data/en-AE.js +0 -6
- package/locale-data/en-AG.d.ts +0 -1
- package/locale-data/en-AG.js +0 -6
- package/locale-data/en-AI.d.ts +0 -1
- package/locale-data/en-AI.js +0 -6
- package/locale-data/en-AS.d.ts +0 -1
- package/locale-data/en-AS.js +0 -6
- package/locale-data/en-AT.d.ts +0 -1
- package/locale-data/en-AT.js +0 -6
- package/locale-data/en-AU.d.ts +0 -1
- package/locale-data/en-AU.js +0 -6
- package/locale-data/en-BB.d.ts +0 -1
- package/locale-data/en-BB.js +0 -6
- package/locale-data/en-BE.d.ts +0 -1
- package/locale-data/en-BE.js +0 -6
- package/locale-data/en-BI.d.ts +0 -1
- package/locale-data/en-BI.js +0 -6
- package/locale-data/en-BM.d.ts +0 -1
- package/locale-data/en-BM.js +0 -6
- package/locale-data/en-BS.d.ts +0 -1
- package/locale-data/en-BS.js +0 -6
- package/locale-data/en-BW.d.ts +0 -1
- package/locale-data/en-BW.js +0 -6
- package/locale-data/en-BZ.d.ts +0 -1
- package/locale-data/en-BZ.js +0 -6
- package/locale-data/en-CA.d.ts +0 -1
- package/locale-data/en-CA.js +0 -6
- package/locale-data/en-CC.d.ts +0 -1
- package/locale-data/en-CC.js +0 -6
- package/locale-data/en-CH.d.ts +0 -1
- package/locale-data/en-CH.js +0 -6
- package/locale-data/en-CK.d.ts +0 -1
- package/locale-data/en-CK.js +0 -6
- package/locale-data/en-CM.d.ts +0 -1
- package/locale-data/en-CM.js +0 -6
- package/locale-data/en-CX.d.ts +0 -1
- package/locale-data/en-CX.js +0 -6
- package/locale-data/en-CY.d.ts +0 -1
- package/locale-data/en-CY.js +0 -6
- package/locale-data/en-DE.d.ts +0 -1
- package/locale-data/en-DE.js +0 -6
- package/locale-data/en-DG.d.ts +0 -1
- package/locale-data/en-DG.js +0 -6
- package/locale-data/en-DK.d.ts +0 -1
- package/locale-data/en-DK.js +0 -6
- package/locale-data/en-DM.d.ts +0 -1
- package/locale-data/en-DM.js +0 -6
- package/locale-data/en-ER.d.ts +0 -1
- package/locale-data/en-ER.js +0 -6
- package/locale-data/en-FI.d.ts +0 -1
- package/locale-data/en-FI.js +0 -6
- package/locale-data/en-FJ.d.ts +0 -1
- package/locale-data/en-FJ.js +0 -6
- package/locale-data/en-FK.d.ts +0 -1
- package/locale-data/en-FK.js +0 -6
- package/locale-data/en-FM.d.ts +0 -1
- package/locale-data/en-FM.js +0 -6
- package/locale-data/en-GB.d.ts +0 -1
- package/locale-data/en-GB.js +0 -6
- package/locale-data/en-GD.d.ts +0 -1
- package/locale-data/en-GD.js +0 -6
- package/locale-data/en-GG.d.ts +0 -1
- package/locale-data/en-GG.js +0 -6
- package/locale-data/en-GH.d.ts +0 -1
- package/locale-data/en-GH.js +0 -6
- package/locale-data/en-GI.d.ts +0 -1
- package/locale-data/en-GI.js +0 -6
- package/locale-data/en-GM.d.ts +0 -1
- package/locale-data/en-GM.js +0 -6
- package/locale-data/en-GU.d.ts +0 -1
- package/locale-data/en-GU.js +0 -6
- package/locale-data/en-GY.d.ts +0 -1
- package/locale-data/en-GY.js +0 -6
- package/locale-data/en-HK.d.ts +0 -1
- package/locale-data/en-HK.js +0 -6
- package/locale-data/en-IE.d.ts +0 -1
- package/locale-data/en-IE.js +0 -6
- package/locale-data/en-IL.d.ts +0 -1
- package/locale-data/en-IL.js +0 -6
- package/locale-data/en-IM.d.ts +0 -1
- package/locale-data/en-IM.js +0 -6
- package/locale-data/en-IN.d.ts +0 -1
- package/locale-data/en-IN.js +0 -6
- package/locale-data/en-IO.d.ts +0 -1
- package/locale-data/en-IO.js +0 -6
- package/locale-data/en-JE.d.ts +0 -1
- package/locale-data/en-JE.js +0 -6
- package/locale-data/en-JM.d.ts +0 -1
- package/locale-data/en-JM.js +0 -6
- package/locale-data/en-KE.d.ts +0 -1
- package/locale-data/en-KE.js +0 -6
- package/locale-data/en-KI.d.ts +0 -1
- package/locale-data/en-KI.js +0 -6
- package/locale-data/en-KN.d.ts +0 -1
- package/locale-data/en-KN.js +0 -6
- package/locale-data/en-KY.d.ts +0 -1
- package/locale-data/en-KY.js +0 -6
- package/locale-data/en-LC.d.ts +0 -1
- package/locale-data/en-LC.js +0 -6
- package/locale-data/en-LR.d.ts +0 -1
- package/locale-data/en-LR.js +0 -6
- package/locale-data/en-LS.d.ts +0 -1
- package/locale-data/en-LS.js +0 -6
- package/locale-data/en-MG.d.ts +0 -1
- package/locale-data/en-MG.js +0 -6
- package/locale-data/en-MH.d.ts +0 -1
- package/locale-data/en-MH.js +0 -6
- package/locale-data/en-MO.d.ts +0 -1
- package/locale-data/en-MO.js +0 -6
- package/locale-data/en-MP.d.ts +0 -1
- package/locale-data/en-MP.js +0 -6
- package/locale-data/en-MS.d.ts +0 -1
- package/locale-data/en-MS.js +0 -6
- package/locale-data/en-MT.d.ts +0 -1
- package/locale-data/en-MT.js +0 -6
- package/locale-data/en-MU.d.ts +0 -1
- package/locale-data/en-MU.js +0 -6
- package/locale-data/en-MW.d.ts +0 -1
- package/locale-data/en-MW.js +0 -6
- package/locale-data/en-MY.d.ts +0 -1
- package/locale-data/en-MY.js +0 -6
- package/locale-data/en-NA.d.ts +0 -1
- package/locale-data/en-NA.js +0 -6
- package/locale-data/en-NF.d.ts +0 -1
- package/locale-data/en-NF.js +0 -6
- package/locale-data/en-NG.d.ts +0 -1
- package/locale-data/en-NG.js +0 -6
- package/locale-data/en-NL.d.ts +0 -1
- package/locale-data/en-NL.js +0 -6
- package/locale-data/en-NR.d.ts +0 -1
- package/locale-data/en-NR.js +0 -6
- package/locale-data/en-NU.d.ts +0 -1
- package/locale-data/en-NU.js +0 -6
- package/locale-data/en-NZ.d.ts +0 -1
- package/locale-data/en-NZ.js +0 -6
- package/locale-data/en-PG.d.ts +0 -1
- package/locale-data/en-PG.js +0 -6
- package/locale-data/en-PH.d.ts +0 -1
- package/locale-data/en-PH.js +0 -6
- package/locale-data/en-PK.d.ts +0 -1
- package/locale-data/en-PK.js +0 -6
- package/locale-data/en-PN.d.ts +0 -1
- package/locale-data/en-PN.js +0 -6
- package/locale-data/en-PR.d.ts +0 -1
- package/locale-data/en-PR.js +0 -6
- package/locale-data/en-PW.d.ts +0 -1
- package/locale-data/en-PW.js +0 -6
- package/locale-data/en-RW.d.ts +0 -1
- package/locale-data/en-RW.js +0 -6
- package/locale-data/en-SB.d.ts +0 -1
- package/locale-data/en-SB.js +0 -6
- package/locale-data/en-SC.d.ts +0 -1
- package/locale-data/en-SC.js +0 -6
- package/locale-data/en-SD.d.ts +0 -1
- package/locale-data/en-SD.js +0 -6
- package/locale-data/en-SE.d.ts +0 -1
- package/locale-data/en-SE.js +0 -6
- package/locale-data/en-SG.d.ts +0 -1
- package/locale-data/en-SG.js +0 -6
- package/locale-data/en-SH.d.ts +0 -1
- package/locale-data/en-SH.js +0 -6
- package/locale-data/en-SI.d.ts +0 -1
- package/locale-data/en-SI.js +0 -6
- package/locale-data/en-SL.d.ts +0 -1
- package/locale-data/en-SL.js +0 -6
- package/locale-data/en-SS.d.ts +0 -1
- package/locale-data/en-SS.js +0 -6
- package/locale-data/en-SX.d.ts +0 -1
- package/locale-data/en-SX.js +0 -6
- package/locale-data/en-SZ.d.ts +0 -1
- package/locale-data/en-SZ.js +0 -6
- package/locale-data/en-TC.d.ts +0 -1
- package/locale-data/en-TC.js +0 -6
- package/locale-data/en-TK.d.ts +0 -1
- package/locale-data/en-TK.js +0 -6
- package/locale-data/en-TO.d.ts +0 -1
- package/locale-data/en-TO.js +0 -6
- package/locale-data/en-TT.d.ts +0 -1
- package/locale-data/en-TT.js +0 -6
- package/locale-data/en-TV.d.ts +0 -1
- package/locale-data/en-TV.js +0 -6
- package/locale-data/en-TZ.d.ts +0 -1
- package/locale-data/en-TZ.js +0 -6
- package/locale-data/en-UG.d.ts +0 -1
- package/locale-data/en-UG.js +0 -6
- package/locale-data/en-UM.d.ts +0 -1
- package/locale-data/en-UM.js +0 -6
- package/locale-data/en-VC.d.ts +0 -1
- package/locale-data/en-VC.js +0 -6
- package/locale-data/en-VG.d.ts +0 -1
- package/locale-data/en-VG.js +0 -6
- package/locale-data/en-VI.d.ts +0 -1
- package/locale-data/en-VI.js +0 -6
- package/locale-data/en-VU.d.ts +0 -1
- package/locale-data/en-VU.js +0 -6
- package/locale-data/en-WS.d.ts +0 -1
- package/locale-data/en-WS.js +0 -6
- package/locale-data/en-ZA.d.ts +0 -1
- package/locale-data/en-ZA.js +0 -6
- package/locale-data/en-ZM.d.ts +0 -1
- package/locale-data/en-ZM.js +0 -6
- package/locale-data/en-ZW.d.ts +0 -1
- package/locale-data/en-ZW.js +0 -6
- package/locale-data/en.d.ts +0 -1
- package/locale-data/en.js +0 -6
- package/locale-data/eo.d.ts +0 -1
- package/locale-data/eo.js +0 -6
- package/locale-data/es-419.d.ts +0 -1
- package/locale-data/es-419.js +0 -6
- package/locale-data/es-AR.d.ts +0 -1
- package/locale-data/es-AR.js +0 -6
- package/locale-data/es-BO.d.ts +0 -1
- package/locale-data/es-BO.js +0 -6
- package/locale-data/es-BR.d.ts +0 -1
- package/locale-data/es-BR.js +0 -6
- package/locale-data/es-BZ.d.ts +0 -1
- package/locale-data/es-BZ.js +0 -6
- package/locale-data/es-CL.d.ts +0 -1
- package/locale-data/es-CL.js +0 -6
- package/locale-data/es-CO.d.ts +0 -1
- package/locale-data/es-CO.js +0 -6
- package/locale-data/es-CR.d.ts +0 -1
- package/locale-data/es-CR.js +0 -6
- package/locale-data/es-CU.d.ts +0 -1
- package/locale-data/es-CU.js +0 -6
- package/locale-data/es-DO.d.ts +0 -1
- package/locale-data/es-DO.js +0 -6
- package/locale-data/es-EA.d.ts +0 -1
- package/locale-data/es-EA.js +0 -6
- package/locale-data/es-EC.d.ts +0 -1
- package/locale-data/es-EC.js +0 -6
- package/locale-data/es-GQ.d.ts +0 -1
- package/locale-data/es-GQ.js +0 -6
- package/locale-data/es-GT.d.ts +0 -1
- package/locale-data/es-GT.js +0 -6
- package/locale-data/es-HN.d.ts +0 -1
- package/locale-data/es-HN.js +0 -6
- package/locale-data/es-IC.d.ts +0 -1
- package/locale-data/es-IC.js +0 -6
- package/locale-data/es-MX.d.ts +0 -1
- package/locale-data/es-MX.js +0 -6
- package/locale-data/es-NI.d.ts +0 -1
- package/locale-data/es-NI.js +0 -6
- package/locale-data/es-PA.d.ts +0 -1
- package/locale-data/es-PA.js +0 -6
- package/locale-data/es-PE.d.ts +0 -1
- package/locale-data/es-PE.js +0 -6
- package/locale-data/es-PH.d.ts +0 -1
- package/locale-data/es-PH.js +0 -6
- package/locale-data/es-PR.d.ts +0 -1
- package/locale-data/es-PR.js +0 -6
- package/locale-data/es-PY.d.ts +0 -1
- package/locale-data/es-PY.js +0 -6
- package/locale-data/es-SV.d.ts +0 -1
- package/locale-data/es-SV.js +0 -6
- package/locale-data/es-US.d.ts +0 -1
- package/locale-data/es-US.js +0 -6
- package/locale-data/es-UY.d.ts +0 -1
- package/locale-data/es-UY.js +0 -6
- package/locale-data/es-VE.d.ts +0 -1
- package/locale-data/es-VE.js +0 -6
- package/locale-data/es.d.ts +0 -1
- package/locale-data/es.js +0 -6
- package/locale-data/et.d.ts +0 -1
- package/locale-data/et.js +0 -6
- package/locale-data/eu.d.ts +0 -1
- package/locale-data/eu.js +0 -6
- package/locale-data/ewo.d.ts +0 -1
- package/locale-data/ewo.js +0 -6
- package/locale-data/fa-AF.d.ts +0 -1
- package/locale-data/fa-AF.js +0 -6
- package/locale-data/fa.d.ts +0 -1
- package/locale-data/fa.js +0 -6
- package/locale-data/ff-Adlm-BF.d.ts +0 -1
- package/locale-data/ff-Adlm-BF.js +0 -6
- package/locale-data/ff-Adlm-CM.d.ts +0 -1
- package/locale-data/ff-Adlm-CM.js +0 -6
- package/locale-data/ff-Adlm-GH.d.ts +0 -1
- package/locale-data/ff-Adlm-GH.js +0 -6
- package/locale-data/ff-Adlm-GM.d.ts +0 -1
- package/locale-data/ff-Adlm-GM.js +0 -6
- package/locale-data/ff-Adlm-GW.d.ts +0 -1
- package/locale-data/ff-Adlm-GW.js +0 -6
- package/locale-data/ff-Adlm-LR.d.ts +0 -1
- package/locale-data/ff-Adlm-LR.js +0 -6
- package/locale-data/ff-Adlm-MR.d.ts +0 -1
- package/locale-data/ff-Adlm-MR.js +0 -6
- package/locale-data/ff-Adlm-NE.d.ts +0 -1
- package/locale-data/ff-Adlm-NE.js +0 -6
- package/locale-data/ff-Adlm-NG.d.ts +0 -1
- package/locale-data/ff-Adlm-NG.js +0 -6
- package/locale-data/ff-Adlm-SL.d.ts +0 -1
- package/locale-data/ff-Adlm-SL.js +0 -6
- package/locale-data/ff-Adlm-SN.d.ts +0 -1
- package/locale-data/ff-Adlm-SN.js +0 -6
- package/locale-data/ff-Adlm.d.ts +0 -1
- package/locale-data/ff-Adlm.js +0 -6
- package/locale-data/ff-Latn-BF.d.ts +0 -1
- package/locale-data/ff-Latn-BF.js +0 -6
- package/locale-data/ff-Latn-CM.d.ts +0 -1
- package/locale-data/ff-Latn-CM.js +0 -6
- package/locale-data/ff-Latn-GH.d.ts +0 -1
- package/locale-data/ff-Latn-GH.js +0 -6
- package/locale-data/ff-Latn-GM.d.ts +0 -1
- package/locale-data/ff-Latn-GM.js +0 -6
- package/locale-data/ff-Latn-GN.d.ts +0 -1
- package/locale-data/ff-Latn-GN.js +0 -6
- package/locale-data/ff-Latn-GW.d.ts +0 -1
- package/locale-data/ff-Latn-GW.js +0 -6
- package/locale-data/ff-Latn-LR.d.ts +0 -1
- package/locale-data/ff-Latn-LR.js +0 -6
- package/locale-data/ff-Latn-MR.d.ts +0 -1
- package/locale-data/ff-Latn-MR.js +0 -6
- package/locale-data/ff-Latn-NE.d.ts +0 -1
- package/locale-data/ff-Latn-NE.js +0 -6
- package/locale-data/ff-Latn-NG.d.ts +0 -1
- package/locale-data/ff-Latn-NG.js +0 -6
- package/locale-data/ff-Latn-SL.d.ts +0 -1
- package/locale-data/ff-Latn-SL.js +0 -6
- package/locale-data/ff-Latn.d.ts +0 -1
- package/locale-data/ff-Latn.js +0 -6
- package/locale-data/ff.d.ts +0 -1
- package/locale-data/ff.js +0 -6
- package/locale-data/fi.d.ts +0 -1
- package/locale-data/fi.js +0 -6
- package/locale-data/fil.d.ts +0 -1
- package/locale-data/fil.js +0 -6
- package/locale-data/fo-DK.d.ts +0 -1
- package/locale-data/fo-DK.js +0 -6
- package/locale-data/fo.d.ts +0 -1
- package/locale-data/fo.js +0 -6
- package/locale-data/fr-BE.d.ts +0 -1
- package/locale-data/fr-BE.js +0 -6
- package/locale-data/fr-BF.d.ts +0 -1
- package/locale-data/fr-BF.js +0 -6
- package/locale-data/fr-BI.d.ts +0 -1
- package/locale-data/fr-BI.js +0 -6
- package/locale-data/fr-BJ.d.ts +0 -1
- package/locale-data/fr-BJ.js +0 -6
- package/locale-data/fr-BL.d.ts +0 -1
- package/locale-data/fr-BL.js +0 -6
- package/locale-data/fr-CA.d.ts +0 -1
- package/locale-data/fr-CA.js +0 -6
- package/locale-data/fr-CD.d.ts +0 -1
- package/locale-data/fr-CD.js +0 -6
- package/locale-data/fr-CF.d.ts +0 -1
- package/locale-data/fr-CF.js +0 -6
- package/locale-data/fr-CG.d.ts +0 -1
- package/locale-data/fr-CG.js +0 -6
- package/locale-data/fr-CH.d.ts +0 -1
- package/locale-data/fr-CH.js +0 -6
- package/locale-data/fr-CI.d.ts +0 -1
- package/locale-data/fr-CI.js +0 -6
- package/locale-data/fr-CM.d.ts +0 -1
- package/locale-data/fr-CM.js +0 -6
- package/locale-data/fr-DJ.d.ts +0 -1
- package/locale-data/fr-DJ.js +0 -6
- package/locale-data/fr-DZ.d.ts +0 -1
- package/locale-data/fr-DZ.js +0 -6
- package/locale-data/fr-GA.d.ts +0 -1
- package/locale-data/fr-GA.js +0 -6
- package/locale-data/fr-GF.d.ts +0 -1
- package/locale-data/fr-GF.js +0 -6
- package/locale-data/fr-GN.d.ts +0 -1
- package/locale-data/fr-GN.js +0 -6
- package/locale-data/fr-GP.d.ts +0 -1
- package/locale-data/fr-GP.js +0 -6
- package/locale-data/fr-GQ.d.ts +0 -1
- package/locale-data/fr-GQ.js +0 -6
- package/locale-data/fr-HT.d.ts +0 -1
- package/locale-data/fr-HT.js +0 -6
- package/locale-data/fr-KM.d.ts +0 -1
- package/locale-data/fr-KM.js +0 -6
- package/locale-data/fr-LU.d.ts +0 -1
- package/locale-data/fr-LU.js +0 -6
- package/locale-data/fr-MA.d.ts +0 -1
- package/locale-data/fr-MA.js +0 -6
- package/locale-data/fr-MC.d.ts +0 -1
- package/locale-data/fr-MC.js +0 -6
- package/locale-data/fr-MF.d.ts +0 -1
- package/locale-data/fr-MF.js +0 -6
- package/locale-data/fr-MG.d.ts +0 -1
- package/locale-data/fr-MG.js +0 -6
- package/locale-data/fr-ML.d.ts +0 -1
- package/locale-data/fr-ML.js +0 -6
- package/locale-data/fr-MQ.d.ts +0 -1
- package/locale-data/fr-MQ.js +0 -6
- package/locale-data/fr-MR.d.ts +0 -1
- package/locale-data/fr-MR.js +0 -6
- package/locale-data/fr-MU.d.ts +0 -1
- package/locale-data/fr-MU.js +0 -6
- package/locale-data/fr-NC.d.ts +0 -1
- package/locale-data/fr-NC.js +0 -6
- package/locale-data/fr-NE.d.ts +0 -1
- package/locale-data/fr-NE.js +0 -6
- package/locale-data/fr-PF.d.ts +0 -1
- package/locale-data/fr-PF.js +0 -6
- package/locale-data/fr-PM.d.ts +0 -1
- package/locale-data/fr-PM.js +0 -6
- package/locale-data/fr-RE.d.ts +0 -1
- package/locale-data/fr-RE.js +0 -6
- package/locale-data/fr-RW.d.ts +0 -1
- package/locale-data/fr-RW.js +0 -6
- package/locale-data/fr-SC.d.ts +0 -1
- package/locale-data/fr-SC.js +0 -6
- package/locale-data/fr-SN.d.ts +0 -1
- package/locale-data/fr-SN.js +0 -6
- package/locale-data/fr-SY.d.ts +0 -1
- package/locale-data/fr-SY.js +0 -6
- package/locale-data/fr-TD.d.ts +0 -1
- package/locale-data/fr-TD.js +0 -6
- package/locale-data/fr-TG.d.ts +0 -1
- package/locale-data/fr-TG.js +0 -6
- package/locale-data/fr-TN.d.ts +0 -1
- package/locale-data/fr-TN.js +0 -6
- package/locale-data/fr-VU.d.ts +0 -1
- package/locale-data/fr-VU.js +0 -6
- package/locale-data/fr-WF.d.ts +0 -1
- package/locale-data/fr-WF.js +0 -6
- package/locale-data/fr-YT.d.ts +0 -1
- package/locale-data/fr-YT.js +0 -6
- package/locale-data/fr.d.ts +0 -1
- package/locale-data/fr.js +0 -6
- package/locale-data/fur.d.ts +0 -1
- package/locale-data/fur.js +0 -6
- package/locale-data/fy.d.ts +0 -1
- package/locale-data/fy.js +0 -6
- package/locale-data/ga-GB.d.ts +0 -1
- package/locale-data/ga-GB.js +0 -6
- package/locale-data/ga.d.ts +0 -1
- package/locale-data/ga.js +0 -6
- package/locale-data/gd.d.ts +0 -1
- package/locale-data/gd.js +0 -6
- package/locale-data/gl.d.ts +0 -1
- package/locale-data/gl.js +0 -6
- package/locale-data/gsw-FR.d.ts +0 -1
- package/locale-data/gsw-FR.js +0 -6
- package/locale-data/gsw-LI.d.ts +0 -1
- package/locale-data/gsw-LI.js +0 -6
- package/locale-data/gsw.d.ts +0 -1
- package/locale-data/gsw.js +0 -6
- package/locale-data/gu.d.ts +0 -1
- package/locale-data/gu.js +0 -6
- package/locale-data/guz.d.ts +0 -1
- package/locale-data/guz.js +0 -6
- package/locale-data/gv.d.ts +0 -1
- package/locale-data/gv.js +0 -6
- package/locale-data/ha-GH.d.ts +0 -1
- package/locale-data/ha-GH.js +0 -6
- package/locale-data/ha-NE.d.ts +0 -1
- package/locale-data/ha-NE.js +0 -6
- package/locale-data/ha.d.ts +0 -1
- package/locale-data/ha.js +0 -6
- package/locale-data/haw.d.ts +0 -1
- package/locale-data/haw.js +0 -6
- package/locale-data/he.d.ts +0 -1
- package/locale-data/he.js +0 -6
- package/locale-data/hi.d.ts +0 -1
- package/locale-data/hi.js +0 -6
- package/locale-data/hr-BA.d.ts +0 -1
- package/locale-data/hr-BA.js +0 -6
- package/locale-data/hr.d.ts +0 -1
- package/locale-data/hr.js +0 -6
- package/locale-data/hsb.d.ts +0 -1
- package/locale-data/hsb.js +0 -6
- package/locale-data/hu.d.ts +0 -1
- package/locale-data/hu.js +0 -6
- package/locale-data/hy.d.ts +0 -1
- package/locale-data/hy.js +0 -6
- package/locale-data/ia.d.ts +0 -1
- package/locale-data/ia.js +0 -6
- package/locale-data/id.d.ts +0 -1
- package/locale-data/id.js +0 -6
- package/locale-data/ig.d.ts +0 -1
- package/locale-data/ig.js +0 -6
- package/locale-data/ii.d.ts +0 -1
- package/locale-data/ii.js +0 -6
- package/locale-data/is.d.ts +0 -1
- package/locale-data/is.js +0 -6
- package/locale-data/it-CH.d.ts +0 -1
- package/locale-data/it-CH.js +0 -6
- package/locale-data/it-SM.d.ts +0 -1
- package/locale-data/it-SM.js +0 -6
- package/locale-data/it-VA.d.ts +0 -1
- package/locale-data/it-VA.js +0 -6
- package/locale-data/it.d.ts +0 -1
- package/locale-data/it.js +0 -6
- package/locale-data/ja.d.ts +0 -1
- package/locale-data/ja.js +0 -6
- package/locale-data/jgo.d.ts +0 -1
- package/locale-data/jgo.js +0 -6
- package/locale-data/jmc.d.ts +0 -1
- package/locale-data/jmc.js +0 -6
- package/locale-data/jv.d.ts +0 -1
- package/locale-data/jv.js +0 -6
- package/locale-data/ka.d.ts +0 -1
- package/locale-data/ka.js +0 -6
- package/locale-data/kab.d.ts +0 -1
- package/locale-data/kab.js +0 -6
- package/locale-data/kam.d.ts +0 -1
- package/locale-data/kam.js +0 -6
- package/locale-data/kde.d.ts +0 -1
- package/locale-data/kde.js +0 -6
- package/locale-data/kea.d.ts +0 -1
- package/locale-data/kea.js +0 -6
- package/locale-data/kgp.d.ts +0 -1
- package/locale-data/kgp.js +0 -6
- package/locale-data/khq.d.ts +0 -1
- package/locale-data/khq.js +0 -6
- package/locale-data/ki.d.ts +0 -1
- package/locale-data/ki.js +0 -6
- package/locale-data/kk.d.ts +0 -1
- package/locale-data/kk.js +0 -6
- package/locale-data/kkj.d.ts +0 -1
- package/locale-data/kkj.js +0 -6
- package/locale-data/kl.d.ts +0 -1
- package/locale-data/kl.js +0 -6
- package/locale-data/kln.d.ts +0 -1
- package/locale-data/kln.js +0 -6
- package/locale-data/km.d.ts +0 -1
- package/locale-data/km.js +0 -6
- package/locale-data/kn.d.ts +0 -1
- package/locale-data/kn.js +0 -6
- package/locale-data/ko-KP.d.ts +0 -1
- package/locale-data/ko-KP.js +0 -6
- package/locale-data/ko.d.ts +0 -1
- package/locale-data/ko.js +0 -6
- package/locale-data/kok.d.ts +0 -1
- package/locale-data/kok.js +0 -6
- package/locale-data/ks-Arab.d.ts +0 -1
- package/locale-data/ks-Arab.js +0 -6
- package/locale-data/ks.d.ts +0 -1
- package/locale-data/ks.js +0 -6
- package/locale-data/ksb.d.ts +0 -1
- package/locale-data/ksb.js +0 -6
- package/locale-data/ksf.d.ts +0 -1
- package/locale-data/ksf.js +0 -6
- package/locale-data/ksh.d.ts +0 -1
- package/locale-data/ksh.js +0 -6
- package/locale-data/ku.d.ts +0 -1
- package/locale-data/ku.js +0 -6
- package/locale-data/kw.d.ts +0 -1
- package/locale-data/kw.js +0 -6
- package/locale-data/ky.d.ts +0 -1
- package/locale-data/ky.js +0 -6
- package/locale-data/lag.d.ts +0 -1
- package/locale-data/lag.js +0 -6
- package/locale-data/lb.d.ts +0 -1
- package/locale-data/lb.js +0 -6
- package/locale-data/lg.d.ts +0 -1
- package/locale-data/lg.js +0 -6
- package/locale-data/lkt.d.ts +0 -1
- package/locale-data/lkt.js +0 -6
- package/locale-data/ln-AO.d.ts +0 -1
- package/locale-data/ln-AO.js +0 -6
- package/locale-data/ln-CF.d.ts +0 -1
- package/locale-data/ln-CF.js +0 -6
- package/locale-data/ln-CG.d.ts +0 -1
- package/locale-data/ln-CG.js +0 -6
- package/locale-data/ln.d.ts +0 -1
- package/locale-data/ln.js +0 -6
- package/locale-data/lo.d.ts +0 -1
- package/locale-data/lo.js +0 -6
- package/locale-data/lrc-IQ.d.ts +0 -1
- package/locale-data/lrc-IQ.js +0 -6
- package/locale-data/lrc.d.ts +0 -1
- package/locale-data/lrc.js +0 -6
- package/locale-data/lt.d.ts +0 -1
- package/locale-data/lt.js +0 -6
- package/locale-data/lu.d.ts +0 -1
- package/locale-data/lu.js +0 -6
- package/locale-data/luo.d.ts +0 -1
- package/locale-data/luo.js +0 -6
- package/locale-data/luy.d.ts +0 -1
- package/locale-data/luy.js +0 -6
- package/locale-data/lv.d.ts +0 -1
- package/locale-data/lv.js +0 -6
- package/locale-data/mai.d.ts +0 -1
- package/locale-data/mai.js +0 -6
- package/locale-data/mas-TZ.d.ts +0 -1
- package/locale-data/mas-TZ.js +0 -6
- package/locale-data/mas.d.ts +0 -1
- package/locale-data/mas.js +0 -6
- package/locale-data/mer.d.ts +0 -1
- package/locale-data/mer.js +0 -6
- package/locale-data/mfe.d.ts +0 -1
- package/locale-data/mfe.js +0 -6
- package/locale-data/mg.d.ts +0 -1
- package/locale-data/mg.js +0 -6
- package/locale-data/mgh.d.ts +0 -1
- package/locale-data/mgh.js +0 -6
- package/locale-data/mgo.d.ts +0 -1
- package/locale-data/mgo.js +0 -6
- package/locale-data/mi.d.ts +0 -1
- package/locale-data/mi.js +0 -6
- package/locale-data/mk.d.ts +0 -1
- package/locale-data/mk.js +0 -6
- package/locale-data/ml.d.ts +0 -1
- package/locale-data/ml.js +0 -6
- package/locale-data/mn.d.ts +0 -1
- package/locale-data/mn.js +0 -6
- package/locale-data/mni-Beng.d.ts +0 -1
- package/locale-data/mni-Beng.js +0 -6
- package/locale-data/mni.d.ts +0 -1
- package/locale-data/mni.js +0 -6
- package/locale-data/mr.d.ts +0 -1
- package/locale-data/mr.js +0 -6
- package/locale-data/ms-BN.d.ts +0 -1
- package/locale-data/ms-BN.js +0 -6
- package/locale-data/ms-ID.d.ts +0 -1
- package/locale-data/ms-ID.js +0 -6
- package/locale-data/ms-SG.d.ts +0 -1
- package/locale-data/ms-SG.js +0 -6
- package/locale-data/ms.d.ts +0 -1
- package/locale-data/ms.js +0 -6
- package/locale-data/mt.d.ts +0 -1
- package/locale-data/mt.js +0 -6
- package/locale-data/mua.d.ts +0 -1
- package/locale-data/mua.js +0 -6
- package/locale-data/my.d.ts +0 -1
- package/locale-data/my.js +0 -6
- package/locale-data/mzn.d.ts +0 -1
- package/locale-data/mzn.js +0 -6
- package/locale-data/naq.d.ts +0 -1
- package/locale-data/naq.js +0 -6
- package/locale-data/nb-SJ.d.ts +0 -1
- package/locale-data/nb-SJ.js +0 -6
- package/locale-data/nb.d.ts +0 -1
- package/locale-data/nb.js +0 -6
- package/locale-data/nd.d.ts +0 -1
- package/locale-data/nd.js +0 -6
- package/locale-data/nds-NL.d.ts +0 -1
- package/locale-data/nds-NL.js +0 -6
- package/locale-data/nds.d.ts +0 -1
- package/locale-data/nds.js +0 -6
- package/locale-data/ne-IN.d.ts +0 -1
- package/locale-data/ne-IN.js +0 -6
- package/locale-data/ne.d.ts +0 -1
- package/locale-data/ne.js +0 -6
- package/locale-data/nl-AW.d.ts +0 -1
- package/locale-data/nl-AW.js +0 -6
- package/locale-data/nl-BE.d.ts +0 -1
- package/locale-data/nl-BE.js +0 -6
- package/locale-data/nl-BQ.d.ts +0 -1
- package/locale-data/nl-BQ.js +0 -6
- package/locale-data/nl-CW.d.ts +0 -1
- package/locale-data/nl-CW.js +0 -6
- package/locale-data/nl-SR.d.ts +0 -1
- package/locale-data/nl-SR.js +0 -6
- package/locale-data/nl-SX.d.ts +0 -1
- package/locale-data/nl-SX.js +0 -6
- package/locale-data/nl.d.ts +0 -1
- package/locale-data/nl.js +0 -6
- package/locale-data/nmg.d.ts +0 -1
- package/locale-data/nmg.js +0 -6
- package/locale-data/nn.d.ts +0 -1
- package/locale-data/nn.js +0 -6
- package/locale-data/nnh.d.ts +0 -1
- package/locale-data/nnh.js +0 -6
- package/locale-data/no.d.ts +0 -1
- package/locale-data/no.js +0 -6
- package/locale-data/nus.d.ts +0 -1
- package/locale-data/nus.js +0 -6
- package/locale-data/nyn.d.ts +0 -1
- package/locale-data/nyn.js +0 -6
- package/locale-data/om-KE.d.ts +0 -1
- package/locale-data/om-KE.js +0 -6
- package/locale-data/om.d.ts +0 -1
- package/locale-data/om.js +0 -6
- package/locale-data/or.d.ts +0 -1
- package/locale-data/or.js +0 -6
- package/locale-data/os-RU.d.ts +0 -1
- package/locale-data/os-RU.js +0 -6
- package/locale-data/os.d.ts +0 -1
- package/locale-data/os.js +0 -6
- package/locale-data/pa-Arab.d.ts +0 -1
- package/locale-data/pa-Arab.js +0 -6
- package/locale-data/pa-Guru.d.ts +0 -1
- package/locale-data/pa-Guru.js +0 -6
- package/locale-data/pa.d.ts +0 -1
- package/locale-data/pa.js +0 -6
- package/locale-data/pcm.d.ts +0 -1
- package/locale-data/pcm.js +0 -6
- package/locale-data/pl.d.ts +0 -1
- package/locale-data/pl.js +0 -6
- package/locale-data/ps-PK.d.ts +0 -1
- package/locale-data/ps-PK.js +0 -6
- package/locale-data/ps.d.ts +0 -1
- package/locale-data/ps.js +0 -6
- package/locale-data/pt-AO.d.ts +0 -1
- package/locale-data/pt-AO.js +0 -6
- package/locale-data/pt-CH.d.ts +0 -1
- package/locale-data/pt-CH.js +0 -6
- package/locale-data/pt-CV.d.ts +0 -1
- package/locale-data/pt-CV.js +0 -6
- package/locale-data/pt-GQ.d.ts +0 -1
- package/locale-data/pt-GQ.js +0 -6
- package/locale-data/pt-GW.d.ts +0 -1
- package/locale-data/pt-GW.js +0 -6
- package/locale-data/pt-LU.d.ts +0 -1
- package/locale-data/pt-LU.js +0 -6
- package/locale-data/pt-MO.d.ts +0 -1
- package/locale-data/pt-MO.js +0 -6
- package/locale-data/pt-MZ.d.ts +0 -1
- package/locale-data/pt-MZ.js +0 -6
- package/locale-data/pt-PT.d.ts +0 -1
- package/locale-data/pt-PT.js +0 -6
- package/locale-data/pt-ST.d.ts +0 -1
- package/locale-data/pt-ST.js +0 -6
- package/locale-data/pt-TL.d.ts +0 -1
- package/locale-data/pt-TL.js +0 -6
- package/locale-data/pt.d.ts +0 -1
- package/locale-data/pt.js +0 -6
- package/locale-data/qu-BO.d.ts +0 -1
- package/locale-data/qu-BO.js +0 -6
- package/locale-data/qu-EC.d.ts +0 -1
- package/locale-data/qu-EC.js +0 -6
- package/locale-data/qu.d.ts +0 -1
- package/locale-data/qu.js +0 -6
- package/locale-data/rm.d.ts +0 -1
- package/locale-data/rm.js +0 -6
- package/locale-data/rn.d.ts +0 -1
- package/locale-data/rn.js +0 -6
- package/locale-data/ro-MD.d.ts +0 -1
- package/locale-data/ro-MD.js +0 -6
- package/locale-data/ro.d.ts +0 -1
- package/locale-data/ro.js +0 -6
- package/locale-data/rof.d.ts +0 -1
- package/locale-data/rof.js +0 -6
- package/locale-data/ru-BY.d.ts +0 -1
- package/locale-data/ru-BY.js +0 -6
- package/locale-data/ru-KG.d.ts +0 -1
- package/locale-data/ru-KG.js +0 -6
- package/locale-data/ru-KZ.d.ts +0 -1
- package/locale-data/ru-KZ.js +0 -6
- package/locale-data/ru-MD.d.ts +0 -1
- package/locale-data/ru-MD.js +0 -6
- package/locale-data/ru-UA.d.ts +0 -1
- package/locale-data/ru-UA.js +0 -6
- package/locale-data/ru.d.ts +0 -1
- package/locale-data/ru.js +0 -6
- package/locale-data/rw.d.ts +0 -1
- package/locale-data/rw.js +0 -6
- package/locale-data/rwk.d.ts +0 -1
- package/locale-data/rwk.js +0 -6
- package/locale-data/sa.d.ts +0 -1
- package/locale-data/sa.js +0 -6
- package/locale-data/sah.d.ts +0 -1
- package/locale-data/sah.js +0 -6
- package/locale-data/saq.d.ts +0 -1
- package/locale-data/saq.js +0 -6
- package/locale-data/sat-Olck.d.ts +0 -1
- package/locale-data/sat-Olck.js +0 -6
- package/locale-data/sat.d.ts +0 -1
- package/locale-data/sat.js +0 -6
- package/locale-data/sbp.d.ts +0 -1
- package/locale-data/sbp.js +0 -6
- package/locale-data/sc.d.ts +0 -1
- package/locale-data/sc.js +0 -6
- package/locale-data/sd-Arab.d.ts +0 -1
- package/locale-data/sd-Arab.js +0 -6
- package/locale-data/sd-Deva.d.ts +0 -1
- package/locale-data/sd-Deva.js +0 -6
- package/locale-data/sd.d.ts +0 -1
- package/locale-data/sd.js +0 -6
- package/locale-data/se-FI.d.ts +0 -1
- package/locale-data/se-FI.js +0 -6
- package/locale-data/se-SE.d.ts +0 -1
- package/locale-data/se-SE.js +0 -6
- package/locale-data/se.d.ts +0 -1
- package/locale-data/se.js +0 -6
- package/locale-data/seh.d.ts +0 -1
- package/locale-data/seh.js +0 -6
- package/locale-data/ses.d.ts +0 -1
- package/locale-data/ses.js +0 -6
- package/locale-data/sg.d.ts +0 -1
- package/locale-data/sg.js +0 -6
- package/locale-data/shi-Latn.d.ts +0 -1
- package/locale-data/shi-Latn.js +0 -6
- package/locale-data/shi-Tfng.d.ts +0 -1
- package/locale-data/shi-Tfng.js +0 -6
- package/locale-data/shi.d.ts +0 -1
- package/locale-data/shi.js +0 -6
- package/locale-data/si.d.ts +0 -1
- package/locale-data/si.js +0 -6
- package/locale-data/sk.d.ts +0 -1
- package/locale-data/sk.js +0 -6
- package/locale-data/sl.d.ts +0 -1
- package/locale-data/sl.js +0 -6
- package/locale-data/smn.d.ts +0 -1
- package/locale-data/smn.js +0 -6
- package/locale-data/sn.d.ts +0 -1
- package/locale-data/sn.js +0 -6
- package/locale-data/so-DJ.d.ts +0 -1
- package/locale-data/so-DJ.js +0 -6
- package/locale-data/so-ET.d.ts +0 -1
- package/locale-data/so-ET.js +0 -6
- package/locale-data/so-KE.d.ts +0 -1
- package/locale-data/so-KE.js +0 -6
- package/locale-data/so.d.ts +0 -1
- package/locale-data/so.js +0 -6
- package/locale-data/sq-MK.d.ts +0 -1
- package/locale-data/sq-MK.js +0 -6
- package/locale-data/sq-XK.d.ts +0 -1
- package/locale-data/sq-XK.js +0 -6
- package/locale-data/sq.d.ts +0 -1
- package/locale-data/sq.js +0 -6
- package/locale-data/sr-Cyrl-BA.d.ts +0 -1
- package/locale-data/sr-Cyrl-BA.js +0 -6
- package/locale-data/sr-Cyrl-ME.d.ts +0 -1
- package/locale-data/sr-Cyrl-ME.js +0 -6
- package/locale-data/sr-Cyrl-XK.d.ts +0 -1
- package/locale-data/sr-Cyrl-XK.js +0 -6
- package/locale-data/sr-Cyrl.d.ts +0 -1
- package/locale-data/sr-Cyrl.js +0 -6
- package/locale-data/sr-Latn-BA.d.ts +0 -1
- package/locale-data/sr-Latn-BA.js +0 -6
- package/locale-data/sr-Latn-ME.d.ts +0 -1
- package/locale-data/sr-Latn-ME.js +0 -6
- package/locale-data/sr-Latn-XK.d.ts +0 -1
- package/locale-data/sr-Latn-XK.js +0 -6
- package/locale-data/sr-Latn.d.ts +0 -1
- package/locale-data/sr-Latn.js +0 -6
- package/locale-data/sr.d.ts +0 -1
- package/locale-data/sr.js +0 -6
- package/locale-data/su-Latn.d.ts +0 -1
- package/locale-data/su-Latn.js +0 -6
- package/locale-data/su.d.ts +0 -1
- package/locale-data/su.js +0 -6
- package/locale-data/sv-AX.d.ts +0 -1
- package/locale-data/sv-AX.js +0 -6
- package/locale-data/sv-FI.d.ts +0 -1
- package/locale-data/sv-FI.js +0 -6
- package/locale-data/sv.d.ts +0 -1
- package/locale-data/sv.js +0 -6
- package/locale-data/sw-CD.d.ts +0 -1
- package/locale-data/sw-CD.js +0 -6
- package/locale-data/sw-KE.d.ts +0 -1
- package/locale-data/sw-KE.js +0 -6
- package/locale-data/sw-UG.d.ts +0 -1
- package/locale-data/sw-UG.js +0 -6
- package/locale-data/sw.d.ts +0 -1
- package/locale-data/sw.js +0 -6
- package/locale-data/ta-LK.d.ts +0 -1
- package/locale-data/ta-LK.js +0 -6
- package/locale-data/ta-MY.d.ts +0 -1
- package/locale-data/ta-MY.js +0 -6
- package/locale-data/ta-SG.d.ts +0 -1
- package/locale-data/ta-SG.js +0 -6
- package/locale-data/ta.d.ts +0 -1
- package/locale-data/ta.js +0 -6
- package/locale-data/te.d.ts +0 -1
- package/locale-data/te.js +0 -6
- package/locale-data/teo-KE.d.ts +0 -1
- package/locale-data/teo-KE.js +0 -6
- package/locale-data/teo.d.ts +0 -1
- package/locale-data/teo.js +0 -6
- package/locale-data/tg.d.ts +0 -1
- package/locale-data/tg.js +0 -6
- package/locale-data/th.d.ts +0 -1
- package/locale-data/th.js +0 -6
- package/locale-data/ti-ER.d.ts +0 -1
- package/locale-data/ti-ER.js +0 -6
- package/locale-data/ti.d.ts +0 -1
- package/locale-data/ti.js +0 -6
- package/locale-data/tk.d.ts +0 -1
- package/locale-data/tk.js +0 -6
- package/locale-data/to.d.ts +0 -1
- package/locale-data/to.js +0 -6
- package/locale-data/tr-CY.d.ts +0 -1
- package/locale-data/tr-CY.js +0 -6
- package/locale-data/tr.d.ts +0 -1
- package/locale-data/tr.js +0 -6
- package/locale-data/tt.d.ts +0 -1
- package/locale-data/tt.js +0 -6
- package/locale-data/twq.d.ts +0 -1
- package/locale-data/twq.js +0 -6
- package/locale-data/tzm.d.ts +0 -1
- package/locale-data/tzm.js +0 -6
- package/locale-data/ug.d.ts +0 -1
- package/locale-data/ug.js +0 -6
- package/locale-data/uk.d.ts +0 -1
- package/locale-data/uk.js +0 -6
- package/locale-data/und.d.ts +0 -1
- package/locale-data/und.js +0 -6
- package/locale-data/ur-IN.d.ts +0 -1
- package/locale-data/ur-IN.js +0 -6
- package/locale-data/ur.d.ts +0 -1
- package/locale-data/ur.js +0 -6
- package/locale-data/uz-Arab.d.ts +0 -1
- package/locale-data/uz-Arab.js +0 -6
- package/locale-data/uz-Cyrl.d.ts +0 -1
- package/locale-data/uz-Cyrl.js +0 -6
- package/locale-data/uz-Latn.d.ts +0 -1
- package/locale-data/uz-Latn.js +0 -6
- package/locale-data/uz.d.ts +0 -1
- package/locale-data/uz.js +0 -6
- package/locale-data/vai-Latn.d.ts +0 -1
- package/locale-data/vai-Latn.js +0 -6
- package/locale-data/vai-Vaii.d.ts +0 -1
- package/locale-data/vai-Vaii.js +0 -6
- package/locale-data/vai.d.ts +0 -1
- package/locale-data/vai.js +0 -6
- package/locale-data/vi.d.ts +0 -1
- package/locale-data/vi.js +0 -6
- package/locale-data/vun.d.ts +0 -1
- package/locale-data/vun.js +0 -6
- package/locale-data/wae.d.ts +0 -1
- package/locale-data/wae.js +0 -6
- package/locale-data/wo.d.ts +0 -1
- package/locale-data/wo.js +0 -6
- package/locale-data/xh.d.ts +0 -1
- package/locale-data/xh.js +0 -6
- package/locale-data/xog.d.ts +0 -1
- package/locale-data/xog.js +0 -6
- package/locale-data/yav.d.ts +0 -1
- package/locale-data/yav.js +0 -6
- package/locale-data/yi.d.ts +0 -1
- package/locale-data/yi.js +0 -6
- package/locale-data/yo-BJ.d.ts +0 -1
- package/locale-data/yo-BJ.js +0 -6
- package/locale-data/yo.d.ts +0 -1
- package/locale-data/yo.js +0 -6
- package/locale-data/yrl-CO.d.ts +0 -1
- package/locale-data/yrl-CO.js +0 -6
- package/locale-data/yrl-VE.d.ts +0 -1
- package/locale-data/yrl-VE.js +0 -6
- package/locale-data/yrl.d.ts +0 -1
- package/locale-data/yrl.js +0 -6
- package/locale-data/yue-Hans.d.ts +0 -1
- package/locale-data/yue-Hans.js +0 -6
- package/locale-data/yue-Hant.d.ts +0 -1
- package/locale-data/yue-Hant.js +0 -6
- package/locale-data/yue.d.ts +0 -1
- package/locale-data/yue.js +0 -6
- package/locale-data/zgh.d.ts +0 -1
- package/locale-data/zgh.js +0 -6
- package/locale-data/zh-Hans-HK.d.ts +0 -1
- package/locale-data/zh-Hans-HK.js +0 -6
- package/locale-data/zh-Hans-MO.d.ts +0 -1
- package/locale-data/zh-Hans-MO.js +0 -6
- package/locale-data/zh-Hans-SG.d.ts +0 -1
- package/locale-data/zh-Hans-SG.js +0 -6
- package/locale-data/zh-Hans.d.ts +0 -1
- package/locale-data/zh-Hans.js +0 -6
- package/locale-data/zh-Hant-HK.d.ts +0 -1
- package/locale-data/zh-Hant-HK.js +0 -6
- package/locale-data/zh-Hant-MO.d.ts +0 -1
- package/locale-data/zh-Hant-MO.js +0 -6
- package/locale-data/zh-Hant.d.ts +0 -1
- package/locale-data/zh-Hant.js +0 -6
- package/locale-data/zh.d.ts +0 -1
- package/locale-data/zh.js +0 -6
- package/locale-data/zu.d.ts +0 -1
- package/locale-data/zu.js +0 -6
- package/polyfill-force.d.ts +0 -2
- package/polyfill-force.d.ts.map +0 -1
- package/polyfill-force.js +0 -9
- package/polyfill.d.ts +0 -2
- package/polyfill.d.ts.map +0 -1
- package/polyfill.iife.js +0 -2748
- package/polyfill.js +0 -12
- package/should-polyfill.d.ts +0 -3
- package/should-polyfill.d.ts.map +0 -1
- package/should-polyfill.js +0 -48
- package/supported-locales.d.ts +0 -2
- package/supported-locales.d.ts.map +0 -1
- package/supported-locales.js +0 -5
package/index.ts
ADDED
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getInternalSlot,
|
|
3
|
+
setInternalSlot,
|
|
4
|
+
GetOption,
|
|
5
|
+
invariant,
|
|
6
|
+
SupportedLocales,
|
|
7
|
+
IsWellFormedCurrencyCode,
|
|
8
|
+
getMultiInternalSlots,
|
|
9
|
+
DisplayNamesLocaleData,
|
|
10
|
+
DisplayNamesData,
|
|
11
|
+
ToString,
|
|
12
|
+
CanonicalizeLocaleList,
|
|
13
|
+
GetOptionsObject,
|
|
14
|
+
} from '@formatjs/ecma402-abstract'
|
|
15
|
+
import {CanonicalCodeForDisplayNames} from './abstract/CanonicalCodeForDisplayNames'
|
|
16
|
+
import {ResolveLocale} from '@formatjs/intl-localematcher'
|
|
17
|
+
|
|
18
|
+
export interface DisplayNamesOptions {
|
|
19
|
+
localeMatcher?: 'lookup' | 'best fit'
|
|
20
|
+
style?: 'narrow' | 'short' | 'long'
|
|
21
|
+
type: 'language' | 'region' | 'script' | 'currency'
|
|
22
|
+
fallback?: 'code' | 'none'
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface DisplayNamesResolvedOptions {
|
|
26
|
+
locale: string
|
|
27
|
+
style: NonNullable<DisplayNamesOptions['style']>
|
|
28
|
+
type: NonNullable<DisplayNamesOptions['type']>
|
|
29
|
+
fallback: NonNullable<DisplayNamesOptions['fallback']>
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export class DisplayNames {
|
|
33
|
+
constructor(
|
|
34
|
+
locales: string | string[] | undefined,
|
|
35
|
+
options: DisplayNamesOptions
|
|
36
|
+
) {
|
|
37
|
+
if (new.target === undefined) {
|
|
38
|
+
throw TypeError(`Constructor Intl.DisplayNames requires 'new'`)
|
|
39
|
+
}
|
|
40
|
+
const requestedLocales = CanonicalizeLocaleList(locales)
|
|
41
|
+
options = GetOptionsObject(options)
|
|
42
|
+
|
|
43
|
+
const opt = Object.create(null)
|
|
44
|
+
const {localeData} = DisplayNames
|
|
45
|
+
const matcher = GetOption(
|
|
46
|
+
options,
|
|
47
|
+
'localeMatcher',
|
|
48
|
+
'string',
|
|
49
|
+
['lookup', 'best fit'],
|
|
50
|
+
'best fit'
|
|
51
|
+
)
|
|
52
|
+
opt.localeMatcher = matcher
|
|
53
|
+
|
|
54
|
+
const r = ResolveLocale(
|
|
55
|
+
DisplayNames.availableLocales,
|
|
56
|
+
requestedLocales,
|
|
57
|
+
opt,
|
|
58
|
+
[], // there is no relevantExtensionKeys
|
|
59
|
+
DisplayNames.localeData,
|
|
60
|
+
DisplayNames.getDefaultLocale
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
const style = GetOption(
|
|
64
|
+
options,
|
|
65
|
+
'style',
|
|
66
|
+
'string',
|
|
67
|
+
['narrow', 'short', 'long'],
|
|
68
|
+
'long'
|
|
69
|
+
)
|
|
70
|
+
setSlot(this, 'style', style)
|
|
71
|
+
|
|
72
|
+
const type = GetOption(
|
|
73
|
+
options,
|
|
74
|
+
'type',
|
|
75
|
+
'string',
|
|
76
|
+
['language', 'currency', 'region', 'script'],
|
|
77
|
+
undefined
|
|
78
|
+
)
|
|
79
|
+
if (type === undefined) {
|
|
80
|
+
throw TypeError(`Intl.DisplayNames constructor requires "type" option`)
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
setSlot(this, 'type', type)
|
|
84
|
+
|
|
85
|
+
const fallback = GetOption(
|
|
86
|
+
options,
|
|
87
|
+
'fallback',
|
|
88
|
+
'string',
|
|
89
|
+
['code', 'none'],
|
|
90
|
+
'code'
|
|
91
|
+
)
|
|
92
|
+
setSlot(this, 'fallback', fallback)
|
|
93
|
+
setSlot(this, 'locale', r.locale)
|
|
94
|
+
|
|
95
|
+
const {dataLocale} = r
|
|
96
|
+
const dataLocaleData = localeData[dataLocale]
|
|
97
|
+
invariant(!!dataLocaleData, `Missing locale data for ${dataLocale}`)
|
|
98
|
+
setSlot(this, 'localeData', dataLocaleData)
|
|
99
|
+
invariant(
|
|
100
|
+
dataLocaleData !== undefined,
|
|
101
|
+
`locale data for ${r.locale} does not exist.`
|
|
102
|
+
)
|
|
103
|
+
const {types} = dataLocaleData
|
|
104
|
+
invariant(typeof types === 'object' && types != null, 'invalid types data')
|
|
105
|
+
const typeFields = types[type]
|
|
106
|
+
invariant(
|
|
107
|
+
typeof typeFields === 'object' && typeFields != null,
|
|
108
|
+
'invalid typeFields data'
|
|
109
|
+
)
|
|
110
|
+
const styleFields = typeFields[style]
|
|
111
|
+
invariant(
|
|
112
|
+
typeof styleFields === 'object' && styleFields != null,
|
|
113
|
+
'invalid styleFields data'
|
|
114
|
+
)
|
|
115
|
+
setSlot(this, 'fields', styleFields)
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
static supportedLocalesOf(
|
|
119
|
+
locales?: string | string[],
|
|
120
|
+
options?: Pick<DisplayNamesOptions, 'localeMatcher'>
|
|
121
|
+
): string[] {
|
|
122
|
+
return SupportedLocales(
|
|
123
|
+
DisplayNames.availableLocales,
|
|
124
|
+
CanonicalizeLocaleList(locales),
|
|
125
|
+
options
|
|
126
|
+
)
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
static __addLocaleData(...data: DisplayNamesLocaleData[]): void {
|
|
130
|
+
for (const {data: d, locale} of data) {
|
|
131
|
+
const minimizedLocale = new (Intl as any).Locale(locale)
|
|
132
|
+
.minimize()
|
|
133
|
+
.toString()
|
|
134
|
+
DisplayNames.localeData[locale] = DisplayNames.localeData[
|
|
135
|
+
minimizedLocale
|
|
136
|
+
] = d
|
|
137
|
+
DisplayNames.availableLocales.add(minimizedLocale)
|
|
138
|
+
DisplayNames.availableLocales.add(locale)
|
|
139
|
+
if (!DisplayNames.__defaultLocale) {
|
|
140
|
+
DisplayNames.__defaultLocale = minimizedLocale
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
of(code: string | number | Record<string, unknown>): string | undefined {
|
|
146
|
+
checkReceiver(this, 'of')
|
|
147
|
+
const type = getSlot(this, 'type')
|
|
148
|
+
const codeAsString = ToString(code)
|
|
149
|
+
if (!isValidCodeForDisplayNames(type, codeAsString)) {
|
|
150
|
+
throw RangeError('invalid code for Intl.DisplayNames.prototype.of')
|
|
151
|
+
}
|
|
152
|
+
const {localeData, style, fallback} = getMultiInternalSlots(
|
|
153
|
+
__INTERNAL_SLOT_MAP__,
|
|
154
|
+
this,
|
|
155
|
+
'localeData',
|
|
156
|
+
'style',
|
|
157
|
+
'fallback'
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
// Canonicalize the case.
|
|
161
|
+
let canonicalCode = CanonicalCodeForDisplayNames(type, codeAsString)
|
|
162
|
+
|
|
163
|
+
// This is only used to store extracted language region.
|
|
164
|
+
let regionSubTag: string | undefined
|
|
165
|
+
if (type === 'language') {
|
|
166
|
+
const regionMatch = /-([a-z]{2}|\d{3})\b/i.exec(canonicalCode)
|
|
167
|
+
if (regionMatch) {
|
|
168
|
+
// Remove region subtag
|
|
169
|
+
canonicalCode =
|
|
170
|
+
canonicalCode.substring(0, regionMatch.index) +
|
|
171
|
+
canonicalCode.substring(regionMatch.index + regionMatch[0].length)
|
|
172
|
+
regionSubTag = regionMatch[1]
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
const typesData = localeData.types[type]
|
|
176
|
+
// If the style of choice does not exist, fallback to "long".
|
|
177
|
+
const name =
|
|
178
|
+
typesData[style][canonicalCode] || typesData.long[canonicalCode]
|
|
179
|
+
|
|
180
|
+
if (name !== undefined) {
|
|
181
|
+
// If there is a region subtag in the language id, use locale pattern to interpolate the region
|
|
182
|
+
if (regionSubTag) {
|
|
183
|
+
// Retrieve region display names
|
|
184
|
+
const regionsData = localeData.types.region
|
|
185
|
+
const regionDisplayName: string | undefined =
|
|
186
|
+
regionsData[style][regionSubTag] || regionsData.long[regionSubTag]
|
|
187
|
+
|
|
188
|
+
if (regionDisplayName || fallback === 'code') {
|
|
189
|
+
// Interpolate into locale-specific pattern.
|
|
190
|
+
const pattern = localeData.patterns.locale
|
|
191
|
+
return pattern
|
|
192
|
+
.replace('{0}', name)
|
|
193
|
+
.replace('{1}', regionDisplayName || regionSubTag)
|
|
194
|
+
}
|
|
195
|
+
} else {
|
|
196
|
+
return name
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
if (fallback === 'code') {
|
|
201
|
+
return codeAsString
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
resolvedOptions(): DisplayNamesResolvedOptions {
|
|
206
|
+
checkReceiver(this, 'resolvedOptions')
|
|
207
|
+
return {
|
|
208
|
+
...getMultiInternalSlots(
|
|
209
|
+
__INTERNAL_SLOT_MAP__,
|
|
210
|
+
this,
|
|
211
|
+
'locale',
|
|
212
|
+
'style',
|
|
213
|
+
'type',
|
|
214
|
+
'fallback'
|
|
215
|
+
),
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
static localeData: Record<string, DisplayNamesData | undefined> = {}
|
|
220
|
+
private static availableLocales = new Set<string>()
|
|
221
|
+
private static __defaultLocale = ''
|
|
222
|
+
private static getDefaultLocale() {
|
|
223
|
+
return DisplayNames.__defaultLocale
|
|
224
|
+
}
|
|
225
|
+
public static readonly polyfilled = true
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// https://tc39.es/proposal-intl-displaynames/#sec-isvalidcodefordisplaynames
|
|
229
|
+
function isValidCodeForDisplayNames(
|
|
230
|
+
type: NonNullable<DisplayNamesOptions['type']>,
|
|
231
|
+
code: string
|
|
232
|
+
): boolean {
|
|
233
|
+
switch (type) {
|
|
234
|
+
case 'language':
|
|
235
|
+
// subset of unicode_language_id
|
|
236
|
+
// languageCode ["-" scriptCode] ["-" regionCode] *("-" variant)
|
|
237
|
+
// where:
|
|
238
|
+
// - languageCode is either a two letters ISO 639-1 language code or a three letters ISO 639-2 language code.
|
|
239
|
+
// - scriptCode is should be an ISO-15924 four letters script code
|
|
240
|
+
// - regionCode is either an ISO-3166 two letters region code, or a three digits UN M49 Geographic Regions.
|
|
241
|
+
return /^[a-z]{2,3}(-[a-z]{4})?(-([a-z]{2}|\d{3}))?(-([a-z\d]{5,8}|\d[a-z\d]{3}))*$/i.test(
|
|
242
|
+
code
|
|
243
|
+
)
|
|
244
|
+
case 'region':
|
|
245
|
+
// unicode_region_subtag
|
|
246
|
+
return /^([a-z]{2}|\d{3})$/i.test(code)
|
|
247
|
+
case 'script':
|
|
248
|
+
// unicode_script_subtag
|
|
249
|
+
return /^[a-z]{4}$/i.test(code)
|
|
250
|
+
case 'currency':
|
|
251
|
+
return IsWellFormedCurrencyCode(code)
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
try {
|
|
256
|
+
// IE11 does not have Symbol
|
|
257
|
+
if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
258
|
+
Object.defineProperty(DisplayNames.prototype, Symbol.toStringTag, {
|
|
259
|
+
value: 'Intl.DisplayNames',
|
|
260
|
+
configurable: true,
|
|
261
|
+
enumerable: false,
|
|
262
|
+
writable: false,
|
|
263
|
+
})
|
|
264
|
+
}
|
|
265
|
+
Object.defineProperty(DisplayNames, 'length', {
|
|
266
|
+
value: 2,
|
|
267
|
+
writable: false,
|
|
268
|
+
enumerable: false,
|
|
269
|
+
configurable: true,
|
|
270
|
+
})
|
|
271
|
+
} catch (e) {
|
|
272
|
+
// Make test 262 compliant
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
interface DisplayNamesInternalSlots {
|
|
276
|
+
locale: string
|
|
277
|
+
style: NonNullable<DisplayNamesOptions['style']>
|
|
278
|
+
type: NonNullable<DisplayNamesOptions['type']>
|
|
279
|
+
fallback: NonNullable<DisplayNamesOptions['fallback']>
|
|
280
|
+
// Note that this differs from `fields` slot in the spec.
|
|
281
|
+
localeData: DisplayNamesData
|
|
282
|
+
fields: Record<string, string>
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
const __INTERNAL_SLOT_MAP__ = new WeakMap<
|
|
286
|
+
DisplayNames,
|
|
287
|
+
DisplayNamesInternalSlots
|
|
288
|
+
>()
|
|
289
|
+
|
|
290
|
+
function getSlot<K extends keyof DisplayNamesInternalSlots>(
|
|
291
|
+
instance: DisplayNames,
|
|
292
|
+
key: K
|
|
293
|
+
): DisplayNamesInternalSlots[K] {
|
|
294
|
+
return getInternalSlot(__INTERNAL_SLOT_MAP__, instance, key)
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
function setSlot<K extends keyof DisplayNamesInternalSlots>(
|
|
298
|
+
instance: DisplayNames,
|
|
299
|
+
key: K,
|
|
300
|
+
value: DisplayNamesInternalSlots[K]
|
|
301
|
+
): void {
|
|
302
|
+
setInternalSlot(__INTERNAL_SLOT_MAP__, instance, key, value)
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
function checkReceiver(receiver: unknown, methodName: string) {
|
|
306
|
+
if (!(receiver instanceof DisplayNames)) {
|
|
307
|
+
throw TypeError(
|
|
308
|
+
`Method Intl.DisplayNames.prototype.${methodName} called on incompatible receiver`
|
|
309
|
+
)
|
|
310
|
+
}
|
|
311
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@formatjs/intl-displaynames",
|
|
3
|
-
"version": "6.0
|
|
3
|
+
"version": "6.1.0",
|
|
4
4
|
"description": "Polyfill for: https://tc39.es/proposal-intl-displaynames",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"i18n",
|
|
@@ -21,11 +21,15 @@
|
|
|
21
21
|
"url": "git+https://github.com/formatjs/formatjs.git"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@formatjs/ecma402-abstract": "1.11.
|
|
25
|
-
"@formatjs/intl-localematcher": "0.2.
|
|
24
|
+
"@formatjs/ecma402-abstract": "1.11.9",
|
|
25
|
+
"@formatjs/intl-localematcher": "0.2.29",
|
|
26
26
|
"tslib": "2.4.0"
|
|
27
27
|
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@formatjs/intl-getcanonicallocales": "2.0.3",
|
|
30
|
+
"@formatjs/intl-locale": "3.0.4"
|
|
31
|
+
},
|
|
28
32
|
"bugs": {
|
|
29
33
|
"url": "https://github.com/formatjs/formatjs/issues"
|
|
30
34
|
}
|
|
31
|
-
}
|
|
35
|
+
}
|
package/polyfill.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {extractDisplayNames, getAllLocales} from './extract-displaynames'
|
|
2
|
+
import {join} from 'path'
|
|
3
|
+
import {outputJSONSync} from 'fs-extra'
|
|
4
|
+
|
|
5
|
+
import minimist from 'minimist'
|
|
6
|
+
|
|
7
|
+
async function main(args: minimist.ParsedArgs) {
|
|
8
|
+
const {outDir} = args
|
|
9
|
+
const locales = await getAllLocales()
|
|
10
|
+
const data = await extractDisplayNames(locales)
|
|
11
|
+
locales.forEach(locale =>
|
|
12
|
+
outputJSONSync(join(outDir, `${locale}.json`), {
|
|
13
|
+
data: data[locale],
|
|
14
|
+
locale,
|
|
15
|
+
})
|
|
16
|
+
)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
if (require.main === module) {
|
|
20
|
+
;(async () => main(minimist(process.argv)))()
|
|
21
|
+
}
|
package/scripts/cldr.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import {join, basename} from 'path'
|
|
2
|
+
import {outputFileSync, readFileSync} from 'fs-extra'
|
|
3
|
+
import minimist from 'minimist'
|
|
4
|
+
|
|
5
|
+
interface Args extends minimist.ParsedArgs {
|
|
6
|
+
cldrFile: string[]
|
|
7
|
+
outDir: string
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function main(args: Args) {
|
|
11
|
+
const {cldrFile: cldrFiles, outDir} = args
|
|
12
|
+
cldrFiles.sort()
|
|
13
|
+
cldrFiles.forEach(cldrFile => {
|
|
14
|
+
const locale = basename(cldrFile, '.json')
|
|
15
|
+
// Dist all locale files to locale-data (JS)
|
|
16
|
+
const data = readFileSync(cldrFile)
|
|
17
|
+
outputFileSync(
|
|
18
|
+
join(outDir, locale + '.js'),
|
|
19
|
+
`/* @generated */
|
|
20
|
+
// prettier-ignore
|
|
21
|
+
if (Intl.DisplayNames && typeof Intl.DisplayNames.__addLocaleData === 'function') {
|
|
22
|
+
Intl.DisplayNames.__addLocaleData(${data})
|
|
23
|
+
}`
|
|
24
|
+
)
|
|
25
|
+
outputFileSync(join(outDir, locale + '.d.ts'), 'export {}')
|
|
26
|
+
})
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (require.main === module) {
|
|
30
|
+
main(minimist<Args>(process.argv))
|
|
31
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import glob from 'fast-glob'
|
|
2
|
+
import {resolve, dirname} from 'path'
|
|
3
|
+
import {DisplayNamesData, invariant} from '@formatjs/ecma402-abstract'
|
|
4
|
+
import * as AVAILABLE_LOCALES from 'cldr-core/availableLocales.json'
|
|
5
|
+
|
|
6
|
+
// CLDR JSON types
|
|
7
|
+
type LanguageRawData =
|
|
8
|
+
typeof import('cldr-localenames-full/main/en/languages.json')['main']['en']['localeDisplayNames']['languages']
|
|
9
|
+
type RegionRawData =
|
|
10
|
+
typeof import('cldr-localenames-full/main/en/territories.json')['main']['en']['localeDisplayNames']['territories']
|
|
11
|
+
type ScriptRawData =
|
|
12
|
+
typeof import('cldr-localenames-full/main/en/scripts.json')['main']['en']['localeDisplayNames']['scripts']
|
|
13
|
+
type LocalePatternRawData =
|
|
14
|
+
typeof import('cldr-localenames-full/main/en/localeDisplayNames.json')['main']['en']['localeDisplayNames']['localeDisplayPattern']['localePattern']
|
|
15
|
+
type CurrencyRawData =
|
|
16
|
+
typeof import('cldr-numbers-full/main/en/currencies.json')['main']['en']['numbers']['currencies']
|
|
17
|
+
// -------------------------------------------------------------------------------------------------
|
|
18
|
+
|
|
19
|
+
export async function getAllLocales(): Promise<string[]> {
|
|
20
|
+
const fns = await glob('*/localeDisplayNames.json', {
|
|
21
|
+
cwd: resolve(
|
|
22
|
+
dirname(require.resolve('cldr-localenames-full/package.json')),
|
|
23
|
+
'./main'
|
|
24
|
+
),
|
|
25
|
+
})
|
|
26
|
+
return fns.map(dirname).filter(l => {
|
|
27
|
+
try {
|
|
28
|
+
return (Intl as any).getCanonicalLocales(l).length
|
|
29
|
+
} catch (e) {
|
|
30
|
+
console.warn(`Invalid locale ${l}`)
|
|
31
|
+
return false
|
|
32
|
+
}
|
|
33
|
+
})
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function extractStyleData(
|
|
37
|
+
cldrData: Record<string, string>
|
|
38
|
+
): Record<'long' | 'short' | 'narrow', Record<string, string>> {
|
|
39
|
+
const longData: Record<string, string> = {}
|
|
40
|
+
const shortData: Record<string, string> = {}
|
|
41
|
+
const narrowData: Record<string, string> = {}
|
|
42
|
+
for (const [key, value] of Object.entries(cldrData)) {
|
|
43
|
+
if (key.includes('-alt-')) {
|
|
44
|
+
// As of Jan 2020, there is no `-alt-narrow`.
|
|
45
|
+
if (key.includes('-alt-narrow')) {
|
|
46
|
+
narrowData[key.replace(/-alt-narrow.*/, '')] = value
|
|
47
|
+
} else if (key.includes('-alt-short')) {
|
|
48
|
+
shortData[key.replace(/-alt-short.*/, '')] = value
|
|
49
|
+
}
|
|
50
|
+
// Not sure why `-alt-long` exists. Ignore them for now.
|
|
51
|
+
} else {
|
|
52
|
+
longData[key] = value
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return {long: longData, short: shortData, narrow: narrowData}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Currency code -> {Property -> Value}.
|
|
59
|
+
function extractCurrencyStyleData(
|
|
60
|
+
locale: string,
|
|
61
|
+
cldrData: CurrencyRawData
|
|
62
|
+
): Record<'long' | 'short' | 'narrow', Record<string, string>> {
|
|
63
|
+
const longData: Record<string, string> = {}
|
|
64
|
+
for (const [currencyCode, value] of Object.entries(cldrData)) {
|
|
65
|
+
// There does not seem to be narrow or short display names.
|
|
66
|
+
const displayName = value.displayName
|
|
67
|
+
invariant(
|
|
68
|
+
!!displayName,
|
|
69
|
+
`displayName does not exist for currency ${currencyCode} of locale ${locale}.`
|
|
70
|
+
)
|
|
71
|
+
longData[currencyCode] = displayName
|
|
72
|
+
}
|
|
73
|
+
return {long: longData, short: {}, narrow: {}}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
async function loadDisplayNames(locale: string): Promise<DisplayNamesData> {
|
|
77
|
+
const [languages, territories, scripts, localeDisplayNames, currencies] =
|
|
78
|
+
await Promise.all([
|
|
79
|
+
import(`cldr-localenames-full/main/${locale}/languages.json`),
|
|
80
|
+
import(`cldr-localenames-full/main/${locale}/territories.json`),
|
|
81
|
+
import(`cldr-localenames-full/main/${locale}/scripts.json`),
|
|
82
|
+
import(`cldr-localenames-full/main/${locale}/localeDisplayNames.json`),
|
|
83
|
+
import(`cldr-numbers-full/main/${locale}/currencies.json`),
|
|
84
|
+
])
|
|
85
|
+
const langData: LanguageRawData =
|
|
86
|
+
languages.main[locale].localeDisplayNames.languages
|
|
87
|
+
const regionData: RegionRawData =
|
|
88
|
+
territories.main[locale].localeDisplayNames.territories
|
|
89
|
+
const scriptData: ScriptRawData =
|
|
90
|
+
scripts.main[locale].localeDisplayNames.scripts
|
|
91
|
+
const localePatternData: LocalePatternRawData =
|
|
92
|
+
localeDisplayNames.main[locale].localeDisplayNames.localeDisplayPattern
|
|
93
|
+
.localePattern
|
|
94
|
+
const currencyData: CurrencyRawData =
|
|
95
|
+
currencies.main[locale].numbers.currencies
|
|
96
|
+
|
|
97
|
+
return {
|
|
98
|
+
types: {
|
|
99
|
+
language: extractStyleData(langData),
|
|
100
|
+
region: extractStyleData(regionData),
|
|
101
|
+
script: extractStyleData(scriptData),
|
|
102
|
+
currency: extractCurrencyStyleData(locale, currencyData),
|
|
103
|
+
},
|
|
104
|
+
patterns: {
|
|
105
|
+
// No support for alt variants
|
|
106
|
+
locale: localePatternData,
|
|
107
|
+
},
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export async function extractDisplayNames(
|
|
112
|
+
locales: string[] = AVAILABLE_LOCALES.availableLocales.full
|
|
113
|
+
): Promise<Record<string, DisplayNamesData>> {
|
|
114
|
+
const data = await Promise.all(locales.map(loadDisplayNames))
|
|
115
|
+
return locales.reduce((all: Record<string, DisplayNamesData>, locale, i) => {
|
|
116
|
+
all[locale] = data[i]
|
|
117
|
+
return all
|
|
118
|
+
}, {})
|
|
119
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {join, basename} from 'path'
|
|
2
|
+
import {copyFileSync} from 'fs-extra'
|
|
3
|
+
import minimist from 'minimist'
|
|
4
|
+
import {sync as globSync} from 'fast-glob'
|
|
5
|
+
|
|
6
|
+
function main(args: minimist.ParsedArgs) {
|
|
7
|
+
const {cldrFolder, locales: localesToGen = '', out} = args
|
|
8
|
+
const allFiles = globSync(join(cldrFolder, '*.json'))
|
|
9
|
+
allFiles.sort()
|
|
10
|
+
const locales = localesToGen
|
|
11
|
+
? localesToGen.split(',')
|
|
12
|
+
: allFiles.map(f => basename(f, '.json'))
|
|
13
|
+
|
|
14
|
+
copyFileSync(join(cldrFolder, `${locales[0]}.json`), out)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (require.main === module) {
|
|
18
|
+
main(minimist(process.argv))
|
|
19
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {outputFileSync, readFileSync} from 'fs-extra'
|
|
2
|
+
import minimist from 'minimist'
|
|
3
|
+
interface Args extends minimist.ParsedArgs {
|
|
4
|
+
cldrFile: string[]
|
|
5
|
+
localesToGen: string[]
|
|
6
|
+
out: string
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function main(args: Args) {
|
|
10
|
+
const {cldrFile: cldrFiles, out} = args
|
|
11
|
+
cldrFiles.sort()
|
|
12
|
+
|
|
13
|
+
// Aggregate all into ../test262-main.js
|
|
14
|
+
const allData = cldrFiles.map(f => readFileSync(f))
|
|
15
|
+
outputFileSync(
|
|
16
|
+
out,
|
|
17
|
+
`// @generated
|
|
18
|
+
// @ts-nocheck
|
|
19
|
+
import './polyfill-force';
|
|
20
|
+
if (Intl.DisplayNames && typeof Intl.DisplayNames.__addLocaleData === 'function') {
|
|
21
|
+
Intl.DisplayNames.__addLocaleData(${allData.join(',\n')})
|
|
22
|
+
}`
|
|
23
|
+
)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (require.main === module) {
|
|
27
|
+
main(minimist<Args>(process.argv))
|
|
28
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import {match} from '@formatjs/intl-localematcher'
|
|
2
|
+
import {supportedLocales} from './supported-locales.generated'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* https://bugs.chromium.org/p/chromium/issues/detail?id=1097432
|
|
6
|
+
*/
|
|
7
|
+
function hasMissingICUBug() {
|
|
8
|
+
const DisplayNames = (Intl as any).DisplayNames
|
|
9
|
+
if (DisplayNames && !DisplayNames.polyfilled) {
|
|
10
|
+
return (
|
|
11
|
+
new DisplayNames(['en'], {
|
|
12
|
+
type: 'region',
|
|
13
|
+
}).of('CA') === 'CA'
|
|
14
|
+
)
|
|
15
|
+
}
|
|
16
|
+
return false
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* https://bugs.chromium.org/p/chromium/issues/detail?id=1176979
|
|
21
|
+
*/
|
|
22
|
+
function hasScriptBug() {
|
|
23
|
+
const DisplayNames = (Intl as any).DisplayNames
|
|
24
|
+
if (DisplayNames && !DisplayNames.polyfilled) {
|
|
25
|
+
return (
|
|
26
|
+
new DisplayNames(['en'], {
|
|
27
|
+
type: 'script',
|
|
28
|
+
}).of('arab') !== 'Arabic'
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
return false
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function supportedLocalesOf(locale?: string | string[]) {
|
|
35
|
+
if (!locale) {
|
|
36
|
+
return true
|
|
37
|
+
}
|
|
38
|
+
const locales = Array.isArray(locale) ? locale : [locale]
|
|
39
|
+
return (
|
|
40
|
+
(Intl as any).DisplayNames.supportedLocalesOf(locales).length ===
|
|
41
|
+
locales.length
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export function _shouldPolyfillWithoutLocale() {
|
|
46
|
+
return !(Intl as any).DisplayNames || hasMissingICUBug() || hasScriptBug()
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function shouldPolyfill(locale = 'en') {
|
|
50
|
+
if (_shouldPolyfillWithoutLocale() || !supportedLocalesOf(locale)) {
|
|
51
|
+
return match([locale], supportedLocales, 'en')
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const supportedLocales: string[] = ["af", "af-NA", "agq", "ak", "am", "ar", "ar-AE", "ar-BH", "ar-DJ", "ar-DZ", "ar-EG", "ar-EH", "ar-ER", "ar-IL", "ar-IQ", "ar-JO", "ar-KM", "ar-KW", "ar-LB", "ar-LY", "ar-MA", "ar-MR", "ar-OM", "ar-PS", "ar-QA", "ar-SA", "ar-SD", "ar-SO", "ar-SS", "ar-SY", "ar-TD", "ar-TN", "ar-YE", "as", "asa", "ast", "az", "az-Cyrl", "az-Latn", "bas", "be", "be-tarask", "bem", "bez", "bg", "bm", "bn", "bn-IN", "bo", "bo-IN", "br", "brx", "bs", "bs-Cyrl", "bs-Latn", "ca", "ca-AD", "ca-ES-valencia", "ca-FR", "ca-IT", "ccp", "ccp-IN", "ce", "ceb", "cgg", "chr", "ckb", "ckb-IR", "cs", "cy", "da", "da-GL", "dav", "de", "de-AT", "de-BE", "de-CH", "de-IT", "de-LI", "de-LU", "dje", "doi", "dsb", "dua", "dyo", "dz", "ebu", "ee", "ee-TG", "el", "el-CY", "en", "en-001", "en-150", "en-AE", "en-AG", "en-AI", "en-AS", "en-AT", "en-AU", "en-BB", "en-BE", "en-BI", "en-BM", "en-BS", "en-BW", "en-BZ", "en-CA", "en-CC", "en-CH", "en-CK", "en-CM", "en-CX", "en-CY", "en-DE", "en-DG", "en-DK", "en-DM", "en-ER", "en-FI", "en-FJ", "en-FK", "en-FM", "en-GB", "en-GD", "en-GG", "en-GH", "en-GI", "en-GM", "en-GU", "en-GY", "en-HK", "en-IE", "en-IL", "en-IM", "en-IN", "en-IO", "en-JE", "en-JM", "en-KE", "en-KI", "en-KN", "en-KY", "en-LC", "en-LR", "en-LS", "en-MG", "en-MH", "en-MO", "en-MP", "en-MS", "en-MT", "en-MU", "en-MW", "en-MY", "en-NA", "en-NF", "en-NG", "en-NL", "en-NR", "en-NU", "en-NZ", "en-PG", "en-PH", "en-PK", "en-PN", "en-PR", "en-PW", "en-RW", "en-SB", "en-SC", "en-SD", "en-SE", "en-SG", "en-SH", "en-SI", "en-SL", "en-SS", "en-SX", "en-SZ", "en-TC", "en-TK", "en-TO", "en-TT", "en-TV", "en-TZ", "en-UG", "en-UM", "en-VC", "en-VG", "en-VI", "en-VU", "en-WS", "en-ZA", "en-ZM", "en-ZW", "eo", "es", "es-419", "es-AR", "es-BO", "es-BR", "es-BZ", "es-CL", "es-CO", "es-CR", "es-CU", "es-DO", "es-EA", "es-EC", "es-GQ", "es-GT", "es-HN", "es-IC", "es-MX", "es-NI", "es-PA", "es-PE", "es-PH", "es-PR", "es-PY", "es-SV", "es-US", "es-UY", "es-VE", "et", "eu", "ewo", "fa", "fa-AF", "ff", "ff-Adlm", "ff-Adlm-BF", "ff-Adlm-CM", "ff-Adlm-GH", "ff-Adlm-GM", "ff-Adlm-GW", "ff-Adlm-LR", "ff-Adlm-MR", "ff-Adlm-NE", "ff-Adlm-NG", "ff-Adlm-SL", "ff-Adlm-SN", "ff-Latn", "ff-Latn-BF", "ff-Latn-CM", "ff-Latn-GH", "ff-Latn-GM", "ff-Latn-GN", "ff-Latn-GW", "ff-Latn-LR", "ff-Latn-MR", "ff-Latn-NE", "ff-Latn-NG", "ff-Latn-SL", "fi", "fil", "fo", "fo-DK", "fr", "fr-BE", "fr-BF", "fr-BI", "fr-BJ", "fr-BL", "fr-CA", "fr-CD", "fr-CF", "fr-CG", "fr-CH", "fr-CI", "fr-CM", "fr-DJ", "fr-DZ", "fr-GA", "fr-GF", "fr-GN", "fr-GP", "fr-GQ", "fr-HT", "fr-KM", "fr-LU", "fr-MA", "fr-MC", "fr-MF", "fr-MG", "fr-ML", "fr-MQ", "fr-MR", "fr-MU", "fr-NC", "fr-NE", "fr-PF", "fr-PM", "fr-RE", "fr-RW", "fr-SC", "fr-SN", "fr-SY", "fr-TD", "fr-TG", "fr-TN", "fr-VU", "fr-WF", "fr-YT", "fur", "fy", "ga", "ga-GB", "gd", "gl", "gsw", "gsw-FR", "gsw-LI", "gu", "guz", "gv", "ha", "ha-GH", "ha-NE", "haw", "he", "hi", "hr", "hr-BA", "hsb", "hu", "hy", "ia", "id", "ig", "ii", "is", "it", "it-CH", "it-SM", "it-VA", "ja", "jgo", "jmc", "jv", "ka", "kab", "kam", "kde", "kea", "kgp", "khq", "ki", "kk", "kkj", "kl", "kln", "km", "kn", "ko", "ko-KP", "kok", "ks", "ks-Arab", "ksb", "ksf", "ksh", "ku", "kw", "ky", "lag", "lb", "lg", "lkt", "ln", "ln-AO", "ln-CF", "ln-CG", "lo", "lrc", "lrc-IQ", "lt", "lu", "luo", "luy", "lv", "mai", "mas", "mas-TZ", "mer", "mfe", "mg", "mgh", "mgo", "mi", "mk", "ml", "mn", "mni", "mni-Beng", "mr", "ms", "ms-BN", "ms-ID", "ms-SG", "mt", "mua", "my", "mzn", "naq", "nb", "nb-SJ", "nd", "nds", "nds-NL", "ne", "ne-IN", "nl", "nl-AW", "nl-BE", "nl-BQ", "nl-CW", "nl-SR", "nl-SX", "nmg", "nn", "nnh", "no", "nus", "nyn", "om", "om-KE", "or", "os", "os-RU", "pa", "pa-Arab", "pa-Guru", "pcm", "pl", "ps", "ps-PK", "pt", "pt-AO", "pt-CH", "pt-CV", "pt-GQ", "pt-GW", "pt-LU", "pt-MO", "pt-MZ", "pt-PT", "pt-ST", "pt-TL", "qu", "qu-BO", "qu-EC", "rm", "rn", "ro", "ro-MD", "rof", "ru", "ru-BY", "ru-KG", "ru-KZ", "ru-MD", "ru-UA", "rw", "rwk", "sa", "sah", "saq", "sat", "sat-Olck", "sbp", "sc", "sd", "sd-Arab", "sd-Deva", "se", "se-FI", "se-SE", "seh", "ses", "sg", "shi", "shi-Latn", "shi-Tfng", "si", "sk", "sl", "smn", "sn", "so", "so-DJ", "so-ET", "so-KE", "sq", "sq-MK", "sq-XK", "sr", "sr-Cyrl", "sr-Cyrl-BA", "sr-Cyrl-ME", "sr-Cyrl-XK", "sr-Latn", "sr-Latn-BA", "sr-Latn-ME", "sr-Latn-XK", "su", "su-Latn", "sv", "sv-AX", "sv-FI", "sw", "sw-CD", "sw-KE", "sw-UG", "ta", "ta-LK", "ta-MY", "ta-SG", "te", "teo", "teo-KE", "tg", "th", "ti", "ti-ER", "tk", "to", "tr", "tr-CY", "tt", "twq", "tzm", "ug", "uk", "und", "ur", "ur-IN", "uz", "uz-Arab", "uz-Cyrl", "uz-Latn", "vai", "vai-Latn", "vai-Vaii", "vi", "vun", "wae", "wo", "xh", "xog", "yav", "yi", "yo", "yo-BJ", "yrl", "yrl-CO", "yrl-VE", "yue", "yue-Hans", "yue-Hant", "zgh", "zh", "zh-Hans", "zh-Hans-HK", "zh-Hans-MO", "zh-Hans-SG", "zh-Hant", "zh-Hant-HK", "zh-Hant-MO", "zu"]
|