1#!/usr/bin/env python 2############################################################################# 3## 4## Copyright (C) 2020 The Qt Company Ltd. 5## Contact: https://www.qt.io/licensing/ 6## 7## This file is part of the test suite of the Qt Toolkit. 8## 9## $QT_BEGIN_LICENSE:GPL-EXCEPT$ 10## Commercial License Usage 11## Licensees holding valid commercial Qt licenses may use this file in 12## accordance with the commercial license agreement provided with the 13## Software or, alternatively, in accordance with the terms contained in 14## a written agreement between you and The Qt Company. For licensing terms 15## and conditions see https://www.qt.io/terms-conditions. For further 16## information use the contact form at https://www.qt.io/contact-us. 17## 18## GNU General Public License Usage 19## Alternatively, this file may be used under the terms of the GNU 20## General Public License version 3 as published by the Free Software 21## Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT 22## included in the packaging of this file. Please review the following 23## information to ensure the GNU General Public License requirements will 24## be met: https://www.gnu.org/licenses/gpl-3.0.html. 25## 26## $QT_END_LICENSE$ 27## 28############################################################################# 29 30# A run of cldr2qlocalexml.py will produce output reporting any 31# language, script and country codes it sees, in data, for which it 32# can find a name (taken always from en.xml) that could potentially be 33# used. There is no point adding a mapping for such a code unless the 34# CLDR's common/main/ contains an XML file for at least one locale 35# that exerciss it. 36 37# Each *_list reflects the current values of its enums in qlocale.h; 38# if new xml language files are available in CLDR, these languages and 39# countries need to be *appended* to this list (for compatibility 40# between versions). Include any spaces present in names (scripts 41# shall squish them out for the enum entries) in *_list, but use the 42# squished forms of names in the *_aliases mappings. 43 44### Qt 6: restore alphabetic order in each list. 45 46language_list = { 47 0: ["AnyLanguage", " "], 48 1: ["C", " "], 49 2: ["Abkhazian", "ab"], 50 3: ["Oromo", "om"], # macrolanguage 51 4: ["Afar", "aa"], 52 5: ["Afrikaans", "af"], 53 6: ["Albanian", "sq"], # macrolanguage 54 7: ["Amharic", "am"], 55 8: ["Arabic", "ar"], # macrolanguage 56 9: ["Armenian", "hy"], 57 10: ["Assamese", "as"], 58 11: ["Aymara", "ay"], # macrolanguage 59 12: ["Azerbaijani", "az"], # macrolanguage 60 13: ["Bashkir", "ba"], 61 14: ["Basque", "eu"], 62 15: ["Bengali", "bn"], 63 16: ["Dzongkha", "dz"], 64 17: ["Bihari", "bh"], 65 18: ["Bislama", "bi"], 66 19: ["Breton", "br"], 67 20: ["Bulgarian", "bg"], 68 21: ["Burmese", "my"], 69 22: ["Belarusian", "be"], 70 23: ["Khmer", "km"], 71 24: ["Catalan", "ca"], 72 25: ["Chinese", "zh"], # macrolanguage 73 26: ["Corsican", "co"], 74 27: ["Croatian", "hr"], 75 28: ["Czech", "cs"], 76 29: ["Danish", "da"], 77 30: ["Dutch", "nl"], 78 31: ["English", "en"], 79 32: ["Esperanto", "eo"], 80 33: ["Estonian", "et"], # macrolanguage 81 34: ["Faroese", "fo"], 82 35: ["Fijian", "fj"], 83 36: ["Finnish", "fi"], 84 37: ["French", "fr"], 85 38: ["Western Frisian", "fy"], 86 39: ["Gaelic", "gd"], 87 40: ["Galician", "gl"], 88 41: ["Georgian", "ka"], 89 42: ["German", "de"], 90 43: ["Greek", "el"], 91 44: ["Greenlandic", "kl"], 92 45: ["Guarani", "gn"], # macrolanguage 93 46: ["Gujarati", "gu"], 94 47: ["Hausa", "ha"], 95 48: ["Hebrew", "he"], 96 49: ["Hindi", "hi"], 97 50: ["Hungarian", "hu"], 98 51: ["Icelandic", "is"], 99 52: ["Indonesian", "id"], 100 53: ["Interlingua", "ia"], 101 54: ["Interlingue", "ie"], 102 55: ["Inuktitut", "iu"], # macrolanguage 103 56: ["Inupiak", "ik"], # macrolanguage 104 57: ["Irish", "ga"], 105 58: ["Italian", "it"], 106 59: ["Japanese", "ja"], 107 60: ["Javanese", "jv"], 108 61: ["Kannada", "kn"], 109 62: ["Kashmiri", "ks"], 110 63: ["Kazakh", "kk"], 111 64: ["Kinyarwanda", "rw"], 112 65: ["Kirghiz", "ky"], 113 66: ["Korean", "ko"], 114 67: ["Kurdish", "ku"], # macrolanguage 115 68: ["Rundi", "rn"], 116 69: ["Lao", "lo"], 117 70: ["Latin", "la"], 118 71: ["Latvian", "lv"], # macrolanguage 119 72: ["Lingala", "ln"], 120 73: ["Lithuanian", "lt"], 121 74: ["Macedonian", "mk"], 122 75: ["Malagasy", "mg"], # macrolanguage 123 76: ["Malay", "ms"], # macrolanguage 124 77: ["Malayalam", "ml"], 125 78: ["Maltese", "mt"], 126 79: ["Maori", "mi"], 127 80: ["Marathi", "mr"], 128 81: ["Marshallese", "mh"], 129 82: ["Mongolian", "mn"], # macrolanguage 130 83: ["Nauru", "na"], 131 84: ["Nepali", "ne"], # macrolanguage 132 85: ["Norwegian Bokmal", "nb"], 133 86: ["Occitan", "oc"], 134 87: ["Oriya", "or"], # macrolanguage 135 88: ["Pashto", "ps"], # macrolanguage 136 89: ["Persian", "fa"], # macrolanguage 137 90: ["Polish", "pl"], 138 91: ["Portuguese", "pt"], 139 92: ["Punjabi", "pa"], 140 93: ["Quechua", "qu"], # macrolanguage 141 94: ["Romansh", "rm"], 142 95: ["Romanian", "ro"], 143 96: ["Russian", "ru"], 144 97: ["Samoan", "sm"], 145 98: ["Sango", "sg"], 146 99: ["Sanskrit", "sa"], 147 100: ["Serbian", "sr"], 148 101: ["Ossetic", "os"], 149 102: ["Southern Sotho", "st"], 150 103: ["Tswana", "tn"], 151 104: ["Shona", "sn"], 152 105: ["Sindhi", "sd"], 153 106: ["Sinhala", "si"], 154 107: ["Swati", "ss"], 155 108: ["Slovak", "sk"], 156 109: ["Slovenian", "sl"], 157 110: ["Somali", "so"], 158 111: ["Spanish", "es"], 159 112: ["Sundanese", "su"], 160 113: ["Swahili", "sw"], # macrolanguage 161 114: ["Swedish", "sv"], 162 115: ["Sardinian", "sc"], # macrolanguage 163 116: ["Tajik", "tg"], 164 117: ["Tamil", "ta"], 165 118: ["Tatar", "tt"], 166 119: ["Telugu", "te"], 167 120: ["Thai", "th"], 168 121: ["Tibetan", "bo"], 169 122: ["Tigrinya", "ti"], 170 123: ["Tongan", "to"], 171 124: ["Tsonga", "ts"], 172 125: ["Turkish", "tr"], 173 126: ["Turkmen", "tk"], 174 127: ["Tahitian", "ty"], 175 128: ["Uighur", "ug"], 176 129: ["Ukrainian", "uk"], 177 130: ["Urdu", "ur"], 178 131: ["Uzbek", "uz"], # macrolanguage 179 132: ["Vietnamese", "vi"], 180 133: ["Volapuk", "vo"], 181 134: ["Welsh", "cy"], 182 135: ["Wolof", "wo"], 183 136: ["Xhosa", "xh"], 184 137: ["Yiddish", "yi"], # macrolanguage 185 138: ["Yoruba", "yo"], 186 139: ["Zhuang", "za"], # macrolanguage 187 140: ["Zulu", "zu"], 188 141: ["Norwegian Nynorsk", "nn"], 189 142: ["Bosnian", "bs"], 190 143: ["Divehi", "dv"], 191 144: ["Manx", "gv"], 192 145: ["Cornish", "kw"], 193 146: ["Akan", "ak"], # macrolanguage 194 147: ["Konkani", "kok"], 195 148: ["Ga", "gaa"], 196 149: ["Igbo", "ig" ], 197 150: ["Kamba", "kam"], 198 151: ["Syriac", "syr"], 199 152: ["Blin", "byn"], 200 153: ["Geez", "gez"], 201 154: ["Koro", "kfo"], 202 155: ["Sidamo", "sid"], 203 156: ["Atsam", "cch"], 204 157: ["Tigre", "tig"], 205 158: ["Jju", "kaj"], 206 159: ["Friulian", "fur"], 207 160: ["Venda", "ve" ], 208 161: ["Ewe", "ee" ], 209 162: ["Walamo", "wal"], 210 163: ["Hawaiian", "haw"], 211 164: ["Tyap", "kcg"], 212 165: ["Nyanja", "ny" ], 213 166: ["Filipino", "fil"], 214 167: ["Swiss German", "gsw"], 215 168: ["Sichuan Yi", "ii" ], 216 169: ["Kpelle", "kpe"], 217 170: ["Low German", "nds"], 218 171: ["South Ndebele", "nr" ], 219 172: ["Northern Sotho", "nso"], 220 173: ["Northern Sami", "se" ], 221 174: ["Taroko", "trv"], 222 175: ["Gusii", "guz"], 223 176: ["Taita", "dav"], 224 177: ["Fulah", "ff"], # macrolanguage 225 178: ["Kikuyu", "ki"], 226 179: ["Samburu", "saq"], 227 180: ["Sena", "seh"], 228 181: ["North Ndebele", "nd"], 229 182: ["Rombo", "rof"], 230 183: ["Tachelhit", "shi"], 231 184: ["Kabyle", "kab"], 232 185: ["Nyankole", "nyn"], 233 186: ["Bena", "bez"], 234 187: ["Vunjo", "vun"], 235 188: ["Bambara", "bm"], 236 189: ["Embu", "ebu"], 237 190: ["Cherokee", "chr"], 238 191: ["Morisyen", "mfe"], 239 192: ["Makonde", "kde"], 240 193: ["Langi", "lag"], 241 194: ["Ganda", "lg"], 242 195: ["Bemba", "bem"], 243 196: ["Kabuverdianu", "kea"], 244 197: ["Meru", "mer"], 245 198: ["Kalenjin", "kln"], 246 199: ["Nama", "naq"], 247 200: ["Machame", "jmc"], 248 201: ["Colognian", "ksh"], 249 202: ["Masai", "mas"], 250 203: ["Soga", "xog"], 251 204: ["Luyia", "luy"], 252 205: ["Asu", "asa"], 253 206: ["Teso", "teo"], 254 207: ["Saho", "ssy"], 255 208: ["Koyra Chiini", "khq"], 256 209: ["Rwa", "rwk"], 257 210: ["Luo", "luo"], 258 211: ["Chiga", "cgg"], 259 212: ["Central Morocco Tamazight", "tzm"], 260 213: ["Koyraboro Senni", "ses"], 261 214: ["Shambala", "ksb"], 262 215: ["Bodo", "brx"], 263 216: ["Avaric", "av"], 264 217: ["Chamorro", "ch"], 265 218: ["Chechen", "ce"], 266 219: ["Church", "cu"], # macrolanguage 267 220: ["Chuvash", "cv"], 268 221: ["Cree", "cr"], # macrolanguage 269 222: ["Haitian", "ht"], 270 223: ["Herero", "hz"], 271 224: ["Hiri Motu", "ho"], 272 225: ["Kanuri", "kr"], # macrolanguage 273 226: ["Komi", "kv"], # macrolanguage 274 227: ["Kongo", "kg"], # macrolanguage 275 228: ["Kwanyama", "kj"], 276 229: ["Limburgish", "li"], 277 230: ["Luba Katanga", "lu"], 278 231: ["Luxembourgish", "lb"], 279 232: ["Navaho", "nv"], 280 233: ["Ndonga", "ng"], 281 234: ["Ojibwa", "oj"], # macrolanguage 282 235: ["Pali", "pi"], # macrolanguage 283 236: ["Walloon", "wa"], 284 237: ["Aghem", "agq"], 285 238: ["Basaa", "bas"], 286 239: ["Zarma", "dje"], 287 240: ["Duala", "dua"], 288 241: ["Jola Fonyi", "dyo"], 289 242: ["Ewondo", "ewo"], 290 243: ["Bafia", "ksf"], 291 244: ["Makhuwa Meetto", "mgh"], 292 245: ["Mundang", "mua"], 293 246: ["Kwasio", "nmg"], 294 247: ["Nuer", "nus"], 295 248: ["Sakha", "sah"], 296 249: ["Sangu", "sbp"], 297 250: ["Congo Swahili", "swc"], 298 251: ["Tasawaq", "twq"], 299 252: ["Vai", "vai"], 300 253: ["Walser", "wae"], 301 254: ["Yangben", "yav"], 302 255: ["Avestan", "ae"], 303 256: ["Asturian", "ast"], 304 257: ["Ngomba", "jgo"], 305 258: ["Kako", "kkj"], 306 259: ["Meta", "mgo"], 307 260: ["Ngiemboon", "nnh"], 308 261: ["Aragonese", "an"], 309 262: ["Akkadian", "akk"], 310 263: ["Ancient Egyptian", "egy"], 311 264: ["Ancient Greek", "grc"], 312 265: ["Aramaic", "arc"], 313 266: ["Balinese", "ban"], 314 267: ["Bamun", "bax"], 315 268: ["Batak Toba", "bbc"], 316 269: ["Buginese", "bug"], 317 270: ["Buhid", "bku"], 318 271: ["Carian", "xcr"], 319 272: ["Chakma", "ccp"], 320 273: ["Classical Mandaic", "myz"], 321 274: ["Coptic", "cop"], 322 275: ["Dogri", "doi"], # macrolanguage 323 276: ["Eastern Cham", "cjm"], 324 277: ["Eastern Kayah", "eky"], 325 278: ["Etruscan", "ett"], 326 279: ["Gothic", "got"], 327 280: ["Hanunoo", "hnn"], 328 281: ["Ingush", "inh"], 329 282: ["Large Flowery Miao", "hmd"], 330 283: ["Lepcha", "lep"], 331 284: ["Limbu", "lif"], 332 285: ["Lisu", "lis"], 333 286: ["Lu", "khb"], 334 287: ["Lycian", "xlc"], 335 288: ["Lydian", "xld"], 336 289: ["Mandingo", "man"], # macrolanguage 337 290: ["Manipuri", "mni"], 338 291: ["Meroitic", "xmr"], 339 292: ["Northern Thai", "nod"], 340 293: ["Old Irish", "sga"], 341 294: ["Old Norse", "non"], 342 295: ["Old Persian", "peo"], 343 296: ["Old Turkish", "otk"], 344 297: ["Pahlavi", "pal"], 345 298: ["Parthian", "xpr"], 346 299: ["Phoenician", "phn"], 347 300: ["Prakrit Language", "pra"], 348 301: ["Rejang", "rej"], 349 302: ["Sabaean", "xsa"], 350 303: ["Samaritan", "smp"], 351 304: ["Santali", "sat"], 352 305: ["Saurashtra", "saz"], 353 306: ["Sora", "srb"], 354 307: ["Sylheti", "syl"], 355 308: ["Tagbanwa", "tbw"], 356 309: ["Tai Dam", "blt"], 357 310: ["Tai Nua", "tdd"], 358 311: ["Ugaritic", "uga"], 359 312: ["Akoose", "bss"], 360 313: ["Lakota", "lkt"], 361 314: ["Standard Moroccan Tamazight", "zgh"], 362 315: ["Mapuche", "arn"], 363 316: ["Central Kurdish", "ckb"], 364 317: ["Lower Sorbian", "dsb"], 365 318: ["Upper Sorbian", "hsb"], 366 319: ["Kenyang", "ken"], 367 320: ["Mohawk", "moh"], 368 321: ["Nko", "nqo"], 369 322: ["Prussian", "prg"], 370 323: ["Kiche", "quc"], 371 324: ["Southern Sami", "sma"], 372 325: ["Lule Sami", "smj"], 373 326: ["Inari Sami", "smn"], 374 327: ["Skolt Sami", "sms"], 375 328: ["Warlpiri", "wbp"], 376 329: ["Manichaean Middle Persian", "xmn"], 377 330: ["Mende", "men"], 378 331: ["Ancient North Arabian", "xna"], 379 332: ["Linear A", "lab"], 380 333: ["Hmong Njua", "hnj"], 381 334: ["Ho", "hoc"], 382 335: ["Lezghian", "lez"], 383 336: ["Bassa", "bsq"], 384 337: ["Mono", "mru"], 385 338: ["Tedim Chin", "ctd"], 386 339: ["Maithili", "mai"], 387 340: ["Ahom", "aho"], 388 341: ["American Sign Language", "ase"], 389 342: ["Ardhamagadhi Prakrit", "pka"], 390 343: ["Bhojpuri", "bho"], 391 344: ["Hieroglyphic Luwian", "hlu"], 392 345: ["Literary Chinese", "lzh"], 393 346: ["Mazanderani", "mzn"], 394 347: ["Mru", "mro"], 395 348: ["Newari", "new"], 396 349: ["Northern Luri", "lrc"], 397 350: ["Palauan", "pau"], 398 351: ["Papiamento", "pap"], 399 352: ["Saraiki", "skr"], 400 353: ["Tokelau", "tkl"], 401 354: ["Tok Pisin", "tpi"], 402 355: ["Tuvalu", "tvl"], 403 356: ["Uncoded Languages", "mis"], 404 357: ["Cantonese", "yue"], 405 358: ["Osage", "osa"], 406 359: ["Tangut", "txg"], 407 360: ["Ido", "io"], 408 361: ["Lojban", "jbo"], 409 362: ["Sicilian", "scn"], 410 363: ["Southern Kurdish", "sdh"], 411 364: ["Western Balochi", "bgn"], 412 365: ["Cebuano", "ceb"], 413 366: ["Erzya", "myv"], 414 367: ["Chickasaw", "cic"], 415 368: ["Muscogee", "mus"], 416 369: ["Silesian", "szl"], 417 370: ["Nigerian Pidgin", "pcm"], 418} 419 420language_aliases = { 421 # Legacy - should disappear at some point: 422 'Norwegian': 'NorwegianBokmal', 423 'Moldavian': 'Romanian', 424 'SerboCroatian': 'Serbian', 425 'Tagalog': 'Filipino', 426 'Twi': 'Akan', 427 # Renamings: 428 'Afan': 'Oromo', 429 'Byelorussian': 'Belarusian', 430 'Bhutani': 'Dzongkha', 431 'Cambodian': 'Khmer', 432 'Kurundi': 'Rundi', 433 'RhaetoRomance': 'Romansh', 434 'Chewa': 'Nyanja', 435 'Frisian': 'WesternFrisian', 436 'Uigur': 'Uighur', 437} 438 439country_list = { 440 0: ["AnyCountry", "ZZ"], 441 1: ["Afghanistan", "AF"], 442 2: ["Albania", "AL"], 443 3: ["Algeria", "DZ"], 444 4: ["American Samoa", "AS"], 445 5: ["Andorra", "AD"], 446 6: ["Angola", "AO"], 447 7: ["Anguilla", "AI"], 448 8: ["Antarctica", "AQ"], 449 9: ["Antigua And Barbuda", "AG"], 450 10: ["Argentina", "AR"], 451 11: ["Armenia", "AM"], 452 12: ["Aruba", "AW"], 453 13: ["Australia", "AU"], 454 14: ["Austria", "AT"], 455 15: ["Azerbaijan", "AZ"], 456 16: ["Bahamas", "BS"], 457 17: ["Bahrain", "BH"], 458 18: ["Bangladesh", "BD"], 459 19: ["Barbados", "BB"], 460 20: ["Belarus", "BY"], 461 21: ["Belgium", "BE"], 462 22: ["Belize", "BZ"], 463 23: ["Benin", "BJ"], 464 24: ["Bermuda", "BM"], 465 25: ["Bhutan", "BT"], 466 26: ["Bolivia", "BO"], 467 27: ["Bosnia And Herzegowina", "BA"], 468 28: ["Botswana", "BW"], 469 29: ["Bouvet Island", "BV"], 470 30: ["Brazil", "BR"], 471 31: ["British Indian Ocean Territory", "IO"], 472 32: ["Brunei", "BN"], 473 33: ["Bulgaria", "BG"], 474 34: ["Burkina Faso", "BF"], 475 35: ["Burundi", "BI"], 476 36: ["Cambodia", "KH"], 477 37: ["Cameroon", "CM"], 478 38: ["Canada", "CA"], 479 39: ["Cape Verde", "CV"], 480 40: ["Cayman Islands", "KY"], 481 41: ["Central African Republic", "CF"], 482 42: ["Chad", "TD"], 483 43: ["Chile", "CL"], 484 44: ["China", "CN"], 485 45: ["Christmas Island", "CX"], 486 46: ["Cocos Islands", "CC"], 487 47: ["Colombia", "CO"], 488 48: ["Comoros", "KM"], 489 49: ["Congo Kinshasa", "CD"], 490 50: ["Congo Brazzaville", "CG"], 491 51: ["Cook Islands", "CK"], 492 52: ["Costa Rica", "CR"], 493 53: ["Ivory Coast", "CI"], 494 54: ["Croatia", "HR"], 495 55: ["Cuba", "CU"], 496 56: ["Cyprus", "CY"], 497 57: ["Czech Republic", "CZ"], 498 58: ["Denmark", "DK"], 499 59: ["Djibouti", "DJ"], 500 60: ["Dominica", "DM"], 501 61: ["Dominican Republic", "DO"], 502 62: ["East Timor", "TL"], 503 63: ["Ecuador", "EC"], 504 64: ["Egypt", "EG"], 505 65: ["El Salvador", "SV"], 506 66: ["Equatorial Guinea", "GQ"], 507 67: ["Eritrea", "ER"], 508 68: ["Estonia", "EE"], 509 69: ["Ethiopia", "ET"], 510 70: ["Falkland Islands", "FK"], 511 71: ["Faroe Islands", "FO"], 512 72: ["Fiji", "FJ"], 513 73: ["Finland", "FI"], 514 74: ["France", "FR"], 515 75: ["Guernsey", "GG"], 516 76: ["French Guiana", "GF"], 517 77: ["French Polynesia", "PF"], 518 78: ["French Southern Territories", "TF"], 519 79: ["Gabon", "GA"], 520 80: ["Gambia", "GM"], 521 81: ["Georgia", "GE"], 522 82: ["Germany", "DE"], 523 83: ["Ghana", "GH"], 524 84: ["Gibraltar", "GI"], 525 85: ["Greece", "GR"], 526 86: ["Greenland", "GL"], 527 87: ["Grenada", "GD"], 528 88: ["Guadeloupe", "GP"], 529 89: ["Guam", "GU"], 530 90: ["Guatemala", "GT"], 531 91: ["Guinea", "GN"], 532 92: ["Guinea Bissau", "GW"], 533 93: ["Guyana", "GY"], 534 94: ["Haiti", "HT"], 535 95: ["Heard And McDonald Islands", "HM"], 536 96: ["Honduras", "HN"], 537 97: ["Hong Kong", "HK"], 538 98: ["Hungary", "HU"], 539 99: ["Iceland", "IS"], 540 100: ["India", "IN"], 541 101: ["Indonesia", "ID"], 542 102: ["Iran", "IR"], 543 103: ["Iraq", "IQ"], 544 104: ["Ireland", "IE"], 545 105: ["Israel", "IL"], 546 106: ["Italy", "IT"], 547 107: ["Jamaica", "JM"], 548 108: ["Japan", "JP"], 549 109: ["Jordan", "JO"], 550 110: ["Kazakhstan", "KZ"], 551 111: ["Kenya", "KE"], 552 112: ["Kiribati", "KI"], 553 113: ["North Korea", "KP"], 554 114: ["South Korea", "KR"], 555 115: ["Kuwait", "KW"], 556 116: ["Kyrgyzstan", "KG"], 557 117: ["Laos", "LA"], 558 118: ["Latvia", "LV"], 559 119: ["Lebanon", "LB"], 560 120: ["Lesotho", "LS"], 561 121: ["Liberia", "LR"], 562 122: ["Libya", "LY"], 563 123: ["Liechtenstein", "LI"], 564 124: ["Lithuania", "LT"], 565 125: ["Luxembourg", "LU"], 566 126: ["Macau", "MO"], 567 127: ["Macedonia", "MK"], 568 128: ["Madagascar", "MG"], 569 129: ["Malawi", "MW"], 570 130: ["Malaysia", "MY"], 571 131: ["Maldives", "MV"], 572 132: ["Mali", "ML"], 573 133: ["Malta", "MT"], 574 134: ["Marshall Islands", "MH"], 575 135: ["Martinique", "MQ"], 576 136: ["Mauritania", "MR"], 577 137: ["Mauritius", "MU"], 578 138: ["Mayotte", "YT"], 579 139: ["Mexico", "MX"], 580 140: ["Micronesia", "FM"], 581 141: ["Moldova", "MD"], 582 142: ["Monaco", "MC"], 583 143: ["Mongolia", "MN"], 584 144: ["Montserrat", "MS"], 585 145: ["Morocco", "MA"], 586 146: ["Mozambique", "MZ"], 587 147: ["Myanmar", "MM"], 588 148: ["Namibia", "NA"], 589 149: ["Nauru", "NR"], 590 150: ["Nepal", "NP"], 591 151: ["Netherlands", "NL"], 592 152: ["Cura Sao", "CW"], 593 153: ["New Caledonia", "NC"], 594 154: ["New Zealand", "NZ"], 595 155: ["Nicaragua", "NI"], 596 156: ["Niger", "NE"], 597 157: ["Nigeria", "NG"], 598 158: ["Niue", "NU"], 599 159: ["Norfolk Island", "NF"], 600 160: ["Northern Mariana Islands", "MP"], 601 161: ["Norway", "NO"], 602 162: ["Oman", "OM"], 603 163: ["Pakistan", "PK"], 604 164: ["Palau", "PW"], 605 165: ["Palestinian Territories", "PS"], 606 166: ["Panama", "PA"], 607 167: ["Papua New Guinea", "PG"], 608 168: ["Paraguay", "PY"], 609 169: ["Peru", "PE"], 610 170: ["Philippines", "PH"], 611 171: ["Pitcairn", "PN"], 612 172: ["Poland", "PL"], 613 173: ["Portugal", "PT"], 614 174: ["Puerto Rico", "PR"], 615 175: ["Qatar", "QA"], 616 176: ["Reunion", "RE"], 617 177: ["Romania", "RO"], 618 178: ["Russia", "RU"], 619 179: ["Rwanda", "RW"], 620 180: ["Saint Kitts And Nevis", "KN"], 621 181: ["Saint Lucia", "LC"], 622 182: ["Saint Vincent And The Grenadines", "VC"], 623 183: ["Samoa", "WS"], 624 184: ["San Marino", "SM"], 625 185: ["Sao Tome And Principe", "ST"], 626 186: ["Saudi Arabia", "SA"], 627 187: ["Senegal", "SN"], 628 188: ["Seychelles", "SC"], 629 189: ["Sierra Leone", "SL"], 630 190: ["Singapore", "SG"], 631 191: ["Slovakia", "SK"], 632 192: ["Slovenia", "SI"], 633 193: ["Solomon Islands", "SB"], 634 194: ["Somalia", "SO"], 635 195: ["South Africa", "ZA"], 636 196: ["South Georgia And The South Sandwich Islands", "GS"], 637 197: ["Spain", "ES"], 638 198: ["Sri Lanka", "LK"], 639 199: ["Saint Helena", "SH"], 640 200: ["Saint Pierre And Miquelon", "PM"], 641 201: ["Sudan", "SD"], 642 202: ["Suriname", "SR"], 643 203: ["Svalbard And Jan Mayen Islands", "SJ"], 644 204: ["Swaziland", "SZ"], 645 205: ["Sweden", "SE"], 646 206: ["Switzerland", "CH"], 647 207: ["Syria", "SY"], 648 208: ["Taiwan", "TW"], 649 209: ["Tajikistan", "TJ"], 650 210: ["Tanzania", "TZ"], 651 211: ["Thailand", "TH"], 652 212: ["Togo", "TG"], 653 213: ["Tokelau", "TK"], 654 214: ["Tonga", "TO"], 655 215: ["Trinidad And Tobago", "TT"], 656 216: ["Tunisia", "TN"], 657 217: ["Turkey", "TR"], 658 218: ["Turkmenistan", "TM"], 659 219: ["Turks And Caicos Islands", "TC"], 660 220: ["Tuvalu", "TV"], 661 221: ["Uganda", "UG"], 662 222: ["Ukraine", "UA"], 663 223: ["United Arab Emirates", "AE"], 664 224: ["United Kingdom", "GB"], 665 225: ["United States", "US"], 666 226: ["United States Minor Outlying Islands", "UM"], 667 227: ["Uruguay", "UY"], 668 228: ["Uzbekistan", "UZ"], 669 229: ["Vanuatu", "VU"], 670 230: ["Vatican City State", "VA"], 671 231: ["Venezuela", "VE"], 672 232: ["Vietnam", "VN"], 673 233: ["British Virgin Islands", "VG"], 674 234: ["United States Virgin Islands", "VI"], 675 235: ["Wallis And Futuna Islands", "WF"], 676 236: ["Western Sahara", "EH"], 677 237: ["Yemen", "YE"], 678 238: ["Canary Islands", "IC"], 679 239: ["Zambia", "ZM"], 680 240: ["Zimbabwe", "ZW"], 681 241: ["Clipperton Island", "CP"], 682 242: ["Montenegro", "ME"], 683 243: ["Serbia", "RS"], 684 244: ["Saint Barthelemy", "BL"], 685 245: ["Saint Martin", "MF"], 686 246: ["Latin America", "419"], 687 247: ["Ascension Island", "AC"], 688 248: ["Aland Islands", "AX"], 689 249: ["Diego Garcia", "DG"], 690 250: ["Ceuta And Melilla", "EA"], 691 251: ["Isle Of Man", "IM"], 692 252: ["Jersey", "JE"], 693 253: ["Tristan Da Cunha", "TA"], 694 254: ["South Sudan", "SS"], 695 255: ["Bonaire", "BQ"], 696 256: ["Sint Maarten", "SX"], 697 257: ["Kosovo", "XK"], 698 258: ["European Union", "EU"], 699 259: ["Outlying Oceania", "QO"], 700 260: ["World", "001"], 701 261: ["Europe", "150"], 702} 703 704country_aliases = { 705 # Deprecated: 706 'Tokelau': 'TokelauCountry', 707 'Tuvalu': 'TuvaluCountry', 708 # Renamings: 709 'DemocraticRepublicOfCongo': 'CongoKinshasa', 710 'PeoplesRepublicOfCongo': 'CongoBrazzaville', 711 'DemocraticRepublicOfKorea': 'NorthKorea', 712 'RepublicOfKorea': 'SouthKorea', 713 'RussianFederation': 'Russia', 714 'SyrianArabRepublic': 'Syria', 715 'LatinAmericaAndTheCaribbean': 'LatinAmerica', 716} 717 718script_list = { 719 0: ["AnyScript", "Zzzz"], 720 1: ["Arabic", "Arab"], 721 2: ["Cyrillic", "Cyrl"], 722 3: ["Deseret", "Dsrt"], 723 4: ["Gurmukhi", "Guru"], 724 5: ["Simplified Han", "Hans"], 725 6: ["Traditional Han", "Hant"], 726 7: ["Latin", "Latn"], 727 8: ["Mongolian", "Mong"], 728 9: ["Tifinagh", "Tfng"], 729 10: ["Armenian", "Armn"], 730 11: ["Bengali", "Beng"], 731 12: ["Cherokee", "Cher"], 732 13: ["Devanagari", "Deva"], 733 14: ["Ethiopic", "Ethi"], 734 15: ["Georgian", "Geor"], 735 16: ["Greek", "Grek"], 736 17: ["Gujarati", "Gujr"], 737 18: ["Hebrew", "Hebr"], 738 19: ["Japanese", "Jpan"], 739 20: ["Khmer", "Khmr"], 740 21: ["Kannada", "Knda"], 741 22: ["Korean", "Kore"], 742 23: ["Lao", "Laoo"], 743 24: ["Malayalam", "Mlym"], 744 25: ["Myanmar", "Mymr"], 745 26: ["Oriya", "Orya"], 746 27: ["Tamil", "Taml"], 747 28: ["Telugu", "Telu"], 748 29: ["Thaana", "Thaa"], 749 30: ["Thai", "Thai"], 750 31: ["Tibetan", "Tibt"], 751 32: ["Sinhala", "Sinh"], 752 33: ["Syriac", "Syrc"], 753 34: ["Yi", "Yiii"], 754 35: ["Vai", "Vaii"], 755 36: ["Avestan", "Avst"], 756 37: ["Balinese", "Bali"], 757 38: ["Bamum", "Bamu"], 758 39: ["Batak", "Batk"], 759 40: ["Bopomofo", "Bopo"], 760 41: ["Brahmi", "Brah"], 761 42: ["Buginese", "Bugi"], 762 43: ["Buhid", "Buhd"], 763 44: ["Canadian Aboriginal", "Cans"], 764 45: ["Carian", "Cari"], 765 46: ["Chakma", "Cakm"], 766 47: ["Cham", "Cham"], 767 48: ["Coptic", "Copt"], 768 49: ["Cypriot", "Cprt"], 769 50: ["Egyptian Hieroglyphs", "Egyp"], 770 51: ["Fraser", "Lisu"], 771 52: ["Glagolitic", "Glag"], 772 53: ["Gothic", "Goth"], 773 54: ["Han", "Hani"], 774 55: ["Hangul", "Hang"], 775 56: ["Hanunoo", "Hano"], 776 57: ["Imperial Aramaic", "Armi"], 777 58: ["Inscriptional Pahlavi", "Phli"], 778 59: ["Inscriptional Parthian", "Prti"], 779 60: ["Javanese", "Java"], 780 61: ["Kaithi", "Kthi"], 781 62: ["Katakana", "Kana"], 782 63: ["Kayah Li", "Kali"], 783 64: ["Kharoshthi", "Khar"], 784 65: ["Lanna", "Lana"], 785 66: ["Lepcha", "Lepc"], 786 67: ["Limbu", "Limb"], 787 68: ["Linear B", "Linb"], 788 69: ["Lycian", "Lyci"], 789 70: ["Lydian", "Lydi"], 790 71: ["Mandaean", "Mand"], 791 72: ["Meitei Mayek", "Mtei"], 792 73: ["Meroitic", "Mero"], 793 74: ["Meroitic Cursive", "Merc"], 794 75: ["Nko", "Nkoo"], 795 76: ["New Tai Lue", "Talu"], 796 77: ["Ogham", "Ogam"], 797 78: ["Ol Chiki", "Olck"], 798 79: ["Old Italic", "Ital"], 799 80: ["Old Persian", "Xpeo"], 800 81: ["Old South Arabian", "Sarb"], 801 82: ["Orkhon", "Orkh"], 802 83: ["Osmanya", "Osma"], 803 84: ["Phags Pa", "Phag"], 804 85: ["Phoenician", "Phnx"], 805 86: ["Pollard Phonetic", "Plrd"], 806 87: ["Rejang", "Rjng"], 807 88: ["Runic", "Runr"], 808 89: ["Samaritan", "Samr"], 809 90: ["Saurashtra", "Saur"], 810 91: ["Sharada", "Shrd"], 811 92: ["Shavian", "Shaw"], 812 93: ["Sora Sompeng", "Sora"], 813 94: ["Cuneiform", "Xsux"], 814 95: ["Sundanese", "Sund"], 815 96: ["Syloti Nagri", "Sylo"], 816 97: ["Tagalog", "Tglg"], 817 98: ["Tagbanwa", "Tagb"], 818 99: ["Tai Le", "Tale"], 819 100: ["Tai Viet", "Tavt"], 820 101: ["Takri", "Takr"], 821 102: ["Ugaritic", "Ugar"], 822 103: ["Braille", "Brai"], 823 104: ["Hiragana", "Hira"], 824 105: ["Caucasian Albanian", "Aghb"], 825 106: ["Bassa Vah", "Bass"], 826 107: ["Duployan", "Dupl"], 827 108: ["Elbasan", "Elba"], 828 109: ["Grantha", "Gran"], 829 110: ["Pahawh Hmong", "Hmng"], 830 111: ["Khojki", "Khoj"], 831 112: ["Linear A", "Lina"], 832 113: ["Mahajani", "Mahj"], 833 114: ["Manichaean", "Mani"], 834 115: ["Mende Kikakui", "Mend"], 835 116: ["Modi", "Modi"], 836 117: ["Mro", "Mroo"], 837 118: ["Old North Arabian", "Narb"], 838 119: ["Nabataean", "Nbat"], 839 120: ["Palmyrene", "Palm"], 840 121: ["Pau Cin Hau", "Pauc"], 841 122: ["Old Permic", "Perm"], 842 123: ["Psalter Pahlavi", "Phlp"], 843 124: ["Siddham", "Sidd"], 844 125: ["Khudawadi", "Sind"], 845 126: ["Tirhuta", "Tirh"], 846 127: ["Varang Kshiti", "Wara"], 847 128: ["Ahom", "Ahom"], 848 129: ["Anatolian Hieroglyphs", "Hluw"], 849 130: ["Hatran", "Hatr"], 850 131: ["Multani", "Mult"], 851 132: ["Old Hungarian", "Hung"], 852 133: ["Sign Writing", "Sgnw"], 853 134: ["Adlam", "Adlm"], 854 135: ["Bhaiksuki", "Bhks"], 855 136: ["Marchen", "Marc"], 856 137: ["Newa", "Newa"], 857 138: ["Osage", "Osge"], 858 139: ["Tangut", "Tang"], 859 140: ["Han with Bopomofo", "Hanb"], 860 141: ["Jamo", "Jamo"], 861} 862 863script_aliases = { 864 # Renamings: 865 'SimplifiedChineseScript': 'SimplifiedHanScript', 866 'TraditionalChineseScript': 'TraditionalHanScript', 867} 868 869def countryCodeToId(code): 870 if not code: 871 return 0 872 for country_id in country_list: 873 if country_list[country_id][1] == code: 874 return country_id 875 return -1 876 877def languageCodeToId(code): 878 if not code: 879 return 0 880 for language_id in language_list: 881 if language_list[language_id][1] == code: 882 return language_id 883 return -1 884 885def scriptCodeToId(code): 886 if not code: 887 return 0 888 for script_id in script_list: 889 if script_list[script_id][1] == code: 890 return script_id 891 return -1 892