123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200 |
- /**************************************************************************/
- /* locales.h */
- /**************************************************************************/
- /* This file is part of: */
- /* GODOT ENGINE */
- /* https://godotengine.org */
- /**************************************************************************/
- /* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
- /* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
- /* */
- /* Permission is hereby granted, free of charge, to any person obtaining */
- /* a copy of this software and associated documentation files (the */
- /* "Software"), to deal in the Software without restriction, including */
- /* without limitation the rights to use, copy, modify, merge, publish, */
- /* distribute, sublicense, and/or sell copies of the Software, and to */
- /* permit persons to whom the Software is furnished to do so, subject to */
- /* the following conditions: */
- /* */
- /* The above copyright notice and this permission notice shall be */
- /* included in all copies or substantial portions of the Software. */
- /* */
- /* THE SOFTWARE IS 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. */
- /* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
- /* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
- /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
- /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
- /**************************************************************************/
- #ifndef LOCALES_H
- #define LOCALES_H
- // Windows has some weird locale identifiers which do not honor the ISO 639-1
- // standardized nomenclature. Whenever those don't conflict with existing ISO
- // identifiers, we override them.
- //
- // Reference:
- // - https://msdn.microsoft.com/en-us/library/windows/desktop/ms693062(v=vs.85).aspx
- static const char *locale_renames[][2] = {
- { "in", "id" }, // Indonesian
- { "iw", "he" }, // Hebrew
- { "no", "nb" }, // Norwegian Bokmål
- { "C", "en" }, // Locale is not set, fallback to English.
- { nullptr, nullptr }
- };
- // Additional script information to preferred scripts.
- // Language code, script code, default country, supported countries.
- // Reference:
- // - https://lh.2xlibre.net/locales/
- // - https://www.localeplanet.com/icu/index.html
- // - https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f
- static const char *locale_scripts[][4] = {
- { "az", "Latn", "", "AZ" },
- { "az", "Arab", "", "IR" },
- { "bs", "Latn", "", "BA" },
- { "ff", "Latn", "", "BF,CM,GH,GM,GN,GW,LR,MR,NE,NG,SL,SN" },
- { "pa", "Arab", "PK", "PK" },
- { "pa", "Guru", "IN", "IN" },
- { "sd", "Arab", "PK", "PK" },
- { "sd", "Deva", "IN", "IN" },
- { "shi", "Tfng", "", "MA" },
- { "sr", "Cyrl", "", "BA,RS,XK" },
- { "sr", "Latn", "", "ME" },
- { "uz", "Latn", "", "UZ" },
- { "uz", "Arab", "AF", "AF" },
- { "vai", "Vaii", "", "LR" },
- { "yue", "Hans", "CN", "CN" },
- { "yue", "Hant", "HK", "HK" },
- { "zh", "Hans", "CN", "CN,SG" },
- { "zh", "Hant", "TW", "HK,MO,TW" },
- { nullptr, nullptr, nullptr, nullptr }
- };
- // Additional mapping for outdated, temporary or exceptionally reserved country codes.
- // Reference:
- // - https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
- // - https://www.iso.org/obp/ui/#search/code/
- static const char *country_renames[][2] = {
- { "BU", "MM" }, // Burma, name changed to Myanmar.
- { "KV", "XK" }, // Kosovo (temporary FIPS code to European Commission code), no official ISO code assigned.
- { "TP", "TL" }, // East Timor, name changed to Timor-Leste.
- { "UK", "GB" }, // United Kingdom, exceptionally reserved code.
- { nullptr, nullptr }
- };
- // Country code, country name.
- // Reference:
- // - https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
- // - https://www.iso.org/obp/ui/#search/code/
- static const char *country_names[][2] = {
- { "AC", "Ascension Island" }, // Exceptionally reserved.
- { "AD", "Andorra" },
- { "AE", "United Arab Emirates" },
- { "AF", "Afghanistan" },
- { "AG", "Antigua and Barbuda" },
- { "AI", "Anguilla" },
- { "AL", "Albania" },
- { "AM", "Armenia" },
- { "AN", "Netherlands Antilles" }, // Transitionally reserved, divided into BQ, CW and SX.
- { "AO", "Angola" },
- { "AQ", "Antarctica" },
- { "AR", "Argentina" },
- { "AS", "American Samoa" },
- { "AT", "Austria" },
- { "AU", "Australia" },
- { "AW", "Aruba" },
- { "AX", "Åland Islands" },
- { "AZ", "Azerbaijan" },
- { "BA", "Bosnia and Herzegovina" },
- { "BB", "Barbados" },
- { "BD", "Bangladesh" },
- { "BE", "Belgium" },
- { "BF", "Burkina Faso" },
- { "BG", "Bulgaria" },
- { "BH", "Bahrain" },
- { "BI", "Burundi" },
- { "BJ", "Benin" },
- { "BL", "St. Barthélemy" },
- { "BM", "Bermuda" },
- { "BN", "Brunei" },
- { "BO", "Bolivia" },
- { "BQ", "Caribbean Netherlands" },
- { "BR", "Brazil" },
- { "BS", "Bahamas" },
- { "BT", "Bhutan" },
- { "BV", "Bouvet Island" },
- { "BW", "Botswana" },
- { "BY", "Belarus" },
- { "BZ", "Belize" },
- { "CA", "Canada" },
- { "CC", "Cocos (Keeling) Islands" },
- { "CD", "Congo - Kinshasa" },
- { "CF", "Central African Republic" },
- { "CG", "Congo - Brazzaville" },
- { "CH", "Switzerland" },
- { "CI", "Côte d'Ivoire" },
- { "CK", "Cook Islands" },
- { "CL", "Chile" },
- { "CM", "Cameroon" },
- { "CN", "China" },
- { "CO", "Colombia" },
- { "CP", "Clipperton Island" }, // Exceptionally reserved.
- { "CR", "Costa Rica" },
- { "CQ", "Island of Sark" }, // Exceptionally reserved.
- { "CU", "Cuba" },
- { "CV", "Cabo Verde" },
- { "CW", "Curaçao" },
- { "CX", "Christmas Island" },
- { "CY", "Cyprus" },
- { "CZ", "Czechia" },
- { "DE", "Germany" },
- { "DG", "Diego Garcia" }, // Exceptionally reserved.
- { "DJ", "Djibouti" },
- { "DK", "Denmark" },
- { "DM", "Dominica" },
- { "DO", "Dominican Republic" },
- { "DZ", "Algeria" },
- { "EA", "Ceuta and Melilla" }, // Exceptionally reserved.
- { "EC", "Ecuador" },
- { "EE", "Estonia" },
- { "EG", "Egypt" },
- { "EH", "Western Sahara" },
- { "ER", "Eritrea" },
- { "ES", "Spain" },
- { "ET", "Ethiopia" },
- { "EU", "European Union" }, // Exceptionally reserved.
- { "EZ", "Eurozone" }, // Exceptionally reserved.
- { "FI", "Finland" },
- { "FJ", "Fiji" },
- { "FK", "Falkland Islands" },
- { "FM", "Micronesia" },
- { "FO", "Faroe Islands" },
- { "FR", "France" },
- { "FX", "France, Metropolitan" }, // Exceptionally reserved.
- { "GA", "Gabon" },
- { "GB", "United Kingdom" },
- { "GD", "Grenada" },
- { "GE", "Georgia" },
- { "GF", "French Guiana" },
- { "GG", "Guernsey" },
- { "GH", "Ghana" },
- { "GI", "Gibraltar" },
- { "GL", "Greenland" },
- { "GM", "Gambia" },
- { "GN", "Guinea" },
- { "GP", "Guadeloupe" },
- { "GQ", "Equatorial Guinea" },
- { "GR", "Greece" },
- { "GS", "South Georgia and South Sandwich Islands" },
- { "GT", "Guatemala" },
- { "GU", "Guam" },
- { "GW", "Guinea-Bissau" },
- { "GY", "Guyana" },
- { "HK", "Hong Kong" },
- { "HM", "Heard Island and McDonald Islands" },
- { "HN", "Honduras" },
- { "HR", "Croatia" },
- { "HT", "Haiti" },
- { "HU", "Hungary" },
- { "IC", "Canary Islands" }, // Exceptionally reserved.
- { "ID", "Indonesia" },
- { "IE", "Ireland" },
- { "IL", "Israel" },
- { "IM", "Isle of Man" },
- { "IN", "India" },
- { "IO", "British Indian Ocean Territory" },
- { "IQ", "Iraq" },
- { "IR", "Iran" },
- { "IS", "Iceland" },
- { "IT", "Italy" },
- { "JE", "Jersey" },
- { "JM", "Jamaica" },
- { "JO", "Jordan" },
- { "JP", "Japan" },
- { "KE", "Kenya" },
- { "KG", "Kyrgyzstan" },
- { "KH", "Cambodia" },
- { "KI", "Kiribati" },
- { "KM", "Comoros" },
- { "KN", "St. Kitts and Nevis" },
- { "KP", "North Korea" },
- { "KR", "South Korea" },
- { "KW", "Kuwait" },
- { "KY", "Cayman Islands" },
- { "KZ", "Kazakhstan" },
- { "LA", "Laos" },
- { "LB", "Lebanon" },
- { "LC", "St. Lucia" },
- { "LI", "Liechtenstein" },
- { "LK", "Sri Lanka" },
- { "LR", "Liberia" },
- { "LS", "Lesotho" },
- { "LT", "Lithuania" },
- { "LU", "Luxembourg" },
- { "LV", "Latvia" },
- { "LY", "Libya" },
- { "MA", "Morocco" },
- { "MC", "Monaco" },
- { "MD", "Moldova" },
- { "ME", "Montenegro" },
- { "MF", "St. Martin" },
- { "MG", "Madagascar" },
- { "MH", "Marshall Islands" },
- { "MK", "North Macedonia" },
- { "ML", "Mali" },
- { "MM", "Myanmar" },
- { "MN", "Mongolia" },
- { "MO", "Macao" },
- { "MP", "Northern Mariana Islands" },
- { "MQ", "Martinique" },
- { "MR", "Mauritania" },
- { "MS", "Montserrat" },
- { "MT", "Malta" },
- { "MU", "Mauritius" },
- { "MV", "Maldives" },
- { "MW", "Malawi" },
- { "MX", "Mexico" },
- { "MY", "Malaysia" },
- { "MZ", "Mozambique" },
- { "NA", "Namibia" },
- { "NC", "New Caledonia" },
- { "NE", "Niger" },
- { "NF", "Norfolk Island" },
- { "NG", "Nigeria" },
- { "NI", "Nicaragua" },
- { "NL", "Netherlands" },
- { "NO", "Norway" },
- { "NP", "Nepal" },
- { "NR", "Nauru" },
- { "NU", "Niue" },
- { "NZ", "New Zealand" },
- { "OM", "Oman" },
- { "PA", "Panama" },
- { "PE", "Peru" },
- { "PF", "French Polynesia" },
- { "PG", "Papua New Guinea" },
- { "PH", "Philippines" },
- { "PK", "Pakistan" },
- { "PL", "Poland" },
- { "PM", "St. Pierre and Miquelon" },
- { "PN", "Pitcairn Islands" },
- { "PR", "Puerto Rico" },
- { "PS", "Palestine" },
- { "PT", "Portugal" },
- { "PW", "Palau" },
- { "PY", "Paraguay" },
- { "QA", "Qatar" },
- { "RE", "Réunion" },
- { "RO", "Romania" },
- { "RS", "Serbia" },
- { "RU", "Russia" },
- { "RW", "Rwanda" },
- { "SA", "Saudi Arabia" },
- { "SB", "Solomon Islands" },
- { "SC", "Seychelles" },
- { "SD", "Sudan" },
- { "SE", "Sweden" },
- { "SG", "Singapore" },
- { "SH", "St. Helena, Ascension and Tristan da Cunha" },
- { "SI", "Slovenia" },
- { "SJ", "Svalbard and Jan Mayen" },
- { "SK", "Slovakia" },
- { "SL", "Sierra Leone" },
- { "SM", "San Marino" },
- { "SN", "Senegal" },
- { "SO", "Somalia" },
- { "SR", "Suriname" },
- { "SS", "South Sudan" },
- { "ST", "Sao Tome and Principe" },
- { "SV", "El Salvador" },
- { "SX", "Sint Maarten" },
- { "SY", "Syria" },
- { "SZ", "Eswatini" },
- { "TA", "Tristan da Cunha" }, // Exceptionally reserved.
- { "TC", "Turks and Caicos Islands" },
- { "TD", "Chad" },
- { "TF", "French Southern Territories" },
- { "TG", "Togo" },
- { "TH", "Thailand" },
- { "TJ", "Tajikistan" },
- { "TK", "Tokelau" },
- { "TL", "Timor-Leste" },
- { "TM", "Turkmenistan" },
- { "TN", "Tunisia" },
- { "TO", "Tonga" },
- { "TR", "Turkey" },
- { "TT", "Trinidad and Tobago" },
- { "TV", "Tuvalu" },
- { "TW", "Taiwan" },
- { "TZ", "Tanzania" },
- { "UA", "Ukraine" },
- { "UG", "Uganda" },
- { "UM", "U.S. Outlying Islands" },
- { "US", "United States of America" },
- { "UY", "Uruguay" },
- { "UZ", "Uzbekistan" },
- { "VA", "Holy See" },
- { "VC", "St. Vincent and the Grenadines" },
- { "VE", "Venezuela" },
- { "VG", "British Virgin Islands" },
- { "VI", "U.S. Virgin Islands" },
- { "VN", "Viet Nam" },
- { "VU", "Vanuatu" },
- { "WF", "Wallis and Futuna" },
- { "WS", "Samoa" },
- { "XK", "Kosovo" }, // Temporary code, no official ISO code assigned.
- { "YE", "Yemen" },
- { "YT", "Mayotte" },
- { "ZA", "South Africa" },
- { "ZM", "Zambia" },
- { "ZW", "Zimbabwe" },
- { nullptr, nullptr }
- };
- // Languages code, language name.
- // Reference:
- // - https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
- // - https://www.localeplanet.com/icu/index.html
- // - https://lh.2xlibre.net/locales/
- static const char *language_list[][2] = {
- { "aa", "Afar" },
- { "ab", "Abkhazian" },
- { "ace", "Achinese" },
- { "ach", "Acoli" },
- { "ada", "Adangme" },
- { "ady", "Adyghe" },
- { "ae", "Avestan" },
- { "aeb", "Tunisian Arabic" },
- { "af", "Afrikaans" },
- { "afh", "Afrihili" },
- { "agq", "Aghem" },
- { "ain", "Ainu" },
- { "agr", "Aguaruna" },
- { "ak", "Akan" },
- { "akk", "Akkadian" },
- { "akz", "Alabama" },
- { "ale", "Aleut" },
- { "aln", "Gheg Albanian" },
- { "alt", "Southern Altai" },
- { "am", "Amharic" },
- { "an", "Aragonese" },
- { "ang", "Old English" },
- { "anp", "Angika" },
- { "ar", "Arabic" },
- { "arc", "Aramaic" },
- { "arn", "Mapudungun" },
- { "aro", "Araona" },
- { "arp", "Arapaho" },
- { "arq", "Algerian Arabic" },
- { "ars", "Najdi Arabic" },
- { "arw", "Arawak" },
- { "ary", "Moroccan Arabic" },
- { "arz", "Egyptian Arabic" },
- { "as", "Assamese" },
- { "asa", "Asu" },
- { "ase", "American Sign Language" },
- { "ast", "Asturian" },
- { "av", "Avaric" },
- { "avk", "Kotava" },
- { "awa", "Awadhi" },
- { "ayc", "Southern Aymara" },
- { "ay", "Aymara" },
- { "az", "Azerbaijani" },
- { "ba", "Bashkir" },
- { "bal", "Baluchi" },
- { "ban", "Balinese" },
- { "bar", "Bavarian" },
- { "bas", "Bassa" },
- { "bax", "Bamun" },
- { "bbc", "Batak Toba" },
- { "bbj", "Ghomala" },
- { "be", "Belarusian" },
- { "bej", "Beja" },
- { "bem", "Bemba" },
- { "ber", "Berber" },
- { "bew", "Betawi" },
- { "bez", "Bena" },
- { "bfd", "Bafut" },
- { "bfq", "Badaga" },
- { "bg", "Bulgarian" },
- { "bhb", "Bhili" },
- { "bgn", "Western Balochi" },
- { "bho", "Bhojpuri" },
- { "bi", "Bislama" },
- { "bik", "Bikol" },
- { "bin", "Bini" },
- { "bjn", "Banjar" },
- { "bkm", "Kom" },
- { "bla", "Siksika" },
- { "bm", "Bambara" },
- { "bn", "Bengali" },
- { "bo", "Tibetan" },
- { "bpy", "Bishnupriya" },
- { "bqi", "Bakhtiari" },
- { "br", "Breton" },
- { "brh", "Brahui" },
- { "brx", "Bodo" },
- { "bs", "Bosnian" },
- { "bss", "Akoose" },
- { "bua", "Buriat" },
- { "bug", "Buginese" },
- { "bum", "Bulu" },
- { "byn", "Bilin" },
- { "byv", "Medumba" },
- { "ca", "Catalan" },
- { "cad", "Caddo" },
- { "car", "Carib" },
- { "cay", "Cayuga" },
- { "cch", "Atsam" },
- { "ccp", "Chakma" },
- { "ce", "Chechen" },
- { "ceb", "Cebuano" },
- { "cgg", "Chiga" },
- { "ch", "Chamorro" },
- { "chb", "Chibcha" },
- { "chg", "Chagatai" },
- { "chk", "Chuukese" },
- { "chm", "Mari" },
- { "chn", "Chinook Jargon" },
- { "cho", "Choctaw" },
- { "chp", "Chipewyan" },
- { "chr", "Cherokee" },
- { "chy", "Cheyenne" },
- { "cic", "Chickasaw" },
- { "ckb", "Central Kurdish" },
- { "csb", "Kashubian" },
- { "cmn", "Mandarin Chinese" },
- { "co", "Corsican" },
- { "cop", "Coptic" },
- { "cps", "Capiznon" },
- { "cr", "Cree" },
- { "crh", "Crimean Tatar" },
- { "crs", "Seselwa Creole French" },
- { "cs", "Czech" },
- { "csb", "Kashubian" },
- { "cu", "Church Slavic" },
- { "cv", "Chuvash" },
- { "cy", "Welsh" },
- { "da", "Danish" },
- { "dak", "Dakota" },
- { "dar", "Dargwa" },
- { "dav", "Taita" },
- { "de", "German" },
- { "del", "Delaware" },
- { "den", "Slave" },
- { "dgr", "Dogrib" },
- { "din", "Dinka" },
- { "dje", "Zarma" },
- { "doi", "Dogri" },
- { "dsb", "Lower Sorbian" },
- { "dtp", "Central Dusun" },
- { "dua", "Duala" },
- { "dum", "Middle Dutch" },
- { "dv", "Dhivehi" },
- { "dyo", "Jola-Fonyi" },
- { "dyu", "Dyula" },
- { "dz", "Dzongkha" },
- { "dzg", "Dazaga" },
- { "ebu", "Embu" },
- { "ee", "Ewe" },
- { "efi", "Efik" },
- { "egl", "Emilian" },
- { "egy", "Ancient Egyptian" },
- { "eka", "Ekajuk" },
- { "el", "Greek" },
- { "elx", "Elamite" },
- { "en", "English" },
- { "enm", "Middle English" },
- { "eo", "Esperanto" },
- { "es", "Spanish" },
- { "esu", "Central Yupik" },
- { "et", "Estonian" },
- { "eu", "Basque" },
- { "ewo", "Ewondo" },
- { "ext", "Extremaduran" },
- { "fa", "Persian" },
- { "fan", "Fang" },
- { "fat", "Fanti" },
- { "ff", "Fulah" },
- { "fi", "Finnish" },
- { "fil", "Filipino" },
- { "fit", "Tornedalen Finnish" },
- { "fj", "Fijian" },
- { "fo", "Faroese" },
- { "fon", "Fon" },
- { "fr", "French" },
- { "frc", "Cajun French" },
- { "frm", "Middle French" },
- { "fro", "Old French" },
- { "frp", "Arpitan" },
- { "frr", "Northern Frisian" },
- { "frs", "Eastern Frisian" },
- { "fur", "Friulian" },
- { "fy", "Western Frisian" },
- { "ga", "Irish" },
- { "gaa", "Ga" },
- { "gag", "Gagauz" },
- { "gan", "Gan Chinese" },
- { "gay", "Gayo" },
- { "gba", "Gbaya" },
- { "gbz", "Zoroastrian Dari" },
- { "gd", "Scottish Gaelic" },
- { "gez", "Geez" },
- { "gil", "Gilbertese" },
- { "gl", "Galician" },
- { "glk", "Gilaki" },
- { "gmh", "Middle High German" },
- { "gn", "Guarani" },
- { "goh", "Old High German" },
- { "gom", "Goan Konkani" },
- { "gon", "Gondi" },
- { "gor", "Gorontalo" },
- { "got", "Gothic" },
- { "grb", "Grebo" },
- { "grc", "Ancient Greek" },
- { "gsw", "Swiss German" },
- { "gu", "Gujarati" },
- { "guc", "Wayuu" },
- { "gur", "Frafra" },
- { "guz", "Gusii" },
- { "gv", "Manx" },
- { "gwi", "Gwichʼin" },
- { "ha", "Hausa" },
- { "hai", "Haida" },
- { "hak", "Hakka Chinese" },
- { "haw", "Hawaiian" },
- { "he", "Hebrew" },
- { "hi", "Hindi" },
- { "hif", "Fiji Hindi" },
- { "hil", "Hiligaynon" },
- { "hit", "Hittite" },
- { "hmn", "Hmong" },
- { "ho", "Hiri Motu" },
- { "hne", "Chhattisgarhi" },
- { "hr", "Croatian" },
- { "hsb", "Upper Sorbian" },
- { "hsn", "Xiang Chinese" },
- { "ht", "Haitian" },
- { "hu", "Hungarian" },
- { "hup", "Hupa" },
- { "hus", "Huastec" },
- { "hy", "Armenian" },
- { "hz", "Herero" },
- { "ia", "Interlingua" },
- { "iba", "Iban" },
- { "ibb", "Ibibio" },
- { "id", "Indonesian" },
- { "ie", "Interlingue" },
- { "ig", "Igbo" },
- { "ii", "Sichuan Yi" },
- { "ik", "Inupiaq" },
- { "ilo", "Iloko" },
- { "inh", "Ingush" },
- { "io", "Ido" },
- { "is", "Icelandic" },
- { "it", "Italian" },
- { "iu", "Inuktitut" },
- { "izh", "Ingrian" },
- { "ja", "Japanese" },
- { "jam", "Jamaican Creole English" },
- { "jbo", "Lojban" },
- { "jgo", "Ngomba" },
- { "jmc", "Machame" },
- { "jpr", "Judeo-Persian" },
- { "jrb", "Judeo-Arabic" },
- { "jut", "Jutish" },
- { "jv", "Javanese" },
- { "ka", "Georgian" },
- { "kaa", "Kara-Kalpak" },
- { "kab", "Kabyle" },
- { "kac", "Kachin" },
- { "kaj", "Jju" },
- { "kam", "Kamba" },
- { "kaw", "Kawi" },
- { "kbd", "Kabardian" },
- { "kbl", "Kanembu" },
- { "kcg", "Tyap" },
- { "kde", "Makonde" },
- { "kea", "Kabuverdianu" },
- { "ken", "Kenyang" },
- { "kfo", "Koro" },
- { "kg", "Kongo" },
- { "kgp", "Kaingang" },
- { "kha", "Khasi" },
- { "kho", "Khotanese" },
- { "khq", "Koyra Chiini" },
- { "khw", "Khowar" },
- { "ki", "Kikuyu" },
- { "kiu", "Kirmanjki" },
- { "kj", "Kuanyama" },
- { "kk", "Kazakh" },
- { "kkj", "Kako" },
- { "kl", "Kalaallisut" },
- { "kln", "Kalenjin" },
- { "km", "Central Khmer" },
- { "kmb", "Kimbundu" },
- { "kn", "Kannada" },
- { "ko", "Korean" },
- { "koi", "Komi-Permyak" },
- { "kok", "Konkani" },
- { "kos", "Kosraean" },
- { "kpe", "Kpelle" },
- { "kr", "Kanuri" },
- { "krc", "Karachay-Balkar" },
- { "kri", "Krio" },
- { "krj", "Kinaray-a" },
- { "krl", "Karelian" },
- { "kru", "Kurukh" },
- { "ks", "Kashmiri" },
- { "ksb", "Shambala" },
- { "ksf", "Bafia" },
- { "ksh", "Colognian" },
- { "ku", "Kurdish" },
- { "kum", "Kumyk" },
- { "kut", "Kutenai" },
- { "kv", "Komi" },
- { "kw", "Cornish" },
- { "ky", "Kirghiz" },
- { "lag", "Langi" },
- { "la", "Latin" },
- { "lad", "Ladino" },
- { "lag", "Langi" },
- { "lah", "Lahnda" },
- { "lam", "Lamba" },
- { "lb", "Luxembourgish" },
- { "lez", "Lezghian" },
- { "lfn", "Lingua Franca Nova" },
- { "lg", "Ganda" },
- { "li", "Limburgan" },
- { "lij", "Ligurian" },
- { "liv", "Livonian" },
- { "lkt", "Lakota" },
- { "lmo", "Lombard" },
- { "ln", "Lingala" },
- { "lo", "Lao" },
- { "lol", "Mongo" },
- { "lou", "Louisiana Creole" },
- { "loz", "Lozi" },
- { "lrc", "Northern Luri" },
- { "lt", "Lithuanian" },
- { "ltg", "Latgalian" },
- { "lu", "Luba-Katanga" },
- { "lua", "Luba-Lulua" },
- { "lui", "Luiseno" },
- { "lun", "Lunda" },
- { "luo", "Luo" },
- { "lus", "Mizo" },
- { "luy", "Luyia" },
- { "lv", "Latvian" },
- { "lzh", "Literary Chinese" },
- { "lzz", "Laz" },
- { "mad", "Madurese" },
- { "maf", "Mafa" },
- { "mag", "Magahi" },
- { "mai", "Maithili" },
- { "mak", "Makasar" },
- { "man", "Mandingo" },
- { "mas", "Masai" },
- { "mde", "Maba" },
- { "mdf", "Moksha" },
- { "mdr", "Mandar" },
- { "men", "Mende" },
- { "mer", "Meru" },
- { "mfe", "Morisyen" },
- { "mg", "Malagasy" },
- { "mga", "Middle Irish" },
- { "mgh", "Makhuwa-Meetto" },
- { "mgo", "Metaʼ" },
- { "mh", "Marshallese" },
- { "mhr", "Eastern Mari" },
- { "mi", "Māori" },
- { "mic", "Mi'kmaq" },
- { "min", "Minangkabau" },
- { "miq", "Mískito" },
- { "mjw", "Karbi" },
- { "mk", "Macedonian" },
- { "ml", "Malayalam" },
- { "mn", "Mongolian" },
- { "mnc", "Manchu" },
- { "mni", "Manipuri" },
- { "mnw", "Mon" },
- { "mos", "Mossi" },
- { "moh", "Mohawk" },
- { "mr", "Marathi" },
- { "mrj", "Western Mari" },
- { "ms", "Malay" },
- { "mt", "Maltese" },
- { "mua", "Mundang" },
- { "mus", "Muscogee" },
- { "mwl", "Mirandese" },
- { "mwr", "Marwari" },
- { "mwv", "Mentawai" },
- { "my", "Burmese" },
- { "mye", "Myene" },
- { "myv", "Erzya" },
- { "mzn", "Mazanderani" },
- { "na", "Nauru" },
- { "nah", "Nahuatl" },
- { "nan", "Min Nan Chinese" },
- { "nap", "Neapolitan" },
- { "naq", "Nama" },
- { "nan", "Min Nan Chinese" },
- { "nb", "Norwegian Bokmål" },
- { "nd", "North Ndebele" },
- { "nds", "Low German" },
- { "ne", "Nepali" },
- { "new", "Newari" },
- { "nhn", "Central Nahuatl" },
- { "ng", "Ndonga" },
- { "nia", "Nias" },
- { "niu", "Niuean" },
- { "njo", "Ao Naga" },
- { "nl", "Dutch" },
- { "nmg", "Kwasio" },
- { "nn", "Norwegian Nynorsk" },
- { "nnh", "Ngiemboon" },
- { "nog", "Nogai" },
- { "non", "Old Norse" },
- { "nov", "Novial" },
- { "nqo", "N'ko" },
- { "nr", "South Ndebele" },
- { "nso", "Pedi" },
- { "nus", "Nuer" },
- { "nv", "Navajo" },
- { "nwc", "Classical Newari" },
- { "ny", "Nyanja" },
- { "nym", "Nyamwezi" },
- { "nyn", "Nyankole" },
- { "nyo", "Nyoro" },
- { "nzi", "Nzima" },
- { "oc", "Occitan" },
- { "oj", "Ojibwa" },
- { "om", "Oromo" },
- { "or", "Odia" },
- { "os", "Ossetic" },
- { "osa", "Osage" },
- { "ota", "Ottoman Turkish" },
- { "pa", "Panjabi" },
- { "pag", "Pangasinan" },
- { "pal", "Pahlavi" },
- { "pam", "Pampanga" },
- { "pap", "Papiamento" },
- { "pau", "Palauan" },
- { "pcd", "Picard" },
- { "pcm", "Nigerian Pidgin" },
- { "pdc", "Pennsylvania German" },
- { "pdt", "Plautdietsch" },
- { "peo", "Old Persian" },
- { "pfl", "Palatine German" },
- { "phn", "Phoenician" },
- { "pi", "Pali" },
- { "pl", "Polish" },
- { "pms", "Piedmontese" },
- { "pnt", "Pontic" },
- { "pon", "Pohnpeian" },
- { "pr", "Pirate" },
- { "prg", "Prussian" },
- { "pro", "Old Provençal" },
- { "prs", "Dari" },
- { "ps", "Pushto" },
- { "pt", "Portuguese" },
- { "qu", "Quechua" },
- { "quc", "K'iche" },
- { "qug", "Chimborazo Highland Quichua" },
- { "quy", "Ayacucho Quechua" },
- { "quz", "Cusco Quechua" },
- { "raj", "Rajasthani" },
- { "rap", "Rapanui" },
- { "rar", "Rarotongan" },
- { "rgn", "Romagnol" },
- { "rif", "Riffian" },
- { "rm", "Romansh" },
- { "rn", "Rundi" },
- { "ro", "Romanian" },
- { "rof", "Rombo" },
- { "rom", "Romany" },
- { "rtm", "Rotuman" },
- { "ru", "Russian" },
- { "rue", "Rusyn" },
- { "rug", "Roviana" },
- { "rup", "Aromanian" },
- { "rw", "Kinyarwanda" },
- { "rwk", "Rwa" },
- { "sa", "Sanskrit" },
- { "sad", "Sandawe" },
- { "sah", "Sakha" },
- { "sam", "Samaritan Aramaic" },
- { "saq", "Samburu" },
- { "sas", "Sasak" },
- { "sat", "Santali" },
- { "saz", "Saurashtra" },
- { "sba", "Ngambay" },
- { "sbp", "Sangu" },
- { "sc", "Sardinian" },
- { "scn", "Sicilian" },
- { "sco", "Scots" },
- { "sd", "Sindhi" },
- { "sdc", "Sassarese Sardinian" },
- { "sdh", "Southern Kurdish" },
- { "se", "Northern Sami" },
- { "see", "Seneca" },
- { "seh", "Sena" },
- { "sei", "Seri" },
- { "sel", "Selkup" },
- { "ses", "Koyraboro Senni" },
- { "sg", "Sango" },
- { "sga", "Old Irish" },
- { "sgs", "Samogitian" },
- { "sh", "Serbo-Croatian" },
- { "shi", "Tachelhit" },
- { "shn", "Shan" },
- { "shs", "Shuswap" },
- { "shu", "Chadian Arabic" },
- { "si", "Sinhala" },
- { "sid", "Sidamo" },
- { "sk", "Slovak" },
- { "sl", "Slovenian" },
- { "sli", "Lower Silesian" },
- { "sly", "Selayar" },
- { "sm", "Samoan" },
- { "sma", "Southern Sami" },
- { "smj", "Lule Sami" },
- { "smn", "Inari Sami" },
- { "sms", "Skolt Sami" },
- { "sn", "Shona" },
- { "snk", "Soninke" },
- { "so", "Somali" },
- { "sog", "Sogdien" },
- { "son", "Songhai" },
- { "sq", "Albanian" },
- { "sr", "Serbian" },
- { "srn", "Sranan Tongo" },
- { "srr", "Serer" },
- { "ss", "Swati" },
- { "ssy", "Saho" },
- { "st", "Southern Sotho" },
- { "stq", "Saterland Frisian" },
- { "su", "Sundanese" },
- { "suk", "Sukuma" },
- { "sus", "Susu" },
- { "sux", "Sumerian" },
- { "sv", "Swedish" },
- { "sw", "Swahili" },
- { "swb", "Comorian" },
- { "swc", "Congo Swahili" },
- { "syc", "Classical Syriac" },
- { "syr", "Syriac" },
- { "szl", "Silesian" },
- { "ta", "Tamil" },
- { "tcy", "Tulu" },
- { "te", "Telugu" },
- { "tem", "Timne" },
- { "teo", "Teso" },
- { "ter", "Tereno" },
- { "tet", "Tetum" },
- { "tg", "Tajik" },
- { "th", "Thai" },
- { "the", "Chitwania Tharu" },
- { "ti", "Tigrinya" },
- { "tig", "Tigre" },
- { "tiv", "Tiv" },
- { "tk", "Turkmen" },
- { "tkl", "Tokelau" },
- { "tkr", "Tsakhur" },
- { "tl", "Tagalog" },
- { "tlh", "Klingon" },
- { "tli", "Tlingit" },
- { "tly", "Talysh" },
- { "tmh", "Tamashek" },
- { "tn", "Tswana" },
- { "to", "Tongan" },
- { "tog", "Nyasa Tonga" },
- { "tpi", "Tok Pisin" },
- { "tr", "Turkish" },
- { "tru", "Turoyo" },
- { "trv", "Taroko" },
- { "ts", "Tsonga" },
- { "tsd", "Tsakonian" },
- { "tsi", "Tsimshian" },
- { "tt", "Tatar" },
- { "ttt", "Muslim Tat" },
- { "tum", "Tumbuka" },
- { "tvl", "Tuvalu" },
- { "tw", "Twi" },
- { "twq", "Tasawaq" },
- { "ty", "Tahitian" },
- { "tyv", "Tuvinian" },
- { "tzm", "Central Atlas Tamazight" },
- { "udm", "Udmurt" },
- { "ug", "Uyghur" },
- { "uga", "Ugaritic" },
- { "uk", "Ukrainian" },
- { "umb", "Umbundu" },
- { "unm", "Unami" },
- { "ur", "Urdu" },
- { "uz", "Uzbek" },
- { "vai", "Vai" },
- { "ve", "Venda" },
- { "vec", "Venetian" },
- { "vep", "Veps" },
- { "vi", "Vietnamese" },
- { "vls", "West Flemish" },
- { "vmf", "Main-Franconian" },
- { "vo", "Volapük" },
- { "vot", "Votic" },
- { "vro", "Võro" },
- { "vun", "Vunjo" },
- { "wa", "Walloon" },
- { "wae", "Walser" },
- { "wal", "Wolaytta" },
- { "war", "Waray" },
- { "was", "Washo" },
- { "wbp", "Warlpiri" },
- { "wo", "Wolof" },
- { "wuu", "Wu Chinese" },
- { "xal", "Kalmyk" },
- { "xh", "Xhosa" },
- { "xmf", "Mingrelian" },
- { "xog", "Soga" },
- { "yao", "Yao" },
- { "yap", "Yapese" },
- { "yav", "Yangben" },
- { "ybb", "Yemba" },
- { "yi", "Yiddish" },
- { "yo", "Yoruba" },
- { "yrl", "Nheengatu" },
- { "yue", "Yue Chinese" },
- { "yuw", "Papua New Guinea" },
- { "za", "Zhuang" },
- { "zap", "Zapotec" },
- { "zbl", "Blissymbols" },
- { "zea", "Zeelandic" },
- { "zen", "Zenaga" },
- { "zgh", "Standard Moroccan Tamazight" },
- { "zh", "Chinese" },
- { "zu", "Zulu" },
- { "zun", "Zuni" },
- { "zza", "Zaza" },
- { nullptr, nullptr }
- };
- // Additional regional variants.
- // Variant name, supported languages.
- static const char *locale_variants[][2] = {
- { "valencia", "ca" },
- { "iqtelif", "tt" },
- { "saaho", "aa" },
- { "tradnl", "es" },
- { nullptr, nullptr },
- };
- // Script names and codes (excludes typographic variants, special codes, reserved codes and aliases for combined scripts).
- // Reference:
- // - https://en.wikipedia.org/wiki/ISO_15924
- static const char *script_list[][2] = {
- { "Adlam", "Adlm" },
- { "Afaka", "Afak" },
- { "Caucasian Albanian", "Aghb" },
- { "Ahom", "Ahom" },
- { "Arabic", "Arab" },
- { "Imperial Aramaic", "Armi" },
- { "Armenian", "Armn" },
- { "Avestan", "Avst" },
- { "Balinese", "Bali" },
- { "Bamum", "Bamu" },
- { "Bassa Vah", "Bass" },
- { "Batak", "Batk" },
- { "Bengali", "Beng" },
- { "Bhaiksuki", "Bhks" },
- { "Blissymbols", "Blis" },
- { "Bopomofo", "Bopo" },
- { "Brahmi", "Brah" },
- { "Braille", "Brai" },
- { "Buginese", "Bugi" },
- { "Buhid", "Buhd" },
- { "Chakma", "Cakm" },
- { "Unified Canadian Aboriginal", "Cans" },
- { "Carian", "Cari" },
- { "Cham", "Cham" },
- { "Cherokee", "Cher" },
- { "Chorasmian", "Chrs" },
- { "Cirth", "Cirt" },
- { "Coptic", "Copt" },
- { "Cypro-Minoan", "Cpmn" },
- { "Cypriot", "Cprt" },
- { "Cyrillic", "Cyrl" },
- { "Devanagari", "Deva" },
- { "Dives Akuru", "Diak" },
- { "Dogra", "Dogr" },
- { "Deseret", "Dsrt" },
- { "Duployan", "Dupl" },
- { "Egyptian demotic", "Egyd" },
- { "Egyptian hieratic", "Egyh" },
- { "Egyptian hieroglyphs", "Egyp" },
- { "Elbasan", "Elba" },
- { "Elymaic", "Elym" },
- { "Ethiopic", "Ethi" },
- { "Khutsuri", "Geok" },
- { "Georgian", "Geor" },
- { "Glagolitic", "Glag" },
- { "Gunjala Gondi", "Gong" },
- { "Masaram Gondi", "Gonm" },
- { "Gothic", "Goth" },
- { "Grantha", "Gran" },
- { "Greek", "Grek" },
- { "Gujarati", "Gujr" },
- { "Gurmukhi", "Guru" },
- { "Hangul", "Hang" },
- { "Han", "Hani" },
- { "Hanunoo", "Hano" },
- { "Simplified", "Hans" },
- { "Traditional", "Hant" },
- { "Hatran", "Hatr" },
- { "Hebrew", "Hebr" },
- { "Hiragana", "Hira" },
- { "Anatolian Hieroglyphs", "Hluw" },
- { "Pahawh Hmong", "Hmng" },
- { "Nyiakeng Puachue Hmong", "Hmnp" },
- { "Old Hungarian", "Hung" },
- { "Indus", "Inds" },
- { "Old Italic", "Ital" },
- { "Javanese", "Java" },
- { "Jurchen", "Jurc" },
- { "Kayah Li", "Kali" },
- { "Katakana", "Kana" },
- { "Kawi", "Kawi" },
- { "Kharoshthi", "Khar" },
- { "Khmer", "Khmr" },
- { "Khojki", "Khoj" },
- { "Khitan large script", "Kitl" },
- { "Khitan small script", "Kits" },
- { "Kannada", "Knda" },
- { "Kpelle", "Kpel" },
- { "Kaithi", "Kthi" },
- { "Tai Tham", "Lana" },
- { "Lao", "Laoo" },
- { "Latin", "Latn" },
- { "Leke", "Leke" },
- { "Lepcha", "Lepc" },
- { "Limbu", "Limb" },
- { "Linear A", "Lina" },
- { "Linear B", "Linb" },
- { "Lisu", "Lisu" },
- { "Loma", "Loma" },
- { "Lycian", "Lyci" },
- { "Lydian", "Lydi" },
- { "Mahajani", "Mahj" },
- { "Makasar", "Maka" },
- { "Mandaic", "Mand" },
- { "Manichaean", "Mani" },
- { "Marchen", "Marc" },
- { "Mayan Hieroglyphs", "Maya" },
- { "Medefaidrin", "Medf" },
- { "Mende Kikakui", "Mend" },
- { "Meroitic Cursive", "Merc" },
- { "Meroitic Hieroglyphs", "Mero" },
- { "Malayalam", "Mlym" },
- { "Modi", "Modi" },
- { "Mongolian", "Mong" },
- { "Moon", "Moon" },
- { "Mro", "Mroo" },
- { "Meitei Mayek", "Mtei" },
- { "Multani", "Mult" },
- { "Myanmar (Burmese)", "Mymr" },
- { "Nag Mundari", "Nagm" },
- { "Nandinagari", "Nand" },
- { "Old North Arabian", "Narb" },
- { "Nabataean", "Nbat" },
- { "Newa", "Newa" },
- { "Naxi Dongba", "Nkdb" },
- { "Nakhi Geba", "Nkgb" },
- { "N'ko", "Nkoo" },
- { "Nüshu", "Nshu" },
- { "Ogham", "Ogam" },
- { "Ol Chiki", "Olck" },
- { "Old Turkic", "Orkh" },
- { "Oriya", "Orya" },
- { "Osage", "Osge" },
- { "Osmanya", "Osma" },
- { "Old Uyghur", "Ougr" },
- { "Palmyrene", "Palm" },
- { "Pau Cin Hau", "Pauc" },
- { "Proto-Cuneiform", "Pcun" },
- { "Proto-Elamite", "Pelm" },
- { "Old Permic", "Perm" },
- { "Phags-pa", "Phag" },
- { "Inscriptional Pahlavi", "Phli" },
- { "Psalter Pahlavi", "Phlp" },
- { "Book Pahlavi", "Phlv" },
- { "Phoenician", "Phnx" },
- { "Klingon", "Piqd" },
- { "Miao", "Plrd" },
- { "Inscriptional Parthian", "Prti" },
- { "Proto-Sinaitic", "Psin" },
- { "Ranjana", "Ranj" },
- { "Rejang", "Rjng" },
- { "Hanifi Rohingya", "Rohg" },
- { "Rongorongo", "Roro" },
- { "Runic", "Runr" },
- { "Samaritan", "Samr" },
- { "Sarati", "Sara" },
- { "Old South Arabian", "Sarb" },
- { "Saurashtra", "Saur" },
- { "SignWriting", "Sgnw" },
- { "Shavian", "Shaw" },
- { "Sharada", "Shrd" },
- { "Shuishu", "Shui" },
- { "Siddham", "Sidd" },
- { "Khudawadi", "Sind" },
- { "Sinhala", "Sinh" },
- { "Sogdian", "Sogd" },
- { "Old Sogdian", "Sogo" },
- { "Sora Sompeng", "Sora" },
- { "Soyombo", "Soyo" },
- { "Sundanese", "Sund" },
- { "Syloti Nagri", "Sylo" },
- { "Syriac", "Syrc" },
- { "Tagbanwa", "Tagb" },
- { "Takri", "Takr" },
- { "Tai Le", "Tale" },
- { "New Tai Lue", "Talu" },
- { "Tamil", "Taml" },
- { "Tangut", "Tang" },
- { "Tai Viet", "Tavt" },
- { "Telugu", "Telu" },
- { "Tengwar", "Teng" },
- { "Tifinagh", "Tfng" },
- { "Tagalog", "Tglg" },
- { "Thaana", "Thaa" },
- { "Thai", "Thai" },
- { "Tibetan", "Tibt" },
- { "Tirhuta", "Tirh" },
- { "Tangsa", "Tnsa" },
- { "Toto", "Toto" },
- { "Ugaritic", "Ugar" },
- { "Vai", "Vaii" },
- { "Visible Speech", "Visp" },
- { "Vithkuqi", "Vith" },
- { "Warang Citi", "Wara" },
- { "Wancho", "Wcho" },
- { "Woleai", "Wole" },
- { "Old Persian", "Xpeo" },
- { "Cuneiform", "Xsux" },
- { "Yezidi", "Yezi" },
- { "Yi", "Yiii" },
- { "Zanabazar Square", "Zanb" },
- { nullptr, nullptr }
- };
- #endif // LOCALES_H
|