1 /*
   2  * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package java.util;
  27 
  28 class LocaleISOData {
  29     /**
  30      * The 2- and 3-letter ISO 639 language codes.
  31      */
  32     static final String isoLanguageTable =
  33           "aa" + "aar"  // Afar
  34         + "ab" + "abk"  // Abkhazian
  35         + "ae" + "ave"  // Avestan
  36         + "af" + "afr"  // Afrikaans
  37         + "ak" + "aka"  // Akan
  38         + "am" + "amh"  // Amharic
  39         + "an" + "arg"  // Aragonese
  40         + "ar" + "ara"  // Arabic
  41         + "as" + "asm"  // Assamese
  42         + "av" + "ava"  // Avaric
  43         + "ay" + "aym"  // Aymara
  44         + "az" + "aze"  // Azerbaijani
  45         + "ba" + "bak"  // Bashkir
  46         + "be" + "bel"  // Belarusian
  47         + "bg" + "bul"  // Bulgarian
  48         + "bh" + "bih"  // Bihari
  49         + "bi" + "bis"  // Bislama
  50         + "bm" + "bam"  // Bambara
  51         + "bn" + "ben"  // Bengali
  52         + "bo" + "bod"  // Tibetan
  53         + "br" + "bre"  // Breton
  54         + "bs" + "bos"  // Bosnian
  55         + "ca" + "cat"  // Catalan
  56         + "ce" + "che"  // Chechen
  57         + "ch" + "cha"  // Chamorro
  58         + "co" + "cos"  // Corsican
  59         + "cr" + "cre"  // Cree
  60         + "cs" + "ces"  // Czech
  61         + "cu" + "chu"  // Church Slavic
  62         + "cv" + "chv"  // Chuvash
  63         + "cy" + "cym"  // Welsh
  64         + "da" + "dan"  // Danish
  65         + "de" + "deu"  // German
  66         + "dv" + "div"  // Divehi
  67         + "dz" + "dzo"  // Dzongkha
  68         + "ee" + "ewe"  // Ewe
  69         + "el" + "ell"  // Greek
  70         + "en" + "eng"  // English
  71         + "eo" + "epo"  // Esperanto
  72         + "es" + "spa"  // Spanish
  73         + "et" + "est"  // Estonian
  74         + "eu" + "eus"  // Basque
  75         + "fa" + "fas"  // Persian
  76         + "ff" + "ful"  // Fulah
  77         + "fi" + "fin"  // Finnish
  78         + "fj" + "fij"  // Fijian
  79         + "fo" + "fao"  // Faroese
  80         + "fr" + "fra"  // French
  81         + "fy" + "fry"  // Frisian
  82         + "ga" + "gle"  // Irish
  83         + "gd" + "gla"  // Scottish Gaelic
  84         + "gl" + "glg"  // Gallegan
  85         + "gn" + "grn"  // Guarani
  86         + "gu" + "guj"  // Gujarati
  87         + "gv" + "glv"  // Manx
  88         + "ha" + "hau"  // Hausa
  89         + "he" + "heb"  // Hebrew
  90         + "hi" + "hin"  // Hindi
  91         + "ho" + "hmo"  // Hiri Motu
  92         + "hr" + "hrv"  // Croatian
  93         + "ht" + "hat"  // Haitian
  94         + "hu" + "hun"  // Hungarian
  95         + "hy" + "hye"  // Armenian
  96         + "hz" + "her"  // Herero
  97         + "ia" + "ina"  // Interlingua
  98         + "id" + "ind"  // Indonesian
  99         + "ie" + "ile"  // Interlingue
 100         + "ig" + "ibo"  // Igbo
 101         + "ii" + "iii"  // Sichuan Yi
 102         + "ik" + "ipk"  // Inupiaq
 103         + "in" + "ind"  // Indonesian (old)
 104         + "io" + "ido"  // Ido
 105         + "is" + "isl"  // Icelandic
 106         + "it" + "ita"  // Italian
 107         + "iu" + "iku"  // Inuktitut
 108         + "iw" + "heb"  // Hebrew (old)
 109         + "ja" + "jpn"  // Japanese
 110         + "ji" + "yid"  // Yiddish (old)
 111         + "jv" + "jav"  // Javanese
 112         + "ka" + "kat"  // Georgian
 113         + "kg" + "kon"  // Kongo
 114         + "ki" + "kik"  // Kikuyu
 115         + "kj" + "kua"  // Kwanyama
 116         + "kk" + "kaz"  // Kazakh
 117         + "kl" + "kal"  // Greenlandic
 118         + "km" + "khm"  // Khmer
 119         + "kn" + "kan"  // Kannada
 120         + "ko" + "kor"  // Korean
 121         + "kr" + "kau"  // Kanuri
 122         + "ks" + "kas"  // Kashmiri
 123         + "ku" + "kur"  // Kurdish
 124         + "kv" + "kom"  // Komi
 125         + "kw" + "cor"  // Cornish
 126         + "ky" + "kir"  // Kirghiz
 127         + "la" + "lat"  // Latin
 128         + "lb" + "ltz"  // Luxembourgish
 129         + "lg" + "lug"  // Ganda
 130         + "li" + "lim"  // Limburgish
 131         + "ln" + "lin"  // Lingala
 132         + "lo" + "lao"  // Lao
 133         + "lt" + "lit"  // Lithuanian
 134         + "lu" + "lub"  // Luba-Katanga
 135         + "lv" + "lav"  // Latvian
 136         + "mg" + "mlg"  // Malagasy
 137         + "mh" + "mah"  // Marshallese
 138         + "mi" + "mri"  // Maori
 139         + "mk" + "mkd"  // Macedonian
 140         + "ml" + "mal"  // Malayalam
 141         + "mn" + "mon"  // Mongolian
 142         + "mo" + "mol"  // Moldavian
 143         + "mr" + "mar"  // Marathi
 144         + "ms" + "msa"  // Malay
 145         + "mt" + "mlt"  // Maltese
 146         + "my" + "mya"  // Burmese
 147         + "na" + "nau"  // Nauru
 148         + "nb" + "nob"  // Norwegian Bokm?l
 149         + "nd" + "nde"  // North Ndebele
 150         + "ne" + "nep"  // Nepali
 151         + "ng" + "ndo"  // Ndonga
 152         + "nl" + "nld"  // Dutch
 153         + "nn" + "nno"  // Norwegian Nynorsk
 154         + "no" + "nor"  // Norwegian
 155         + "nr" + "nbl"  // South Ndebele
 156         + "nv" + "nav"  // Navajo
 157         + "ny" + "nya"  // Nyanja
 158         + "oc" + "oci"  // Occitan
 159         + "oj" + "oji"  // Ojibwa
 160         + "om" + "orm"  // Oromo
 161         + "or" + "ori"  // Oriya
 162         + "os" + "oss"  // Ossetian
 163         + "pa" + "pan"  // Panjabi
 164         + "pi" + "pli"  // Pali
 165         + "pl" + "pol"  // Polish
 166         + "ps" + "pus"  // Pushto
 167         + "pt" + "por"  // Portuguese
 168         + "qu" + "que"  // Quechua
 169         + "rm" + "roh"  // Raeto-Romance
 170         + "rn" + "run"  // Rundi
 171         + "ro" + "ron"  // Romanian
 172         + "ru" + "rus"  // Russian
 173         + "rw" + "kin"  // Kinyarwanda
 174         + "sa" + "san"  // Sanskrit
 175         + "sc" + "srd"  // Sardinian
 176         + "sd" + "snd"  // Sindhi
 177         + "se" + "sme"  // Northern Sami
 178         + "sg" + "sag"  // Sango
 179         + "si" + "sin"  // Sinhalese
 180         + "sk" + "slk"  // Slovak
 181         + "sl" + "slv"  // Slovenian
 182         + "sm" + "smo"  // Samoan
 183         + "sn" + "sna"  // Shona
 184         + "so" + "som"  // Somali
 185         + "sq" + "sqi"  // Albanian
 186         + "sr" + "srp"  // Serbian
 187         + "ss" + "ssw"  // Swati
 188         + "st" + "sot"  // Southern Sotho
 189         + "su" + "sun"  // Sundanese
 190         + "sv" + "swe"  // Swedish
 191         + "sw" + "swa"  // Swahili
 192         + "ta" + "tam"  // Tamil
 193         + "te" + "tel"  // Telugu
 194         + "tg" + "tgk"  // Tajik
 195         + "th" + "tha"  // Thai
 196         + "ti" + "tir"  // Tigrinya
 197         + "tk" + "tuk"  // Turkmen
 198         + "tl" + "tgl"  // Tagalog
 199         + "tn" + "tsn"  // Tswana
 200         + "to" + "ton"  // Tonga
 201         + "tr" + "tur"  // Turkish
 202         + "ts" + "tso"  // Tsonga
 203         + "tt" + "tat"  // Tatar
 204         + "tw" + "twi"  // Twi
 205         + "ty" + "tah"  // Tahitian
 206         + "ug" + "uig"  // Uighur
 207         + "uk" + "ukr"  // Ukrainian
 208         + "ur" + "urd"  // Urdu
 209         + "uz" + "uzb"  // Uzbek
 210         + "ve" + "ven"  // Venda
 211         + "vi" + "vie"  // Vietnamese
 212         + "vo" + "vol"  // Volap?k
 213         + "wa" + "wln"  // Walloon
 214         + "wo" + "wol"  // Wolof
 215         + "xh" + "xho"  // Xhosa
 216         + "yi" + "yid"  // Yiddish
 217         + "yo" + "yor"  // Yoruba
 218         + "za" + "zha"  // Zhuang
 219         + "zh" + "zho"  // Chinese
 220         + "zu" + "zul"  // Zulu
 221         ;
 222 
 223     /**
 224      * The 2- and 3-letter ISO 3166 country codes.
 225      */
 226     static final String isoCountryTable =
 227           "AD" + "AND"  // Andorra, Principality of
 228         + "AE" + "ARE"  // United Arab Emirates
 229         + "AF" + "AFG"  // Afghanistan
 230         + "AG" + "ATG"  // Antigua and Barbuda
 231         + "AI" + "AIA"  // Anguilla
 232         + "AL" + "ALB"  // Albania, People's Socialist Republic of
 233         + "AM" + "ARM"  // Armenia
 234 //      + "AN" + "ANT"  // Netherlands Antilles
 235         + "AO" + "AGO"  // Angola, Republic of
 236         + "AQ" + "ATA"  // Antarctica (the territory South of 60 deg S)
 237         + "AR" + "ARG"  // Argentina, Argentine Republic
 238         + "AS" + "ASM"  // American Samoa
 239         + "AT" + "AUT"  // Austria, Republic of
 240         + "AU" + "AUS"  // Australia, Commonwealth of
 241         + "AW" + "ABW"  // Aruba
 242         + "AX" + "ALA"  // \u00c5land Islands
 243         + "AZ" + "AZE"  // Azerbaijan, Republic of
 244         + "BA" + "BIH"  // Bosnia and Herzegovina
 245         + "BB" + "BRB"  // Barbados
 246         + "BD" + "BGD"  // Bangladesh, People's Republic of
 247         + "BE" + "BEL"  // Belgium, Kingdom of
 248         + "BF" + "BFA"  // Burkina Faso
 249         + "BG" + "BGR"  // Bulgaria, People's Republic of
 250         + "BH" + "BHR"  // Bahrain, Kingdom of
 251         + "BI" + "BDI"  // Burundi, Republic of
 252         + "BJ" + "BEN"  // Benin, People's Republic of
 253         + "BL" + "BLM"  // Saint Barth\u00e9lemy
 254         + "BM" + "BMU"  // Bermuda
 255         + "BN" + "BRN"  // Brunei Darussalam
 256         + "BO" + "BOL"  // Bolivia, Republic of
 257         + "BQ" + "BES"  // Bonaire, Sint Eustatius and Saba
 258         + "BR" + "BRA"  // Brazil, Federative Republic of
 259         + "BS" + "BHS"  // Bahamas, Commonwealth of the
 260         + "BT" + "BTN"  // Bhutan, Kingdom of
 261         + "BV" + "BVT"  // Bouvet Island (Bouvetoya)
 262         + "BW" + "BWA"  // Botswana, Republic of
 263         + "BY" + "BLR"  // Belarus
 264         + "BZ" + "BLZ"  // Belize
 265         + "CA" + "CAN"  // Canada
 266         + "CC" + "CCK"  // Cocos (Keeling) Islands
 267         + "CD" + "COD"  // Congo, Democratic Republic of
 268         + "CF" + "CAF"  // Central African Republic
 269         + "CG" + "COG"  // Congo, People's Republic of
 270         + "CH" + "CHE"  // Switzerland, Swiss Confederation
 271         + "CI" + "CIV"  // Cote D'Ivoire, Ivory Coast, Republic of the
 272         + "CK" + "COK"  // Cook Islands
 273         + "CL" + "CHL"  // Chile, Republic of
 274         + "CM" + "CMR"  // Cameroon, United Republic of
 275         + "CN" + "CHN"  // China, People's Republic of
 276         + "CO" + "COL"  // Colombia, Republic of
 277         + "CR" + "CRI"  // Costa Rica, Republic of
 278 //      + "CS" + "SCG"  // Serbia and Montenegro
 279         + "CU" + "CUB"  // Cuba, Republic of
 280         + "CV" + "CPV"  // Cape Verde, Republic of
 281         + "CW" + "CUW"  // Cura\u00e7ao
 282         + "CX" + "CXR"  // Christmas Island
 283         + "CY" + "CYP"  // Cyprus, Republic of
 284         + "CZ" + "CZE"  // Czech Republic
 285         + "DE" + "DEU"  // Germany
 286         + "DJ" + "DJI"  // Djibouti, Republic of
 287         + "DK" + "DNK"  // Denmark, Kingdom of
 288         + "DM" + "DMA"  // Dominica, Commonwealth of
 289         + "DO" + "DOM"  // Dominican Republic
 290         + "DZ" + "DZA"  // Algeria, People's Democratic Republic of
 291         + "EC" + "ECU"  // Ecuador, Republic of
 292         + "EE" + "EST"  // Estonia
 293         + "EG" + "EGY"  // Egypt, Arab Republic of
 294         + "EH" + "ESH"  // Western Sahara
 295         + "ER" + "ERI"  // Eritrea
 296         + "ES" + "ESP"  // Spain, Spanish State
 297         + "ET" + "ETH"  // Ethiopia
 298         + "FI" + "FIN"  // Finland, Republic of
 299         + "FJ" + "FJI"  // Fiji, Republic of the Fiji Islands
 300         + "FK" + "FLK"  // Falkland Islands (Malvinas)
 301         + "FM" + "FSM"  // Micronesia, Federated States of
 302         + "FO" + "FRO"  // Faeroe Islands
 303         + "FR" + "FRA"  // France, French Republic
 304         + "GA" + "GAB"  // Gabon, Gabonese Republic
 305         + "GB" + "GBR"  // United Kingdom of Great Britain & N. Ireland
 306         + "GD" + "GRD"  // Grenada
 307         + "GE" + "GEO"  // Georgia
 308         + "GF" + "GUF"  // French Guiana
 309         + "GG" + "GGY"  // Guernsey
 310         + "GH" + "GHA"  // Ghana, Republic of
 311         + "GI" + "GIB"  // Gibraltar
 312         + "GL" + "GRL"  // Greenland
 313         + "GM" + "GMB"  // Gambia, Republic of the
 314         + "GN" + "GIN"  // Guinea, Revolutionary People's Rep'c of
 315         + "GP" + "GLP"  // Guadaloupe
 316         + "GQ" + "GNQ"  // Equatorial Guinea, Republic of
 317         + "GR" + "GRC"  // Greece, Hellenic Republic
 318         + "GS" + "SGS"  // South Georgia and the South Sandwich Islands
 319         + "GT" + "GTM"  // Guatemala, Republic of
 320         + "GU" + "GUM"  // Guam
 321         + "GW" + "GNB"  // Guinea-Bissau, Republic of
 322         + "GY" + "GUY"  // Guyana, Republic of
 323         + "HK" + "HKG"  // Hong Kong, Special Administrative Region of China
 324         + "HM" + "HMD"  // Heard and McDonald Islands
 325         + "HN" + "HND"  // Honduras, Republic of
 326         + "HR" + "HRV"  // Hrvatska (Croatia)
 327         + "HT" + "HTI"  // Haiti, Republic of
 328         + "HU" + "HUN"  // Hungary, Hungarian People's Republic
 329         + "ID" + "IDN"  // Indonesia, Republic of
 330         + "IE" + "IRL"  // Ireland
 331         + "IL" + "ISR"  // Israel, State of
 332         + "IM" + "IMN"  // Isle of Man
 333         + "IN" + "IND"  // India, Republic of
 334         + "IO" + "IOT"  // British Indian Ocean Territory (Chagos Archipelago)
 335         + "IQ" + "IRQ"  // Iraq, Republic of
 336         + "IR" + "IRN"  // Iran, Islamic Republic of
 337         + "IS" + "ISL"  // Iceland, Republic of
 338         + "IT" + "ITA"  // Italy, Italian Republic
 339         + "JE" + "JEY"  // Jersey
 340         + "JM" + "JAM"  // Jamaica
 341         + "JO" + "JOR"  // Jordan, Hashemite Kingdom of
 342         + "JP" + "JPN"  // Japan
 343         + "KE" + "KEN"  // Kenya, Republic of
 344         + "KG" + "KGZ"  // Kyrgyz Republic
 345         + "KH" + "KHM"  // Cambodia, Kingdom of
 346         + "KI" + "KIR"  // Kiribati, Republic of
 347         + "KM" + "COM"  // Comoros, Union of the
 348         + "KN" + "KNA"  // St. Kitts and Nevis
 349         + "KP" + "PRK"  // Korea, Democratic People's Republic of
 350         + "KR" + "KOR"  // Korea, Republic of
 351         + "KW" + "KWT"  // Kuwait, State of
 352         + "KY" + "CYM"  // Cayman Islands
 353         + "KZ" + "KAZ"  // Kazakhstan, Republic of
 354         + "LA" + "LAO"  // Lao People's Democratic Republic
 355         + "LB" + "LBN"  // Lebanon, Lebanese Republic
 356         + "LC" + "LCA"  // St. Lucia
 357         + "LI" + "LIE"  // Liechtenstein, Principality of
 358         + "LK" + "LKA"  // Sri Lanka, Democratic Socialist Republic of
 359         + "LR" + "LBR"  // Liberia, Republic of
 360         + "LS" + "LSO"  // Lesotho, Kingdom of
 361         + "LT" + "LTU"  // Lithuania
 362         + "LU" + "LUX"  // Luxembourg, Grand Duchy of
 363         + "LV" + "LVA"  // Latvia
 364         + "LY" + "LBY"  // Libyan Arab Jamahiriya
 365         + "MA" + "MAR"  // Morocco, Kingdom of
 366         + "MC" + "MCO"  // Monaco, Principality of
 367         + "MD" + "MDA"  // Moldova, Republic of
 368         + "ME" + "MNE"  // Montenegro, Republic of
 369         + "MF" + "MAF"  // Saint Martin
 370         + "MG" + "MDG"  // Madagascar, Republic of
 371         + "MH" + "MHL"  // Marshall Islands
 372         + "MK" + "MKD"  // Macedonia, the former Yugoslav Republic of
 373         + "ML" + "MLI"  // Mali, Republic of
 374         + "MM" + "MMR"  // Myanmar
 375         + "MN" + "MNG"  // Mongolia, Mongolian People's Republic
 376         + "MO" + "MAC"  // Macao, Special Administrative Region of China
 377         + "MP" + "MNP"  // Northern Mariana Islands
 378         + "MQ" + "MTQ"  // Martinique
 379         + "MR" + "MRT"  // Mauritania, Islamic Republic of
 380         + "MS" + "MSR"  // Montserrat
 381         + "MT" + "MLT"  // Malta, Republic of
 382         + "MU" + "MUS"  // Mauritius
 383         + "MV" + "MDV"  // Maldives, Republic of
 384         + "MW" + "MWI"  // Malawi, Republic of
 385         + "MX" + "MEX"  // Mexico, United Mexican States
 386         + "MY" + "MYS"  // Malaysia
 387         + "MZ" + "MOZ"  // Mozambique, People's Republic of
 388         + "NA" + "NAM"  // Namibia
 389         + "NC" + "NCL"  // New Caledonia
 390         + "NE" + "NER"  // Niger, Republic of the
 391         + "NF" + "NFK"  // Norfolk Island
 392         + "NG" + "NGA"  // Nigeria, Federal Republic of
 393         + "NI" + "NIC"  // Nicaragua, Republic of
 394         + "NL" + "NLD"  // Netherlands, Kingdom of the
 395         + "NO" + "NOR"  // Norway, Kingdom of
 396         + "NP" + "NPL"  // Nepal, Kingdom of
 397         + "NR" + "NRU"  // Nauru, Republic of
 398         + "NU" + "NIU"  // Niue, Republic of
 399         + "NZ" + "NZL"  // New Zealand
 400         + "OM" + "OMN"  // Oman, Sultanate of
 401         + "PA" + "PAN"  // Panama, Republic of
 402         + "PE" + "PER"  // Peru, Republic of
 403         + "PF" + "PYF"  // French Polynesia
 404         + "PG" + "PNG"  // Papua New Guinea
 405         + "PH" + "PHL"  // Philippines, Republic of the
 406         + "PK" + "PAK"  // Pakistan, Islamic Republic of
 407         + "PL" + "POL"  // Poland, Republic of Poland
 408         + "PM" + "SPM"  // St. Pierre and Miquelon
 409         + "PN" + "PCN"  // Pitcairn Island
 410         + "PR" + "PRI"  // Puerto Rico
 411         + "PS" + "PSE"  // Palestinian Territory, Occupied
 412         + "PT" + "PRT"  // Portugal, Portuguese Republic
 413         + "PW" + "PLW"  // Palau
 414         + "PY" + "PRY"  // Paraguay, Republic of
 415         + "QA" + "QAT"  // Qatar, State of
 416         + "RE" + "REU"  // Reunion
 417         + "RO" + "ROU"  // Romania, Socialist Republic of
 418         + "RS" + "SRB"  // Serbia, Republic of
 419         + "RU" + "RUS"  // Russian Federation
 420         + "RW" + "RWA"  // Rwanda, Rwandese Republic
 421         + "SA" + "SAU"  // Saudi Arabia, Kingdom of
 422         + "SB" + "SLB"  // Solomon Islands
 423         + "SC" + "SYC"  // Seychelles, Republic of
 424         + "SD" + "SDN"  // Sudan, Democratic Republic of the
 425         + "SE" + "SWE"  // Sweden, Kingdom of
 426         + "SG" + "SGP"  // Singapore, Republic of
 427         + "SH" + "SHN"  // St. Helena
 428         + "SI" + "SVN"  // Slovenia
 429         + "SJ" + "SJM"  // Svalbard & Jan Mayen Islands
 430         + "SK" + "SVK"  // Slovakia (Slovak Republic)
 431         + "SL" + "SLE"  // Sierra Leone, Republic of
 432         + "SM" + "SMR"  // San Marino, Republic of
 433         + "SN" + "SEN"  // Senegal, Republic of
 434         + "SO" + "SOM"  // Somalia, Somali Republic
 435         + "SR" + "SUR"  // Suriname, Republic of
 436         + "SS" + "SSD"  // South Sudan
 437         + "ST" + "STP"  // Sao Tome and Principe, Democratic Republic of
 438         + "SV" + "SLV"  // El Salvador, Republic of
 439         + "SX" + "SXM"  // Sint Maarten (Dutch part)
 440         + "SY" + "SYR"  // Syrian Arab Republic
 441         + "SZ" + "SWZ"  // Swaziland, Kingdom of
 442         + "TC" + "TCA"  // Turks and Caicos Islands
 443         + "TD" + "TCD"  // Chad, Republic of
 444         + "TF" + "ATF"  // French Southern Territories
 445         + "TG" + "TGO"  // Togo, Togolese Republic
 446         + "TH" + "THA"  // Thailand, Kingdom of
 447         + "TJ" + "TJK"  // Tajikistan
 448         + "TK" + "TKL"  // Tokelau (Tokelau Islands)
 449         + "TL" + "TLS"  // Timor-Leste, Democratic Republic of
 450         + "TM" + "TKM"  // Turkmenistan
 451         + "TN" + "TUN"  // Tunisia, Republic of
 452         + "TO" + "TON"  // Tonga, Kingdom of
 453         + "TR" + "TUR"  // Turkey, Republic of
 454         + "TT" + "TTO"  // Trinidad and Tobago, Republic of
 455         + "TV" + "TUV"  // Tuvalu
 456         + "TW" + "TWN"  // Taiwan, Province of China
 457         + "TZ" + "TZA"  // Tanzania, United Republic of
 458         + "UA" + "UKR"  // Ukraine
 459         + "UG" + "UGA"  // Uganda, Republic of
 460         + "UM" + "UMI"  // United States Minor Outlying Islands
 461         + "US" + "USA"  // United States of America
 462         + "UY" + "URY"  // Uruguay, Eastern Republic of
 463         + "UZ" + "UZB"  // Uzbekistan
 464         + "VA" + "VAT"  // Holy See (Vatican City State)
 465         + "VC" + "VCT"  // St. Vincent and the Grenadines
 466         + "VE" + "VEN"  // Venezuela, Bolivarian Republic of
 467         + "VG" + "VGB"  // British Virgin Islands
 468         + "VI" + "VIR"  // US Virgin Islands
 469         + "VN" + "VNM"  // Viet Nam, Socialist Republic of
 470         + "VU" + "VUT"  // Vanuatu
 471         + "WF" + "WLF"  // Wallis and Futuna Islands
 472         + "WS" + "WSM"  // Samoa, Independent State of
 473         + "YE" + "YEM"  // Yemen
 474         + "YT" + "MYT"  // Mayotte
 475         + "ZA" + "ZAF"  // South Africa, Republic of
 476         + "ZM" + "ZMB"  // Zambia, Republic of
 477         + "ZW" + "ZWE"  // Zimbabwe
 478         ;
 479 
 480     /**
 481      * Array to hold country codes for ISO3166-3.
 482      */
 483     static final String[] ISO3166_3 = {
 484         "AIDJ", "ANHH", "BQAQ", "BUMM", "BYAA", "CSHH", "CSXX", "CTKI", "DDDE",
 485         "DYBJ", "FQHH", "FXFR", "GEHH", "HVBF", "JTUM", "MIUM", "NHVU", "NQAQ",
 486         "NTHH", "PCHH", "PUUM", "PZPA", "RHZW", "SKIN", "SUHH", "TPTL", "VDVN",
 487         "WKUM", "YDYE", "YUCS", "ZRCD"
 488     };
 489 
 490     /**
 491      * This method computes a set of ISO3166-1 alpha-3 country codes from
 492      * existing isoCountryTable.
 493      */
 494     static Set<String> computeISO3166_1Alpha3Countries() {
 495         int tableLength = isoCountryTable.length();
 496         String[] isoTable = new String[tableLength / 5];
 497         for (int i = 0, index = 0; index < tableLength; i++, index += 5) {
 498             isoTable[i] = isoCountryTable.substring(index + 2, index + 5);
 499         }
 500         return Set.of(isoTable);
 501     }
 502 
 503     private LocaleISOData() {
 504     }
 505 }