/*
 * 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",
        "FO",
        "GS",
        "HM",
        "FK",
        "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",
        "XA",
        "XB",
        "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("202", "África subsariana");
    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("EA", "Ceuta e Melilha");
    namesMap.put("EE", "Estónia");
    namesMap.put("EH", "Sara Ocidental");
    namesMap.put("EZ", "Zona Euro");
    namesMap.put("FK", "Ilhas Malvinas (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("MD", "Moldávia");
    namesMap.put("MG", "Madagáscar");
    namesMap.put("MK", "Macedónia");
    namesMap.put("MO", "Macau, RAE da China");
    namesMap.put("MS", "Monserrate");
    namesMap.put("MU", "Maurícia");
    namesMap.put("MW", "Maláui");
    namesMap.put("NC", "Nova Caledónia");
    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("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",
        "202": "África subsariana",
        "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",
        "EA": "Ceuta e Melilha",
        "EE": "Estónia",
        "EH": "Sara Ocidental",
        "EZ": "Zona Euro",
        "FK": "Ilhas Malvinas (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",
        "MD": "Moldávia",
        "MG": "Madagáscar",
        "MK": "Macedónia",
        "MO": "Macau, RAE da China",
        "MS": "Monserrate",
        "MU": "Maurícia",
        "MW": "Maláui",
        "NC": "Nova Caledónia",
        "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)",
        "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é"
    };
  }-*/;
}
