#pragma once
#include <vector>

// Auto-generated based on "/usr/share/X11/xkb/rules/evdev.lst"

struct layout
{
    const char *code;
    const char *description;
};

static std::vector<struct layout> evdev_lst_layouts = {
    { "custom", "A user-defined custom Layout" },
    { "ru(ab)", "Abkhazian (Russia)" },
    { "gh(akan)", "Akan" },
    { "al", "Albanian" },
    { "al(plisi)", "Albanian (Plisi)" },
    { "al(veqilharxhi)", "Albanian (Veqilharxhi)" },
    { "et", "Amharic" },
    { "ara", "Arabic" },
    { "ara(azerty)", "Arabic (AZERTY)" },
    { "ara(azerty_digits)", "Arabic (AZERTY, Eastern Arabic numerals)" },
    { "dz(ar)", "Arabic (Algeria)" },
    { "ara(buckwalter)", "Arabic (Buckwalter)" },
    { "ara(digits)", "Arabic (Eastern Arabic numerals)" },
    { "eg", "Arabic (Egypt)" },
    { "iq", "Arabic (Iraq)" },
    { "ara(mac)", "Arabic (Macintosh)" },
    { "ara(mac-phonetic)", "Arabic (Macintosh, phonetic)" },
    { "ma", "Arabic (Morocco)" },
    { "ara(olpc)", "Arabic (OLPC)" },
    { "pk(ara)", "Arabic (Pakistan)" },
    { "sy", "Arabic (Syria)" },
    { "am", "Armenian" },
    { "am(eastern-alt)", "Armenian (alt. eastern)" },
    { "am(phonetic-alt)", "Armenian (alt. phonetic)" },
    { "am(eastern)", "Armenian (eastern)" },
    { "am(phonetic)", "Armenian (phonetic)" },
    { "am(western)", "Armenian (western)" },
    { "in(asm-kagapa)", "Assamese (KaGaPa, phonetic)" },
    { "es(ast)", "Asturian (Spain, with bottom-dot H and L)" },
    { "gh(avn)", "Avatime" },
    { "az", "Azerbaijani" },
    { "az(cyrillic)", "Azerbaijani (Cyrillic)" },
    { "ir(azb)", "Azerbaijani (Iran)" },
    { "ml", "Bambara" },
    { "bd", "Bangla" },
    { "in(ben)", "Bangla (India)" },
    { "in(ben_inscript)", "Bangla (India, Baishakhi InScript)" },
    { "in(ben_baishakhi)", "Bangla (India, Baishakhi)" },
    { "in(ben_bornona)", "Bangla (India, Bornona)" },
    { "in(ben_gitanjali)", "Bangla (India, Gitanjali)" },
    { "in(ben-kagapa)", "Bangla (India, KaGaPa, phonetic)" },
    { "in(ben_probhat)", "Bangla (India, Probhat)" },
    { "bd(probhat)", "Bangla (Probhat)" },
    { "ru(bak)", "Bashkirian" },
    { "by", "Belarusian" },
    { "by(latin)", "Belarusian (Latin)" },
    { "by(intl)", "Belarusian (intl.)" },
    { "by(legacy)", "Belarusian (legacy)" },
    { "by(phonetic)", "Belarusian (phonetic)" },
    { "be", "Belgian" },
    { "be(iso-alternate)", "Belgian (ISO, alt.)" },
    { "be(oss_latin9)", "Belgian (Latin-9 only, alt.)" },
    { "be(wang)", "Belgian (Wang 724 AZERTY)" },
    { "be(oss)", "Belgian (alt.)" },
    { "be(nodeadkeys)", "Belgian (no dead keys)" },
    { "dz", "Berber (Algeria, Latin)" },
    { "dz(ber)", "Berber (Algeria, Tifinagh)" },
    { "ma(tifinagh-alt)", "Berber (Morocco, Tifinagh alt.)" },
    { "ma(tifinagh-extended-phonetic)", "Berber (Morocco, Tifinagh extended phonetic)" },
    { "ma(tifinagh-extended)", "Berber (Morocco, Tifinagh extended)" },
    { "ma(tifinagh-phonetic)", "Berber (Morocco, Tifinagh phonetic)" },
    { "ma(tifinagh-alt-phonetic)", "Berber (Morocco, Tifinagh phonetic, alt.)" },
    { "ma(tifinagh)", "Berber (Morocco, Tifinagh)" },
    { "ba", "Bosnian" },
    { "ba(us)", "Bosnian (US)" },
    { "ba(unicodeus)", "Bosnian (US, with Bosnian digraphs)" },
    { "ba(unicode)", "Bosnian (with Bosnian digraphs)" },
    { "ba(alternatequotes)", "Bosnian (with guillemets)" },
    { "brai", "Braille" },
    { "brai(left_hand_invert)", "Braille (left-handed inverted thumb)" },
    { "brai(left_hand)", "Braille (left-handed)" },
    { "brai(right_hand_invert)", "Braille (right-handed inverted thumb)" },
    { "brai(right_hand)", "Braille (right-handed)" },
    { "fr(bre)", "Breton (France)" },
    { "bg", "Bulgarian" },
    { "bg(bekl)", "Bulgarian (enhanced)" },
    { "bg(bas_phonetic)", "Bulgarian (new phonetic)" },
    { "bg(phonetic)", "Bulgarian (traditional phonetic)" },
    { "mm", "Burmese" },
    { "mm(zawgyi)", "Burmese (Zawgyi)" },
    { "cm(azerty)", "Cameroon (AZERTY, intl.)" },
    { "cm(dvorak)", "Cameroon (Dvorak, intl.)" },
    { "cm(qwerty)", "Cameroon Multilingual (QWERTY, intl.)" },
    { "ca(multix)", "Canadian (CSA)" },
    { "es(cat)", "Catalan (Spain, with middle-dot L)" },
    { "us(chr)", "Cherokee" },
    { "cn", "Chinese" },
    { "ru(cv)", "Chuvash" },
    { "ru(cv_latin)", "Chuvash (Latin)" },
    { "ie(CloGaelach)", "CloGaelach" },
    { "ua(crh_alt)", "Crimean Tatar (Turkish Alt-Q)" },
    { "ua(crh_f)", "Crimean Tatar (Turkish F)" },
    { "ua(crh)", "Crimean Tatar (Turkish Q)" },
    { "hr", "Croatian" },
    { "hr(us)", "Croatian (US)" },
    { "hr(unicodeus)", "Croatian (US, with Croatian digraphs)" },
    { "hr(unicode)", "Croatian (with Croatian digraphs)" },
    { "hr(alternatequotes)", "Croatian (with guillemets)" },
    { "cz", "Czech" },
    { "cz(qwerty)", "Czech (QWERTY)" },
    { "cz(qwerty-mac)", "Czech (QWERTY, Macintosh)" },
    { "cz(winkeys-qwerty)", "Czech (QWERTY, Windows)" },
    { "cz(qwerty_bksl)", "Czech (QWERTY, extra backslash)" },
    { "cz(winkeys)", "Czech (QWERTZ, Windows)" },
    { "cz(ucw)", "Czech (UCW, only accented letters)" },
    { "cz(dvorak-ucw)", "Czech (US, Dvorak, UCW support)" },
    { "cz(bksl)", "Czech (extra backslash)" },
    { "dk", "Danish" },
    { "dk(dvorak)", "Danish (Dvorak)" },
    { "dk(mac)", "Danish (Macintosh)" },
    { "dk(mac_nodeadkeys)", "Danish (Macintosh, no dead keys)" },
    { "dk(winkeys)", "Danish (Windows)" },
    { "dk(nodeadkeys)", "Danish (no dead keys)" },
    { "af", "Dari" },
    { "af(fa-olpc)", "Dari (Afghanistan, OLPC)" },
    { "mv", "Dhivehi" },
    { "nl", "Dutch" },
    { "nl(mac)", "Dutch (Macintosh)" },
    { "nl(us)", "Dutch (US)" },
    { "nl(std)", "Dutch (standard)" },
    { "bt", "Dzongkha" },
    { "au", "English (Australia)" },
    { "cm", "English (Cameroon)" },
    { "ca(eng)", "English (Canada)" },
    { "us(colemak)", "English (Colemak)" },
    { "us(colemak_dh_iso)", "English (Colemak-DH ISO)" },
    { "us(colemak_dh_ortho)", "English (Colemak-DH Ortholinear)" },
    { "us(colemak_dh_wide_iso)", "English (Colemak-DH Wide ISO)" },
    { "us(colemak_dh_wide)", "English (Colemak-DH Wide)" },
    { "us(colemak_dh)", "English (Colemak-DH)" },
    { "us(dvorak)", "English (Dvorak)" },
    { "us(dvorak-mac)", "English (Dvorak, Macintosh)" },
    { "us(dvorak-alt-intl)", "English (Dvorak, alt. intl.)" },
    { "us(dvorak-intl)", "English (Dvorak, intl., with dead keys)" },
    { "us(dvorak-l)", "English (Dvorak, left-handed)" },
    { "us(dvorak-r)", "English (Dvorak, right-handed)" },
    { "gh", "English (Ghana)" },
    { "gh(gillbt)", "English (Ghana, GILLBT)" },
    { "gh(generic)", "English (Ghana, multilingual)" },
    { "in(eng)", "English (India, with rupee)" },
    { "us(mac)", "English (Macintosh)" },
    { "ml(us-mac)", "English (Mali, US, Macintosh)" },
    { "ml(us-intl)", "English (Mali, US, intl.)" },
    { "nz", "English (New Zealand)" },
    { "ng", "English (Nigeria)" },
    { "us(norman)", "English (Norman)" },
    { "za", "English (South Africa)" },
    { "gb", "English (UK)" },
    { "gb(colemak)", "English (UK, Colemak)" },
    { "gb(colemak_dh)", "English (UK, Colemak-DH)" },
    { "gb(dvorak)", "English (UK, Dvorak)" },
    { "gb(dvorakukp)", "English (UK, Dvorak, with UK punctuation)" },
    { "gb(mac)", "English (UK, Macintosh)" },
    { "gb(mac_intl)", "English (UK, Macintosh, intl.)" },
    { "gb(extd)", "English (UK, extended, Windows)" },
    { "gb(intl)", "English (UK, intl., with dead keys)" },
    { "us", "English (US)" },
    { "us(symbolic)", "English (US, Symbolic)" },
    { "us(alt-intl)", "English (US, alt. intl.)" },
    { "us(euro)", "English (US, euro on 5)" },
    { "us(intl)", "English (US, intl., with dead keys)" },
    { "us(workman)", "English (Workman)" },
    { "us(workman-intl)", "English (Workman, intl., with dead keys)" },
    { "us(dvorak-classic)", "English (classic Dvorak)" },
    { "us(altgr-intl)", "English (intl., with AltGr dead keys)" },
    { "us(dvp)", "English (programmer Dvorak)" },
    { "us(olpc2)", "English (the divide/multiply toggle the layout)" },
    { "epo", "Esperanto" },
    { "br(nativo-epo)", "Esperanto (Brazil, Nativo)" },
    { "pt(nativo-epo)", "Esperanto (Portugal, Nativo)" },
    { "epo(legacy)", "Esperanto (legacy)" },
    { "ee", "Estonian" },
    { "ee(dvorak)", "Estonian (Dvorak)" },
    { "ee(us)", "Estonian (US)" },
    { "ee(nodeadkeys)", "Estonian (no dead keys)" },
    { "gh(ewe)", "Ewe" },
    { "fo", "Faroese" },
    { "fo(nodeadkeys)", "Faroese (no dead keys)" },
    { "ph", "Filipino" },
    { "ph(capewell-dvorak-bay)", "Filipino (Capewell-Dvorak, Baybayin)" },
    { "ph(capewell-dvorak)", "Filipino (Capewell-Dvorak, Latin)" },
    { "ph(capewell-qwerf2k6-bay)", "Filipino (Capewell-QWERF 2006, Baybayin)" },
    { "ph(capewell-qwerf2k6)", "Filipino (Capewell-QWERF 2006, Latin)" },
    { "ph(colemak-bay)", "Filipino (Colemak, Baybayin)" },
    { "ph(colemak)", "Filipino (Colemak, Latin)" },
    { "ph(dvorak-bay)", "Filipino (Dvorak, Baybayin)" },
    { "ph(dvorak)", "Filipino (Dvorak, Latin)" },
    { "ph(qwerty-bay)", "Filipino (QWERTY, Baybayin)" },
    { "fi", "Finnish" },
    { "fi(mac)", "Finnish (Macintosh)" },
    { "fi(winkeys)", "Finnish (Windows)" },
    { "fi(classic)", "Finnish (classic)" },
    { "fi(nodeadkeys)", "Finnish (classic, no dead keys)" },
    { "fr", "French" },
    { "fr(azerty)", "French (AZERTY)" },
    { "fr(afnor)", "French (AZERTY, AFNOR)" },
    { "fr(bepo)", "French (BEPO)" },
    { "fr(bepo_afnor)", "French (BEPO, AFNOR)" },
    { "fr(bepo_latin9)", "French (BEPO, Latin-9 only)" },
    { "cm(french)", "French (Cameroon)" },
    { "ca", "French (Canada)" },
    { "ca(fr-dvorak)", "French (Canada, Dvorak)" },
    { "ca(fr-legacy)", "French (Canada, legacy)" },
    { "cd", "French (Democratic Republic of the Congo)" },
    { "fr(dvorak)", "French (Dvorak)" },
    { "fr(mac)", "French (Macintosh)" },
    { "ml(fr-oss)", "French (Mali, alt.)" },
    { "ma(french)", "French (Morocco)" },
    { "ch(fr)", "French (Switzerland)" },
    { "ch(fr_mac)", "French (Switzerland, Macintosh)" },
    { "ch(fr_nodeadkeys)", "French (Switzerland, no dead keys)" },
    { "tg", "French (Togo)" },
    { "fr(us)", "French (US)" },
    { "fr(oss)", "French (alt.)" },
    { "fr(oss_latin9)", "French (alt., Latin-9 only)" },
    { "fr(oss_nodeadkeys)", "French (alt., no dead keys)" },
    { "fr(latin9)", "French (legacy, alt.)" },
    { "fr(latin9_nodeadkeys)", "French (legacy, alt., no dead keys)" },
    { "fr(nodeadkeys)", "French (no dead keys)" },
    { "it(fur)", "Friulian (Italy)" },
    { "gh(fula)", "Fula" },
    { "gh(ga)", "Ga" },
    { "md(gag)", "Gagauz (Moldova)" },
    { "ge", "Georgian" },
    { "fr(geo)", "Georgian (France, AZERTY Tskapo)" },
    { "it(geo)", "Georgian (Italy)" },
    { "ge(mess)", "Georgian (MESS)" },
    { "ge(ergonomic)", "Georgian (ergonomic)" },
    { "de", "German" },
    { "at", "German (Austria)" },
    { "at(mac)", "German (Austria, Macintosh)" },
    { "at(nodeadkeys)", "German (Austria, no dead keys)" },
    { "de(dvorak)", "German (Dvorak)" },
    { "de(e1)", "German (E1)" },
    { "de(e2)", "German (E2)" },
    { "de(mac)", "German (Macintosh)" },
    { "de(mac_nodeadkeys)", "German (Macintosh, no dead keys)" },
    { "de(neo)", "German (Neo 2)" },
    { "de(qwerty)", "German (QWERTY)" },
    { "ch", "German (Switzerland)" },
    { "ch(de_mac)", "German (Switzerland, Macintosh)" },
    { "ch(legacy)", "German (Switzerland, legacy)" },
    { "ch(de_nodeadkeys)", "German (Switzerland, no dead keys)" },
    { "de(T3)", "German (T3)" },
    { "de(us)", "German (US)" },
    { "de(deadacute)", "German (dead acute)" },
    { "de(deadgraveacute)", "German (dead grave acute)" },
    { "de(deadtilde)", "German (dead tilde)" },
    { "de(nodeadkeys)", "German (no dead keys)" },
    { "gr", "Greek" },
    { "gr(nodeadkeys)", "Greek (no dead keys)" },
    { "gr(polytonic)", "Greek (polytonic)" },
    { "gr(simple)", "Greek (simple)" },
    { "in(guj)", "Gujarati" },
    { "in(guj-kagapa)", "Gujarati (KaGaPa, phonetic)" },
    { "cn(altgr-pinyin)", "Hanyu Pinyin Letters (with AltGr dead keys)" },
    { "gh(hausa)", "Hausa (Ghana)" },
    { "ng(hausa)", "Hausa (Nigeria)" },
    { "us(haw)", "Hawaiian" },
    { "il", "Hebrew" },
    { "il(biblical)", "Hebrew (Biblical, Tiro)" },
    { "il(si2)", "Hebrew (SI-1452-2)" },
    { "il(lyx)", "Hebrew (lyx)" },
    { "il(phonetic)", "Hebrew (phonetic)" },
    { "in(bolnagri)", "Hindi (Bolnagri)" },
    { "in(hin-kagapa)", "Hindi (KaGaPa, phonetic)" },
    { "in(hin-wx)", "Hindi (Wx)" },
    { "hu", "Hungarian" },
    { "hu(qwerty)", "Hungarian (QWERTY)" },
    { "hu(101_qwerty_comma_dead)", "Hungarian (QWERTY, 101-key, comma, dead keys)" },
    { "hu(101_qwerty_comma_nodead)", "Hungarian (QWERTY, 101-key, comma, no dead keys)" },
    { "hu(101_qwerty_dot_dead)", "Hungarian (QWERTY, 101-key, dot, dead keys)" },
    { "hu(101_qwerty_dot_nodead)", "Hungarian (QWERTY, 101-key, dot, no dead keys)" },
    { "hu(102_qwerty_comma_dead)", "Hungarian (QWERTY, 102-key, comma, dead keys)" },
    { "hu(102_qwerty_comma_nodead)", "Hungarian (QWERTY, 102-key, comma, no dead keys)" },
    { "hu(102_qwerty_dot_dead)", "Hungarian (QWERTY, 102-key, dot, dead keys)" },
    { "hu(102_qwerty_dot_nodead)", "Hungarian (QWERTY, 102-key, dot, no dead keys)" },
    { "hu(101_qwertz_comma_dead)", "Hungarian (QWERTZ, 101-key, comma, dead keys)" },
    { "hu(101_qwertz_comma_nodead)", "Hungarian (QWERTZ, 101-key, comma, no dead keys)" },
    { "hu(101_qwertz_dot_dead)", "Hungarian (QWERTZ, 101-key, dot, dead keys)" },
    { "hu(101_qwertz_dot_nodead)", "Hungarian (QWERTZ, 101-key, dot, no dead keys)" },
    { "hu(102_qwertz_comma_dead)", "Hungarian (QWERTZ, 102-key, comma, dead keys)" },
    { "hu(102_qwertz_comma_nodead)", "Hungarian (QWERTZ, 102-key, comma, no dead keys)" },
    { "hu(102_qwertz_dot_dead)", "Hungarian (QWERTZ, 102-key, dot, dead keys)" },
    { "hu(102_qwertz_dot_nodead)", "Hungarian (QWERTZ, 102-key, dot, no dead keys)" },
    { "hu(nodeadkeys)", "Hungarian (no dead keys)" },
    { "hu(standard)", "Hungarian (standard)" },
    { "is", "Icelandic" },
    { "is(dvorak)", "Icelandic (Dvorak)" },
    { "is(mac)", "Icelandic (Macintosh)" },
    { "is(mac_legacy)", "Icelandic (Macintosh, legacy)" },
    { "ng(igbo)", "Igbo" },
    { "in", "Indian" },
    { "in(iipa)", "Indic IPA" },
    { "id(melayu-phoneticx)", "Indonesian (Arab Melayu, extended phonetic)" },
    { "id(melayu-phonetic)", "Indonesian (Arab Melayu, phonetic)" },
    { "id(pegon-phonetic)", "Indonesian (Arab Pegon, phonetic)" },
    { "id", "Indonesian (Latin)" },
    { "ca(ike)", "Inuktitut" },
    { "ie", "Irish" },
    { "ie(UnicodeExpert)", "Irish (UnicodeExpert)" },
    { "it", "Italian" },
    { "it(ibm)", "Italian (IBM 142)" },
    { "it(mac)", "Italian (Macintosh)" },
    { "it(us)", "Italian (US)" },
    { "it(winkeys)", "Italian (Windows)" },
    { "it(nodeadkeys)", "Italian (no dead keys)" },
    { "jp", "Japanese" },
    { "jp(dvorak)", "Japanese (Dvorak)" },
    { "jp(kana86)", "Japanese (Kana 86)" },
    { "jp(kana)", "Japanese (Kana)" },
    { "jp(mac)", "Japanese (Macintosh)" },
    { "jp(OADG109A)", "Japanese (OADG 109A)" },
    { "id(javanese)", "Javanese" },
    { "dz(azerty-deadkeys)", "Kabyle (AZERTY, with dead keys)" },
    { "dz(qwerty-gb-deadkeys)", "Kabyle (QWERTY, UK, with dead keys)" },
    { "dz(qwerty-us-deadkeys)", "Kabyle (QWERTY, US, with dead keys)" },
    { "ru(xal)", "Kalmyk" },
    { "in(kan)", "Kannada" },
    { "in(kan-kagapa)", "Kannada (KaGaPa, phonetic)" },
    { "pl(csb)", "Kashubian" },
    { "kz", "Kazakh" },
    { "kz(latin)", "Kazakh (Latin)" },
    { "kz(ext)", "Kazakh (extended)" },
    { "kz(kazrus)", "Kazakh (with Russian)" },
    { "kh", "Khmer (Cambodia)" },
    { "ke(kik)", "Kikuyu" },
    { "ru(kom)", "Komi" },
    { "kr", "Korean" },
    { "kr(kr104)", "Korean (101/104-key compatible)" },
    { "ir(ku_ara)", "Kurdish (Iran, Arabic-Latin)" },
    { "ir(ku_f)", "Kurdish (Iran, F)" },
    { "ir(ku_alt)", "Kurdish (Iran, Latin Alt-Q)" },
    { "ir(ku)", "Kurdish (Iran, Latin Q)" },
    { "iq(ku_ara)", "Kurdish (Iraq, Arabic-Latin)" },
    { "iq(ku_f)", "Kurdish (Iraq, F)" },
    { "iq(ku_alt)", "Kurdish (Iraq, Latin Alt-Q)" },
    { "iq(ku)", "Kurdish (Iraq, Latin Q)" },
    { "sy(ku_f)", "Kurdish (Syria, F)" },
    { "sy(ku_alt)", "Kurdish (Syria, Latin Alt-Q)" },
    { "sy(ku)", "Kurdish (Syria, Latin Q)" },
    { "tr(ku_f)", "Kurdish (Turkey, F)" },
    { "tr(ku_alt)", "Kurdish (Turkey, Latin Alt-Q)" },
    { "tr(ku)", "Kurdish (Turkey, Latin Q)" },
    { "kg", "Kyrgyz" },
    { "kg(phonetic)", "Kyrgyz (phonetic)" },
    { "la", "Lao" },
    { "la(stea)", "Lao (STEA)" },
    { "lv", "Latvian" },
    { "lv(fkey)", "Latvian (F)" },
    { "lv(modern-cyr)", "Latvian (Modern Cyrillic)" },
    { "lv(modern)", "Latvian (Modern Latin)" },
    { "lv(adapted)", "Latvian (adapted)" },
    { "lv(apostrophe)", "Latvian (apostrophe)" },
    { "lv(ergonomic)", "Latvian (ergonomic, ŪGJRMV)" },
    { "lv(tilde)", "Latvian (tilde)" },
    { "lt", "Lithuanian" },
    { "lt(ibm)", "Lithuanian (IBM)" },
    { "lt(lekp)", "Lithuanian (LEKP)" },
    { "lt(lekpa)", "Lithuanian (LEKPa)" },
    { "lt(ratise)", "Lithuanian (Ratise)" },
    { "lt(us)", "Lithuanian (US)" },
    { "lt(std)", "Lithuanian (standard)" },
    { "de(dsb)", "Lower Sorbian" },
    { "de(dsb_qwertz)", "Lower Sorbian (QWERTZ)" },
    { "mk", "Macedonian" },
    { "mk(nodeadkeys)", "Macedonian (no dead keys)" },
    { "my", "Malay (Jawi, Arabic Keyboard)" },
    { "my(phonetic)", "Malay (Jawi, phonetic)" },
    { "in(mal)", "Malayalam" },
    { "in(mal_lalitha)", "Malayalam (Lalitha)" },
    { "in(mal_poorna)", "Malayalam (Poorna, extended InScript)" },
    { "in(mal_enhanced)", "Malayalam (enhanced InScript, with rupee)" },
    { "mt", "Maltese" },
    { "mt(alt-gb)", "Maltese (UK, with AltGr overrides)" },
    { "mt(us)", "Maltese (US)" },
    { "mt(alt-us)", "Maltese (US, with AltGr overrides)" },
    { "in(mni)", "Manipuri (Meitei)" },
    { "nz(mao)", "Maori" },
    { "in(mar-kagapa)", "Marathi (KaGaPa, phonetic)" },
    { "in(marathi)", "Marathi (enhanced InScript)" },
    { "ru(chm)", "Mari" },
    { "cm(mmuock)", "Mmuock" },
    { "md", "Moldavian" },
    { "mm(mnw)", "Mon" },
    { "mm(mnw-a1)", "Mon (A1)" },
    { "mn", "Mongolian" },
    { "cn(mon_trad)", "Mongolian (Bichig)" },
    { "cn(mon_trad_galik)", "Mongolian (Galik)" },
    { "cn(mon_manchu_galik)", "Mongolian (Manchu Galik)" },
    { "cn(mon_trad_manchu)", "Mongolian (Manchu)" },
    { "cn(mon_todo_galik)", "Mongolian (Todo Galik)" },
    { "cn(mon_trad_todo)", "Mongolian (Todo)" },
    { "cn(mon_trad_xibe)", "Mongolian (Xibe)" },
    { "me", "Montenegrin" },
    { "me(cyrillic)", "Montenegrin (Cyrillic)" },
    { "me(cyrillicyz)", "Montenegrin (Cyrillic, ZE and ZHE swapped)" },
    { "me(cyrillicalternatequotes)", "Montenegrin (Cyrillic, with guillemets)" },
    { "me(latinyz)", "Montenegrin (Latin, QWERTY)" },
    { "me(latinunicode)", "Montenegrin (Latin, Unicode)" },
    { "me(latinunicodeyz)", "Montenegrin (Latin, Unicode, QWERTY)" },
    { "me(latinalternatequotes)", "Montenegrin (Latin, with guillemets)" },
    { "gn", "N'Ko (AZERTY)" },
    { "np", "Nepali" },
    { "fi(smi)", "Northern Saami (Finland)" },
    { "no(smi)", "Northern Saami (Norway)" },
    { "no(smi_nodeadkeys)", "Northern Saami (Norway, no dead keys)" },
    { "se(smi)", "Northern Saami (Sweden)" },
    { "no", "Norwegian" },
    { "no(colemak)", "Norwegian (Colemak)" },
    { "no(colemak_dh_wide)", "Norwegian (Colemak-DH Wide)" },
    { "no(colemak_dh)", "Norwegian (Colemak-DH)" },
    { "no(dvorak)", "Norwegian (Dvorak)" },
    { "no(mac)", "Norwegian (Macintosh)" },
    { "no(mac_nodeadkeys)", "Norwegian (Macintosh, no dead keys)" },
    { "no(winkeys)", "Norwegian (Windows)" },
    { "no(nodeadkeys)", "Norwegian (no dead keys)" },
    { "fr(oci)", "Occitan" },
    { "ie(ogam)", "Ogham" },
    { "ie(ogam_is434)", "Ogham (IS434)" },
    { "in(ori)", "Oriya" },
    { "in(ori-bolnagri)", "Oriya (Bolnagri)" },
    { "in(ori-wx)", "Oriya (Wx)" },
    { "ge(os)", "Ossetian (Georgia)" },
    { "ru(os_winkeys)", "Ossetian (Windows)" },
    { "ru(os_legacy)", "Ossetian (legacy)" },
    { "rs(rue)", "Pannonian Rusyn" },
    { "af(ps)", "Pashto" },
    { "af(ps-olpc)", "Pashto (Afghanistan, OLPC)" },
    { "ir", "Persian" },
    { "ir(winkeys)", "Persian (Windows)" },
    { "ir(pes_keypad)", "Persian (with Persian keypad)" },
    { "pl", "Polish" },
    { "gb(pl)", "Polish (British keyboard)" },
    { "pl(dvorak)", "Polish (Dvorak)" },
    { "pl(dvorak_altquotes)", "Polish (Dvorak, with Polish quotes on key 1)" },
    { "pl(dvorak_quotes)", "Polish (Dvorak, with Polish quotes on quotemark key)" },
    { "pl(qwertz)", "Polish (QWERTZ)" },
    { "pl(legacy)", "Polish (legacy)" },
    { "pl(dvp)", "Polish (programmer Dvorak)" },
    { "pt", "Portuguese" },
    { "br", "Portuguese (Brazil)" },
    { "br(dvorak)", "Portuguese (Brazil, Dvorak)" },
    { "br(thinkpad)", "Portuguese (Brazil, IBM/Lenovo ThinkPad)" },
    { "br(nativo-us)", "Portuguese (Brazil, Nativo for US keyboards)" },
    { "br(nativo)", "Portuguese (Brazil, Nativo)" },
    { "br(nodeadkeys)", "Portuguese (Brazil, no dead keys)" },
    { "pt(mac)", "Portuguese (Macintosh)" },
    { "pt(mac_nodeadkeys)", "Portuguese (Macintosh, no dead keys)" },
    { "pt(nativo-us)", "Portuguese (Nativo for US keyboards)" },
    { "pt(nativo)", "Portuguese (Nativo)" },
    { "pt(nodeadkeys)", "Portuguese (no dead keys)" },
    { "in(jhelum)", "Punjabi (Gurmukhi Jhelum)" },
    { "in(guru)", "Punjabi (Gurmukhi)" },
    { "ro", "Romanian" },
    { "de(ro)", "Romanian (Germany)" },
    { "de(ro_nodeadkeys)", "Romanian (Germany, no dead keys)" },
    { "ro(winkeys)", "Romanian (Windows)" },
    { "ro(std)", "Romanian (standard)" },
    { "ru", "Russian" },
    { "by(ru)", "Russian (Belarus)" },
    { "br(rus)", "Russian (Brazil, phonetic)" },
    { "cz(rus)", "Russian (Czechia, phonetic)" },
    { "ru(dos)", "Russian (DOS)" },
    { "ge(ru)", "Russian (Georgia)" },
    { "de(ru)", "Russian (Germany, phonetic)" },
    { "kz(ruskaz)", "Russian (Kazakhstan, with Kazakh)" },
    { "ru(mac)", "Russian (Macintosh)" },
    { "pl(ru_phonetic_dvorak)", "Russian (Poland, phonetic Dvorak)" },
    { "se(rus)", "Russian (Sweden, phonetic)" },
    { "us(rus)", "Russian (US, phonetic)" },
    { "ru(ruchey_en)", "Russian (engineering, EN)" },
    { "ru(ruchey_ru)", "Russian (engineering, RU)" },
    { "ru(legacy)", "Russian (legacy)" },
    { "ru(phonetic)", "Russian (phonetic)" },
    { "ru(phonetic_azerty)", "Russian (phonetic, AZERTY)" },
    { "ru(phonetic_dvorak)", "Russian (phonetic, Dvorak)" },
    { "ru(phonetic_winkeys)", "Russian (phonetic, Windows)" },
    { "ru(phonetic_YAZHERTY)", "Russian (phonetic, YAZHERTY)" },
    { "ru(typewriter)", "Russian (typewriter)" },
    { "ru(typewriter-legacy)", "Russian (typewriter, legacy)" },
    { "tw(saisiyat)", "Saisiyat (Taiwan)" },
    { "lt(sgs)", "Samogitian" },
    { "in(san-kagapa)", "Sanskrit (KaGaPa, phonetic)" },
    { "in(sat)", "Santali (Ol Chiki)" },
    { "gb(gla)", "Scottish Gaelic" },
    { "rs", "Serbian" },
    { "rs(yz)", "Serbian (Cyrillic, ZE and ZHE swapped)" },
    { "rs(alternatequotes)", "Serbian (Cyrillic, with guillemets)" },
    { "rs(latin)", "Serbian (Latin)" },
    { "rs(latinyz)", "Serbian (Latin, QWERTY)" },
    { "rs(latinunicode)", "Serbian (Latin, Unicode)" },
    { "rs(latinunicodeyz)", "Serbian (Latin, Unicode, QWERTY)" },
    { "rs(latinalternatequotes)", "Serbian (Latin, with guillemets)" },
    { "ru(srp)", "Serbian (Russia)" },
    { "us(hbs)", "Serbo-Croatian (US)" },
    { "mm(shn)", "Shan" },
    { "mm(zgt)", "Shan (Zawgyi)" },
    { "it(scn)", "Sicilian" },
    { "pl(szl)", "Silesian" },
    { "pk(snd)", "Sindhi" },
    { "lk(us)", "Sinhala (US)" },
    { "lk", "Sinhala (phonetic)" },
    { "sk", "Slovak" },
    { "sk(qwerty)", "Slovak (QWERTY)" },
    { "sk(qwerty_bksl)", "Slovak (QWERTY, extra backslash)" },
    { "sk(bksl)", "Slovak (extra backslash)" },
    { "si", "Slovenian" },
    { "si(us)", "Slovenian (US)" },
    { "si(alternatequotes)", "Slovenian (with guillemets)" },
    { "es", "Spanish" },
    { "es(dvorak)", "Spanish (Dvorak)" },
    { "latam", "Spanish (Latin American)" },
    { "latam(colemak)", "Spanish (Latin American, Colemak)" },
    { "latam(dvorak)", "Spanish (Latin American, Dvorak)" },
    { "latam(deadtilde)", "Spanish (Latin American, dead tilde)" },
    { "latam(nodeadkeys)", "Spanish (Latin American, no dead keys)" },
    { "es(winkeys)", "Spanish (Windows)" },
    { "es(deadtilde)", "Spanish (dead tilde)" },
    { "es(nodeadkeys)", "Spanish (no dead keys)" },
    { "ke", "Swahili (Kenya)" },
    { "tz", "Swahili (Tanzania)" },
    { "se", "Swedish" },
    { "se(dvorak)", "Swedish (Dvorak)" },
    { "se(us_dvorak)", "Swedish (Dvorak, intl.)" },
    { "se(mac)", "Swedish (Macintosh)" },
    { "se(svdvorak)", "Swedish (Svdvorak)" },
    { "se(us)", "Swedish (US)" },
    { "se(nodeadkeys)", "Swedish (no dead keys)" },
    { "se(swl)", "Swedish Sign Language" },
    { "sy(syc)", "Syriac" },
    { "sy(syc_phonetic)", "Syriac (phonetic)" },
    { "tw", "Taiwanese" },
    { "tw(indigenous)", "Taiwanese (indigenous)" },
    { "tj", "Tajik" },
    { "tj(legacy)", "Tajik (legacy)" },
    { "in(tam)", "Tamil (InScript, with Arabic numerals)" },
    { "in(tam_tamilnumbers)", "Tamil (InScript, with Tamil numerals)" },
    { "lk(tam_unicode)", "Tamil (Sri Lanka, TamilNet '99)" },
    { "lk(tam_TAB)", "Tamil (Sri Lanka, TamilNet '99, TAB encoding)" },
    { "in(tamilnet_tamilnumbers)", "Tamil (TamilNet '99 with Tamil numerals)" },
    { "in(tamilnet)", "Tamil (TamilNet '99)" },
    { "in(tamilnet_TAB)", "Tamil (TamilNet '99, TAB encoding)" },
    { "in(tamilnet_TSCII)", "Tamil (TamilNet '99, TSCII encoding)" },
    { "ma(rif)", "Tarifit" },
    { "ru(tt)", "Tatar" },
    { "in(tel)", "Telugu" },
    { "in(tel-kagapa)", "Telugu (KaGaPa, phonetic)" },
    { "in(tel-sarala)", "Telugu (Sarala)" },
    { "th", "Thai" },
    { "th(pat)", "Thai (Pattachote)" },
    { "th(tis)", "Thai (TIS-820.2538)" },
    { "cn(tib)", "Tibetan" },
    { "cn(tib_asciinum)", "Tibetan (with ASCII numerals)" },
    { "bw", "Tswana" },
    { "tr", "Turkish" },
    { "tr(alt)", "Turkish (Alt-Q)" },
    { "tr(e)", "Turkish (E)" },
    { "tr(f)", "Turkish (F)" },
    { "de(tr)", "Turkish (Germany)" },
    { "tr(intl)", "Turkish (intl., with dead keys)" },
    { "tm", "Turkmen" },
    { "tm(alt)", "Turkmen (Alt-Q)" },
    { "ru(udm)", "Udmurt" },
    { "ua", "Ukrainian" },
    { "ua(winkeys)", "Ukrainian (Windows)" },
    { "ua(homophonic)", "Ukrainian (homophonic)" },
    { "ua(legacy)", "Ukrainian (legacy)" },
    { "ua(macOS)", "Ukrainian (macOS)" },
    { "ua(phonetic)", "Ukrainian (phonetic)" },
    { "ua(typewriter)", "Ukrainian (typewriter)" },
    { "pk", "Urdu (Pakistan)" },
    { "pk(urd-crulp)", "Urdu (Pakistan, CRULP)" },
    { "pk(urd-nla)", "Urdu (Pakistan, NLA)" },
    { "in(urd-winkeys)", "Urdu (Windows)" },
    { "in(urd-phonetic3)", "Urdu (alt. phonetic)" },
    { "in(urd-phonetic)", "Urdu (phonetic)" },
    { "cn(ug)", "Uyghur" },
    { "uz", "Uzbek" },
    { "af(uz)", "Uzbek (Afghanistan)" },
    { "af(uz-olpc)", "Uzbek (Afghanistan, OLPC)" },
    { "uz(latin)", "Uzbek (Latin)" },
    { "vn", "Vietnamese" },
    { "vn(fr)", "Vietnamese (France)" },
    { "vn(us)", "Vietnamese (US)" },
    { "sn", "Wolof" },
    { "ru(sah)", "Yakut" },
    { "ng(yoruba)", "Yoruba" },
};
