initial commit

Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
2025-10-31 23:37:30 +01:00
commit 7228269764
9653 changed files with 4034514 additions and 0 deletions

View File

@@ -0,0 +1,230 @@
#
# ISO 15924 - Codes for the representation of names of scripts
# Codes pour la représentation des noms décritures
# Format:
# Code;N°;English Name;Nom français;PVA;Unicode Version;Date
#
Adlm;166;Adlam;adlam;Adlam;9.0;2016-12-05
Afak;439;Afaka;afaka;;;2010-12-21
Aghb;239;Caucasian Albanian;aghbanien;Caucasian_Albanian;7.0;2014-11-15
Ahom;338;Ahom, Tai Ahom;âhom;Ahom;8.0;2015-07-07
Arab;160;Arabic;arabe;Arabic;1.1;2004-05-01
Aran;161;Arabic (Nastaliq variant);arabe (variante nastalique);;1.1;2014-11-15
Armi;124;Imperial Aramaic;araméen impérial;Imperial_Aramaic;5.2;2009-06-01
Armn;230;Armenian;arménien;Armenian;1.1;2004-05-01
Avst;134;Avestan;avestique;Avestan;5.2;2009-06-01
Bali;360;Balinese;balinais;Balinese;5.0;2006-10-10
Bamu;435;Bamum;bamoum;Bamum;5.2;2009-06-01
Bass;259;Bassa Vah;bassa;Bassa_Vah;7.0;2014-11-15
Batk;365;Batak;batak;Batak;6.0;2010-07-23
Beng;325;Bengali (Bangla);bengalî (bangla);Bengali;1.1;2016-12-05
Bhks;334;Bhaiksuki;bhaïksukî;Bhaiksuki;9.0;2016-12-05
Blis;550;Blissymbols;symboles Bliss;;;2004-05-01
Bopo;285;Bopomofo;bopomofo;Bopomofo;1.1;2004-05-01
Brah;300;Brahmi;brahma;Brahmi;6.0;2010-07-23
Brai;570;Braille;braille;Braille;3.0;2004-05-01
Bugi;367;Buginese;bouguis;Buginese;4.1;2006-06-21
Buhd;372;Buhid;bouhide;Buhid;3.2;2004-05-01
Cakm;349;Chakma;chakma;Chakma;6.1;2012-02-06
Cans;440;Unified Canadian Aboriginal Syllabics;syllabaire autochtone canadien unifié;Canadian_Aboriginal;3.0;2004-05-29
Cari;201;Carian;carien;Carian;5.1;2007-07-02
Cham;358;Cham;cham (čam, tcham);Cham;5.1;2009-11-11
Cher;445;Cherokee;tchérokî;Cherokee;3.0;2004-05-01
Chis;298;Chisoi;chisoi;;;2023-09-12
Chrs;109;Chorasmian;chorasmien;Chorasmian;13.0;2019-08-19
Cirt;291;Cirth;cirth;;;2004-05-01
Copt;204;Coptic;copte;Coptic;4.1;2006-06-21
Cpmn;402;Cypro-Minoan;syllabaire chypro-minoen;Cypro_Minoan;14.0;2017-07-26
Cprt;403;Cypriot syllabary;syllabaire chypriote;Cypriot;4.0;2017-07-26
Cyrl;220;Cyrillic;cyrillique;Cyrillic;1.1;2004-05-01
Cyrs;221;Cyrillic (Old Church Slavonic variant);cyrillique (variante slavonne);;1.1;2004-05-01
Deva;315;Devanagari (Nagari);dévanâgarî;Devanagari;1.1;2004-05-01
Diak;342;Dives Akuru;dives akuru;Dives_Akuru;13.0;2019-08-19
Dogr;328;Dogra;dogra;Dogra;11.0;2016-12-05
Dsrt;250;Deseret (Mormon);déseret (mormon);Deseret;3.1;2004-05-01
Dupl;755;Duployan shorthand, Duployan stenography;sténographie Duployé;Duployan;7.0;2014-11-15
Egyd;070;Egyptian demotic;démotique égyptien;;;2004-05-01
Egyh;060;Egyptian hieratic;hiératique égyptien;;5.2;2004-05-01
Egyp;050;Egyptian hieroglyphs;hiéroglyphes égyptiens;Egyptian_Hieroglyphs;5.2;2009-06-01
Elba;226;Elbasan;elbasan;Elbasan;7.0;2014-11-15
Elym;128;Elymaic;élymaïque;Elymaic;12.0;2018-08-26
Ethi;430;Ethiopic (Geʻez);éthiopien (geʻez, guèze);Ethiopic;3.0;2004-10-25
Gara;164;Garay;garay;;;2023-09-12
Geok;241;Khutsuri (Asomtavruli and Nuskhuri);khoutsouri (assomtavrouli et nouskhouri);Georgian;1.1;2012-10-16
Geor;240;Georgian (Mkhedruli and Mtavruli);géorgien (mkhédrouli et mtavrouli);Georgian;1.1;2016-12-05
Glag;225;Glagolitic;glagolitique;Glagolitic;4.1;2006-06-21
Gong;312;Gunjala Gondi;gunjala gondî;Gunjala_Gondi;11.0;2016-12-05
Gonm;313;Masaram Gondi;masaram gondî;Masaram_Gondi;10.0;2017-07-26
Goth;206;Gothic;gotique;Gothic;3.1;2004-05-01
Gran;343;Grantha;grantha;Grantha;7.0;2014-11-15
Grek;200;Greek;grec;Greek;1.1;2004-05-01
Gujr;320;Gujarati;goudjarâtî (gujrâtî);Gujarati;1.1;2004-05-01
Gukh;397;Gurung Khema;gurung khema;;;2023-09-12
Guru;310;Gurmukhi;gourmoukhî;Gurmukhi;1.1;2004-05-01
Hanb;503;Han with Bopomofo (alias for Han + Bopomofo);han avec bopomofo (alias pour han + bopomofo);;1.1;2016-01-19
Hang;286;Hangul (Hangŭl, Hangeul);hangûl (hangŭl, hangeul);Hangul;1.1;2004-05-29
Hani;500;Han (Hanzi, Kanji, Hanja);idéogrammes han (sinogrammes);Han;1.1;2009-02-23
Hano;371;Hanunoo (Hanunóo);hanounóo;Hanunoo;3.2;2004-05-29
Hans;501;Han (Simplified variant);idéogrammes han (variante simplifiée);;1.1;2004-05-29
Hant;502;Han (Traditional variant);idéogrammes han (variante traditionnelle);;1.1;2004-05-29
Hatr;127;Hatran;hatrénien;Hatran;8.0;2015-07-07
Hebr;125;Hebrew;hébreu;Hebrew;1.1;2004-05-01
Hira;410;Hiragana;hiragana;Hiragana;1.1;2004-05-01
Hluw;080;Anatolian Hieroglyphs (Luwian Hieroglyphs, Hittite Hieroglyphs);hiéroglyphes anatoliens (hiéroglyphes louvites, hiéroglyphes hittites);Anatolian_Hieroglyphs;8.0;2015-07-07
Hmng;450;Pahawh Hmong;pahawh hmong;Pahawh_Hmong;7.0;2014-11-15
Hmnp;451;Nyiakeng Puachue Hmong;nyiakeng puachue hmong;Nyiakeng_Puachue_Hmong;12.0;2017-07-26
Hrkt;412;Japanese syllabaries (alias for Hiragana + Katakana);syllabaires japonais (alias pour hiragana + katakana);Katakana_Or_Hiragana;1.1;2011-06-21
Hung;176;Old Hungarian (Hungarian Runic);runes hongroises (ancien hongrois);Old_Hungarian;8.0;2015-07-07
Inds;610;Indus (Harappan);indus;;;2004-05-01
Ital;210;Old Italic (Etruscan, Oscan, etc.);ancien italique (étrusque, osque, etc.);Old_Italic;3.1;2004-05-29
Jamo;284;Jamo (alias for Jamo subset of Hangul);jamo (alias pour le sous-ensemble jamo du hangûl);;1.1;2016-01-19
Java;361;Javanese;javanais;Javanese;5.2;2009-06-01
Jpan;413;Japanese (alias for Han + Hiragana + Katakana);japonais (alias pour han + hiragana + katakana);;1.1;2006-06-21
Jurc;510;Jurchen;jurchen;;;2010-12-21
Kali;357;Kayah Li;kayah li;Kayah_Li;5.1;2007-07-02
Kana;411;Katakana;katakana;Katakana;1.1;2004-05-01
Kawi;368;Kawi;kawi;Kawi;15.0;2021-12-03
Khar;305;Kharoshthi;kharochthî;Kharoshthi;4.1;2006-06-21
Khmr;355;Khmer;khmer;Khmer;3.0;2004-05-29
Khoj;322;Khojki;khojkî;Khojki;7.0;2014-11-15
Kitl;505;Khitan large script;grande écriture khitan;;;2015-07-15
Kits;288;Khitan small script;petite écriture khitan;Khitan_Small_Script;13.0;2015-07-15
Knda;345;Kannada;kannara (canara);Kannada;1.1;2004-05-29
Kore;287;Korean (alias for Hangul + Han);coréen (alias pour hangûl + han);;1.1;2007-06-13
Kpel;436;Kpelle;kpèllé;;;2010-03-26
Krai;396;Kirat Rai;kirat rai;;;2023-09-12
Kthi;317;Kaithi;kaithî;Kaithi;5.2;2009-06-01
Lana;351;Tai Tham (Lanna);taï tham (lanna);Tai_Tham;5.2;2009-06-01
Laoo;356;Lao;laotien;Lao;1.1;2004-05-01
Latf;217;Latin (Fraktur variant);latin (variante brisée);;1.1;2004-05-01
Latg;216;Latin (Gaelic variant);latin (variante gaélique);;1.1;2004-05-01
Latn;215;Latin;latin;Latin;1.1;2004-05-01
Leke;364;Leke;léké;;;2015-07-07
Lepc;335;Lepcha (Róng);lepcha (róng);Lepcha;5.1;2007-07-02
Limb;336;Limbu;limbou;Limbu;4.0;2004-05-29
Lina;400;Linear A;linéaire A;Linear_A;7.0;2014-11-15
Linb;401;Linear B;linéaire B;Linear_B;4.0;2004-05-29
Lisu;399;Lisu (Fraser);lisu (Fraser);Lisu;5.2;2009-06-01
Loma;437;Loma;loma;;;2010-03-26
Lyci;202;Lycian;lycien;Lycian;5.1;2007-07-02
Lydi;116;Lydian;lydien;Lydian;5.1;2007-07-02
Mahj;314;Mahajani;mahâjanî;Mahajani;7.0;2014-11-15
Maka;366;Makasar;makassar;Makasar;11.0;2016-12-05
Mand;140;Mandaic, Mandaean;mandéen;Mandaic;6.0;2010-07-23
Mani;139;Manichaean;manichéen;Manichaean;7.0;2014-11-15
Marc;332;Marchen;marchen;Marchen;9.0;2016-12-05
Maya;090;Mayan hieroglyphs;hiéroglyphes mayas;;;2004-05-01
Medf;265;Medefaidrin (Oberi Okaime, Oberi Ɔkaimɛ);médéfaïdrine;Medefaidrin;11.0;2016-12-05
Mend;438;Mende Kikakui;mendé kikakui;Mende_Kikakui;7.0;2014-11-15
Merc;101;Meroitic Cursive;cursif méroïtique;Meroitic_Cursive;6.1;2012-02-06
Mero;100;Meroitic Hieroglyphs;hiéroglyphes méroïtiques;Meroitic_Hieroglyphs;6.1;2012-02-06
Mlym;347;Malayalam;malayâlam;Malayalam;1.1;2004-05-01
Modi;324;Modi, Moḍī;modî;Modi;7.0;2014-11-15
Mong;145;Mongolian;mongol;Mongolian;3.0;2004-05-01
Moon;218;Moon (Moon code, Moon script, Moon type);écriture Moon;;;2006-12-11
Mroo;264;Mro, Mru;mro;Mro;7.0;2016-12-05
Mtei;337;Meitei Mayek (Meithei, Meetei);meitei mayek;Meetei_Mayek;5.2;2009-06-01
Mult;323;Multani;multanî;Multani;8.0;2015-07-07
Mymr;350;Myanmar (Burmese);birman;Myanmar;3.0;2004-05-01
Nagm;295;Nag Mundari;nag mundari;Nag_Mundari;15.0;2021-12-03
Nand;311;Nandinagari;nandinâgarî;Nandinagari;12.0;2018-08-26
Narb;106;Old North Arabian (Ancient North Arabian);nord-arabique;Old_North_Arabian;7.0;2014-11-15
Nbat;159;Nabataean;nabatéen;Nabataean;7.0;2014-11-15
Newa;333;Newa, Newar, Newari, Nepāla lipi;néwa, néwar, néwari, nepāla lipi;Newa;9.0;2016-12-05
Nkdb;085;Naxi Dongba (na²¹ɕi³³ to³³ba²¹, Nakhi Tomba);naxi dongba;;;2017-07-26
Nkgb;420;Naxi Geba (na²¹ɕi³³ gʌ²¹ba²¹, 'Na-'Khi ²Ggŏ-¹baw, Nakhi Geba);naxi geba, nakhi geba;;;2017-07-26
Nkoo;165;NKo;nko;Nko;5.0;2006-10-10
Nshu;499;Nüshu;nüshu;Nushu;10.0;2017-07-26
Ogam;212;Ogham;ogam;Ogham;3.0;2004-05-01
Olck;261;Ol Chiki (Ol Cemet, Ol, Santali);ol tchiki;Ol_Chiki;5.1;2007-07-02
Onao;296;Ol Onal;ol onal;;;2023-09-12
Orkh;175;Old Turkic, Orkhon Runic;orkhon;Old_Turkic;5.2;2009-06-01
Orya;327;Oriya (Odia);oriyâ (odia);Oriya;1.1;2016-12-05
Osge;219;Osage;osage;Osage;9.0;2016-12-05
Osma;260;Osmanya;osmanais;Osmanya;4.0;2004-05-01
Ougr;143;Old Uyghur;ancien ouïgour;Old_Uyghur;14.0;2021-01-25
Palm;126;Palmyrene;palmyrénien;Palmyrene;7.0;2014-11-15
Pauc;263;Pau Cin Hau;paou chin haou;Pau_Cin_Hau;7.0;2014-11-15
Pcun;015;Proto-Cuneiform;proto-cunéiforme;;;2021-01-25
Pelm;016;Proto-Elamite;proto-élamite;;;2021-01-25
Perm;227;Old Permic;ancien permien;Old_Permic;7.0;2014-11-15
Phag;331;Phags-pa;phags pa;Phags_Pa;5.0;2006-10-10
Phli;131;Inscriptional Pahlavi;pehlevi des inscriptions;Inscriptional_Pahlavi;5.2;2009-06-01
Phlp;132;Psalter Pahlavi;pehlevi des psautiers;Psalter_Pahlavi;7.0;2014-11-15
Phlv;133;Book Pahlavi;pehlevi des livres;;;2007-07-15
Phnx;115;Phoenician;phénicien;Phoenician;5.0;2006-10-10
Plrd;282;Miao (Pollard);miao (Pollard);Miao;6.1;2012-02-06
Piqd;293;Klingon (KLI pIqaD);klingon (pIqaD du KLI);;;2015-12-16
Prti;130;Inscriptional Parthian;parthe des inscriptions;Inscriptional_Parthian;5.2;2009-06-01
Psin;103;Proto-Sinaitic;proto-sinaïtique;;;2021-01-25
Qaaa;900;Reserved for private use (start);réservé à lusage privé (début);;;2004-05-29
Qabx;949;Reserved for private use (end);réservé à lusage privé (fin);;;2004-05-29
Ranj;303;Ranjana;ranjana;;;2021-01-25
Rjng;363;Rejang (Redjang, Kaganga);redjang (kaganga);Rejang;5.1;2009-02-23
Rohg;167;Hanifi Rohingya;hanifi rohingya;Hanifi_Rohingya;11.0;2017-11-21
Roro;620;Rongorongo;rongorongo;;;2004-05-01
Runr;211;Runic;runique;Runic;3.0;2004-05-01
Samr;123;Samaritan;samaritain;Samaritan;5.2;2009-06-01
Sara;292;Sarati;sarati;;;2004-05-29
Sarb;105;Old South Arabian;sud-arabique, himyarite;Old_South_Arabian;5.2;2009-06-01
Saur;344;Saurashtra;saurachtra;Saurashtra;5.1;2007-07-02
Sgnw;095;SignWriting;SignÉcriture, SignWriting;SignWriting;8.0;2015-07-07
Shaw;281;Shavian (Shaw);shavien (Shaw);Shavian;4.0;2004-05-01
Shrd;319;Sharada, Śāradā;charada, shard;Sharada;6.1;2012-02-06
Shui;530;Shuishu;shuishu;;;2017-07-26
Sidd;302;Siddham, Siddhaṃ, Siddhamātṛkā;siddham;Siddham;7.0;2014-11-15
Sidt;180;Sidetic;sidétique;;;2023-09-12
Sind;318;Khudawadi, Sindhi;khoudawadî, sindhî;Khudawadi;7.0;2014-11-15
Sinh;348;Sinhala;singhalais;Sinhala;3.0;2004-05-01
Sogd;141;Sogdian;sogdien;Sogdian;11.0;2017-11-21
Sogo;142;Old Sogdian;ancien sogdien;Old_Sogdian;11.0;2017-11-21
Sora;398;Sora Sompeng;sora sompeng;Sora_Sompeng;6.1;2012-02-06
Soyo;329;Soyombo;soyombo;Soyombo;10.0;2017-07-26
Sund;362;Sundanese;sundanais;Sundanese;5.1;2007-07-02
Sunu;274;Sunuwar;sunuwar;;;2021-12-03
Sylo;316;Syloti Nagri;sylotî nâgrî;Syloti_Nagri;4.1;2006-06-21
Syrc;135;Syriac;syriaque;Syriac;3.0;2004-05-01
Syre;138;Syriac (Estrangelo variant);syriaque (variante estranghélo);;3.0;2004-05-01
Syrj;137;Syriac (Western variant);syriaque (variante occidentale);;3.0;2004-05-01
Syrn;136;Syriac (Eastern variant);syriaque (variante orientale);;3.0;2004-05-01
Tagb;373;Tagbanwa;tagbanoua;Tagbanwa;3.2;2004-05-01
Takr;321;Takri, Ṭākrī, Ṭāṅkrī;tâkrî;Takri;6.1;2012-02-06
Tale;353;Tai Le;taï-le;Tai_Le;4.0;2004-10-25
Talu;354;New Tai Lue;nouveau taï-lue;New_Tai_Lue;4.1;2006-06-21
Taml;346;Tamil;tamoul;Tamil;1.1;2004-05-01
Tang;520;Tangut;tangoute;Tangut;9.0;2016-12-05
Tavt;359;Tai Viet;taï viêt;Tai_Viet;5.2;2009-06-01
Tayo;380;Tai Yo;taï yo;;;2023-09-12
Telu;340;Telugu;télougou;Telugu;1.1;2004-05-01
Teng;290;Tengwar;tengwar;;;2004-05-01
Tfng;120;Tifinagh (Berber);tifinagh (berbère);Tifinagh;4.1;2006-06-21
Tglg;370;Tagalog (Baybayin, Alibata);tagal (baybayin, alibata);Tagalog;3.2;2009-02-23
Thaa;170;Thaana;thâna;Thaana;3.0;2004-05-01
Thai;352;Thai;thaï;Thai;1.1;2004-05-01
Tibt;330;Tibetan;tibétain;Tibetan;2.0;2004-05-01
Tirh;326;Tirhuta;tirhouta;Tirhuta;7.0;2014-11-15
Tnsa;275;Tangsa;tangsa;Tangsa;14.0;2021-02-17
Todr;229;Todhri;todhri;;;2023-09-12
Tols;299;Tolong Siki;tolong siki;;;2023-09-12
Toto;294;Toto;toto;Toto;14.0;2020-04-16
Tutg;341;Tulu-Tigalari;tulu-tigalari;;;2023-09-12
Ugar;040;Ugaritic;ougaritique;Ugaritic;4.0;2004-05-01
Vaii;470;Vai;vaï;Vai;5.1;2007-07-02
Visp;280;Visible Speech;parole visible;;;2004-05-01
Vith;228;Vithkuqi;vithkuqi;Vithkuqi;14.0;2021-02-17
Wara;262;Warang Citi (Varang Kshiti);warang citi;Warang_Citi;7.0;2014-11-15
Wcho;283;Wancho;wantcho;Wancho;12.0;2017-07-26
Wole;480;Woleai;woléaï;;;2010-12-21
Xpeo;030;Old Persian;cunéiforme persépolitain;Old_Persian;4.1;2006-06-21
Xsux;020;Cuneiform, Sumero-Akkadian;cunéiforme suméro-akkadien;Cuneiform;5.0;2006-10-10
Yezi;192;Yezidi;yézidi;Yezidi;13.0;2019-08-19
Yiii;460;Yi;yi;Yi;3.0;2004-05-01
Zanb;339;Zanabazar Square (Zanabazarin Dörböljin Useg, Xewtee Dörböljin Bicig, Horizontal Square Script);zanabazar quadratique;Zanabazar_Square;10.0;2017-07-26
Zinh;994;Code for inherited script;codet pour écriture héritée;Inherited;;2009-02-23
Zmth;995;Mathematical notation;notation mathématique;;3.2;2007-11-26
Zsye;993;Symbols (Emoji variant);symboles (variante émoji);;6.0;2015-12-16
Zsym;996;Symbols;symboles;;1.1;2007-11-26
Zxxx;997;Code for unwritten documents;codet pour les documents non écrits;;;2011-06-21
Zyyy;998;Code for undetermined script;codet pour écriture indéterminée;Common;;2004-05-29
Zzzz;999;Code for uncoded script;codet pour écriture non codée;Unknown;;2006-10-10

