/*
 * 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:
//  cldrVersion=21.0
//  number=$Revision: 5798 $
//  date=$Date: 2011-05-02 02:05:34 -0400 (Mon, 02 May 2011) $
//  type=root


/**
 * Localized names for the "pt_MZ" locale.
 */
public class LocalizedNamesImpl_pt_MZ extends LocalizedNamesImpl_pt {

  @Override
  public String[] loadSortedRegionCodes() {
    return new String[] {
        "AF",
        "ZA",
        "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",
        "BQ",
        "BR",
        "BN",
        "BG",
        "BF",
        "BI",
        "BT",
        "CV",
        "CM",
        "KH",
        "CA",
        "KZ",
        "EA",
        "TD",
        "CL",
        "CN",
        "CY",
        "CO",
        "KM",
        "CG",
        "CD",
        "KP",
        "KR",
        "CI",
        "CR",
        "HR",
        "CU",
        "CW",
        "DG",
        "DK",
        "DJ",
        "DM",
        "EG",
        "SV",
        "AE",
        "EC",
        "ER",
        "SK",
        "SI",
        "ES",
        "FM",
        "US",
        "EE",
        "ET",
        "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",
        "AX",
        "KY",
        "IC",
        "CC",
        "CK",
        "FK",
        "FO",
        "MP",
        "MH",
        "UM",
        "SB",
        "TC",
        "VG",
        "VI",
        "IN",
        "ID",
        "IR",
        "IQ",
        "IE",
        "IS",
        "IL",
        "IT",
        "JM",
        "JP",
        "JE",
        "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",
        "QA",
        "KE",
        "KG",
        "KI",
        "GB",
        "CF",
        "CZ",
        "DO",
        "RE",
        "RO",
        "RW",
        "RU",
        "KN",
        "PM",
        "WS",
        "AS",
        "SH",
        "LC",
        "BL",
        "SM",
        "MF",
        "ST",
        "VC",
        "EH",
        "SC",
        "SN",
        "SL",
        "RS",
        "CS",
        "SG",
        "SY",
        "SO",
        "LK",
        "SS",
        "SZ",
        "SD",
        "SE",
        "CH",
        "SR",
        "SJ",
        "SX",
        "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", "Ilhas Åland");
    namesMap.put("BF", "Burkina-Faso");
    namesMap.put("BH", "Bahrein");
    namesMap.put("BJ", "Benim");
    namesMap.put("BW", "Botswana");
    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("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", "Ilhas Faroé");
    namesMap.put("FX", "França (continental)");
    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("KY", "Ilhas Caimão");
    namesMap.put("KZ", "Cazaquistão");
    namesMap.put("LA", "Laos, República Popular Democrática do");
    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("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("QA", "Qatar");
    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("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 Virgens 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": "Ilhas Åland",
        "BF": "Burkina-Faso",
        "BH": "Bahrein",
        "BJ": "Benim",
        "BW": "Botswana",
        "BY": "Bielorrússia",
        "CC": "Ilhas Cocos",
        "CG": "Congo-Brazzaville",
        "CM": "Camarões",
        "CX": "Ilha do Natal",
        "CZ": "República Checa",
        "EE": "Estónia",
        "EG": "Egipto",
        "EH": "Sara Ocidental",
        "FK": "Ilhas Falkland",
        "FM": "Estados Federados da Micronésia",
        "FO": "Ilhas Faroé",
        "FX": "França (continental)",
        "GL": "Gronelândia",
        "GW": "Guiné-Bissau",
        "IR": "Irão",
        "KE": "Quénia",
        "KG": "Quirguizistão",
        "KN": "Saint Kitts e Nevis",
        "KY": "Ilhas Caimão",
        "KZ": "Cazaquistão",
        "LA": "Laos, República Popular Democrática do",
        "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",
        "NC": "Nova Caledónia",
        "NL": "Países Baixos",
        "PG": "Papuásia-Nova Guiné",
        "PL": "Polónia",
        "PS": "Território Palestiniano",
        "QA": "Qatar",
        "QO": "Oceânia Insular",
        "RO": "Roménia",
        "SC": "Seicheles",
        "SG": "Singapura",
        "SI": "Eslovénia",
        "SM": "São Marino",
        "TC": "Ilhas Turcas e Caicos",
        "TJ": "Tajiquistão",
        "TM": "Turquemenistão",
        "TT": "Trindade e Tobago",
        "UZ": "Usbequistão",
        "VI": "Ilhas Virgens E.U.A.",
        "VN": "Vietname",
        "YE": "Iémen",
        "ZW": "Zimbabwe"
    };
  }-*/;
}
