/*
 * 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.impl.cldr;

import com.google.gwt.core.client.JavaScriptObject;

// DO NOT EDIT - GENERATED FROM CLDR DATA

/**
 * Localized names for the "pt_PT" locale.
 */
public class LocalizedNamesImpl_pt_PT extends LocalizedNamesImpl_pt {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("009", "Oceânia");
    namesMap.put("015", "Norte de África");
    namesMap.put("035", "Sudeste Asiático");
    namesMap.put("154", "Europa do Norte");
    namesMap.put("AC", "Ascensão");
    namesMap.put("AE", "Emiratos Árabes Unidos");
    namesMap.put("AI", "Anguila");
    namesMap.put("AM", "Arménia");
    namesMap.put("AQ", "Antárctica");
    namesMap.put("AX", "Alanda");
    namesMap.put("AZ", "Azerbeijão");
    namesMap.put("BD", "Bangladeche");
    namesMap.put("BF", "Burkina-Faso");
    namesMap.put("BH", "Bahrein");
    namesMap.put("BJ", "Benim");
    namesMap.put("BS", "Baamas");
    namesMap.put("BY", "Bielorrússia");
    namesMap.put("CC", "Ilhas Cocos");
    namesMap.put("CG", "Congo-Brazzaville");
    namesMap.put("CM", "Camarões");
    namesMap.put("CX", "Ilha do Natal");
    namesMap.put("CZ", "República Checa");
    namesMap.put("DJ", "Jibuti");
    namesMap.put("EE", "Estónia");
    namesMap.put("EG", "Egipto");
    namesMap.put("EH", "Sara Ocidental");
    namesMap.put("FK", "Ilhas Falkland");
    namesMap.put("FM", "Estados Federados da Micronésia");
    namesMap.put("FO", "Faroé");
    namesMap.put("FX", "França (Írea metropolitana)");
    namesMap.put("GL", "Gronelândia");
    namesMap.put("GW", "Guiné-Bissau");
    namesMap.put("IR", "Irão");
    namesMap.put("KE", "Quénia");
    namesMap.put("KG", "Quirguizistão");
    namesMap.put("KN", "Saint Kitts e Nevis");
    namesMap.put("KW", "Koweit");
    namesMap.put("KY", "Ilhas Caimão");
    namesMap.put("KZ", "Cazaquistão");
    namesMap.put("LA", "Laos, República Popular Democrática do");
    namesMap.put("LK", "Sri Lanca");
    namesMap.put("LV", "Letónia");
    namesMap.put("MC", "Mónaco");
    namesMap.put("MD", "Moldávia, República da");
    namesMap.put("MG", "Madagáscar");
    namesMap.put("MK", "Macedónia");
    namesMap.put("MM", "Mianmar");
    namesMap.put("MP", "Ilhas Mariana do Norte");
    namesMap.put("MS", "Monserrate");
    namesMap.put("MU", "Maurícias");
    namesMap.put("MW", "Malavi");
    namesMap.put("NC", "Nova Caledónia");
    namesMap.put("NL", "Países Baixos");
    namesMap.put("PG", "Papuásia-Nova Guiné");
    namesMap.put("PL", "Polónia");
    namesMap.put("PS", "Território Palestiniano");
    namesMap.put("QO", "Oceânia Insular");
    namesMap.put("RO", "Roménia");
    namesMap.put("SC", "Seicheles");
    namesMap.put("SG", "Singapura");
    namesMap.put("SI", "Eslovénia");
    namesMap.put("SM", "São Marino");
    namesMap.put("SV", "Salvador");
    namesMap.put("TC", "Ilhas Turcas e Caicos");
    namesMap.put("TJ", "Tajiquistão");
    namesMap.put("TM", "Turquemenistão");
    namesMap.put("TT", "Trindade e Tobago");
    namesMap.put("UZ", "Usbequistão");
    namesMap.put("VI", "Ilhas Virgin E.U.A.");
    namesMap.put("VN", "Vietname");
    namesMap.put("YE", "Iémen");
    namesMap.put("ZW", "Zimbabwe");
  }

  @Override
  protected JavaScriptObject loadNameMapNative() {
    return overrideMap(super.loadNameMapNative(), loadMyNameMap());
  }

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "009": "Oceânia",
        "015": "Norte de África",
        "035": "Sudeste Asiático",
        "154": "Europa do Norte",
        "AC": "Ascensão",
        "AE": "Emiratos Árabes Unidos",
        "AI": "Anguila",
        "AM": "Arménia",
        "AQ": "Antárctica",
        "AX": "Alanda",
        "AZ": "Azerbeijão",
        "BD": "Bangladeche",
        "BF": "Burkina-Faso",
        "BH": "Bahrein",
        "BJ": "Benim",
        "BS": "Baamas",
        "BY": "Bielorrússia",
        "CC": "Ilhas Cocos",
        "CG": "Congo-Brazzaville",
        "CM": "Camarões",
        "CX": "Ilha do Natal",
        "CZ": "República Checa",
        "DJ": "Jibuti",
        "EE": "Estónia",
        "EG": "Egipto",
        "EH": "Sara Ocidental",
        "FK": "Ilhas Falkland",
        "FM": "Estados Federados da Micronésia",
        "FO": "Faroé",
        "FX": "França (Írea metropolitana)",
        "GL": "Gronelândia",
        "GW": "Guiné-Bissau",
        "IR": "Irão",
        "KE": "Quénia",
        "KG": "Quirguizistão",
        "KN": "Saint Kitts e Nevis",
        "KW": "Koweit",
        "KY": "Ilhas Caimão",
        "KZ": "Cazaquistão",
        "LA": "Laos, República Popular Democrática do",
        "LK": "Sri Lanca",
        "LV": "Letónia",
        "MC": "Mónaco",
        "MD": "Moldávia, República da",
        "MG": "Madagáscar",
        "MK": "Macedónia",
        "MM": "Mianmar",
        "MP": "Ilhas Mariana do Norte",
        "MS": "Monserrate",
        "MU": "Maurícias",
        "MW": "Malavi",
        "NC": "Nova Caledónia",
        "NL": "Países Baixos",
        "PG": "Papuásia-Nova Guiné",
        "PL": "Polónia",
        "PS": "Território Palestiniano",
        "QO": "Oceânia Insular",
        "RO": "Roménia",
        "SC": "Seicheles",
        "SG": "Singapura",
        "SI": "Eslovénia",
        "SM": "São Marino",
        "SV": "Salvador",
        "TC": "Ilhas Turcas e Caicos",
        "TJ": "Tajiquistão",
        "TM": "Turquemenistão",
        "TT": "Trindade e Tobago",
        "UZ": "Usbequistão",
        "VI": "Ilhas Virgin E.U.A.",
        "VN": "Vietname",
        "YE": "Iémen",
        "ZW": "Zimbabwe"
    };
  }-*/;
}