View File

@@ -0,0 +1,454 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE supplementalData SYSTEM "../../common/dtd/ldmlSupplemental.dtd">
<!--
Copyright © 1991-2020 Unicode, Inc.
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
For terms of use, see http://www.unicode.org/copyright.html
-->
<supplementalData>
<version number="$Revision$"/>
<languageMatching>
<languageMatches type="written_new">
<paradigmLocales locales="en en_GB es es_419 pt_BR pt_PT"/>
<matchVariable id="$enUS" value="AS+CA+GU+MH+MP+PH+PR+UM+US+VI"/>
<matchVariable id="$cnsar" value="HK+MO"/>
<matchVariable id="$americas" value="019"/>
<matchVariable id="$maghreb" value="MA+DZ+TN+LY+MR+EH"/>
<languageMatch desired="nb" supported="no" distance="1"/> <!-- nb ⇒ no -->
<!-- languageMatch desired="ku" supported="ckb" distance="4" oneway="true"/ --> <!-- ku ⇒ ckb -->
<!-- languageMatch desired="ckb" supported="ku" percent="8" oneway="true"/ --> <!-- ckb ⇒ ku -->
<languageMatch desired="hr" supported="bs" distance="4"/> <!-- hr ⇒ bs -->
<languageMatch desired="sh" supported="bs" distance="4"/> <!-- sh ⇒ bs -->
<!-- languageMatch desired="sr" supported="bs" distance="4"/--> <!-- sr ⇒ bs -->
<languageMatch desired="sh" supported="hr" distance="4"/> <!-- sh ⇒ hr -->
<!-- languageMatch desired="sr" supported="hr" distance="4"/--> <!-- sr ⇒ hr -->
<languageMatch desired="sh" supported="sr" distance="4"/> <!-- sh ⇒ sr -->
<languageMatch desired="ssy" supported="aa" distance="4"/> <!-- ssy ⇒ aa -->
<languageMatch desired="gsw" supported="de" distance="4" oneway="true"/> <!-- gsw ⇒ de -->
<languageMatch desired="lb" supported="de" distance="4" oneway="true"/> <!-- lb ⇒ de -->
<languageMatch desired="da" supported="no" distance="8"/> <!-- da ⇒ no -->
<languageMatch desired="da" supported="nb" distance="8"/> <!-- da ⇒ nb -->
<!-- various fallbacks for more or less loosely related languages -->
<!-- CLDR-13528:
Distance 20 for some linguistic relation (e.g., Creoles to French)
or a local language in the area of another (e.g., Breton to French).
Distance 30 for fallbacks to prevalent second languages,
and in the absence of better information. -->
<languageMatch desired="ab" supported="ru" distance="30" oneway="true"/> <!-- Abkhazian: ab ⇒ ru -->
<languageMatch desired="ach" supported="en" distance="30" oneway="true"/> <!-- Acoli (Southern Luo dialect in Uganda): ach ⇒ en -->
<languageMatch desired="af" supported="nl" distance="20" oneway="true"/> <!-- Afrikaans: af ⇒ nl -->
<languageMatch desired="ak" supported="en" distance="30" oneway="true"/> <!-- Akan: ak ⇒ en -->
<languageMatch desired="am" supported="en" distance="30" oneway="true"/> <!-- Amharic ⇒ English -->
<languageMatch desired="ay" supported="es" distance="20" oneway="true"/> <!-- Aymara: ay ⇒ es -->
<languageMatch desired="az" supported="ru" distance="30" oneway="true"/> <!-- Azerbaijani: az ⇒ ru -->
<languageMatch desired="bal" supported="ur" distance="20" oneway="true"/> <!-- Baluchi ⇒ Urdu -->
<languageMatch desired="be" supported="ru" distance="20" oneway="true"/> <!-- Belarusian: be ⇒ ru -->
<languageMatch desired="bem" supported="en" distance="30" oneway="true"/> <!-- Bemba (Zambia): bem ⇒ en -->
<languageMatch desired="bh" supported="hi" distance="30" oneway="true"/> <!-- Bihari languages (gets canonicalized to bho): bh ⇒ hi -->
<languageMatch desired="bn" supported="en" distance="30" oneway="true"/> <!-- Bangla: bn ⇒ en -->
<languageMatch desired="bo" supported="zh" distance="20" oneway="true"/> <!-- Tibetan ⇒ Chinese -->
<languageMatch desired="br" supported="fr" distance="20" oneway="true"/> <!-- Breton: br ⇒ fr -->
<languageMatch desired="ca" supported="es" distance="20" oneway="true"/> <!-- Catalan ⇒ Spanish -->
<languageMatch desired="ceb" supported="fil" distance="30" oneway="true"/> <!-- Cebuano: ceb ⇒ fil -->
<languageMatch desired="chr" supported="en" distance="20" oneway="true"/> <!-- Cherokee: chr ⇒ en -->
<languageMatch desired="ckb" supported="ar" distance="30" oneway="true"/> <!-- Sorani Kurdish: ckb ⇒ ar -->
<languageMatch desired="co" supported="fr" distance="20" oneway="true"/> <!-- Corsican: co ⇒ fr -->
<languageMatch desired="crs" supported="fr" distance="20" oneway="true"/> <!-- Seselwa Creole French: crs ⇒ fr -->
<languageMatch desired="cs" supported="sk" distance="20"/> <!-- Czech ⇔ Slovak -->
<languageMatch desired="cy" supported="en" distance="20" oneway="true"/> <!-- Welsh: cy ⇒ en -->
<languageMatch desired="ee" supported="en" distance="30" oneway="true"/> <!-- Ewe: ee ⇒ en -->
<languageMatch desired="eo" supported="en" distance="30" oneway="true"/> <!-- Esperanto: eo ⇒ en -->
<!-- CLDR-13650: No fallback for Estonian -->
<!-- languageMatch desired="et" supported="fi" distance="30" oneway="true"/--> <!-- Estonian: et ⇒ fi -->
<languageMatch desired="eu" supported="es" distance="20" oneway="true"/> <!-- Basque: eu ⇒ es -->
<languageMatch desired="fo" supported="da" distance="20" oneway="true"/> <!-- Faroese: fo ⇒ da -->
<languageMatch desired="fy" supported="nl" distance="20" oneway="true"/> <!-- Western Frisian: fy ⇒ nl -->
<languageMatch desired="ga" supported="en" distance="20" oneway="true"/> <!-- Irish: ga ⇒ en -->
<languageMatch desired="gaa" supported="en" distance="30" oneway="true"/> <!-- Ga: gaa ⇒ en -->
<languageMatch desired="gd" supported="en" distance="20" oneway="true"/> <!-- Scottish Gaelic: gd ⇒ en -->
<languageMatch desired="gl" supported="es" distance="20" oneway="true"/> <!-- Galician: gl ⇒ es -->
<languageMatch desired="gn" supported="es" distance="20" oneway="true"/> <!-- Guarani: gn ⇒ es -->
<languageMatch desired="gu" supported="hi" distance="30" oneway="true"/> <!-- Gujarati: gu ⇒ hi -->
<languageMatch desired="ha" supported="en" distance="30" oneway="true"/> <!-- Hausa: ha ⇒ en -->
<languageMatch desired="haw" supported="en" distance="20" oneway="true"/> <!-- Hawaiian: haw ⇒ en -->
<languageMatch desired="ht" supported="fr" distance="20" oneway="true"/> <!-- Haitian Creole: ht ⇒ fr -->
<languageMatch desired="hy" supported="ru" distance="30" oneway="true"/> <!-- Armenian: hy ⇒ ru -->
<languageMatch desired="ia" supported="en" distance="30" oneway="true"/> <!-- Interlingua: ia ⇒ en -->
<languageMatch desired="ig" supported="en" distance="30" oneway="true"/> <!-- Igbo: ig ⇒ en -->
<languageMatch desired="is" supported="en" distance="20" oneway="true"/> <!-- Icelandic: is ⇒ en -->
<languageMatch desired="jv" supported="id" distance="20" oneway="true"/> <!-- Javanese: jv ⇒ id -->
<languageMatch desired="ka" supported="en" distance="30" oneway="true"/> <!-- Georgian: ka ⇒ en -->
<languageMatch desired="kg" supported="fr" distance="30" oneway="true"/> <!-- Kongo: kg ⇒ fr -->
<languageMatch desired="kk" supported="ru" distance="30" oneway="true"/> <!-- Kazakh: kk ⇒ ru -->
<languageMatch desired="km" supported="en" distance="30" oneway="true"/> <!-- Khmer: km ⇒ en -->
<languageMatch desired="kn" supported="en" distance="30" oneway="true"/> <!-- Kannada: kn ⇒ en -->
<languageMatch desired="kri" supported="en" distance="30" oneway="true"/> <!-- Krio: kri ⇒ en -->
<languageMatch desired="ku" supported="tr" distance="30" oneway="true"/> <!-- Kurdish: ku ⇒ tr -->
<languageMatch desired="ky" supported="ru" distance="30" oneway="true"/> <!-- Kirghiz: ky ⇒ ru -->
<languageMatch desired="la" supported="it" distance="20" oneway="true"/> <!-- Latin: la ⇒ it -->
<languageMatch desired="lg" supported="en" distance="30" oneway="true"/> <!-- Luganda: lg ⇒ en -->
<languageMatch desired="ln" supported="fr" distance="30" oneway="true"/> <!-- Lingala: ln ⇒ fr -->
<languageMatch desired="lo" supported="en" distance="30" oneway="true"/> <!-- Lao: lo ⇒ en -->
<languageMatch desired="loz" supported="en" distance="30" oneway="true"/> <!-- Lozi: loz ⇒ en -->
<languageMatch desired="lua" supported="fr" distance="30" oneway="true"/> <!-- Luba-Lulua: lua ⇒ fr -->
<languageMatch desired="mai" supported="hi" distance="20" oneway="true"/> <!-- Maithili ⇒ Hindi -->
<languageMatch desired="mfe" supported="en" distance="30" oneway="true"/> <!-- Morisyen: mfe ⇒ en -->
<languageMatch desired="mg" supported="fr" distance="30" oneway="true"/> <!-- Malagasy: mg ⇒ fr -->
<languageMatch desired="mi" supported="en" distance="20" oneway="true"/> <!-- Māori: mi ⇒ en -->
<!-- CLDR-13625: Macedonian should not fall back to Bulgarian -->
<!-- languageMatch desired="mk" supported="bg" distance="30" oneway="true"/--> <!-- Macedonian: mk ⇒ bg -->
<languageMatch desired="ml" supported="en" distance="30" oneway="true"/> <!-- Malayalam: ml ⇒ en -->
<languageMatch desired="mn" supported="ru" distance="30" oneway="true"/> <!-- Mongolian: mn ⇒ ru -->
<languageMatch desired="mr" supported="hi" distance="30" oneway="true"/> <!-- Marathi: mr ⇒ hi -->
<languageMatch desired="ms" supported="id" distance="30" oneway="true"/> <!-- Malay: ms ⇒ id -->
<languageMatch desired="mt" supported="en" distance="30" oneway="true"/> <!-- Maltese: mt ⇒ en -->
<languageMatch desired="my" supported="en" distance="30" oneway="true"/> <!-- Myanmar: my ⇒ en -->
<languageMatch desired="ne" supported="en" distance="30" oneway="true"/> <!-- Nepali: ne ⇒ en -->
<languageMatch desired="nn" supported="nb" distance="20"/> <!-- Nynorsk: nn ⟺ nb -->
<languageMatch desired="nn" supported="no" distance="20"/> <!-- Nynorsk: nn ⟺ no; CLDR-13679 -->
<languageMatch desired="nso" supported="en" distance="30" oneway="true"/> <!-- Northern Sotho: nso ⇒ en -->
<languageMatch desired="ny" supported="en" distance="30" oneway="true"/> <!-- Nyanja: ny ⇒ en -->
<languageMatch desired="nyn" supported="en" distance="30" oneway="true"/> <!-- Nyankole: nyn ⇒ en -->
<languageMatch desired="oc" supported="fr" distance="20" oneway="true"/> <!-- Occitan: oc ⇒ fr -->
<languageMatch desired="om" supported="en" distance="30" oneway="true"/> <!-- Oromo: om ⇒ en -->
<languageMatch desired="or" supported="en" distance="30" oneway="true"/> <!-- Odia: or ⇒ en -->
<languageMatch desired="pa" supported="en" distance="30" oneway="true"/> <!-- Punjabi: pa ⇒ en -->
<languageMatch desired="pcm" supported="en" distance="20" oneway="true"/> <!-- Nigerian Pidgin: pcm ⇒ en -->
<languageMatch desired="ps" supported="en" distance="30" oneway="true"/> <!-- Pashto: ps ⇒ en -->
<languageMatch desired="qu" supported="es" distance="30" oneway="true"/> <!-- Quechua: qu ⇒ es -->
<languageMatch desired="rm" supported="de" distance="20" oneway="true"/> <!-- Romansh: rm ⇒ de -->
<languageMatch desired="rn" supported="en" distance="30" oneway="true"/> <!-- Rundi: rn ⇒ en -->
<languageMatch desired="rw" supported="fr" distance="30" oneway="true"/> <!-- Kinyarwanda: rw ⇒ fr -->
<languageMatch desired="sa" supported="hi" distance="30" oneway="true"/> <!-- Sanskrit: sa ⇒ hi -->
<languageMatch desired="scn" supported="it" distance="20" oneway="true"/> <!-- Sicilian: scn ⇒ it -->
<languageMatch desired="sd" supported="en" distance="30" oneway="true"/> <!-- Sindhi: sd ⇒ en -->
<languageMatch desired="si" supported="en" distance="30" oneway="true"/> <!-- Sinhalese: si ⇒ en -->
<languageMatch desired="sn" supported="en" distance="30" oneway="true"/> <!-- Shona: sn ⇒ en -->
<languageMatch desired="so" supported="en" distance="30" oneway="true"/> <!-- Somali: so ⇒ en -->
<languageMatch desired="sq" supported="en" distance="30" oneway="true"/> <!-- Albanian: sq ⇒ en -->
<languageMatch desired="st" supported="en" distance="30" oneway="true"/> <!-- Southern Sotho: st ⇒ en -->
<languageMatch desired="su" supported="id" distance="20" oneway="true"/> <!-- Sundanese: su ⇒ id -->
<languageMatch desired="sw" supported="en" distance="30" oneway="true"/> <!-- Swahili: sw ⇒ en -->
<languageMatch desired="ta" supported="en" distance="30" oneway="true"/> <!-- Tamil: ta ⇒ en -->
<languageMatch desired="te" supported="en" distance="30" oneway="true"/> <!-- Telugu: te ⇒ en -->
<languageMatch desired="tg" supported="ru" distance="30" oneway="true"/> <!-- Tajik: tg ⇒ ru -->
<languageMatch desired="ti" supported="en" distance="30" oneway="true"/> <!-- Tigrinya: ti ⇒ en -->
<languageMatch desired="tk" supported="ru" distance="30" oneway="true"/> <!-- Turkmen: tk ⇒ ru -->
<languageMatch desired="tlh" supported="en" distance="30" oneway="true"/> <!-- Klingon: tlh ⇒ en -->
<languageMatch desired="tn" supported="en" distance="30" oneway="true"/> <!-- Tswana: tn ⇒ en -->
<languageMatch desired="to" supported="en" distance="30" oneway="true"/> <!-- Tonga: to ⇒ en -->
<languageMatch desired="tt" supported="ru" distance="30" oneway="true"/> <!-- Tatar: tt ⇒ ru -->
<languageMatch desired="tum" supported="en" distance="30" oneway="true"/> <!-- Tumbuka: tum ⇒ en -->
<languageMatch desired="ug" supported="zh" distance="20" oneway="true"/> <!-- Uighur: ug ⇒ zh -->
<!-- CLDR-17382: Ukrainian should not fall back to Russian -->
<!-- languageMatch desired="uk" supported="ru" distance="20" oneway="true"/--> <!-- Ukrainian ⇒ Russian -->
<languageMatch desired="ur" supported="en" distance="30" oneway="true"/> <!-- Urdu: ur ⇒ en -->
<languageMatch desired="uz" supported="ru" distance="30" oneway="true"/> <!-- Uzbek: uz ⇒ ru -->
<languageMatch desired="wo" supported="fr" distance="30" oneway="true"/> <!-- Wolof: wo ⇒ fr -->
<languageMatch desired="xh" supported="en" distance="30" oneway="true"/> <!-- Xhosa: xh ⇒ en -->
<languageMatch desired="yi" supported="en" distance="30" oneway="true"/> <!-- Yiddish: yi ⇒ en -->
<languageMatch desired="yo" supported="en" distance="30" oneway="true"/> <!-- Yoruba: yo ⇒ en -->
<languageMatch desired="za" supported="zh" distance="20" oneway="true"/> <!-- Zhuang languages ⇒ Chinese -->
<languageMatch desired="zu" supported="en" distance="30" oneway="true"/> <!-- Zulu: zu ⇒ en -->
<!-- START generated by GenerateLanguageMatches.java: don't manually change -->
<!-- Encompassed by Arabic -->
<languageMatch desired="aao" supported="ar" distance="10" oneway="true"/> <!-- Algerian Saharan Arabic -->
<languageMatch desired="abh" supported="ar" distance="10" oneway="true"/> <!-- Tajiki Arabic -->
<languageMatch desired="abv" supported="ar" distance="10" oneway="true"/> <!-- Baharna Arabic -->
<languageMatch desired="acm" supported="ar" distance="10" oneway="true"/> <!-- Mesopotamian Arabic -->
<languageMatch desired="acq" supported="ar" distance="10" oneway="true"/> <!-- Ta'izzi-Adeni Arabic -->
<languageMatch desired="acw" supported="ar" distance="10" oneway="true"/> <!-- Hijazi Arabic -->
<languageMatch desired="acx" supported="ar" distance="10" oneway="true"/> <!-- Omani Arabic -->
<languageMatch desired="acy" supported="ar" distance="10" oneway="true"/> <!-- Cypriot Arabic -->
<languageMatch desired="adf" supported="ar" distance="10" oneway="true"/> <!-- Dhofari Arabic -->
<languageMatch desired="aeb" supported="ar" distance="10" oneway="true"/> <!-- Tunisian Arabic -->
<languageMatch desired="aec" supported="ar" distance="10" oneway="true"/> <!-- Saidi Arabic -->
<languageMatch desired="afb" supported="ar" distance="10" oneway="true"/> <!-- Gulf Arabic -->
<languageMatch desired="apc" supported="ar" distance="10" oneway="true"/> <!-- North Levantine Arabic -->
<languageMatch desired="apd" supported="ar" distance="10" oneway="true"/> <!-- Sudanese Arabic -->
<languageMatch desired="arq" supported="ar" distance="10" oneway="true"/> <!-- Algerian Arabic -->
<languageMatch desired="ars" supported="ar" distance="10" oneway="true"/> <!-- Najdi Arabic -->
<languageMatch desired="ary" supported="ar" distance="10" oneway="true"/> <!-- Moroccan Arabic -->
<languageMatch desired="arz" supported="ar" distance="10" oneway="true"/> <!-- Egyptian Arabic -->
<languageMatch desired="auz" supported="ar" distance="10" oneway="true"/> <!-- Uzbeki Arabic -->
<languageMatch desired="avl" supported="ar" distance="10" oneway="true"/> <!-- Eastern Egyptian Bedawi Arabic -->
<languageMatch desired="ayh" supported="ar" distance="10" oneway="true"/> <!-- Hadrami Arabic -->
<languageMatch desired="ayl" supported="ar" distance="10" oneway="true"/> <!-- Libyan Arabic -->
<languageMatch desired="ayn" supported="ar" distance="10" oneway="true"/> <!-- Sanaani Arabic -->
<languageMatch desired="ayp" supported="ar" distance="10" oneway="true"/> <!-- North Mesopotamian Arabic -->
<languageMatch desired="bbz" supported="ar" distance="10" oneway="true"/> <!-- Babalia Creole Arabic -->
<languageMatch desired="pga" supported="ar" distance="10" oneway="true"/> <!-- Sudanese Creole Arabic -->
<languageMatch desired="shu" supported="ar" distance="10" oneway="true"/> <!-- Chadian Arabic -->
<languageMatch desired="ssh" supported="ar" distance="10" oneway="true"/> <!-- Shihhi Arabic -->
<!-- Encompassed by Azerbaijani -->
<languageMatch desired="azb" supported="az" distance="10" oneway="true"/> <!-- South Azerbaijani -->
<!-- Encompassed by Estonian -->
<languageMatch desired="vro" supported="et" distance="10" oneway="true"/> <!-- Võro -->
<!-- Encompassed by Fulah -->
<languageMatch desired="ffm" supported="ff" distance="10" oneway="true"/> <!-- Maasina Fulfulde -->
<languageMatch desired="fub" supported="ff" distance="10" oneway="true"/> <!-- Adamawa Fulfulde -->
<languageMatch desired="fue" supported="ff" distance="10" oneway="true"/> <!-- Borgu Fulfulde -->
<languageMatch desired="fuf" supported="ff" distance="10" oneway="true"/> <!-- Pular -->
<languageMatch desired="fuh" supported="ff" distance="10" oneway="true"/> <!-- Western Niger Fulfulde -->
<languageMatch desired="fui" supported="ff" distance="10" oneway="true"/> <!-- Bagirmi Fulfulde -->
<languageMatch desired="fuq" supported="ff" distance="10" oneway="true"/> <!-- Central-Eastern Niger Fulfulde -->
<languageMatch desired="fuv" supported="ff" distance="10" oneway="true"/> <!-- Nigerian Fulfulde -->
<!-- Encompassed by Guarani -->
<languageMatch desired="gnw" supported="gn" distance="10" oneway="true"/> <!-- Western Bolivian Guaraní -->
<languageMatch desired="gui" supported="gn" distance="10" oneway="true"/> <!-- Eastern Bolivian Guaraní -->
<languageMatch desired="gun" supported="gn" distance="10" oneway="true"/> <!-- Mbyá Guaraní -->
<languageMatch desired="nhd" supported="gn" distance="10" oneway="true"/> <!-- Chiripá -->
<!-- Encompassed by Inuktitut -->
<languageMatch desired="ikt" supported="iu" distance="10" oneway="true"/> <!-- Inuinnaqtun -->
<!-- Encompassed by Kalenjin -->
<languageMatch desired="enb" supported="kln" distance="10" oneway="true"/> <!-- Markweeta -->
<languageMatch desired="eyo" supported="kln" distance="10" oneway="true"/> <!-- Keiyo -->
<languageMatch desired="niq" supported="kln" distance="10" oneway="true"/> <!-- Nandi -->
<languageMatch desired="oki" supported="kln" distance="10" oneway="true"/> <!-- Okiek -->
<languageMatch desired="pko" supported="kln" distance="10" oneway="true"/> <!-- Pökoot -->
<languageMatch desired="sgc" supported="kln" distance="10" oneway="true"/> <!-- Kipsigis -->
<languageMatch desired="tec" supported="kln" distance="10" oneway="true"/> <!-- Terik -->
<languageMatch desired="tuy" supported="kln" distance="10" oneway="true"/> <!-- Tugen -->
<!-- Encompassed by Konkani -->
<languageMatch desired="knn" supported="kok" distance="10" oneway="true"/> <!-- Maharashtrian Konkani -->
<!-- Encompassed by Kpelle -->
<languageMatch desired="gkp" supported="kpe" distance="10" oneway="true"/> <!-- Guinea Kpelle -->
<!-- Encompassed by Luyia -->
<languageMatch desired="ida" supported="luy" distance="10" oneway="true"/> <!-- Idakho-Isukha-Tiriki -->
<languageMatch desired="lkb" supported="luy" distance="10" oneway="true"/> <!-- Kabras -->
<languageMatch desired="lko" supported="luy" distance="10" oneway="true"/> <!-- Khayo -->
<languageMatch desired="lks" supported="luy" distance="10" oneway="true"/> <!-- Kisa -->
<languageMatch desired="lri" supported="luy" distance="10" oneway="true"/> <!-- Marachi -->
<languageMatch desired="lrm" supported="luy" distance="10" oneway="true"/> <!-- Marama -->
<languageMatch desired="lsm" supported="luy" distance="10" oneway="true"/> <!-- Saamia -->
<languageMatch desired="lto" supported="luy" distance="10" oneway="true"/> <!-- Tsotso -->
<languageMatch desired="lts" supported="luy" distance="10" oneway="true"/> <!-- Tachoni -->
<languageMatch desired="lwg" supported="luy" distance="10" oneway="true"/> <!-- Wanga -->
<languageMatch desired="nle" supported="luy" distance="10" oneway="true"/> <!-- East Nyala -->
<languageMatch desired="nyd" supported="luy" distance="10" oneway="true"/> <!-- Nyore -->
<languageMatch desired="rag" supported="luy" distance="10" oneway="true"/> <!-- Logooli -->
<!-- Encompassed by Latvian -->
<languageMatch desired="ltg" supported="lv" distance="10" oneway="true"/> <!-- Latgalian -->
<!-- Encompassed by Malagasy -->
<languageMatch desired="bhr" supported="mg" distance="10" oneway="true"/> <!-- Bara Malagasy -->
<languageMatch desired="bjq" supported="mg" distance="10" oneway="true"/> <!-- Southern Betsimisaraka Malagasy -->
<languageMatch desired="bmm" supported="mg" distance="10" oneway="true"/> <!-- Northern Betsimisaraka Malagasy -->
<languageMatch desired="bzc" supported="mg" distance="10" oneway="true"/> <!-- Southern Betsimisaraka Malagasy -->
<languageMatch desired="msh" supported="mg" distance="10" oneway="true"/> <!-- Masikoro Malagasy -->
<languageMatch desired="skg" supported="mg" distance="10" oneway="true"/> <!-- Sakalava Malagasy -->
<languageMatch desired="tdx" supported="mg" distance="10" oneway="true"/> <!-- Tandroy-Mahafaly Malagasy -->
<languageMatch desired="tkg" supported="mg" distance="10" oneway="true"/> <!-- Tesaka Malagasy -->
<languageMatch desired="txy" supported="mg" distance="10" oneway="true"/> <!-- Tanosy Malagasy -->
<languageMatch desired="xmv" supported="mg" distance="10" oneway="true"/> <!-- Antankarana Malagasy -->
<languageMatch desired="xmw" supported="mg" distance="10" oneway="true"/> <!-- Tsimihety Malagasy -->
<!-- Encompassed by Mongolian -->
<languageMatch desired="mvf" supported="mn" distance="10" oneway="true"/> <!-- Peripheral Mongolian -->
<!-- Encompassed by Malay -->
<languageMatch desired="bjn" supported="ms" distance="10" oneway="true"/> <!-- Banjar -->
<languageMatch desired="btj" supported="ms" distance="10" oneway="true"/> <!-- Bacanese Malay -->
<languageMatch desired="bve" supported="ms" distance="10" oneway="true"/> <!-- Berau Malay -->
<languageMatch desired="bvu" supported="ms" distance="10" oneway="true"/> <!-- Bukit Malay -->
<languageMatch desired="coa" supported="ms" distance="10" oneway="true"/> <!-- Cocos Islands Malay -->
<languageMatch desired="dup" supported="ms" distance="10" oneway="true"/> <!-- Duano -->
<languageMatch desired="hji" supported="ms" distance="10" oneway="true"/> <!-- Haji -->
<languageMatch desired="id" supported="ms" distance="10" oneway="true"/> <!-- Indonesian -->
<languageMatch desired="jak" supported="ms" distance="10" oneway="true"/> <!-- Jakun -->
<languageMatch desired="jax" supported="ms" distance="10" oneway="true"/> <!-- Jambi Malay -->
<languageMatch desired="kvb" supported="ms" distance="10" oneway="true"/> <!-- Kubu -->
<languageMatch desired="kvr" supported="ms" distance="10" oneway="true"/> <!-- Kerinci -->
<languageMatch desired="kxd" supported="ms" distance="10" oneway="true"/> <!-- Brunei -->
<languageMatch desired="lce" supported="ms" distance="10" oneway="true"/> <!-- Loncong -->
<languageMatch desired="lcf" supported="ms" distance="10" oneway="true"/> <!-- Lubu -->
<languageMatch desired="liw" supported="ms" distance="10" oneway="true"/> <!-- Col -->
<languageMatch desired="max" supported="ms" distance="10" oneway="true"/> <!-- North Moluccan Malay -->
<languageMatch desired="meo" supported="ms" distance="10" oneway="true"/> <!-- Kedah Malay -->
<languageMatch desired="mfa" supported="ms" distance="10" oneway="true"/> <!-- Pattani Malay -->
<languageMatch desired="mfb" supported="ms" distance="10" oneway="true"/> <!-- Bangka -->
<languageMatch desired="min" supported="ms" distance="10" oneway="true"/> <!-- Minangkabau -->
<languageMatch desired="mqg" supported="ms" distance="10" oneway="true"/> <!-- Kota Bangun Kutai Malay -->
<languageMatch desired="msi" supported="ms" distance="10" oneway="true"/> <!-- Sabah Malay -->
<languageMatch desired="mui" supported="ms" distance="10" oneway="true"/> <!-- Musi -->
<languageMatch desired="orn" supported="ms" distance="10" oneway="true"/> <!-- Orang Kanaq -->
<languageMatch desired="ors" supported="ms" distance="10" oneway="true"/> <!-- Orang Seletar -->
<languageMatch desired="pel" supported="ms" distance="10" oneway="true"/> <!-- Pekal -->
<languageMatch desired="pse" supported="ms" distance="10" oneway="true"/> <!-- Central Malay -->
<languageMatch desired="tmw" supported="ms" distance="10" oneway="true"/> <!-- Temuan -->
<languageMatch desired="urk" supported="ms" distance="10" oneway="true"/> <!-- Urak Lawoi' -->
<languageMatch desired="vkk" supported="ms" distance="10" oneway="true"/> <!-- Kaur -->
<languageMatch desired="vkt" supported="ms" distance="10" oneway="true"/> <!-- Tenggarong Kutai Malay -->
<languageMatch desired="xmm" supported="ms" distance="10" oneway="true"/> <!-- Manado Malay -->
<languageMatch desired="zlm" supported="ms" distance="10" oneway="true"/> <!-- Malay (individual language) -->
<languageMatch desired="zmi" supported="ms" distance="10" oneway="true"/> <!-- Negeri Sembilan Malay -->
<!-- Encompassed by Nepali -->
<languageMatch desired="dty" supported="ne" distance="10" oneway="true"/> <!-- Dotyali -->
<!-- Encompassed by Oromo -->
<languageMatch desired="gax" supported="om" distance="10" oneway="true"/> <!-- Borana-Arsi-Guji Oromo -->
<languageMatch desired="hae" supported="om" distance="10" oneway="true"/> <!-- Eastern Oromo -->
<languageMatch desired="orc" supported="om" distance="10" oneway="true"/> <!-- Orma -->
<!-- Encompassed by Odia -->
<languageMatch desired="spv" supported="or" distance="10" oneway="true"/> <!-- Sambalpuri -->
<!-- Encompassed by Pashto -->
<languageMatch desired="pbt" supported="ps" distance="10" oneway="true"/> <!-- Southern Pashto -->
<languageMatch desired="pst" supported="ps" distance="10" oneway="true"/> <!-- Central Pashto -->
<!-- Encompassed by Quechua -->
<languageMatch desired="qub" supported="qu" distance="10" oneway="true"/> <!-- Huallaga Huánuco Quechua -->
<languageMatch desired="qud" supported="qu" distance="10" oneway="true"/> <!-- Calderón Highland Quichua -->
<languageMatch desired="quf" supported="qu" distance="10" oneway="true"/> <!-- Lambayeque Quechua -->
<languageMatch desired="qug" supported="qu" distance="10" oneway="true"/> <!-- Chimborazo Highland Quichua -->
<languageMatch desired="quh" supported="qu" distance="10" oneway="true"/> <!-- South Bolivian Quechua -->
<languageMatch desired="quk" supported="qu" distance="10" oneway="true"/> <!-- Chachapoyas Quechua -->
<languageMatch desired="qul" supported="qu" distance="10" oneway="true"/> <!-- North Bolivian Quechua -->
<languageMatch desired="qup" supported="qu" distance="10" oneway="true"/> <!-- Southern Pastaza Quechua -->
<languageMatch desired="qur" supported="qu" distance="10" oneway="true"/> <!-- Yanahuanca Pasco Quechua -->
<languageMatch desired="qus" supported="qu" distance="10" oneway="true"/> <!-- Santiago del Estero Quichua -->
<languageMatch desired="quw" supported="qu" distance="10" oneway="true"/> <!-- Tena Lowland Quichua -->
<languageMatch desired="qux" supported="qu" distance="10" oneway="true"/> <!-- Yauyos Quechua -->
<languageMatch desired="quy" supported="qu" distance="10" oneway="true"/> <!-- Ayacucho Quechua -->
<languageMatch desired="qva" supported="qu" distance="10" oneway="true"/> <!-- Ambo-Pasco Quechua -->
<languageMatch desired="qvc" supported="qu" distance="10" oneway="true"/> <!-- Cajamarca Quechua -->
<languageMatch desired="qve" supported="qu" distance="10" oneway="true"/> <!-- Eastern Apurímac Quechua -->
<languageMatch desired="qvh" supported="qu" distance="10" oneway="true"/> <!-- Huamalíes-Dos de Mayo Huánuco Quechua -->
<languageMatch desired="qvi" supported="qu" distance="10" oneway="true"/> <!-- Imbabura Highland Quichua -->
<languageMatch desired="qvj" supported="qu" distance="10" oneway="true"/> <!-- Loja Highland Quichua -->
<languageMatch desired="qvl" supported="qu" distance="10" oneway="true"/> <!-- Cajatambo North Lima Quechua -->
<languageMatch desired="qvm" supported="qu" distance="10" oneway="true"/> <!-- Margos-Yarowilca-Lauricocha Quechua -->
<languageMatch desired="qvn" supported="qu" distance="10" oneway="true"/> <!-- North Junín Quechua -->
<languageMatch desired="qvo" supported="qu" distance="10" oneway="true"/> <!-- Napo Lowland Quechua -->
<languageMatch desired="qvp" supported="qu" distance="10" oneway="true"/> <!-- Pacaraos Quechua -->
<languageMatch desired="qvs" supported="qu" distance="10" oneway="true"/> <!-- San Martín Quechua -->
<languageMatch desired="qvw" supported="qu" distance="10" oneway="true"/> <!-- Huaylla Wanca Quechua -->
<languageMatch desired="qvz" supported="qu" distance="10" oneway="true"/> <!-- Northern Pastaza Quichua -->
<languageMatch desired="qwa" supported="qu" distance="10" oneway="true"/> <!-- Corongo Ancash Quechua -->
<languageMatch desired="qwc" supported="qu" distance="10" oneway="true"/> <!-- Classical Quechua -->
<languageMatch desired="qwh" supported="qu" distance="10" oneway="true"/> <!-- Huaylas Ancash Quechua -->
<languageMatch desired="qws" supported="qu" distance="10" oneway="true"/> <!-- Sihuas Ancash Quechua -->
<languageMatch desired="qxa" supported="qu" distance="10" oneway="true"/> <!-- Chiquián Ancash Quechua -->
<languageMatch desired="qxc" supported="qu" distance="10" oneway="true"/> <!-- Chincha Quechua -->
<languageMatch desired="qxh" supported="qu" distance="10" oneway="true"/> <!-- Panao Huánuco Quechua -->
<languageMatch desired="qxl" supported="qu" distance="10" oneway="true"/> <!-- Salasaca Highland Quichua -->
<languageMatch desired="qxn" supported="qu" distance="10" oneway="true"/> <!-- Northern Conchucos Ancash Quechua -->
<languageMatch desired="qxo" supported="qu" distance="10" oneway="true"/> <!-- Southern Conchucos Ancash Quechua -->
<languageMatch desired="qxp" supported="qu" distance="10" oneway="true"/> <!-- Puno Quechua -->
<languageMatch desired="qxr" supported="qu" distance="10" oneway="true"/> <!-- Cañar Highland Quichua -->
<languageMatch desired="qxt" supported="qu" distance="10" oneway="true"/> <!-- Santa Ana de Tusi Pasco Quechua -->
<languageMatch desired="qxu" supported="qu" distance="10" oneway="true"/> <!-- Arequipa-La Unión Quechua -->
<languageMatch desired="qxw" supported="qu" distance="10" oneway="true"/> <!-- Jauja Wanca Quechua -->
<!-- Encompassed by Sardinian -->
<languageMatch desired="sdc" supported="sc" distance="10" oneway="true"/> <!-- Sassarese Sardinian -->
<languageMatch desired="sdn" supported="sc" distance="10" oneway="true"/> <!-- Gallurese Sardinian -->
<languageMatch desired="sro" supported="sc" distance="10" oneway="true"/> <!-- Campidanese Sardinian -->
<!-- Encompassed by Albanian -->
<languageMatch desired="aae" supported="sq" distance="10" oneway="true"/> <!-- Arbëreshë Albanian -->
<languageMatch desired="aat" supported="sq" distance="10" oneway="true"/> <!-- Arvanitika Albanian -->
<languageMatch desired="aln" supported="sq" distance="10" oneway="true"/> <!-- Gheg Albanian -->
<!-- Encompassed by Syriac -->
<languageMatch desired="aii" supported="syr" distance="10" oneway="true"/> <!-- Assyrian Neo-Aramaic -->
<!-- Encompassed by Uzbek -->
<languageMatch desired="uzs" supported="uz" distance="10" oneway="true"/> <!-- Southern Uzbek -->
<!-- Encompassed by Yiddish -->
<languageMatch desired="yih" supported="yi" distance="10" oneway="true"/> <!-- Western Yiddish -->
<!-- Encompassed by Chinese, Mandarin -->
<languageMatch desired="cdo" supported="zh" distance="10" oneway="true"/> <!-- Min Dong Chinese -->
<languageMatch desired="cjy" supported="zh" distance="10" oneway="true"/> <!-- Jinyu Chinese -->
<languageMatch desired="cpx" supported="zh" distance="10" oneway="true"/> <!-- Pu-Xian Chinese -->
<languageMatch desired="czh" supported="zh" distance="10" oneway="true"/> <!-- Huizhou Chinese -->
<languageMatch desired="czo" supported="zh" distance="10" oneway="true"/> <!-- Min Zhong Chinese -->
<languageMatch desired="gan" supported="zh" distance="10" oneway="true"/> <!-- Gan Chinese -->
<languageMatch desired="hak" supported="zh" distance="10" oneway="true"/> <!-- Hakka Chinese -->
<languageMatch desired="hsn" supported="zh" distance="10" oneway="true"/> <!-- Xiang Chinese -->
<languageMatch desired="lzh" supported="zh" distance="10" oneway="true"/> <!-- Literary Chinese -->
<languageMatch desired="mnp" supported="zh" distance="10" oneway="true"/> <!-- Min Bei Chinese -->
<languageMatch desired="nan" supported="zh" distance="10" oneway="true"/> <!-- Min Nan Chinese -->
<languageMatch desired="wuu" supported="zh" distance="10" oneway="true"/> <!-- Wu Chinese -->
<languageMatch desired="yue" supported="zh" distance="10" oneway="true"/> <!-- Chinese, Cantonese -->
<!-- END generated by GenerateLanguageMatches.java -->
<languageMatch desired="*" supported="*" distance="80"/> <!-- * ⇒ * -->
<languageMatch desired="am_Ethi" supported="en_Latn" distance="10" oneway="true"/>
<languageMatch desired="az_Latn" supported="ru_Cyrl" distance="10" oneway="true"/> <!-- az; Latn ⇒ ru; Cyrl -->
<languageMatch desired="bn_Beng" supported="en_Latn" distance="10" oneway="true"/> <!-- bn; Beng ⇒ en; Latn -->
<languageMatch desired="bo_Tibt" supported="zh_Hans" distance="10" oneway="true"/>
<languageMatch desired="hy_Armn" supported="ru_Cyrl" distance="10" oneway="true"/> <!-- hy; Armn ⇒ ru; Cyrl -->
<languageMatch desired="ka_Geor" supported="en_Latn" distance="10" oneway="true"/> <!-- ka; Geor ⇒ en; Latn -->
<languageMatch desired="km_Khmr" supported="en_Latn" distance="10" oneway="true"/> <!-- km; Khmr ⇒ en; Latn -->
<languageMatch desired="kn_Knda" supported="en_Latn" distance="10" oneway="true"/> <!-- kn; Knda ⇒ en; Latn -->
<languageMatch desired="lo_Laoo" supported="en_Latn" distance="10" oneway="true"/> <!-- lo; Laoo ⇒ en; Latn -->
<languageMatch desired="ml_Mlym" supported="en_Latn" distance="10" oneway="true"/> <!-- ml; Mlym ⇒ en; Latn -->
<languageMatch desired="my_Mymr" supported="en_Latn" distance="10" oneway="true"/> <!-- my; Mymr ⇒ en; Latn -->
<languageMatch desired="ne_Deva" supported="en_Latn" distance="10" oneway="true"/> <!-- ne; Deva ⇒ en; Latn -->
<languageMatch desired="or_Orya" supported="en_Latn" distance="10" oneway="true"/> <!-- or; Orya ⇒ en; Latn -->
<languageMatch desired="pa_Guru" supported="en_Latn" distance="10" oneway="true"/> <!-- pa; Guru ⇒ en; Latn -->
<languageMatch desired="ps_Arab" supported="en_Latn" distance="10" oneway="true"/> <!-- ps; Arab ⇒ en; Latn -->
<languageMatch desired="sd_Arab" supported="en_Latn" distance="10" oneway="true"/> <!-- sd; Arab ⇒ en; Latn -->
<languageMatch desired="si_Sinh" supported="en_Latn" distance="10" oneway="true"/> <!-- si; Sinh ⇒ en; Latn -->
<languageMatch desired="ta_Taml" supported="en_Latn" distance="10" oneway="true"/> <!-- ta; Taml ⇒ en; Latn -->
<languageMatch desired="te_Telu" supported="en_Latn" distance="10" oneway="true"/> <!-- te; Telu ⇒ en; Latn -->
<languageMatch desired="ti_Ethi" supported="en_Latn" distance="10" oneway="true"/> <!-- ti; Ethi ⇒ en; Latn -->
<languageMatch desired="tk_Latn" supported="ru_Cyrl" distance="10" oneway="true"/> <!-- tk; Latn ⇒ ru; Cyrl -->
<languageMatch desired="ur_Arab" supported="en_Latn" distance="10" oneway="true"/> <!-- ur; Arab ⇒ en; Latn -->
<languageMatch desired="uz_Latn" supported="ru_Cyrl" distance="10" oneway="true"/> <!-- uz; Latn ⇒ ru; Cyrl -->
<languageMatch desired="yi_Hebr" supported="en_Latn" distance="10" oneway="true"/> <!-- yi; Hebr ⇒ en; Latn -->
<languageMatch desired="sr_Latn" supported="sr_Cyrl" distance="5"/> <!-- sr; Latn ⇒ sr; Cyrl -->
<languageMatch desired="za_Latn" supported="zh_Hans" distance="10" oneway="true"/>
<!-- zh_Hani: Slightly bigger distance than zh_Hant->zh_Hans was before CLDR-14355 -->
<languageMatch desired="zh_Hani" supported="zh_Hans" distance="20" oneway="true"/>
<languageMatch desired="zh_Hani" supported="zh_Hant" distance="20" oneway="true"/>
<!-- Latin transliterations of some languages, initially from CLDR-13577 -->
<languageMatch desired="ar_Latn" supported="ar_Arab" distance="20" oneway="true"/>
<languageMatch desired="bn_Latn" supported="bn_Beng" distance="20" oneway="true"/>
<languageMatch desired="gu_Latn" supported="gu_Gujr" distance="20" oneway="true"/>
<languageMatch desired="hi_Latn" supported="hi_Deva" distance="20" oneway="true"/>
<languageMatch desired="kn_Latn" supported="kn_Knda" distance="20" oneway="true"/>
<languageMatch desired="ml_Latn" supported="ml_Mlym" distance="20" oneway="true"/>
<languageMatch desired="mr_Latn" supported="mr_Deva" distance="20" oneway="true"/>
<languageMatch desired="ta_Latn" supported="ta_Taml" distance="20" oneway="true"/>
<languageMatch desired="te_Latn" supported="te_Telu" distance="20" oneway="true"/>
<languageMatch desired="zh_Latn" supported="zh_Hans" distance="20" oneway="true"/> <!-- Pinyin -->
<!-- start fallbacks for group script codes, initially from CLDR-13526
Look for plus signs on https://www.unicode.org/iso15924/iso15924-codes.html -->
<languageMatch desired="ja_Latn" supported="ja_Jpan" distance="5" oneway="true"/>
<languageMatch desired="ja_Hani" supported="ja_Jpan" distance="5" oneway="true"/>
<languageMatch desired="ja_Hira" supported="ja_Jpan" distance="5" oneway="true"/>
<languageMatch desired="ja_Kana" supported="ja_Jpan" distance="5" oneway="true"/>
<languageMatch desired="ja_Hrkt" supported="ja_Jpan" distance="5" oneway="true"/>
<languageMatch desired="ja_Hira" supported="ja_Hrkt" distance="5" oneway="true"/>
<languageMatch desired="ja_Kana" supported="ja_Hrkt" distance="5" oneway="true"/>
<languageMatch desired="ko_Hani" supported="ko_Kore" distance="5" oneway="true"/>
<languageMatch desired="ko_Hang" supported="ko_Kore" distance="5" oneway="true"/>
<languageMatch desired="ko_Jamo" supported="ko_Kore" distance="5" oneway="true"/>
<languageMatch desired="ko_Jamo" supported="ko_Hang" distance="5" oneway="true"/>
<!-- No special mappings for zh Bopo/Hanb
because Bopomofo is used only in TW, and unsure how widely.
No special mappings for styled scripts like Latf or Aran
because those would apply to many languages;
if desired, those would be better handled as matcher-specific script aliases. -->
<!-- end fallbacks for group script codes -->
<!-- default script mismatch distance -->
<languageMatch desired="*_*" supported="*_*" distance="50"/> <!-- *; * ⇒ *; * -->
<languageMatch desired="ar_*_$maghreb" supported="ar_*_$maghreb" distance="4"/> <!-- ar; *; $maghreb ⇒ ar; *; $maghreb -->
<languageMatch desired="ar_*_$!maghreb" supported="ar_*_$!maghreb" distance="4"/> <!-- ar; *; $!maghreb ⇒ ar; *; $!maghreb -->
<languageMatch desired="ar_*_*" supported="ar_*_*" distance="5"/> <!-- ar; *; * ⇒ ar; *; * -->
<languageMatch desired="en_*_$enUS" supported="en_*_$enUS" distance="4"/> <!-- en; *; $enUS ⇒ en; *; $enUS -->
<languageMatch desired="en_*_$!enUS" supported="en_*_GB" distance="3"/> <!-- Make en_GB preferred... -->
<languageMatch desired="en_*_$!enUS" supported="en_*_$!enUS" distance="4"/> <!-- en; *; $!enUS ⇒ en; *; $!enUS -->
<languageMatch desired="en_*_*" supported="en_*_*" distance="5"/> <!-- en; *; * ⇒ en; *; * -->
<languageMatch desired="es_*_$americas" supported="es_*_$americas" distance="4"/> <!-- es; *; $americas ⇒ es; *; $americas -->
<languageMatch desired="es_*_$!americas" supported="es_*_$!americas" distance="4"/> <!-- es; *; $!americas ⇒ es; *; $!americas -->
<languageMatch desired="es_*_*" supported="es_*_*" distance="5"/> <!-- es; *; * ⇒ es; *; * -->
<languageMatch desired="pt_*_$americas" supported="pt_*_$americas" distance="4"/> <!-- pt; *; $americas ⇒ pt; *; $americas -->
<languageMatch desired="pt_*_$!americas" supported="pt_*_$!americas" distance="4"/> <!-- pt; *; $!americas ⇒ pt; *; $!americas -->
<languageMatch desired="pt_*_*" supported="pt_*_*" distance="5"/> <!-- pt; *; * ⇒ pt; *; * -->
<languageMatch desired="zh_Hant_$cnsar" supported="zh_Hant_$cnsar" distance="4"/> <!-- zh; Hant; $cnsar ⇒ zh; Hant; $cnsar -->
<languageMatch desired="zh_Hant_$!cnsar" supported="zh_Hant_$!cnsar" distance="4"/> <!-- zh; Hant; $!cnsar ⇒ zh; Hant; $!cnsar -->
<languageMatch desired="zh_Hant_*" supported="zh_Hant_*" distance="5"/> <!-- zh; Hant; * ⇒ zh; Hant; * -->
<languageMatch desired="*_*_*" supported="*_*_*" distance="4"/> <!-- *; *; * ⇒ *; *; * -->
</languageMatches>
</languageMatching>
</supplementalData>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,330 @@
# TerritoryCodes
# RFC3066; UN Numeric; ISO3166 Alpha-3, internet, FIPS-10
# whitespace delimited: - for empty
# See http://unstats.un.org/unsd/methods/m49/m49regin.htm
# and http://www.iso.org/iso/en/prods-services/iso3166ma/01whats-new/index.html
# See also http://www.cia.gov/cia/publications/factbook/appendix/appendix-d.html
# and http://data.iana.org/TLD/tlds-alpha-by-domain.txt for the latest domains
# and http://www.iana.org/cctld/cctld-whois.htm
# and https://www.icmwg.org/ccwg/documents/ISO3166-FIPS10-A2-Mapping/3166-1-A2--to-FIPS10-A2-mapping.htm
# for FIPS: http://earth-info.nga.mil/gns/html/fips_files.html
RS 688 SRB rs RB
ME 499 MNE me MJ
AD 020 AND ad AN
AE 784 ARE ae AE
AF 004 AFG af AF
AG 028 ATG ag AC
AI 660 AIA ai AV
AL 008 ALB al AL
AM 051 ARM am AM
AO 024 AGO ao AO
AQ 010 ATA aq AY
AR 032 ARG ar AR
AS 016 ASM as AQ
AT 040 AUT at AU
AU 036 AUS au AS
AW 533 ABW aw AA
AZ 031 AZE az AJ
BA 070 BIH ba BK
BB 052 BRB bb BB
BD 050 BGD bd BG
BE 056 BEL be BE
BF 854 BFA bf UV
BG 100 BGR bg BU
BH 048 BHR bh BA
BI 108 BDI bi BY
BJ 204 BEN bj BN
BL 652 BLM - TB
BM 060 BMU bm BD
BN 096 BRN bn BX
BO 068 BOL bo BL
BQ 535 BES - -
BR 076 BRA br BR
BS 044 BHS bs BF
BT 064 BTN bt BT
BV 074 BVT bv BV
BW 072 BWA bw BC
BY 112 BLR by BO
BZ 084 BLZ bz BH
CA 124 CAN ca CA
CC 166 CCK cc CK
CD 180 COD cd CG
CF 140 CAF cf CT
CG 178 COG cg CF
CH 756 CHE ch SZ
CI 384 CIV ci IV
CK 184 COK ck CW
CL 152 CHL cl CI
CM 120 CMR cm CM
CN 156 CHN cn CH
CO 170 COL co CO
CR 188 CRI cr CS
CU 192 CUB cu CU
CV 132 CPV cv CV
CW 531 CUW cw -
CX 162 CXR cx KT
CY 196 CYP cy CY
CZ 203 CZE cz EZ
DE 276 DEU de GM
DJ 262 DJI dj DJ
DK 208 DNK dk DA
DM 212 DMA dm DO
DO 214 DOM do DR
DZ 012 DZA dz AG
EC 218 ECU ec EC
EE 233 EST ee EN
EG 818 EGY eg EG
EH 732 ESH - WI
ER 232 ERI er ER
ES 724 ESP es SP
ET 231 ETH et ET
FI 246 FIN fi FI
FJ 242 FJI fj FJ
FK 238 FLK fk FK
FM 583 FSM fm FM
FO 234 FRO fo FO
FR 250 FRA fr FR
FX 249 FXX - -
GA 266 GAB ga GB
GB 826 GBR uk/gb UK
GD 308 GRD gd GJ
GE 268 GEO ge GG
GF 254 GUF gf FG
GG 831 GGY gg GK
GH 288 GHA gh GH
GI 292 GIB gi GI
GL 304 GRL gl GL
GM 270 GMB gm GA
GN 324 GIN gn GV
GP 312 GLP gp GP
GQ 226 GNQ gq EK
GR 300 GRC gr GR
GS 239 SGS gs SX
GT 320 GTM gt GT
GU 316 GUM gu GQ
GW 624 GNB gw PU
GY 328 GUY gy GY
HK 344 HKG hk HK
HM 334 HMD hm HM
HN 340 HND hn HO
HR 191 HRV hr HR
HT 332 HTI ht HA
HU 348 HUN hu HU
ID 360 IDN id ID
IE 372 IRL ie EI
IL 376 ISR il IS
IM 833 IMN im IM
IN 356 IND in IN
IO 086 IOT io IO
IQ 368 IRQ iq IZ
IR 364 IRN ir IR
IS 352 ISL is IC
IT 380 ITA it IT
JE 832 JEY je JE
JM 388 JAM jm JM
JO 400 JOR jo JO
JP 392 JPN jp JA
KE 404 KEN ke KE
KG 417 KGZ kg KG
KH 116 KHM kh CB
KI 296 KIR ki KR
KM 174 COM km CN
KN 659 KNA kn SC
KP 408 PRK kp KN
KR 410 KOR kr KS
KW 414 KWT kw KU
KY 136 CYM ky CJ
KZ 398 KAZ kz KZ
LA 418 LAO la LA
LB 422 LBN lb LE
LC 662 LCA lc ST
LI 438 LIE li LS
LK 144 LKA lk CE
LR 430 LBR lr LI
LS 426 LSO ls LT
LT 440 LTU lt LH
LU 442 LUX lu LU
LV 428 LVA lv LG
LY 434 LBY ly LY
MA 504 MAR ma MO
MC 492 MCO mc MN
MD 498 MDA md MD
MF 663 MAF - RN
MG 450 MDG mg MA
MH 584 MHL mh RM
MK 807 MKD mk MK
ML 466 MLI ml ML
MM 104 MMR mm BM
MN 496 MNG mn MG
MO 446 MAC mo MC
MP 580 MNP mp CQ
MQ 474 MTQ mq MB
MR 478 MRT mr MR
MS 500 MSR ms MH
MT 470 MLT mt MT
MU 480 MUS mu MP
MV 462 MDV mv MV
MW 454 MWI mw MI
MX 484 MEX mx MX
MY 458 MYS my MY
MZ 508 MOZ mz MZ
NA 516 NAM na WA
NC 540 NCL nc NC
NE 562 NER ne NG
NF 574 NFK nf NF
NG 566 NGA ng NI
NI 558 NIC ni NU
NL 528 NLD nl NL
NO 578 NOR no NO
NP 524 NPL np NP
NR 520 NRU nr NR
NU 570 NIU nu NE
NZ 554 NZL nz NZ
OM 512 OMN om MU
PA 591 PAN pa PM
PE 604 PER pe PE
PF 258 PYF pf FP
PG 598 PNG pg PP
PH 608 PHL ph RP
PK 586 PAK pk PK
PL 616 POL pl PL
PM 666 SPM pm SB
PN 612 PCN pn PC
PR 630 PRI pr RQ
PS 275 PSE ps GZ
PT 620 PRT pt PO
PW 585 PLW pw PS
PY 600 PRY py PA
QA 634 QAT qa QA
RE 638 REU re RE
RO 642 ROU ro RO
RU 643 RUS ru/su RS
RW 646 RWA rw RW
SA 682 SAU sa SA
SB 090 SLB sb BP
SC 690 SYC sc SE
SD 729 SDN sd SU
SE 752 SWE se SW
SG 702 SGP sg SN
SH 654 SHN sh SH
SI 705 SVN si SI
SJ 744 SJM sj SV
SK 703 SVK sk LO
SL 694 SLE sl SL
SM 674 SMR sm SM
SN 686 SEN sn SG
SO 706 SOM so SO
SR 740 SUR sr NS
SS 728 SSD - -
ST 678 STP st TP
SV 222 SLV sv ES
SX 534 SXM sx -
SY 760 SYR sy SY
SZ 748 SWZ sz WZ
TC 796 TCA tc TK
TD 148 TCD td CD
TF 260 ATF tf FS
TG 768 TGO tg TO
TH 764 THA th TH
TJ 762 TJK tj TI
TK 772 TKL tk TL
TL 626 TLS tl TT
TM 795 TKM tm TX
TN 788 TUN tn TS
TO 776 TON to TN
TR 792 TUR tr TU
TT 780 TTO tt TD
TV 798 TUV tv TV
TW 158 TWN tw TW
TZ 834 TZA tz TZ
UA 804 UKR ua UP
UG 800 UGA ug UG
UM 581 UMI - -
US 840 USA us US
UY 858 URY uy UY
UZ 860 UZB uz UZ
VA 336 VAT va VT
VC 670 VCT vc VC
VE 862 VEN ve VE
VG 092 VGB vg VI
VI 850 VIR vi VQ
VN 704 VNM vn VM
VU 548 VUT vu NH
WF 876 WLF wf WF
WS 882 WSM ws WS
YE 887 YEM ye YM
YT 175 MYT yt MF
ZA 710 ZAF za SF
ZM 894 ZMB zm ZA
ZW 716 ZWE zw ZI
# codes missing from above
AX 248 ALA ax
# private use codes
AA 958 AAA
QM 959 QMM
QN 960 QNN
QO 961 QOO
QP 962 QPP
QQ 963 QQQ
QR 964 QRR
QS 965 QSS
QT 966 QTT
QU 967 QUU
QV 968 QVV
QW 969 QWW
QX 970 QXX
QY 971 QYY
QZ 972 QZZ
XA 973 XAA
XB 974 XBB
XC 975 XCC
XD 976 XDD
XE 977 XEE
XF 978 XFF
XG 979 XGG
XH 980 XHH
XI 981 XII
XJ 982 XJJ
XK 983 XKK
XL 984 XLL
XM 985 XMM
XN 986 XNN
XO 987 XOO
XP 988 XPP
XQ 989 XQQ
XR 990 XRR
XS 991 XSS
XT 992 XTT
XU 993 XUU
XV 994 XVV
XW 995 XWW
XX 996 XXX
XY 997 XYY
XZ 998 XZZ
ZZ 999 ZZZ
# Deprecated codes
AN 530 ANT - NT
BU 104 BUR
CS 891 SCG - YI
DD 278 DDR
NT 536 NTZ
SU 810 SUN
TP 626 TMP
YD 720 YMD
YU 891 YUG
ZR 180 ZAR
# Codes in the LST but not in UN Numeric
AC - ASC AC - # Ascension Island
CP - CPT - - # Clipperton Island
DG - DGA - - # Diego Garcia
TA - TAA - - # Tristan da Cunha
EA - - - - # Ceuta and Melilla
EU 967 QUU EU - # European Union
EZ - - - - # Eurozone
IC - - - - # Canary Islands
UN - UNO - - # United Nations
#end

