/*
 * Copyright 2012 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_MZ" locale.
 */
public class LocalizedNamesImpl_pt_MZ extends LocalizedNamesImpl_pt {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("009", "Oceânia");
    namesMap.put("015", "Norte de África");
    namesMap.put("018", "África Austral");
    namesMap.put("029", "Caraíbas");
    namesMap.put("034", "Ásia do Sul");
    namesMap.put("039", "Europa do Sul");
    namesMap.put("154", "Europa do Norte");
    namesMap.put("AI", "Anguila");
    namesMap.put("AM", "Arménia");
    namesMap.put("AX", "Alanda");
    namesMap.put("BD", "Bangladeche");
    namesMap.put("BH", "Barém");
    namesMap.put("BJ", "Benim");
    namesMap.put("BS", "Baamas");
    namesMap.put("CC", "Ilhas dos Cocos (Keeling)");
    namesMap.put("CD", "Congo-Kinshasa");
    namesMap.put("CG", "Congo-Brazzaville");
    namesMap.put("CI", "Côte d’Ivoire (Costa do Marfim)");
    namesMap.put("CW", "Curaçau");
    namesMap.put("CX", "Ilha do Natal");
    namesMap.put("CZ", "Chéquia");
    namesMap.put("DJ", "Jibuti");
    namesMap.put("DM", "Domínica");
    namesMap.put("EE", "Estónia");
    namesMap.put("EH", "Sara Ocidental");
    namesMap.put("EZ", "Zona Euro");
    namesMap.put("FK", "Ilhas Falkland");
    namesMap.put("FO", "Ilhas Faroé");
    namesMap.put("GG", "Guernesey");
    namesMap.put("GL", "Gronelândia");
    namesMap.put("GU", "Guame");
    namesMap.put("IR", "Irão");
    namesMap.put("KE", "Quénia");
    namesMap.put("KI", "Quiribáti");
    namesMap.put("KN", "São Cristóvão e Neves");
    namesMap.put("KW", "Koweit");
    namesMap.put("KY", "Ilhas Caimão");
    namesMap.put("LI", "Listenstaine");
    namesMap.put("LK", "Sri Lanca");
    namesMap.put("LV", "Letónia");
    namesMap.put("MC", "Mónaco");
    namesMap.put("MG", "Madagáscar");
    namesMap.put("MK", "Macedónia");
    namesMap.put("MS", "Monserrate");
    namesMap.put("MU", "Maurícia");
    namesMap.put("MW", "Maláui");
    namesMap.put("NC", "Nova Caledónia");
    namesMap.put("NL", "Países Baixos");
    namesMap.put("NU", "Niuê");
    namesMap.put("PL", "Polónia");
    namesMap.put("PS", "Territórios palestinianos");
    namesMap.put("QO", "Oceânia Insular");
    namesMap.put("RO", "Roménia");
    namesMap.put("SI", "Eslovénia");
    namesMap.put("SM", "São Marinho");
    namesMap.put("SV", "Salvador");
    namesMap.put("SX", "São Martinho (Sint Maarten)");
    namesMap.put("TC", "Ilhas Turcas e Caicos");
    namesMap.put("TJ", "Tajiquistão");
    namesMap.put("TK", "Toquelau");
    namesMap.put("TM", "Turquemenistão");
    namesMap.put("TT", "Trindade e Tobago");
    namesMap.put("UM", "Ilhas Menores Afastadas dos EUA");
    namesMap.put("UZ", "Usbequistão");
    namesMap.put("VI", "Ilhas Virgens dos EUA");
    namesMap.put("VN", "Vietname");
    namesMap.put("YE", "Iémen");
    namesMap.put("YT", "Maiote");
    namesMap.put("ZW", "Zimbabué");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "009": "Oceânia",
        "015": "Norte de África",
        "018": "África Austral",
        "029": "Caraíbas",
        "034": "Ásia do Sul",
        "039": "Europa do Sul",
        "154": "Europa do Norte",
        "AI": "Anguila",
        "AM": "Arménia",
        "AX": "Alanda",
        "BD": "Bangladeche",
        "BH": "Barém",
        "BJ": "Benim",
        "BS": "Baamas",
        "CC": "Ilhas dos Cocos (Keeling)",
        "CD": "Congo-Kinshasa",
        "CG": "Congo-Brazzaville",
        "CI": "Côte d’Ivoire (Costa do Marfim)",
        "CW": "Curaçau",
        "CX": "Ilha do Natal",
        "CZ": "Chéquia",
        "DJ": "Jibuti",
        "DM": "Domínica",
        "EE": "Estónia",
        "EH": "Sara Ocidental",
        "EZ": "Zona Euro",
        "FK": "Ilhas Falkland",
        "FO": "Ilhas Faroé",
        "GG": "Guernesey",
        "GL": "Gronelândia",
        "GU": "Guame",
        "IR": "Irão",
        "KE": "Quénia",
        "KI": "Quiribáti",
        "KN": "São Cristóvão e Neves",
        "KW": "Koweit",
        "KY": "Ilhas Caimão",
        "LI": "Listenstaine",
        "LK": "Sri Lanca",
        "LV": "Letónia",
        "MC": "Mónaco",
        "MG": "Madagáscar",
        "MK": "Macedónia",
        "MS": "Monserrate",
        "MU": "Maurícia",
        "MW": "Maláui",
        "NC": "Nova Caledónia",
        "NL": "Países Baixos",
        "NU": "Niuê",
        "PL": "Polónia",
        "PS": "Territórios palestinianos",
        "QO": "Oceânia Insular",
        "RO": "Roménia",
        "SI": "Eslovénia",
        "SM": "São Marinho",
        "SV": "Salvador",
        "SX": "São Martinho (Sint Maarten)",
        "TC": "Ilhas Turcas e Caicos",
        "TJ": "Tajiquistão",
        "TK": "Toquelau",
        "TM": "Turquemenistão",
        "TT": "Trindade e Tobago",
        "UM": "Ilhas Menores Afastadas dos EUA",
        "UZ": "Usbequistão",
        "VI": "Ilhas Virgens dos EUA",
        "VN": "Vietname",
        "YE": "Iémen",
        "YT": "Maiote",
        "ZW": "Zimbabué"
    };
  }-*/;
}
