/*
 * Copyright 2010 Google Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.google.gwt.i18n.client;

// DO NOT EDIT - GENERATED FROM CLDR DATA

/**
 * Default LocalizedNames implementation.
 */
public class DefaultLocalizedNames extends DefaultLocalizedNamesBase {
  @Override
  protected void loadNameMap() {
    super.loadNameMap();
    namesMap.put("001", "World");
    namesMap.put("002", "Africa");
    namesMap.put("003", "North America");
    namesMap.put("005", "South America");
    namesMap.put("009", "Oceania");
    namesMap.put("011", "Western Africa");
    namesMap.put("013", "Central America");
    namesMap.put("014", "Eastern Africa");
    namesMap.put("015", "Northern Africa");
    namesMap.put("017", "Middle Africa");
    namesMap.put("018", "Southern Africa");
    namesMap.put("019", "Americas");
    namesMap.put("021", "Northern America");
    namesMap.put("029", "Caribbean");
    namesMap.put("030", "Eastern Asia");
    namesMap.put("034", "Southern Asia");
    namesMap.put("035", "South-Eastern Asia");
    namesMap.put("039", "Southern Europe");
    namesMap.put("053", "Australia and New Zealand");
    namesMap.put("054", "Melanesia");
    namesMap.put("057", "Micronesian Region");
    namesMap.put("061", "Polynesia");
    namesMap.put("062", "South-Central Asia");
    namesMap.put("142", "Asia");
    namesMap.put("143", "Central Asia");
    namesMap.put("145", "Western Asia");
    namesMap.put("150", "Europe");
    namesMap.put("151", "Eastern Europe");
    namesMap.put("154", "Northern Europe");
    namesMap.put("155", "Western Europe");
    namesMap.put("172", "Commonwealth of Independent States");
    namesMap.put("200", "Czechoslovakia");
    namesMap.put("419", "Latin America and the Caribbean");
    namesMap.put("830", "Channel Islands");
    namesMap.put("AC", "Ascension Island");
    namesMap.put("AD", "Andorra");
    namesMap.put("AE", "United Arab Emirates");
    namesMap.put("AF", "Afghanistan");
    namesMap.put("AG", "Antigua and Barbuda");
    namesMap.put("AI", "Anguilla");
    namesMap.put("AL", "Albania");
    namesMap.put("AM", "Armenia");
    namesMap.put("AN", "Netherlands Antilles");
    namesMap.put("AO", "Angola");
    namesMap.put("AQ", "Antarctica");
    namesMap.put("AR", "Argentina");
    namesMap.put("AS", "American Samoa");
    namesMap.put("AT", "Austria");
    namesMap.put("AU", "Australia");
    namesMap.put("AW", "Aruba");
    namesMap.put("AX", "Åland Islands");
    namesMap.put("AZ", "Azerbaijan");
    namesMap.put("BA", "Bosnia and Herzegovina");
    namesMap.put("BB", "Barbados");
    namesMap.put("BD", "Bangladesh");
    namesMap.put("BE", "Belgium");
    namesMap.put("BF", "Burkina Faso");
    namesMap.put("BG", "Bulgaria");
    namesMap.put("BH", "Bahrain");
    namesMap.put("BI", "Burundi");
    namesMap.put("BJ", "Benin");
    namesMap.put("BL", "Saint Barthélemy");
    namesMap.put("BM", "Bermuda");
    namesMap.put("BN", "Brunei");
    namesMap.put("BO", "Bolivia");
    namesMap.put("BQ", "British Antarctic Territory");
    namesMap.put("BR", "Brazil");
    namesMap.put("BS", "Bahamas");
    namesMap.put("BT", "Bhutan");
    namesMap.put("BV", "Bouvet Island");
    namesMap.put("BW", "Botswana");
    namesMap.put("BY", "Belarus");
    namesMap.put("BZ", "Belize");
    namesMap.put("CA", "Canada");
    namesMap.put("CC", "Cocos [Keeling] Islands");
    namesMap.put("CD", "Congo [DRC]");
    namesMap.put("CF", "Central African Republic");
    namesMap.put("CG", "Congo [Republic]");
    namesMap.put("CH", "Switzerland");
    namesMap.put("CI", "Côte d’Ivoire");
    namesMap.put("CK", "Cook Islands");
    namesMap.put("CL", "Chile");
    namesMap.put("CM", "Cameroon");
    namesMap.put("CN", "China");
    namesMap.put("CO", "Colombia");
    namesMap.put("CP", "Clipperton Island");
    namesMap.put("CR", "Costa Rica");
    namesMap.put("CS", "Serbia and Montenegro");
    namesMap.put("CT", "Canton and Enderbury Islands");
    namesMap.put("CU", "Cuba");
    namesMap.put("CV", "Cape Verde");
    namesMap.put("CX", "Christmas Island");
    namesMap.put("CY", "Cyprus");
    namesMap.put("CZ", "Czech Republic");
    namesMap.put("DD", "East Germany");
    namesMap.put("DE", "Germany");
    namesMap.put("DG", "Diego Garcia");
    namesMap.put("DJ", "Djibouti");
    namesMap.put("DK", "Denmark");
    namesMap.put("DM", "Dominica");
    namesMap.put("DO", "Dominican Republic");
    namesMap.put("DZ", "Algeria");
    namesMap.put("EA", "Ceuta and Melilla");
    namesMap.put("EC", "Ecuador");
    namesMap.put("EE", "Estonia");
    namesMap.put("EG", "Egypt");
    namesMap.put("EH", "Western Sahara");
    namesMap.put("ER", "Eritrea");
    namesMap.put("ES", "Spain");
    namesMap.put("ET", "Ethiopia");
    namesMap.put("EU", "European Union");
    namesMap.put("FI", "Finland");
    namesMap.put("FJ", "Fiji");
    namesMap.put("FK", "Falkland Islands [Islas Malvinas]");
    namesMap.put("FM", "Micronesia");
    namesMap.put("FO", "Faroe Islands");
    namesMap.put("FQ", "French Southern and Antarctic Territories");
    namesMap.put("FR", "France");
    namesMap.put("FX", "Metropolitan France");
    namesMap.put("GA", "Gabon");
    namesMap.put("GB", "United Kingdom");
    namesMap.put("GD", "Grenada");
    namesMap.put("GE", "Georgia");
    namesMap.put("GF", "French Guiana");
    namesMap.put("GG", "Guernsey");
    namesMap.put("GH", "Ghana");
    namesMap.put("GI", "Gibraltar");
    namesMap.put("GL", "Greenland");
    namesMap.put("GM", "Gambia");
    namesMap.put("GN", "Guinea");
    namesMap.put("GP", "Guadeloupe");
    namesMap.put("GQ", "Equatorial Guinea");
    namesMap.put("GR", "Greece");
    namesMap.put("GS", "South Georgia and the South Sandwich Islands");
    namesMap.put("GT", "Guatemala");
    namesMap.put("GU", "Guam");
    namesMap.put("GW", "Guinea-Bissau");
    namesMap.put("GY", "Guyana");
    namesMap.put("HK", "Hong Kong");
    namesMap.put("HM", "Heard Island and McDonald Islands");
    namesMap.put("HN", "Honduras");
    namesMap.put("HR", "Croatia");
    namesMap.put("HT", "Haiti");
    namesMap.put("HU", "Hungary");
    namesMap.put("IC", "Canary Islands");
    namesMap.put("ID", "Indonesia");
    namesMap.put("IE", "Ireland");
    namesMap.put("IL", "Israel");
    namesMap.put("IM", "Isle of Man");
    namesMap.put("IN", "India");
    namesMap.put("IO", "British Indian Ocean Territory");
    namesMap.put("IQ", "Iraq");
    namesMap.put("IR", "Iran");
    namesMap.put("IS", "Iceland");
    namesMap.put("IT", "Italy");
    namesMap.put("JE", "Jersey");
    namesMap.put("JM", "Jamaica");
    namesMap.put("JO", "Jordan");
    namesMap.put("JP", "Japan");
    namesMap.put("JT", "Johnston Island");
    namesMap.put("KE", "Kenya");
    namesMap.put("KG", "Kyrgyzstan");
    namesMap.put("KH", "Cambodia");
    namesMap.put("KI", "Kiribati");
    namesMap.put("KM", "Comoros");
    namesMap.put("KN", "Saint Kitts and Nevis");
    namesMap.put("KP", "North Korea");
    namesMap.put("KR", "South Korea");
    namesMap.put("KW", "Kuwait");
    namesMap.put("KY", "Cayman Islands");
    namesMap.put("KZ", "Kazakhstan");
    namesMap.put("LA", "Laos");
    namesMap.put("LB", "Lebanon");
    namesMap.put("LC", "Saint Lucia");
    namesMap.put("LI", "Liechtenstein");
    namesMap.put("LK", "Sri Lanka");
    namesMap.put("LR", "Liberia");
    namesMap.put("LS", "Lesotho");
    namesMap.put("LT", "Lithuania");
    namesMap.put("LU", "Luxembourg");
    namesMap.put("LV", "Latvia");
    namesMap.put("LY", "Libya");
    namesMap.put("MA", "Morocco");
    namesMap.put("MC", "Monaco");
    namesMap.put("MD", "Moldova");
    namesMap.put("ME", "Montenegro");
    namesMap.put("MF", "Saint Martin");
    namesMap.put("MG", "Madagascar");
    namesMap.put("MH", "Marshall Islands");
    namesMap.put("MI", "Midway Islands");
    namesMap.put("MK", "Macedonia [FYROM]");
    namesMap.put("ML", "Mali");
    namesMap.put("MM", "Myanmar [Burma]");
    namesMap.put("MN", "Mongolia");
    namesMap.put("MO", "Macau");
    namesMap.put("MP", "Northern Mariana Islands");
    namesMap.put("MQ", "Martinique");
    namesMap.put("MR", "Mauritania");
    namesMap.put("MS", "Montserrat");
    namesMap.put("MT", "Malta");
    namesMap.put("MU", "Mauritius");
    namesMap.put("MV", "Maldives");
    namesMap.put("MW", "Malawi");
    namesMap.put("MX", "Mexico");
    namesMap.put("MY", "Malaysia");
    namesMap.put("MZ", "Mozambique");
    namesMap.put("NA", "Namibia");
    namesMap.put("NC", "New Caledonia");
    namesMap.put("NE", "Niger");
    namesMap.put("NF", "Norfolk Island");
    namesMap.put("NG", "Nigeria");
    namesMap.put("NI", "Nicaragua");
    namesMap.put("NL", "Netherlands");
    namesMap.put("NO", "Norway");
    namesMap.put("NP", "Nepal");
    namesMap.put("NQ", "Dronning Maud Land");
    namesMap.put("NR", "Nauru");
    namesMap.put("NT", "Neutral Zone");
    namesMap.put("NU", "Niue");
    namesMap.put("NZ", "New Zealand");
    namesMap.put("OM", "Oman");
    namesMap.put("PA", "Panama");
    namesMap.put("PC", "Pacific Islands Trust Territory");
    namesMap.put("PE", "Peru");
    namesMap.put("PF", "French Polynesia");
    namesMap.put("PG", "Papua New Guinea");
    namesMap.put("PH", "Philippines");
    namesMap.put("PK", "Pakistan");
    namesMap.put("PL", "Poland");
    namesMap.put("PM", "Saint Pierre and Miquelon");
    namesMap.put("PN", "Pitcairn Islands");
    namesMap.put("PR", "Puerto Rico");
    namesMap.put("PS", "Palestinian Territories");
    namesMap.put("PT", "Portugal");
    namesMap.put("PU", "U.S. Miscellaneous Pacific Islands");
    namesMap.put("PW", "Palau");
    namesMap.put("PY", "Paraguay");
    namesMap.put("PZ", "Panama Canal Zone");
    namesMap.put("QA", "Qatar");
    namesMap.put("QO", "Outlying Oceania");
    namesMap.put("RE", "Réunion");
    namesMap.put("RO", "Romania");
    namesMap.put("RS", "Serbia");
    namesMap.put("RU", "Russia");
    namesMap.put("RW", "Rwanda");
    namesMap.put("SA", "Saudi Arabia");
    namesMap.put("SB", "Solomon Islands");
    namesMap.put("SC", "Seychelles");
    namesMap.put("SD", "Sudan");
    namesMap.put("SE", "Sweden");
    namesMap.put("SG", "Singapore");
    namesMap.put("SH", "Saint Helena");
    namesMap.put("SI", "Slovenia");
    namesMap.put("SJ", "Svalbard and Jan Mayen");
    namesMap.put("SK", "Slovakia");
    namesMap.put("SL", "Sierra Leone");
    namesMap.put("SM", "San Marino");
    namesMap.put("SN", "Senegal");
    namesMap.put("SO", "Somalia");
    namesMap.put("SR", "Suriname");
    namesMap.put("ST", "São Tomé and Príncipe");
    namesMap.put("SU", "Union of Soviet Socialist Republics");
    namesMap.put("SV", "El Salvador");
    namesMap.put("SY", "Syria");
    namesMap.put("SZ", "Swaziland");
    namesMap.put("TA", "Tristan da Cunha");
    namesMap.put("TC", "Turks and Caicos Islands");
    namesMap.put("TD", "Chad");
    namesMap.put("TF", "French Southern Territories");
    namesMap.put("TG", "Togo");
    namesMap.put("TH", "Thailand");
    namesMap.put("TJ", "Tajikistan");
    namesMap.put("TK", "Tokelau");
    namesMap.put("TL", "Timor-Leste");
    namesMap.put("TM", "Turkmenistan");
    namesMap.put("TN", "Tunisia");
    namesMap.put("TO", "Tonga");
    namesMap.put("TR", "Turkey");
    namesMap.put("TT", "Trinidad and Tobago");
    namesMap.put("TV", "Tuvalu");
    namesMap.put("TW", "Taiwan");
    namesMap.put("TZ", "Tanzania");
    namesMap.put("UA", "Ukraine");
    namesMap.put("UG", "Uganda");
    namesMap.put("UM", "U.S. Minor Outlying Islands");
    namesMap.put("US", "United States");
    namesMap.put("UY", "Uruguay");
    namesMap.put("UZ", "Uzbekistan");
    namesMap.put("VA", "Vatican City");
    namesMap.put("VC", "Saint Vincent and the Grenadines");
    namesMap.put("VD", "North Vietnam");
    namesMap.put("VE", "Venezuela");
    namesMap.put("VG", "British Virgin Islands");
    namesMap.put("VI", "U.S. Virgin Islands");
    namesMap.put("VN", "Vietnam");
    namesMap.put("VU", "Vanuatu");
    namesMap.put("WF", "Wallis and Futuna");
    namesMap.put("WK", "Wake Island");
    namesMap.put("WS", "Samoa");
    namesMap.put("YD", "People's Democratic Republic of Yemen");
    namesMap.put("YE", "Yemen");
    namesMap.put("YT", "Mayotte");
    namesMap.put("ZA", "South Africa");
    namesMap.put("ZM", "Zambia");
    namesMap.put("ZW", "Zimbabwe");
    namesMap.put("ZZ", "Unknown or Invalid Region");
  }