View File

@@ -0,0 +1,71 @@
-- Generate a script map based on ISO 15924 data
--
-- Data source: Unicode
-- URL: https://www.unicode.org/iso15924/iso15924.txt
-- License: UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
codeFileName = "unicode/iso15924.txt"
function split(str, character)
result = {}
index = 1
for s in string.gmatch(str .. character, "(.-)"..character) do
result[index] = s
index = index + 1
end
return result
end
fo2 = io.open('temp/uni_loadscriptmap.sql','w')
fo2:write('-- Mapping of script codes based on ISO 15924\n-- Date: ' .. os.date("%Y-%m-%d %H:%M") .. '\n\n')
fo2:write('-- Data source: Unicode Org (https://www.unicode.org)\n')
fo2:write('-- URL: https://www.unicode.org/iso15924/iso15924.txt\n')
fo2:write('-- License: UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE\n\n')
fo2:write("create table if not exists uni_scriptmap (sctag char, scname char, scalias char, primary key (sctag));\n")
fo2:write('delete from uni_scriptmap;\nbegin;\n')
-- Names and order of data columns
-- Code|N°|English Name|Nom français|Alias|Age|Date
noalias = 0
count = 0
for line in io.lines(codeFileName) do
rem = string.sub(line,1,1)
if rem ~= "#" and rem ~= "" then
values = split(line, ";")
sctag = values[1]
scnum = values[2]
scname = values[3]
scname_fr = values[4]
scalias = values[5]
scage = values[6]
scdate = values[7]
scname = scname:gsub("'", "''")
if scalias == "" then
if sctag == "Hans" or sctag == "Hant" then
scalias = sctag
else
noalias = noalias + 1
scalias = "-"
end
end
fo2:write("insert into uni_scriptmap values ('" .. sctag .. "', '" .. scname .. "', '" .. scalias .. "');\n")
count = count + 1
end
end
print(" Number of script mappings = " .. count)
print(" Number of missing script aliases = " .. noalias)
if noalias > 0 then
print(" Script aliases are used in POSIX locale identifiers where they are")
print(" used as modifiers to represent the script of a language.")
print(" Missing script aliases impose a problem only for script identifiers")
print(" actually used in locale tags supported by wxWidgets.")
end
fo2:write('commit;\n')
fo2:close()

