| 1 | /**************************************************************************/ |
| 2 | /* locales.h */ |
| 3 | /**************************************************************************/ |
| 4 | /* This file is part of: */ |
| 5 | /* GODOT ENGINE */ |
| 6 | /* https://godotengine.org */ |
| 7 | /**************************************************************************/ |
| 8 | /* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ |
| 9 | /* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ |
| 10 | /* */ |
| 11 | /* Permission is hereby granted, free of charge, to any person obtaining */ |
| 12 | /* a copy of this software and associated documentation files (the */ |
| 13 | /* "Software"), to deal in the Software without restriction, including */ |
| 14 | /* without limitation the rights to use, copy, modify, merge, publish, */ |
| 15 | /* distribute, sublicense, and/or sell copies of the Software, and to */ |
| 16 | /* permit persons to whom the Software is furnished to do so, subject to */ |
| 17 | /* the following conditions: */ |
| 18 | /* */ |
| 19 | /* The above copyright notice and this permission notice shall be */ |
| 20 | /* included in all copies or substantial portions of the Software. */ |
| 21 | /* */ |
| 22 | /* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ |
| 23 | /* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ |
| 24 | /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ |
| 25 | /* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ |
| 26 | /* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ |
| 27 | /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ |
| 28 | /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ |
| 29 | /**************************************************************************/ |
| 30 | |
| 31 | #ifndef LOCALES_H |
| 32 | #define LOCALES_H |
| 33 | |
| 34 | // Windows has some weird locale identifiers which do not honor the ISO 639-1 |
| 35 | // standardized nomenclature. Whenever those don't conflict with existing ISO |
| 36 | // identifiers, we override them. |
| 37 | // |
| 38 | // Reference: |
| 39 | // - https://msdn.microsoft.com/en-us/library/windows/desktop/ms693062(v=vs.85).aspx |
| 40 | |
| 41 | static const char *locale_renames[][2] = { |
| 42 | { "in" , "id" }, // Indonesian |
| 43 | { "iw" , "he" }, // Hebrew |
| 44 | { "no" , "nb" }, // Norwegian Bokmål |
| 45 | { "C" , "en" }, // Locale is not set, fallback to English. |
| 46 | { nullptr, nullptr } |
| 47 | }; |
| 48 | |
| 49 | // Additional script information to preferred scripts. |
| 50 | // Language code, script code, default country, supported countries. |
| 51 | // Reference: |
| 52 | // - https://lh.2xlibre.net/locales/ |
| 53 | // - https://www.localeplanet.com/icu/index.html |
| 54 | // - https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f |
| 55 | |
| 56 | static const char *locale_scripts[][4] = { |
| 57 | { "az" , "Latn" , "" , "AZ" }, |
| 58 | { "az" , "Arab" , "" , "IR" }, |
| 59 | { "bs" , "Latn" , "" , "BA" }, |
| 60 | { "ff" , "Latn" , "" , "BF,CM,GH,GM,GN,GW,LR,MR,NE,NG,SL,SN" }, |
| 61 | { "pa" , "Arab" , "PK" , "PK" }, |
| 62 | { "pa" , "Guru" , "IN" , "IN" }, |
| 63 | { "sd" , "Arab" , "PK" , "PK" }, |
| 64 | { "sd" , "Deva" , "IN" , "IN" }, |
| 65 | { "shi" , "Tfng" , "" , "MA" }, |
| 66 | { "sr" , "Cyrl" , "" , "BA,RS,XK" }, |
| 67 | { "sr" , "Latn" , "" , "ME" }, |
| 68 | { "uz" , "Latn" , "" , "UZ" }, |
| 69 | { "uz" , "Arab" , "AF" , "AF" }, |
| 70 | { "vai" , "Vaii" , "" , "LR" }, |
| 71 | { "yue" , "Hans" , "CN" , "CN" }, |
| 72 | { "yue" , "Hant" , "HK" , "HK" }, |
| 73 | { "zh" , "Hans" , "CN" , "CN,SG" }, |
| 74 | { "zh" , "Hant" , "TW" , "HK,MO,TW" }, |
| 75 | { nullptr, nullptr, nullptr, nullptr } |
| 76 | }; |
| 77 | |
| 78 | // Additional mapping for outdated, temporary or exceptionally reserved country codes. |
| 79 | // Reference: |
| 80 | // - https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 |
| 81 | // - https://www.iso.org/obp/ui/#search/code/ |
| 82 | |
| 83 | static const char *country_renames[][2] = { |
| 84 | { "BU" , "MM" }, // Burma, name changed to Myanmar. |
| 85 | { "KV" , "XK" }, // Kosovo (temporary FIPS code to European Commission code), no official ISO code assigned. |
| 86 | { "TP" , "TL" }, // East Timor, name changed to Timor-Leste. |
| 87 | { "UK" , "GB" }, // United Kingdom, exceptionally reserved code. |
| 88 | { nullptr, nullptr } |
| 89 | }; |
| 90 | |
| 91 | // Country code, country name. |
| 92 | // Reference: |
| 93 | // - https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 |
| 94 | // - https://www.iso.org/obp/ui/#search/code/ |
| 95 | |
| 96 | static const char *country_names[][2] = { |
| 97 | { "AC" , "Ascension Island" }, // Exceptionally reserved. |
| 98 | { "AD" , "Andorra" }, |
| 99 | { "AE" , "United Arab Emirates" }, |
| 100 | { "AF" , "Afghanistan" }, |
| 101 | { "AG" , "Antigua and Barbuda" }, |
| 102 | { "AI" , "Anguilla" }, |
| 103 | { "AL" , "Albania" }, |
| 104 | { "AM" , "Armenia" }, |
| 105 | { "AN" , "Netherlands Antilles" }, // Transitionally reserved, divided into BQ, CW and SX. |
| 106 | { "AO" , "Angola" }, |
| 107 | { "AQ" , "Antarctica" }, |
| 108 | { "AR" , "Argentina" }, |
| 109 | { "AS" , "American Samoa" }, |
| 110 | { "AT" , "Austria" }, |
| 111 | { "AU" , "Australia" }, |
| 112 | { "AW" , "Aruba" }, |
| 113 | { "AX" , "Åland Islands" }, |
| 114 | { "AZ" , "Azerbaijan" }, |
| 115 | { "BA" , "Bosnia and Herzegovina" }, |
| 116 | { "BB" , "Barbados" }, |
| 117 | { "BD" , "Bangladesh" }, |
| 118 | { "BE" , "Belgium" }, |
| 119 | { "BF" , "Burkina Faso" }, |
| 120 | { "BG" , "Bulgaria" }, |
| 121 | { "BH" , "Bahrain" }, |
| 122 | { "BI" , "Burundi" }, |
| 123 | { "BJ" , "Benin" }, |
| 124 | { "BL" , "St. Barthélemy" }, |
| 125 | { "BM" , "Bermuda" }, |
| 126 | { "BN" , "Brunei" }, |
| 127 | { "BO" , "Bolivia" }, |
| 128 | { "BQ" , "Caribbean Netherlands" }, |
| 129 | { "BR" , "Brazil" }, |
| 130 | { "BS" , "Bahamas" }, |
| 131 | { "BT" , "Bhutan" }, |
| 132 | { "BV" , "Bouvet Island" }, |
| 133 | { "BW" , "Botswana" }, |
| 134 | { "BY" , "Belarus" }, |
| 135 | { "BZ" , "Belize" }, |
| 136 | { "CA" , "Canada" }, |
| 137 | { "CC" , "Cocos (Keeling) Islands" }, |
| 138 | { "CD" , "Congo - Kinshasa" }, |
| 139 | { "CF" , "Central African Republic" }, |
| 140 | { "CG" , "Congo - Brazzaville" }, |
| 141 | { "CH" , "Switzerland" }, |
| 142 | { "CI" , "Côte d'Ivoire" }, |
| 143 | { "CK" , "Cook Islands" }, |
| 144 | { "CL" , "Chile" }, |
| 145 | { "CM" , "Cameroon" }, |
| 146 | { "CN" , "China" }, |
| 147 | { "CO" , "Colombia" }, |
| 148 | { "CP" , "Clipperton Island" }, // Exceptionally reserved. |
| 149 | { "CR" , "Costa Rica" }, |
| 150 | { "CQ" , "Island of Sark" }, // Exceptionally reserved. |
| 151 | { "CU" , "Cuba" }, |
| 152 | { "CV" , "Cabo Verde" }, |
| 153 | { "CW" , "Curaçao" }, |
| 154 | { "CX" , "Christmas Island" }, |
| 155 | { "CY" , "Cyprus" }, |
| 156 | { "CZ" , "Czechia" }, |
| 157 | { "DE" , "Germany" }, |
| 158 | { "DG" , "Diego Garcia" }, // Exceptionally reserved. |
| 159 | { "DJ" , "Djibouti" }, |
| 160 | { "DK" , "Denmark" }, |
| 161 | { "DM" , "Dominica" }, |
| 162 | { "DO" , "Dominican Republic" }, |
| 163 | { "DZ" , "Algeria" }, |
| 164 | { "EA" , "Ceuta and Melilla" }, // Exceptionally reserved. |
| 165 | { "EC" , "Ecuador" }, |
| 166 | { "EE" , "Estonia" }, |
| 167 | { "EG" , "Egypt" }, |
| 168 | { "EH" , "Western Sahara" }, |
| 169 | { "ER" , "Eritrea" }, |
| 170 | { "ES" , "Spain" }, |
| 171 | { "ET" , "Ethiopia" }, |
| 172 | { "EU" , "European Union" }, // Exceptionally reserved. |
| 173 | { "EZ" , "Eurozone" }, // Exceptionally reserved. |
| 174 | { "FI" , "Finland" }, |
| 175 | { "FJ" , "Fiji" }, |
| 176 | { "FK" , "Falkland Islands" }, |
| 177 | { "FM" , "Micronesia" }, |
| 178 | { "FO" , "Faroe Islands" }, |
| 179 | { "FR" , "France" }, |
| 180 | { "FX" , "France, Metropolitan" }, // Exceptionally reserved. |
| 181 | { "GA" , "Gabon" }, |
| 182 | { "GB" , "United Kingdom" }, |
| 183 | { "GD" , "Grenada" }, |
| 184 | { "GE" , "Georgia" }, |
| 185 | { "GF" , "French Guiana" }, |
| 186 | { "GG" , "Guernsey" }, |
| 187 | { "GH" , "Ghana" }, |
| 188 | { "GI" , "Gibraltar" }, |
| 189 | { "GL" , "Greenland" }, |
| 190 | { "GM" , "Gambia" }, |
| 191 | { "GN" , "Guinea" }, |
| 192 | { "GP" , "Guadeloupe" }, |
| 193 | { "GQ" , "Equatorial Guinea" }, |
| 194 | { "GR" , "Greece" }, |
| 195 | { "GS" , "South Georgia and South Sandwich Islands" }, |
| 196 | { "GT" , "Guatemala" }, |
| 197 | { "GU" , "Guam" }, |
| 198 | { "GW" , "Guinea-Bissau" }, |
| 199 | { "GY" , "Guyana" }, |
| 200 | { "HK" , "Hong Kong" }, |
| 201 | { "HM" , "Heard Island and McDonald Islands" }, |
| 202 | { "HN" , "Honduras" }, |
| 203 | { "HR" , "Croatia" }, |
| 204 | { "HT" , "Haiti" }, |
| 205 | { "HU" , "Hungary" }, |
| 206 | { "IC" , "Canary Islands" }, // Exceptionally reserved. |
| 207 | { "ID" , "Indonesia" }, |
| 208 | { "IE" , "Ireland" }, |
| 209 | { "IL" , "Israel" }, |
| 210 | { "IM" , "Isle of Man" }, |
| 211 | { "IN" , "India" }, |
| 212 | { "IO" , "British Indian Ocean Territory" }, |
| 213 | { "IQ" , "Iraq" }, |
| 214 | { "IR" , "Iran" }, |
| 215 | { "IS" , "Iceland" }, |
| 216 | { "IT" , "Italy" }, |
| 217 | { "JE" , "Jersey" }, |
| 218 | { "JM" , "Jamaica" }, |
| 219 | { "JO" , "Jordan" }, |
| 220 | { "JP" , "Japan" }, |
| 221 | { "KE" , "Kenya" }, |
| 222 | { "KG" , "Kyrgyzstan" }, |
| 223 | { "KH" , "Cambodia" }, |
| 224 | { "KI" , "Kiribati" }, |
| 225 | { "KM" , "Comoros" }, |
| 226 | { "KN" , "St. Kitts and Nevis" }, |
| 227 | { "KP" , "North Korea" }, |
| 228 | { "KR" , "South Korea" }, |
| 229 | { "KW" , "Kuwait" }, |
| 230 | { "KY" , "Cayman Islands" }, |
| 231 | { "KZ" , "Kazakhstan" }, |
| 232 | { "LA" , "Laos" }, |
| 233 | { "LB" , "Lebanon" }, |
| 234 | { "LC" , "St. Lucia" }, |
| 235 | { "LI" , "Liechtenstein" }, |
| 236 | { "LK" , "Sri Lanka" }, |
| 237 | { "LR" , "Liberia" }, |
| 238 | { "LS" , "Lesotho" }, |
| 239 | { "LT" , "Lithuania" }, |
| 240 | { "LU" , "Luxembourg" }, |
| 241 | { "LV" , "Latvia" }, |
| 242 | { "LY" , "Libya" }, |
| 243 | { "MA" , "Morocco" }, |
| 244 | { "MC" , "Monaco" }, |
| 245 | { "MD" , "Moldova" }, |
| 246 | { "ME" , "Montenegro" }, |
| 247 | { "MF" , "St. Martin" }, |
| 248 | { "MG" , "Madagascar" }, |
| 249 | { "MH" , "Marshall Islands" }, |
| 250 | { "MK" , "North Macedonia" }, |
| 251 | { "ML" , "Mali" }, |
| 252 | { "MM" , "Myanmar" }, |
| 253 | { "MN" , "Mongolia" }, |
| 254 | { "MO" , "Macao" }, |
| 255 | { "MP" , "Northern Mariana Islands" }, |
| 256 | { "MQ" , "Martinique" }, |
| 257 | { "MR" , "Mauritania" }, |
| 258 | { "MS" , "Montserrat" }, |
| 259 | { "MT" , "Malta" }, |
| 260 | { "MU" , "Mauritius" }, |
| 261 | { "MV" , "Maldives" }, |
| 262 | { "MW" , "Malawi" }, |
| 263 | { "MX" , "Mexico" }, |
| 264 | { "MY" , "Malaysia" }, |
| 265 | { "MZ" , "Mozambique" }, |
| 266 | { "NA" , "Namibia" }, |
| 267 | { "NC" , "New Caledonia" }, |
| 268 | { "NE" , "Niger" }, |
| 269 | { "NF" , "Norfolk Island" }, |
| 270 | { "NG" , "Nigeria" }, |
| 271 | { "NI" , "Nicaragua" }, |
| 272 | { "NL" , "Netherlands" }, |
| 273 | { "NO" , "Norway" }, |
| 274 | { "NP" , "Nepal" }, |
| 275 | { "NR" , "Nauru" }, |
| 276 | { "NU" , "Niue" }, |
| 277 | { "NZ" , "New Zealand" }, |
| 278 | { "OM" , "Oman" }, |
| 279 | { "PA" , "Panama" }, |
| 280 | { "PE" , "Peru" }, |
| 281 | { "PF" , "French Polynesia" }, |
| 282 | { "PG" , "Papua New Guinea" }, |
| 283 | { "PH" , "Philippines" }, |
| 284 | { "PK" , "Pakistan" }, |
| 285 | { "PL" , "Poland" }, |
| 286 | { "PM" , "St. Pierre and Miquelon" }, |
| 287 | { "PN" , "Pitcairn Islands" }, |
| 288 | { "PR" , "Puerto Rico" }, |
| 289 | { "PS" , "Palestine" }, |
| 290 | { "PT" , "Portugal" }, |
| 291 | { "PW" , "Palau" }, |
| 292 | { "PY" , "Paraguay" }, |
| 293 | { "QA" , "Qatar" }, |
| 294 | { "RE" , "Réunion" }, |
| 295 | { "RO" , "Romania" }, |
| 296 | { "RS" , "Serbia" }, |
| 297 | { "RU" , "Russia" }, |
| 298 | { "RW" , "Rwanda" }, |
| 299 | { "SA" , "Saudi Arabia" }, |
| 300 | { "SB" , "Solomon Islands" }, |
| 301 | { "SC" , "Seychelles" }, |
| 302 | { "SD" , "Sudan" }, |
| 303 | { "SE" , "Sweden" }, |
| 304 | { "SG" , "Singapore" }, |
| 305 | { "SH" , "St. Helena, Ascension and Tristan da Cunha" }, |
| 306 | { "SI" , "Slovenia" }, |
| 307 | { "SJ" , "Svalbard and Jan Mayen" }, |
| 308 | { "SK" , "Slovakia" }, |
| 309 | { "SL" , "Sierra Leone" }, |
| 310 | { "SM" , "San Marino" }, |
| 311 | { "SN" , "Senegal" }, |
| 312 | { "SO" , "Somalia" }, |
| 313 | { "SR" , "Suriname" }, |
| 314 | { "SS" , "South Sudan" }, |
| 315 | { "ST" , "Sao Tome and Principe" }, |
| 316 | { "SV" , "El Salvador" }, |
| 317 | { "SX" , "Sint Maarten" }, |
| 318 | { "SY" , "Syria" }, |
| 319 | { "SZ" , "Eswatini" }, |
| 320 | { "TA" , "Tristan da Cunha" }, // Exceptionally reserved. |
| 321 | { "TC" , "Turks and Caicos Islands" }, |
| 322 | { "TD" , "Chad" }, |
| 323 | { "TF" , "French Southern Territories" }, |
| 324 | { "TG" , "Togo" }, |
| 325 | { "TH" , "Thailand" }, |
| 326 | { "TJ" , "Tajikistan" }, |
| 327 | { "TK" , "Tokelau" }, |
| 328 | { "TL" , "Timor-Leste" }, |
| 329 | { "TM" , "Turkmenistan" }, |
| 330 | { "TN" , "Tunisia" }, |
| 331 | { "TO" , "Tonga" }, |
| 332 | { "TR" , "Turkey" }, |
| 333 | { "TT" , "Trinidad and Tobago" }, |
| 334 | { "TV" , "Tuvalu" }, |
| 335 | { "TW" , "Taiwan" }, |
| 336 | { "TZ" , "Tanzania" }, |
| 337 | { "UA" , "Ukraine" }, |
| 338 | { "UG" , "Uganda" }, |
| 339 | { "UM" , "U.S. Outlying Islands" }, |
| 340 | { "US" , "United States of America" }, |
| 341 | { "UY" , "Uruguay" }, |
| 342 | { "UZ" , "Uzbekistan" }, |
| 343 | { "VA" , "Holy See" }, |
| 344 | { "VC" , "St. Vincent and the Grenadines" }, |
| 345 | { "VE" , "Venezuela" }, |
| 346 | { "VG" , "British Virgin Islands" }, |
| 347 | { "VI" , "U.S. Virgin Islands" }, |
| 348 | { "VN" , "Viet Nam" }, |
| 349 | { "VU" , "Vanuatu" }, |
| 350 | { "WF" , "Wallis and Futuna" }, |
| 351 | { "WS" , "Samoa" }, |
| 352 | { "XK" , "Kosovo" }, // Temporary code, no official ISO code assigned. |
| 353 | { "YE" , "Yemen" }, |
| 354 | { "YT" , "Mayotte" }, |
| 355 | { "ZA" , "South Africa" }, |
| 356 | { "ZM" , "Zambia" }, |
| 357 | { "ZW" , "Zimbabwe" }, |
| 358 | { nullptr, nullptr } |
| 359 | }; |
| 360 | |
| 361 | // Languages code, language name. |
| 362 | // Reference: |
| 363 | // - https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes |
| 364 | // - https://www.localeplanet.com/icu/index.html |
| 365 | // - https://lh.2xlibre.net/locales/ |
| 366 | |
| 367 | static const char *language_list[][2] = { |
| 368 | { "aa" , "Afar" }, |
| 369 | { "ab" , "Abkhazian" }, |
| 370 | { "ace" , "Achinese" }, |
| 371 | { "ach" , "Acoli" }, |
| 372 | { "ada" , "Adangme" }, |
| 373 | { "ady" , "Adyghe" }, |
| 374 | { "ae" , "Avestan" }, |
| 375 | { "aeb" , "Tunisian Arabic" }, |
| 376 | { "af" , "Afrikaans" }, |
| 377 | { "afh" , "Afrihili" }, |
| 378 | { "agq" , "Aghem" }, |
| 379 | { "ain" , "Ainu" }, |
| 380 | { "agr" , "Aguaruna" }, |
| 381 | { "ak" , "Akan" }, |
| 382 | { "akk" , "Akkadian" }, |
| 383 | { "akz" , "Alabama" }, |
| 384 | { "ale" , "Aleut" }, |
| 385 | { "aln" , "Gheg Albanian" }, |
| 386 | { "alt" , "Southern Altai" }, |
| 387 | { "am" , "Amharic" }, |
| 388 | { "an" , "Aragonese" }, |
| 389 | { "ang" , "Old English" }, |
| 390 | { "anp" , "Angika" }, |
| 391 | { "ar" , "Arabic" }, |
| 392 | { "arc" , "Aramaic" }, |
| 393 | { "arn" , "Mapudungun" }, |
| 394 | { "aro" , "Araona" }, |
| 395 | { "arp" , "Arapaho" }, |
| 396 | { "arq" , "Algerian Arabic" }, |
| 397 | { "ars" , "Najdi Arabic" }, |
| 398 | { "arw" , "Arawak" }, |
| 399 | { "ary" , "Moroccan Arabic" }, |
| 400 | { "arz" , "Egyptian Arabic" }, |
| 401 | { "as" , "Assamese" }, |
| 402 | { "asa" , "Asu" }, |
| 403 | { "ase" , "American Sign Language" }, |
| 404 | { "ast" , "Asturian" }, |
| 405 | { "av" , "Avaric" }, |
| 406 | { "avk" , "Kotava" }, |
| 407 | { "awa" , "Awadhi" }, |
| 408 | { "ayc" , "Southern Aymara" }, |
| 409 | { "ay" , "Aymara" }, |
| 410 | { "az" , "Azerbaijani" }, |
| 411 | { "ba" , "Bashkir" }, |
| 412 | { "bal" , "Baluchi" }, |
| 413 | { "ban" , "Balinese" }, |
| 414 | { "bar" , "Bavarian" }, |
| 415 | { "bas" , "Bassa" }, |
| 416 | { "bax" , "Bamun" }, |
| 417 | { "bbc" , "Batak Toba" }, |
| 418 | { "bbj" , "Ghomala" }, |
| 419 | { "be" , "Belarusian" }, |
| 420 | { "bej" , "Beja" }, |
| 421 | { "bem" , "Bemba" }, |
| 422 | { "ber" , "Berber" }, |
| 423 | { "bew" , "Betawi" }, |
| 424 | { "bez" , "Bena" }, |
| 425 | { "bfd" , "Bafut" }, |
| 426 | { "bfq" , "Badaga" }, |
| 427 | { "bg" , "Bulgarian" }, |
| 428 | { "bhb" , "Bhili" }, |
| 429 | { "bgn" , "Western Balochi" }, |
| 430 | { "bho" , "Bhojpuri" }, |
| 431 | { "bi" , "Bislama" }, |
| 432 | { "bik" , "Bikol" }, |
| 433 | { "bin" , "Bini" }, |
| 434 | { "bjn" , "Banjar" }, |
| 435 | { "bkm" , "Kom" }, |
| 436 | { "bla" , "Siksika" }, |
| 437 | { "bm" , "Bambara" }, |
| 438 | { "bn" , "Bengali" }, |
| 439 | { "bo" , "Tibetan" }, |
| 440 | { "bpy" , "Bishnupriya" }, |
| 441 | { "bqi" , "Bakhtiari" }, |
| 442 | { "br" , "Breton" }, |
| 443 | { "brh" , "Brahui" }, |
| 444 | { "brx" , "Bodo" }, |
| 445 | { "bs" , "Bosnian" }, |
| 446 | { "bss" , "Akoose" }, |
| 447 | { "bua" , "Buriat" }, |
| 448 | { "bug" , "Buginese" }, |
| 449 | { "bum" , "Bulu" }, |
| 450 | { "byn" , "Bilin" }, |
| 451 | { "byv" , "Medumba" }, |
| 452 | { "ca" , "Catalan" }, |
| 453 | { "cad" , "Caddo" }, |
| 454 | { "car" , "Carib" }, |
| 455 | { "cay" , "Cayuga" }, |
| 456 | { "cch" , "Atsam" }, |
| 457 | { "ccp" , "Chakma" }, |
| 458 | { "ce" , "Chechen" }, |
| 459 | { "ceb" , "Cebuano" }, |
| 460 | { "cgg" , "Chiga" }, |
| 461 | { "ch" , "Chamorro" }, |
| 462 | { "chb" , "Chibcha" }, |
| 463 | { "chg" , "Chagatai" }, |
| 464 | { "chk" , "Chuukese" }, |
| 465 | { "chm" , "Mari" }, |
| 466 | { "chn" , "Chinook Jargon" }, |
| 467 | { "cho" , "Choctaw" }, |
| 468 | { "chp" , "Chipewyan" }, |
| 469 | { "chr" , "Cherokee" }, |
| 470 | { "chy" , "Cheyenne" }, |
| 471 | { "cic" , "Chickasaw" }, |
| 472 | { "ckb" , "Central Kurdish" }, |
| 473 | { "csb" , "Kashubian" }, |
| 474 | { "cmn" , "Mandarin Chinese" }, |
| 475 | { "co" , "Corsican" }, |
| 476 | { "cop" , "Coptic" }, |
| 477 | { "cps" , "Capiznon" }, |
| 478 | { "cr" , "Cree" }, |
| 479 | { "crh" , "Crimean Tatar" }, |
| 480 | { "crs" , "Seselwa Creole French" }, |
| 481 | { "cs" , "Czech" }, |
| 482 | { "csb" , "Kashubian" }, |
| 483 | { "cu" , "Church Slavic" }, |
| 484 | { "cv" , "Chuvash" }, |
| 485 | { "cy" , "Welsh" }, |
| 486 | { "da" , "Danish" }, |
| 487 | { "dak" , "Dakota" }, |
| 488 | { "dar" , "Dargwa" }, |
| 489 | { "dav" , "Taita" }, |
| 490 | { "de" , "German" }, |
| 491 | { "del" , "Delaware" }, |
| 492 | { "den" , "Slave" }, |
| 493 | { "dgr" , "Dogrib" }, |
| 494 | { "din" , "Dinka" }, |
| 495 | { "dje" , "Zarma" }, |
| 496 | { "doi" , "Dogri" }, |
| 497 | { "dsb" , "Lower Sorbian" }, |
| 498 | { "dtp" , "Central Dusun" }, |
| 499 | { "dua" , "Duala" }, |
| 500 | { "dum" , "Middle Dutch" }, |
| 501 | { "dv" , "Dhivehi" }, |
| 502 | { "dyo" , "Jola-Fonyi" }, |
| 503 | { "dyu" , "Dyula" }, |
| 504 | { "dz" , "Dzongkha" }, |
| 505 | { "dzg" , "Dazaga" }, |
| 506 | { "ebu" , "Embu" }, |
| 507 | { "ee" , "Ewe" }, |
| 508 | { "efi" , "Efik" }, |
| 509 | { "egl" , "Emilian" }, |
| 510 | { "egy" , "Ancient Egyptian" }, |
| 511 | { "eka" , "Ekajuk" }, |
| 512 | { "el" , "Greek" }, |
| 513 | { "elx" , "Elamite" }, |
| 514 | { "en" , "English" }, |
| 515 | { "enm" , "Middle English" }, |
| 516 | { "eo" , "Esperanto" }, |
| 517 | { "es" , "Spanish" }, |
| 518 | { "esu" , "Central Yupik" }, |
| 519 | { "et" , "Estonian" }, |
| 520 | { "eu" , "Basque" }, |
| 521 | { "ewo" , "Ewondo" }, |
| 522 | { "ext" , "Extremaduran" }, |
| 523 | { "fa" , "Persian" }, |
| 524 | { "fan" , "Fang" }, |
| 525 | { "fat" , "Fanti" }, |
| 526 | { "ff" , "Fulah" }, |
| 527 | { "fi" , "Finnish" }, |
| 528 | { "fil" , "Filipino" }, |
| 529 | { "fit" , "Tornedalen Finnish" }, |
| 530 | { "fj" , "Fijian" }, |
| 531 | { "fo" , "Faroese" }, |
| 532 | { "fon" , "Fon" }, |
| 533 | { "fr" , "French" }, |
| 534 | { "frc" , "Cajun French" }, |
| 535 | { "frm" , "Middle French" }, |
| 536 | { "fro" , "Old French" }, |
| 537 | { "frp" , "Arpitan" }, |
| 538 | { "frr" , "Northern Frisian" }, |
| 539 | { "frs" , "Eastern Frisian" }, |
| 540 | { "fur" , "Friulian" }, |
| 541 | { "fy" , "Western Frisian" }, |
| 542 | { "ga" , "Irish" }, |
| 543 | { "gaa" , "Ga" }, |
| 544 | { "gag" , "Gagauz" }, |
| 545 | { "gan" , "Gan Chinese" }, |
| 546 | { "gay" , "Gayo" }, |
| 547 | { "gba" , "Gbaya" }, |
| 548 | { "gbz" , "Zoroastrian Dari" }, |
| 549 | { "gd" , "Scottish Gaelic" }, |
| 550 | { "gez" , "Geez" }, |
| 551 | { "gil" , "Gilbertese" }, |
| 552 | { "gl" , "Galician" }, |
| 553 | { "glk" , "Gilaki" }, |
| 554 | { "gmh" , "Middle High German" }, |
| 555 | { "gn" , "Guarani" }, |
| 556 | { "goh" , "Old High German" }, |
| 557 | { "gom" , "Goan Konkani" }, |
| 558 | { "gon" , "Gondi" }, |
| 559 | { "gor" , "Gorontalo" }, |
| 560 | { "got" , "Gothic" }, |
| 561 | { "grb" , "Grebo" }, |
| 562 | { "grc" , "Ancient Greek" }, |
| 563 | { "gsw" , "Swiss German" }, |
| 564 | { "gu" , "Gujarati" }, |
| 565 | { "guc" , "Wayuu" }, |
| 566 | { "gur" , "Frafra" }, |
| 567 | { "guz" , "Gusii" }, |
| 568 | { "gv" , "Manx" }, |
| 569 | { "gwi" , "Gwichʼin" }, |
| 570 | { "ha" , "Hausa" }, |
| 571 | { "hai" , "Haida" }, |
| 572 | { "hak" , "Hakka Chinese" }, |
| 573 | { "haw" , "Hawaiian" }, |
| 574 | { "he" , "Hebrew" }, |
| 575 | { "hi" , "Hindi" }, |
| 576 | { "hif" , "Fiji Hindi" }, |
| 577 | { "hil" , "Hiligaynon" }, |
| 578 | { "hit" , "Hittite" }, |
| 579 | { "hmn" , "Hmong" }, |
| 580 | { "ho" , "Hiri Motu" }, |
| 581 | { "hne" , "Chhattisgarhi" }, |
| 582 | { "hr" , "Croatian" }, |
| 583 | { "hsb" , "Upper Sorbian" }, |
| 584 | { "hsn" , "Xiang Chinese" }, |
| 585 | { "ht" , "Haitian" }, |
| 586 | { "hu" , "Hungarian" }, |
| 587 | { "hup" , "Hupa" }, |
| 588 | { "hus" , "Huastec" }, |
| 589 | { "hy" , "Armenian" }, |
| 590 | { "hz" , "Herero" }, |
| 591 | { "ia" , "Interlingua" }, |
| 592 | { "iba" , "Iban" }, |
| 593 | { "ibb" , "Ibibio" }, |
| 594 | { "id" , "Indonesian" }, |
| 595 | { "ie" , "Interlingue" }, |
| 596 | { "ig" , "Igbo" }, |
| 597 | { "ii" , "Sichuan Yi" }, |
| 598 | { "ik" , "Inupiaq" }, |
| 599 | { "ilo" , "Iloko" }, |
| 600 | { "inh" , "Ingush" }, |
| 601 | { "io" , "Ido" }, |
| 602 | { "is" , "Icelandic" }, |
| 603 | { "it" , "Italian" }, |
| 604 | { "iu" , "Inuktitut" }, |
| 605 | { "izh" , "Ingrian" }, |
| 606 | { "ja" , "Japanese" }, |
| 607 | { "jam" , "Jamaican Creole English" }, |
| 608 | { "jbo" , "Lojban" }, |
| 609 | { "jgo" , "Ngomba" }, |
| 610 | { "jmc" , "Machame" }, |
| 611 | { "jpr" , "Judeo-Persian" }, |
| 612 | { "jrb" , "Judeo-Arabic" }, |
| 613 | { "jut" , "Jutish" }, |
| 614 | { "jv" , "Javanese" }, |
| 615 | { "ka" , "Georgian" }, |
| 616 | { "kaa" , "Kara-Kalpak" }, |
| 617 | { "kab" , "Kabyle" }, |
| 618 | { "kac" , "Kachin" }, |
| 619 | { "kaj" , "Jju" }, |
| 620 | { "kam" , "Kamba" }, |
| 621 | { "kaw" , "Kawi" }, |
| 622 | { "kbd" , "Kabardian" }, |
| 623 | { "kbl" , "Kanembu" }, |
| 624 | { "kcg" , "Tyap" }, |
| 625 | { "kde" , "Makonde" }, |
| 626 | { "kea" , "Kabuverdianu" }, |
| 627 | { "ken" , "Kenyang" }, |
| 628 | { "kfo" , "Koro" }, |
| 629 | { "kg" , "Kongo" }, |
| 630 | { "kgp" , "Kaingang" }, |
| 631 | { "kha" , "Khasi" }, |
| 632 | { "kho" , "Khotanese" }, |
| 633 | { "khq" , "Koyra Chiini" }, |
| 634 | { "khw" , "Khowar" }, |
| 635 | { "ki" , "Kikuyu" }, |
| 636 | { "kiu" , "Kirmanjki" }, |
| 637 | { "kj" , "Kuanyama" }, |
| 638 | { "kk" , "Kazakh" }, |
| 639 | { "kkj" , "Kako" }, |
| 640 | { "kl" , "Kalaallisut" }, |
| 641 | { "kln" , "Kalenjin" }, |
| 642 | { "km" , "Central Khmer" }, |
| 643 | { "kmb" , "Kimbundu" }, |
| 644 | { "kn" , "Kannada" }, |
| 645 | { "ko" , "Korean" }, |
| 646 | { "koi" , "Komi-Permyak" }, |
| 647 | { "kok" , "Konkani" }, |
| 648 | { "kos" , "Kosraean" }, |
| 649 | { "kpe" , "Kpelle" }, |
| 650 | { "kr" , "Kanuri" }, |
| 651 | { "krc" , "Karachay-Balkar" }, |
| 652 | { "kri" , "Krio" }, |
| 653 | { "krj" , "Kinaray-a" }, |
| 654 | { "krl" , "Karelian" }, |
| 655 | { "kru" , "Kurukh" }, |
| 656 | { "ks" , "Kashmiri" }, |
| 657 | { "ksb" , "Shambala" }, |
| 658 | { "ksf" , "Bafia" }, |
| 659 | { "ksh" , "Colognian" }, |
| 660 | { "ku" , "Kurdish" }, |
| 661 | { "kum" , "Kumyk" }, |
| 662 | { "kut" , "Kutenai" }, |
| 663 | { "kv" , "Komi" }, |
| 664 | { "kw" , "Cornish" }, |
| 665 | { "ky" , "Kirghiz" }, |
| 666 | { "lag" , "Langi" }, |
| 667 | { "la" , "Latin" }, |
| 668 | { "lad" , "Ladino" }, |
| 669 | { "lag" , "Langi" }, |
| 670 | { "lah" , "Lahnda" }, |
| 671 | { "lam" , "Lamba" }, |
| 672 | { "lb" , "Luxembourgish" }, |
| 673 | { "lez" , "Lezghian" }, |
| 674 | { "lfn" , "Lingua Franca Nova" }, |
| 675 | { "lg" , "Ganda" }, |
| 676 | { "li" , "Limburgan" }, |
| 677 | { "lij" , "Ligurian" }, |
| 678 | { "liv" , "Livonian" }, |
| 679 | { "lkt" , "Lakota" }, |
| 680 | { "lmo" , "Lombard" }, |
| 681 | { "ln" , "Lingala" }, |
| 682 | { "lo" , "Lao" }, |
| 683 | { "lol" , "Mongo" }, |
| 684 | { "lou" , "Louisiana Creole" }, |
| 685 | { "loz" , "Lozi" }, |
| 686 | { "lrc" , "Northern Luri" }, |
| 687 | { "lt" , "Lithuanian" }, |
| 688 | { "ltg" , "Latgalian" }, |
| 689 | { "lu" , "Luba-Katanga" }, |
| 690 | { "lua" , "Luba-Lulua" }, |
| 691 | { "lui" , "Luiseno" }, |
| 692 | { "lun" , "Lunda" }, |
| 693 | { "luo" , "Luo" }, |
| 694 | { "lus" , "Mizo" }, |
| 695 | { "luy" , "Luyia" }, |
| 696 | { "lv" , "Latvian" }, |
| 697 | { "lzh" , "Literary Chinese" }, |
| 698 | { "lzz" , "Laz" }, |
| 699 | { "mad" , "Madurese" }, |
| 700 | { "maf" , "Mafa" }, |
| 701 | { "mag" , "Magahi" }, |
| 702 | { "mai" , "Maithili" }, |
| 703 | { "mak" , "Makasar" }, |
| 704 | { "man" , "Mandingo" }, |
| 705 | { "mas" , "Masai" }, |
| 706 | { "mde" , "Maba" }, |
| 707 | { "mdf" , "Moksha" }, |
| 708 | { "mdr" , "Mandar" }, |
| 709 | { "men" , "Mende" }, |
| 710 | { "mer" , "Meru" }, |
| 711 | { "mfe" , "Morisyen" }, |
| 712 | { "mg" , "Malagasy" }, |
| 713 | { "mga" , "Middle Irish" }, |
| 714 | { "mgh" , "Makhuwa-Meetto" }, |
| 715 | { "mgo" , "Metaʼ" }, |
| 716 | { "mh" , "Marshallese" }, |
| 717 | { "mhr" , "Eastern Mari" }, |
| 718 | { "mi" , "Māori" }, |
| 719 | { "mic" , "Mi'kmaq" }, |
| 720 | { "min" , "Minangkabau" }, |
| 721 | { "miq" , "Mískito" }, |
| 722 | { "mjw" , "Karbi" }, |
| 723 | { "mk" , "Macedonian" }, |
| 724 | { "ml" , "Malayalam" }, |
| 725 | { "mn" , "Mongolian" }, |
| 726 | { "mnc" , "Manchu" }, |
| 727 | { "mni" , "Manipuri" }, |
| 728 | { "mnw" , "Mon" }, |
| 729 | { "mos" , "Mossi" }, |
| 730 | { "moh" , "Mohawk" }, |
| 731 | { "mr" , "Marathi" }, |
| 732 | { "mrj" , "Western Mari" }, |
| 733 | { "ms" , "Malay" }, |
| 734 | { "mt" , "Maltese" }, |
| 735 | { "mua" , "Mundang" }, |
| 736 | { "mus" , "Muscogee" }, |
| 737 | { "mwl" , "Mirandese" }, |
| 738 | { "mwr" , "Marwari" }, |
| 739 | { "mwv" , "Mentawai" }, |
| 740 | { "my" , "Burmese" }, |
| 741 | { "mye" , "Myene" }, |
| 742 | { "myv" , "Erzya" }, |
| 743 | { "mzn" , "Mazanderani" }, |
| 744 | { "na" , "Nauru" }, |
| 745 | { "nah" , "Nahuatl" }, |
| 746 | { "nan" , "Min Nan Chinese" }, |
| 747 | { "nap" , "Neapolitan" }, |
| 748 | { "naq" , "Nama" }, |
| 749 | { "nan" , "Min Nan Chinese" }, |
| 750 | { "nb" , "Norwegian Bokmål" }, |
| 751 | { "nd" , "North Ndebele" }, |
| 752 | { "nds" , "Low German" }, |
| 753 | { "ne" , "Nepali" }, |
| 754 | { "new" , "Newari" }, |
| 755 | { "nhn" , "Central Nahuatl" }, |
| 756 | { "ng" , "Ndonga" }, |
| 757 | { "nia" , "Nias" }, |
| 758 | { "niu" , "Niuean" }, |
| 759 | { "njo" , "Ao Naga" }, |
| 760 | { "nl" , "Dutch" }, |
| 761 | { "nmg" , "Kwasio" }, |
| 762 | { "nn" , "Norwegian Nynorsk" }, |
| 763 | { "nnh" , "Ngiemboon" }, |
| 764 | { "nog" , "Nogai" }, |
| 765 | { "non" , "Old Norse" }, |
| 766 | { "nov" , "Novial" }, |
| 767 | { "nqo" , "N'ko" }, |
| 768 | { "nr" , "South Ndebele" }, |
| 769 | { "nso" , "Pedi" }, |
| 770 | { "nus" , "Nuer" }, |
| 771 | { "nv" , "Navajo" }, |
| 772 | { "nwc" , "Classical Newari" }, |
| 773 | { "ny" , "Nyanja" }, |
| 774 | { "nym" , "Nyamwezi" }, |
| 775 | { "nyn" , "Nyankole" }, |
| 776 | { "nyo" , "Nyoro" }, |
| 777 | { "nzi" , "Nzima" }, |
| 778 | { "oc" , "Occitan" }, |
| 779 | { "oj" , "Ojibwa" }, |
| 780 | { "om" , "Oromo" }, |
| 781 | { "or" , "Odia" }, |
| 782 | { "os" , "Ossetic" }, |
| 783 | { "osa" , "Osage" }, |
| 784 | { "ota" , "Ottoman Turkish" }, |
| 785 | { "pa" , "Panjabi" }, |
| 786 | { "pag" , "Pangasinan" }, |
| 787 | { "pal" , "Pahlavi" }, |
| 788 | { "pam" , "Pampanga" }, |
| 789 | { "pap" , "Papiamento" }, |
| 790 | { "pau" , "Palauan" }, |
| 791 | { "pcd" , "Picard" }, |
| 792 | { "pcm" , "Nigerian Pidgin" }, |
| 793 | { "pdc" , "Pennsylvania German" }, |
| 794 | { "pdt" , "Plautdietsch" }, |
| 795 | { "peo" , "Old Persian" }, |
| 796 | { "pfl" , "Palatine German" }, |
| 797 | { "phn" , "Phoenician" }, |
| 798 | { "pi" , "Pali" }, |
| 799 | { "pl" , "Polish" }, |
| 800 | { "pms" , "Piedmontese" }, |
| 801 | { "pnt" , "Pontic" }, |
| 802 | { "pon" , "Pohnpeian" }, |
| 803 | { "pr" , "Pirate" }, |
| 804 | { "prg" , "Prussian" }, |
| 805 | { "pro" , "Old Provençal" }, |
| 806 | { "prs" , "Dari" }, |
| 807 | { "ps" , "Pushto" }, |
| 808 | { "pt" , "Portuguese" }, |
| 809 | { "qu" , "Quechua" }, |
| 810 | { "quc" , "K'iche" }, |
| 811 | { "qug" , "Chimborazo Highland Quichua" }, |
| 812 | { "quy" , "Ayacucho Quechua" }, |
| 813 | { "quz" , "Cusco Quechua" }, |
| 814 | { "raj" , "Rajasthani" }, |
| 815 | { "rap" , "Rapanui" }, |
| 816 | { "rar" , "Rarotongan" }, |
| 817 | { "rgn" , "Romagnol" }, |
| 818 | { "rif" , "Riffian" }, |
| 819 | { "rm" , "Romansh" }, |
| 820 | { "rn" , "Rundi" }, |
| 821 | { "ro" , "Romanian" }, |
| 822 | { "rof" , "Rombo" }, |
| 823 | { "rom" , "Romany" }, |
| 824 | { "rtm" , "Rotuman" }, |
| 825 | { "ru" , "Russian" }, |
| 826 | { "rue" , "Rusyn" }, |
| 827 | { "rug" , "Roviana" }, |
| 828 | { "rup" , "Aromanian" }, |
| 829 | { "rw" , "Kinyarwanda" }, |
| 830 | { "rwk" , "Rwa" }, |
| 831 | { "sa" , "Sanskrit" }, |
| 832 | { "sad" , "Sandawe" }, |
| 833 | { "sah" , "Sakha" }, |
| 834 | { "sam" , "Samaritan Aramaic" }, |
| 835 | { "saq" , "Samburu" }, |
| 836 | { "sas" , "Sasak" }, |
| 837 | { "sat" , "Santali" }, |
| 838 | { "saz" , "Saurashtra" }, |
| 839 | { "sba" , "Ngambay" }, |
| 840 | { "sbp" , "Sangu" }, |
| 841 | { "sc" , "Sardinian" }, |
| 842 | { "scn" , "Sicilian" }, |
| 843 | { "sco" , "Scots" }, |
| 844 | { "sd" , "Sindhi" }, |
| 845 | { "sdc" , "Sassarese Sardinian" }, |
| 846 | { "sdh" , "Southern Kurdish" }, |
| 847 | { "se" , "Northern Sami" }, |
| 848 | { "see" , "Seneca" }, |
| 849 | { "seh" , "Sena" }, |
| 850 | { "sei" , "Seri" }, |
| 851 | { "sel" , "Selkup" }, |
| 852 | { "ses" , "Koyraboro Senni" }, |
| 853 | { "sg" , "Sango" }, |
| 854 | { "sga" , "Old Irish" }, |
| 855 | { "sgs" , "Samogitian" }, |
| 856 | { "sh" , "Serbo-Croatian" }, |
| 857 | { "shi" , "Tachelhit" }, |
| 858 | { "shn" , "Shan" }, |
| 859 | { "shs" , "Shuswap" }, |
| 860 | { "shu" , "Chadian Arabic" }, |
| 861 | { "si" , "Sinhala" }, |
| 862 | { "sid" , "Sidamo" }, |
| 863 | { "sk" , "Slovak" }, |
| 864 | { "sl" , "Slovenian" }, |
| 865 | { "sli" , "Lower Silesian" }, |
| 866 | { "sly" , "Selayar" }, |
| 867 | { "sm" , "Samoan" }, |
| 868 | { "sma" , "Southern Sami" }, |
| 869 | { "smj" , "Lule Sami" }, |
| 870 | { "smn" , "Inari Sami" }, |
| 871 | { "sms" , "Skolt Sami" }, |
| 872 | { "sn" , "Shona" }, |
| 873 | { "snk" , "Soninke" }, |
| 874 | { "so" , "Somali" }, |
| 875 | { "sog" , "Sogdien" }, |
| 876 | { "son" , "Songhai" }, |
| 877 | { "sq" , "Albanian" }, |
| 878 | { "sr" , "Serbian" }, |
| 879 | { "srn" , "Sranan Tongo" }, |
| 880 | { "srr" , "Serer" }, |
| 881 | { "ss" , "Swati" }, |
| 882 | { "ssy" , "Saho" }, |
| 883 | { "st" , "Southern Sotho" }, |
| 884 | { "stq" , "Saterland Frisian" }, |
| 885 | { "su" , "Sundanese" }, |
| 886 | { "suk" , "Sukuma" }, |
| 887 | { "sus" , "Susu" }, |
| 888 | { "sux" , "Sumerian" }, |
| 889 | { "sv" , "Swedish" }, |
| 890 | { "sw" , "Swahili" }, |
| 891 | { "swb" , "Comorian" }, |
| 892 | { "swc" , "Congo Swahili" }, |
| 893 | { "syc" , "Classical Syriac" }, |
| 894 | { "syr" , "Syriac" }, |
| 895 | { "szl" , "Silesian" }, |
| 896 | { "ta" , "Tamil" }, |
| 897 | { "tcy" , "Tulu" }, |
| 898 | { "te" , "Telugu" }, |
| 899 | { "tem" , "Timne" }, |
| 900 | { "teo" , "Teso" }, |
| 901 | { "ter" , "Tereno" }, |
| 902 | { "tet" , "Tetum" }, |
| 903 | { "tg" , "Tajik" }, |
| 904 | { "th" , "Thai" }, |
| 905 | { "the" , "Chitwania Tharu" }, |
| 906 | { "ti" , "Tigrinya" }, |
| 907 | { "tig" , "Tigre" }, |
| 908 | { "tiv" , "Tiv" }, |
| 909 | { "tk" , "Turkmen" }, |
| 910 | { "tkl" , "Tokelau" }, |
| 911 | { "tkr" , "Tsakhur" }, |
| 912 | { "tl" , "Tagalog" }, |
| 913 | { "tlh" , "Klingon" }, |
| 914 | { "tli" , "Tlingit" }, |
| 915 | { "tly" , "Talysh" }, |
| 916 | { "tmh" , "Tamashek" }, |
| 917 | { "tn" , "Tswana" }, |
| 918 | { "to" , "Tongan" }, |
| 919 | { "tog" , "Nyasa Tonga" }, |
| 920 | { "tpi" , "Tok Pisin" }, |
| 921 | { "tr" , "Turkish" }, |
| 922 | { "tru" , "Turoyo" }, |
| 923 | { "trv" , "Taroko" }, |
| 924 | { "ts" , "Tsonga" }, |
| 925 | { "tsd" , "Tsakonian" }, |
| 926 | { "tsi" , "Tsimshian" }, |
| 927 | { "tt" , "Tatar" }, |
| 928 | { "ttt" , "Muslim Tat" }, |
| 929 | { "tum" , "Tumbuka" }, |
| 930 | { "tvl" , "Tuvalu" }, |
| 931 | { "tw" , "Twi" }, |
| 932 | { "twq" , "Tasawaq" }, |
| 933 | { "ty" , "Tahitian" }, |
| 934 | { "tyv" , "Tuvinian" }, |
| 935 | { "tzm" , "Central Atlas Tamazight" }, |
| 936 | { "udm" , "Udmurt" }, |
| 937 | { "ug" , "Uyghur" }, |
| 938 | { "uga" , "Ugaritic" }, |
| 939 | { "uk" , "Ukrainian" }, |
| 940 | { "umb" , "Umbundu" }, |
| 941 | { "unm" , "Unami" }, |
| 942 | { "ur" , "Urdu" }, |
| 943 | { "uz" , "Uzbek" }, |
| 944 | { "vai" , "Vai" }, |
| 945 | { "ve" , "Venda" }, |
| 946 | { "vec" , "Venetian" }, |
| 947 | { "vep" , "Veps" }, |
| 948 | { "vi" , "Vietnamese" }, |
| 949 | { "vls" , "West Flemish" }, |
| 950 | { "vmf" , "Main-Franconian" }, |
| 951 | { "vo" , "Volapük" }, |
| 952 | { "vot" , "Votic" }, |
| 953 | { "vro" , "Võro" }, |
| 954 | { "vun" , "Vunjo" }, |
| 955 | { "wa" , "Walloon" }, |
| 956 | { "wae" , "Walser" }, |
| 957 | { "wal" , "Wolaytta" }, |
| 958 | { "war" , "Waray" }, |
| 959 | { "was" , "Washo" }, |
| 960 | { "wbp" , "Warlpiri" }, |
| 961 | { "wo" , "Wolof" }, |
| 962 | { "wuu" , "Wu Chinese" }, |
| 963 | { "xal" , "Kalmyk" }, |
| 964 | { "xh" , "Xhosa" }, |
| 965 | { "xmf" , "Mingrelian" }, |
| 966 | { "xog" , "Soga" }, |
| 967 | { "yao" , "Yao" }, |
| 968 | { "yap" , "Yapese" }, |
| 969 | { "yav" , "Yangben" }, |
| 970 | { "ybb" , "Yemba" }, |
| 971 | { "yi" , "Yiddish" }, |
| 972 | { "yo" , "Yoruba" }, |
| 973 | { "yrl" , "Nheengatu" }, |
| 974 | { "yue" , "Yue Chinese" }, |
| 975 | { "yuw" , "Papua New Guinea" }, |
| 976 | { "za" , "Zhuang" }, |
| 977 | { "zap" , "Zapotec" }, |
| 978 | { "zbl" , "Blissymbols" }, |
| 979 | { "zea" , "Zeelandic" }, |
| 980 | { "zen" , "Zenaga" }, |
| 981 | { "zgh" , "Standard Moroccan Tamazight" }, |
| 982 | { "zh" , "Chinese" }, |
| 983 | { "zu" , "Zulu" }, |
| 984 | { "zun" , "Zuni" }, |
| 985 | { "zza" , "Zaza" }, |
| 986 | { nullptr, nullptr } |
| 987 | }; |
| 988 | |
| 989 | // Additional regional variants. |
| 990 | // Variant name, supported languages. |
| 991 | |
| 992 | static const char *locale_variants[][2] = { |
| 993 | { "valencia" , "ca" }, |
| 994 | { "iqtelif" , "tt" }, |
| 995 | { "saaho" , "aa" }, |
| 996 | { "tradnl" , "es" }, |
| 997 | { nullptr, nullptr }, |
| 998 | }; |
| 999 | |
| 1000 | // Script names and codes (excludes typographic variants, special codes, reserved codes and aliases for combined scripts). |
| 1001 | // Reference: |
| 1002 | // - https://en.wikipedia.org/wiki/ISO_15924 |
| 1003 | |
| 1004 | static const char *script_list[][2] = { |
| 1005 | { "Adlam" , "Adlm" }, |
| 1006 | { "Afaka" , "Afak" }, |
| 1007 | { "Caucasian Albanian" , "Aghb" }, |
| 1008 | { "Ahom" , "Ahom" }, |
| 1009 | { "Arabic" , "Arab" }, |
| 1010 | { "Imperial Aramaic" , "Armi" }, |
| 1011 | { "Armenian" , "Armn" }, |
| 1012 | { "Avestan" , "Avst" }, |
| 1013 | { "Balinese" , "Bali" }, |
| 1014 | { "Bamum" , "Bamu" }, |
| 1015 | { "Bassa Vah" , "Bass" }, |
| 1016 | { "Batak" , "Batk" }, |
| 1017 | { "Bengali" , "Beng" }, |
| 1018 | { "Bhaiksuki" , "Bhks" }, |
| 1019 | { "Blissymbols" , "Blis" }, |
| 1020 | { "Bopomofo" , "Bopo" }, |
| 1021 | { "Brahmi" , "Brah" }, |
| 1022 | { "Braille" , "Brai" }, |
| 1023 | { "Buginese" , "Bugi" }, |
| 1024 | { "Buhid" , "Buhd" }, |
| 1025 | { "Chakma" , "Cakm" }, |
| 1026 | { "Unified Canadian Aboriginal" , "Cans" }, |
| 1027 | { "Carian" , "Cari" }, |
| 1028 | { "Cham" , "Cham" }, |
| 1029 | { "Cherokee" , "Cher" }, |
| 1030 | { "Chorasmian" , "Chrs" }, |
| 1031 | { "Cirth" , "Cirt" }, |
| 1032 | { "Coptic" , "Copt" }, |
| 1033 | { "Cypro-Minoan" , "Cpmn" }, |
| 1034 | { "Cypriot" , "Cprt" }, |
| 1035 | { "Cyrillic" , "Cyrl" }, |
| 1036 | { "Devanagari" , "Deva" }, |
| 1037 | { "Dives Akuru" , "Diak" }, |
| 1038 | { "Dogra" , "Dogr" }, |
| 1039 | { "Deseret" , "Dsrt" }, |
| 1040 | { "Duployan" , "Dupl" }, |
| 1041 | { "Egyptian demotic" , "Egyd" }, |
| 1042 | { "Egyptian hieratic" , "Egyh" }, |
| 1043 | { "Egyptian hieroglyphs" , "Egyp" }, |
| 1044 | { "Elbasan" , "Elba" }, |
| 1045 | { "Elymaic" , "Elym" }, |
| 1046 | { "Ethiopic" , "Ethi" }, |
| 1047 | { "Khutsuri" , "Geok" }, |
| 1048 | { "Georgian" , "Geor" }, |
| 1049 | { "Glagolitic" , "Glag" }, |
| 1050 | { "Gunjala Gondi" , "Gong" }, |
| 1051 | { "Masaram Gondi" , "Gonm" }, |
| 1052 | { "Gothic" , "Goth" }, |
| 1053 | { "Grantha" , "Gran" }, |
| 1054 | { "Greek" , "Grek" }, |
| 1055 | { "Gujarati" , "Gujr" }, |
| 1056 | { "Gurmukhi" , "Guru" }, |
| 1057 | { "Hangul" , "Hang" }, |
| 1058 | { "Han" , "Hani" }, |
| 1059 | { "Hanunoo" , "Hano" }, |
| 1060 | { "Simplified Han" , "Hans" }, |
| 1061 | { "Traditional Han" , "Hant" }, |
| 1062 | { "Hatran" , "Hatr" }, |
| 1063 | { "Hebrew" , "Hebr" }, |
| 1064 | { "Hiragana" , "Hira" }, |
| 1065 | { "Anatolian Hieroglyphs" , "Hluw" }, |
| 1066 | { "Pahawh Hmong" , "Hmng" }, |
| 1067 | { "Nyiakeng Puachue Hmong" , "Hmnp" }, |
| 1068 | { "Old Hungarian" , "Hung" }, |
| 1069 | { "Indus" , "Inds" }, |
| 1070 | { "Old Italic" , "Ital" }, |
| 1071 | { "Javanese" , "Java" }, |
| 1072 | { "Jurchen" , "Jurc" }, |
| 1073 | { "Kayah Li" , "Kali" }, |
| 1074 | { "Katakana" , "Kana" }, |
| 1075 | { "Kawi" , "Kawi" }, |
| 1076 | { "Kharoshthi" , "Khar" }, |
| 1077 | { "Khmer" , "Khmr" }, |
| 1078 | { "Khojki" , "Khoj" }, |
| 1079 | { "Khitan large script" , "Kitl" }, |
| 1080 | { "Khitan small script" , "Kits" }, |
| 1081 | { "Kannada" , "Knda" }, |
| 1082 | { "Kpelle" , "Kpel" }, |
| 1083 | { "Kaithi" , "Kthi" }, |
| 1084 | { "Tai Tham" , "Lana" }, |
| 1085 | { "Lao" , "Laoo" }, |
| 1086 | { "Latin" , "Latn" }, |
| 1087 | { "Leke" , "Leke" }, |
| 1088 | { "Lepcha" , "Lepc" }, |
| 1089 | { "Limbu" , "Limb" }, |
| 1090 | { "Linear A" , "Lina" }, |
| 1091 | { "Linear B" , "Linb" }, |
| 1092 | { "Lisu" , "Lisu" }, |
| 1093 | { "Loma" , "Loma" }, |
| 1094 | { "Lycian" , "Lyci" }, |
| 1095 | { "Lydian" , "Lydi" }, |
| 1096 | { "Mahajani" , "Mahj" }, |
| 1097 | { "Makasar" , "Maka" }, |
| 1098 | { "Mandaic" , "Mand" }, |
| 1099 | { "Manichaean" , "Mani" }, |
| 1100 | { "Marchen" , "Marc" }, |
| 1101 | { "Mayan Hieroglyphs" , "Maya" }, |
| 1102 | { "Medefaidrin" , "Medf" }, |
| 1103 | { "Mende Kikakui" , "Mend" }, |
| 1104 | { "Meroitic Cursive" , "Merc" }, |
| 1105 | { "Meroitic Hieroglyphs" , "Mero" }, |
| 1106 | { "Malayalam" , "Mlym" }, |
| 1107 | { "Modi" , "Modi" }, |
| 1108 | { "Mongolian" , "Mong" }, |
| 1109 | { "Moon" , "Moon" }, |
| 1110 | { "Mro" , "Mroo" }, |
| 1111 | { "Meitei Mayek" , "Mtei" }, |
| 1112 | { "Multani" , "Mult" }, |
| 1113 | { "Myanmar / Burmese" , "Mymr" }, |
| 1114 | { "Nag Mundari" , "Nagm" }, |
| 1115 | { "Nandinagari" , "Nand" }, |
| 1116 | { "Old North Arabian" , "Narb" }, |
| 1117 | { "Nabataean" , "Nbat" }, |
| 1118 | { "Newa" , "Newa" }, |
| 1119 | { "Naxi Dongba" , "Nkdb" }, |
| 1120 | { "Nakhi Geba" , "Nkgb" }, |
| 1121 | { "N'ko" , "Nkoo" }, |
| 1122 | { "Nüshu" , "Nshu" }, |
| 1123 | { "Ogham" , "Ogam" }, |
| 1124 | { "Ol Chiki" , "Olck" }, |
| 1125 | { "Old Turkic" , "Orkh" }, |
| 1126 | { "Oriya" , "Orya" }, |
| 1127 | { "Osage" , "Osge" }, |
| 1128 | { "Osmanya" , "Osma" }, |
| 1129 | { "Old Uyghur" , "Ougr" }, |
| 1130 | { "Palmyrene" , "Palm" }, |
| 1131 | { "Pau Cin Hau" , "Pauc" }, |
| 1132 | { "Proto-Cuneiform" , "Pcun" }, |
| 1133 | { "Proto-Elamite" , "Pelm" }, |
| 1134 | { "Old Permic" , "Perm" }, |
| 1135 | { "Phags-pa" , "Phag" }, |
| 1136 | { "Inscriptional Pahlavi" , "Phli" }, |
| 1137 | { "Psalter Pahlavi" , "Phlp" }, |
| 1138 | { "Book Pahlavi" , "Phlv" }, |
| 1139 | { "Phoenician" , "Phnx" }, |
| 1140 | { "Klingon" , "Piqd" }, |
| 1141 | { "Miao" , "Plrd" }, |
| 1142 | { "Inscriptional Parthian" , "Prti" }, |
| 1143 | { "Proto-Sinaitic" , "Psin" }, |
| 1144 | { "Ranjana" , "Ranj" }, |
| 1145 | { "Rejang" , "Rjng" }, |
| 1146 | { "Hanifi Rohingya" , "Rohg" }, |
| 1147 | { "Rongorongo" , "Roro" }, |
| 1148 | { "Runic" , "Runr" }, |
| 1149 | { "Samaritan" , "Samr" }, |
| 1150 | { "Sarati" , "Sara" }, |
| 1151 | { "Old South Arabian" , "Sarb" }, |
| 1152 | { "Saurashtra" , "Saur" }, |
| 1153 | { "SignWriting" , "Sgnw" }, |
| 1154 | { "Shavian" , "Shaw" }, |
| 1155 | { "Sharada" , "Shrd" }, |
| 1156 | { "Shuishu" , "Shui" }, |
| 1157 | { "Siddham" , "Sidd" }, |
| 1158 | { "Khudawadi" , "Sind" }, |
| 1159 | { "Sinhala" , "Sinh" }, |
| 1160 | { "Sogdian" , "Sogd" }, |
| 1161 | { "Old Sogdian" , "Sogo" }, |
| 1162 | { "Sora Sompeng" , "Sora" }, |
| 1163 | { "Soyombo" , "Soyo" }, |
| 1164 | { "Sundanese" , "Sund" }, |
| 1165 | { "Syloti Nagri" , "Sylo" }, |
| 1166 | { "Syriac" , "Syrc" }, |
| 1167 | { "Tagbanwa" , "Tagb" }, |
| 1168 | { "Takri" , "Takr" }, |
| 1169 | { "Tai Le" , "Tale" }, |
| 1170 | { "New Tai Lue" , "Talu" }, |
| 1171 | { "Tamil" , "Taml" }, |
| 1172 | { "Tangut" , "Tang" }, |
| 1173 | { "Tai Viet" , "Tavt" }, |
| 1174 | { "Telugu" , "Telu" }, |
| 1175 | { "Tengwar" , "Teng" }, |
| 1176 | { "Tifinagh" , "Tfng" }, |
| 1177 | { "Tagalog" , "Tglg" }, |
| 1178 | { "Thaana" , "Thaa" }, |
| 1179 | { "Thai" , "Thai" }, |
| 1180 | { "Tibetan" , "Tibt" }, |
| 1181 | { "Tirhuta" , "Tirh" }, |
| 1182 | { "Tangsa" , "Tnsa" }, |
| 1183 | { "Toto" , "Toto" }, |
| 1184 | { "Ugaritic" , "Ugar" }, |
| 1185 | { "Vai" , "Vaii" }, |
| 1186 | { "Visible Speech" , "Visp" }, |
| 1187 | { "Vithkuqi" , "Vith" }, |
| 1188 | { "Warang Citi" , "Wara" }, |
| 1189 | { "Wancho" , "Wcho" }, |
| 1190 | { "Woleai" , "Wole" }, |
| 1191 | { "Old Persian" , "Xpeo" }, |
| 1192 | { "Cuneiform" , "Xsux" }, |
| 1193 | { "Yezidi" , "Yezi" }, |
| 1194 | { "Yi" , "Yiii" }, |
| 1195 | { "Zanabazar Square" , "Zanb" }, |
| 1196 | { nullptr, nullptr } |
| 1197 | }; |
| 1198 | |
| 1199 | #endif // LOCALES_H |
| 1200 | |