  @Override
  public String[] loadSortedRegionCodes() {
    return new String[] {
        "AF",
        "AX",
        "AL",
        "DZ",
        "AS",
        "AD",
        "AO",
        "AI",
        "AQ",
        "AG",
        "AR",
        "AM",
        "AW",
        "AC",
        "AU",
        "AT",
        "AZ",
        "BS",
        "BH",
        "BD",
        "BB",
        "BY",
        "BE",
        "BZ",
        "BJ",
        "BM",
        "BT",
        "BO",
        "BA",
        "BW",
        "BV",
        "BR",
        "BQ",
        "IO",
        "VG",
        "BN",
        "BG",
        "BF",
        "BI",
        "KH",
        "CM",
        "CA",
        "IC",
        "CT",
        "CV",
        "KY",
        "CF",
        "EA",
        "TD",
        "CL",
        "CN",
        "CX",
        "CP",
        "CC",
        "CO",
        "KM",
        "CD",
        "CG",
        "CK",
        "CR",
        "CI",
        "HR",
        "CU",
        "CY",
        "CZ",
        "DK",
        "DG",
        "DJ",
        "DM",
        "DO",
        "NQ",
        "DD",
        "EC",
        "EG",
        "SV",
        "GQ",
        "ER",
        "EE",
        "ET",
        "EU",
        "FK",
        "FO",
        "FJ",
        "FI",
        "FR",
        "GF",
        "PF",
        "FQ",
        "TF",
        "GA",
        "GM",
        "GE",
        "DE",
        "GH",
        "GI",
        "GR",
        "GL",
        "GD",
        "GP",
        "GU",
        "GT",
        "GG",
        "GN",
        "GW",
        "GY",
        "HT",
        "HM",
        "HN",
        "HK",
        "HU",
        "IS",
        "IN",
        "ID",
        "IR",
        "IQ",
        "IE",
        "IM",
        "IL",
        "IT",
        "JM",
        "JP",
        "JE",
        "JT",
        "JO",
        "KZ",
        "KE",
        "KI",
        "KW",
        "KG",
        "LA",
        "LV",
        "LB",
        "LS",
        "LR",
        "LY",
        "LI",
        "LT",
        "LU",
        "MO",
        "MK",
        "MG",
        "MW",
        "MY",
        "MV",
        "ML",
        "MT",
        "MH",
        "MQ",
        "MR",
        "MU",
        "YT",
        "FX",
        "MX",
        "FM",
        "MI",
        "MD",
        "MC",
        "MN",
        "ME",
        "MS",
        "MA",
        "MZ",
        "MM",
        "NA",
        "NR",
        "NP",
        "NL",
        "AN",
        "NT",
        "NC",
        "NZ",
        "NI",
        "NE",
        "NG",
        "NU",
        "NF",
        "MP",
        "KP",
        "VD",
        "NO",
        "OM",
        "QO",
        "PC",
        "PK",
        "PW",
        "PS",
        "PA",
        "PZ",
        "PG",
        "PY",
        "YD",
        "PE",
        "PH",
        "PN",
        "PL",
        "PT",
        "PR",
        "QA",
        "RE",
        "RO",
        "RU",
        "RW",
        "BL",
        "SH",
        "KN",
        "LC",
        "MF",
        "PM",
        "VC",
        "WS",
        "SM",
        "ST",
        "SA",
        "SN",
        "RS",
        "CS",
        "SC",
        "SL",
        "SG",
        "SK",
        "SI",
        "SB",
        "SO",
        "ZA",
        "GS",
        "KR",
        "ES",
        "LK",
        "SD",
        "SR",
        "SJ",
        "SZ",
        "SE",
        "CH",
        "SY",
        "TW",
        "TJ",
        "TZ",
        "TH",
        "TL",
        "TG",
        "TK",
        "TO",
        "TT",
        "TA",
        "TN",
        "TR",
        "TM",
        "TC",
        "TV",
        "UM",
        "PU",
        "VI",
        "UG",
        "UA",
        "SU",
        "AE",
        "GB",
        "US",
        "UY",
        "UZ",
        "VU",
        "VA",
        "VE",
        "VN",
        "WK",
        "WF",
        "EH",
        "YE",
        "ZM",
        "ZW",
    };
  }
}