View File

@@ -0,0 +1,31 @@
-- Extract data from CLDR data file likelySubtags.xml
-- Relevant tags: <likelySubtag from="xx" to="xx_Xxxx_XX"/>
-- Assign script arguments and check validity
xmlFileName = "unicode/likelySubtags.xml"
sqlFileName = "temp/uni_loadlikely.sql"
-- Open files
xmlInput = assert(io.open(xmlFileName, "r"))
xmlData = xmlInput:read("*all")
sqlFile = assert(io.open(sqlFileName, "w"))
-- Write SQL file header
sqlFile:write("create table if not exists uni_likelysubtags (tagfrom char, tagto char, primary key (tagfrom));\n")
sqlFile:write("delete from uni_likelysubtags;\n")
sqlFile:write("begin;\n")
-- Extract data from XML
-- Replace underscore by hyphen
for w in string.gmatch(xmlData, "<likelySubtags>(.-)</likelySubtags>") do
for tagFrom,tagTo in string.gmatch(w, ".-<likelySubtag from=\"(.-)\" to=\"(.-)\"") do
sqlFile:write("insert into uni_likelysubtags values ('" .. tagFrom:gsub('_','-') .. "', '" .. tagTo:gsub('_','-') .. "');\n")
end
end
-- Write SQL file trailer
sqlFile:write("commit;\n")
-- Close files
xmlInput:close()
sqlFile:close()

View File

@@ -0,0 +1,38 @@
-- Extract data from CLDR data file languageInfo.xml
-- Relevant tags: <languageMatch desired="xx" supported="yy" distance="30" oneway="true"/>
-- Assign script arguments and check validity
xmlFileName = "unicode/languageInfo.xml"
assert(xmlFileName ~= nil, "Name of XML file missing!")
sqlFileName = "temp/uni_loadmatching.sql"
assert(sqlFileName ~= nil, "Name of SQL file missing!")
-- Open files
xmlInput = assert(io.open(xmlFileName, "r"))
xmlData = xmlInput:read("*all")
sqlFile = assert(io.open(sqlFileName, "w"))
-- Write SQL file header
sqlFile:write("create table if not exists uni_languagematch (desired char, supported char, distance int, oneway char, primary key (desired, supported));\n")
sqlFile:write("delete from uni_languagematch;\n")
sqlFile:write("begin;\n")
-- Extract data from XML
-- Replace underscore by hyphen
for w in string.gmatch(xmlData, ".-<languageMatches.->(.-)</languageMatches>") do
for desired,supported,distance,oneopt in string.gmatch(w, ".-<languageMatch desired=\"(.-)\".-supported=\"(.-)\".-distance=\"(.-)\"(.-)/>") do
oneway = oneopt:match("oneway=\"(.-)\"")
-- Check optional parameter oneway
if oneway == nil then
oneway = "false"
end
sqlFile:write("insert into uni_languagematch values ('" .. desired:gsub('_','-') .. "', '" .. supported:gsub('_','-') .. "', " .. distance .. ", '" .. oneway .. "');\n")
end
end
-- Write SQL file trailer
sqlFile:write("commit;\n")
-- Close files
xmlInput:close()
sqlFile:close()

View File

@@ -0,0 +1,135 @@
-- Extract data from CLDR data file supplementalData.xml and languageInfo.xml
-- Relevant tags in supplementalData:
-- <territoryContainment>
-- <group type="nnn" contains="aaa bbb cccc ..."/>
-- Relevant tags in languageInfo:
-- <matchVariable id="$yyy" value="zzz"/>
-- <languageMatch desired="xx_*_$yyy" [...] />
-- Assign script arguments and check validity
xmlFileName1 = "unicode/supplementalData.xml"
xmlFileName2 = "unicode/languageInfo.xml"
sqlFileName = "temp/uni_loadregiongroups.sql"
-- Open files
xmlInput1 = assert(io.open(xmlFileName1, "r"))
xmlData1 = xmlInput1:read("*all")
xmlInput2 = assert(io.open(xmlFileName2, "r"))
xmlData2 = xmlInput2:read("*all")
sqlFile = assert(io.open(sqlFileName, "w"))
-- Extract data from XML
-- Replace underscore by hyphen
local regions = {}
-- Extract territory containments
print(" -> Extract territory containments")
for w in string.gmatch(xmlData1, "<territoryContainment>(.-)</territoryContainment>") do
for grtype,grcontains,grother in string.gmatch(w, "<group type=\"(.-)\" contains=\"(.-)\"(.-)/>") do
-- Extract value of status attribute
status = grother:match("status=\"(.-)\"")
if status == nil then
status = ""
end
-- Extract value of grouping attribute
grouping = grother:match("grouping=\"(.-)\"")
if grouping == nil then
grouping = "false"
end
-- Use only entries with status NOT equal to "deprecated" or "grouping"
if status ~= "deprecated" and status ~= "grouping" then
regions[grtype] = grcontains
end
end
end
-- Function for building the country list of a region
function addcountries(regions, countries, countrylist)
local nn = #countries
for id in countrylist:gmatch("%w+") do
region = regions[id]
if region ~= nil then
addcountries(regions, countries, regions[id])
else
nn = #countries + 1
countries[nn] = id
end
end
end
-- Extract matching region
print(" -> Extract languages and matching regions")
local languages = {}
local matchids = {}
for w in string.gmatch(xmlData2, ".-<languageMatches.->(.-)</languageMatches>") do
for matchVarId,matchVarValue in string.gmatch(w, "<matchVariable id=\"(.-)\".-value=\"(.-)\"") do
matchVarValue = matchVarValue:gsub('+',' ')
matchVarValue = matchVarValue:gsub('-',' ')
-- print("Id=" .. matchVarId .. ", " .. matchVarValue)
matchids[matchVarId] = matchVarValue
regions[matchVarId] = matchVarValue
for langMatch in string.gmatch(w, ".-<languageMatch desired=\"(.-)\".-/>") do
found = string.find(langMatch, matchVarId)
if found ~= nil then
uscorestar = string.find(langMatch, "%_%*")
if uscorestar ~= nil then
language = string.sub(langMatch,1,uscorestar-1)
else
language = string.sub(langMatch,1,found-2)
end
language = language:gsub('_','-')
languages[language] = matchVarId
print(" Language: " .. language, "Region: " .. string.sub(matchVarId,2))
end
end
end
end
-- Extract territory containments
local regionlist = {}
print(' -> Extract (and expand) regions')
for k,v in pairs(regions) do
regionlist[k] = {}
addcountries(regions, regionlist[k], v)
print(" Region:", k, " Size:", #regionlist[k])
-- Print for debugging if necessary
-- for _, cid in ipairs(regionlist[k]) do
-- io.write(cid .. " ")
-- end
-- io.write("\n")
end
print(" -> Generate SQL file")
-- Write SQL file header
sqlFile:write("create table if not exists uni_regiongroups (language char, country char, primary key(language, country));\n")
sqlFile:write("delete from uni_regiongroups;\n")
sqlFile:write("begin;\n")
-- Sort language keys
local tkeys = {}
for k in pairs(languages) do
table.insert(tkeys, k)
end
table.sort(tkeys)
-- Write data to SQL file
for _, k in ipairs(tkeys) do
v = languages[k]
sqlFile:write("\n-- Region group '" .. string.sub(v,2) .. "' for language '" .. k .. "'\n")
for _, cid in ipairs(regionlist[v]) do
sqlFile:write("insert into uni_regiongroups values ('" .. k .. "', '" .. cid .. "');\n")
end
end
-- Write SQL file trailer
sqlFile:write("commit;\n")
-- Close files
xmlInput1:close()
xmlInput2:close()
sqlFile:close()

View File

@@ -0,0 +1,61 @@
-- Generate a script map based on ISO 15924 data
--
-- Data source: Unicode CLDR
-- URL: https://github.com/unicode-org/cldr/raw/main/tools/cldr-code/src/main/resources/org/unicode/cldr/util/data/territory_codes.txt
-- License: UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
codeFileName = "unicode/territory_codes.txt"
function split(str)
result = {}
index = 1
for s in string.gmatch(str, "%S+") do
result[index] = s
index = index + 1
end
return result
end
fo1 = io.open('temp/uni_loadterritorycodes.sql','w')
fo1:write('-- List of territory codes based on ISO 3166\n-- Date: ' .. os.date("%Y-%m-%d %H:%M") .. '\n\n')
fo1:write('-- Data source: Unicode CLDR (https://cldr.unicode.org)\n')
fo1:write('-- File: https://github.com/unicode-org/cldr/raw/main/tools/cldr-code/src/main/resources/org/unicode/cldr/util/data/territory_codes.txt\n')
fo1:write('-- License: UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE\n\n')
fo1:write("create table if not exists uni_territorycodes (iso2 char, iso3 char, primary key (iso2));\n")
fo1:write('delete from uni_territorycodes;\nbegin;\n')
count = 0
ccprev = ""
for line in io.lines(codeFileName) do
rem = string.sub(line,1,1)
if rem ~= "#" then
values = split(line)
-- 1 RFC3066
-- 2 UN Numeric
-- 3 ISO3166 Alpha-3
-- 4 internet
-- 5 FIPS-10
iso2 = values[1]
iso3 = values[3]
if iso3 ~= nil then
fo1:write("insert into uni_territorycodes values ('" .. iso2 .. "', '" .. iso3 .. "');\n")
else
print('*** Warning: no iso3 code for ' .. iso2)
end
count = count + 1
else
if line == "# Deprecated codes" then
break
end
end
end
print(" Number of countries = " .. count)
fo1:write('commit;\n')
fo1:close()

View File

@@ -0,0 +1,46 @@
UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
See Terms of Use <https://www.unicode.org/copyright.html>
for definitions of Unicode Inc.s Data Files and Software.
NOTICE TO USER: Carefully read the following legal agreement.
BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
TERMS AND CONDITIONS OF THIS AGREEMENT.
IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
THE DATA FILES OR SOFTWARE.
COPYRIGHT AND PERMISSION NOTICE
Copyright © 1991-2023 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Unicode data files and any associated documentation
(the "Data Files") or Unicode software and any associated documentation
(the "Software") to deal in the Data Files or Software
without restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, and/or sell copies of
the Data Files or Software, and to permit persons to whom the Data Files
or Software are furnished to do so, provided that either
(a) this copyright and permission notice appear with all copies
of the Data Files or Software, or
(b) this copyright and permission notice appear in associated
Documentation.
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT OF THIRD PARTY RIGHTS.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THE DATA FILES OR SOFTWARE.
Except as contained in this notice, the name of a copyright holder
shall not be used in advertising or otherwise to promote the sale,
use or other dealings in these Data Files or Software without prior
written authorization of the copyright holder.