/*
 * 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 "ro" locale.
 */
public class LocalizedNamesImpl_ro extends LocalizedNamesImpl {

  @Override
  public String[] loadLikelyRegionCodes() {
    return new String[] {
        "RO",
    };
  }

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Lume");
    namesMap.put("003", "America de Nord");
    namesMap.put("005", "America de Sud");
    namesMap.put("011", "Africa Occidentală");
    namesMap.put("013", "America Centrală");
    namesMap.put("014", "Africa Orientală");
    namesMap.put("015", "Africa Septentrională");
    namesMap.put("017", "Africa Centrală");
    namesMap.put("018", "Africa Meridională");
    namesMap.put("019", "Americi");
    namesMap.put("021", "America Septentrională");
    namesMap.put("029", "Caraibe");
    namesMap.put("030", "Asia Orientală");
    namesMap.put("034", "Asia Meridională");
    namesMap.put("035", "Asia de Sud-Est");
    namesMap.put("039", "Europa Meridională");
    namesMap.put("054", "Melanezia");
    namesMap.put("057", "Regiunea Micronezia");
    namesMap.put("061", "Polinezia");
    namesMap.put("143", "Asia Centrală");
    namesMap.put("145", "Asia Occidentală");
    namesMap.put("150", "Europa");
    namesMap.put("151", "Europa Orientală");
    namesMap.put("154", "Europa Septentrională");
    namesMap.put("155", "Europa Occidentală");
    namesMap.put("419", "America Latină");
    namesMap.put("AC", "Insula Ascension");
    namesMap.put("AE", "Emiratele Arabe Unite");
    namesMap.put("AF", "Afganistan");
    namesMap.put("AG", "Antigua și Barbuda");
    namesMap.put("AS", "Samoa Americană");
    namesMap.put("AX", "Insulele Åland");
    namesMap.put("AZ", "Azerbaidjan");
    namesMap.put("BA", "Bosnia și Herțegovina");
    namesMap.put("BE", "Belgia");
    namesMap.put("BL", "Saint-Barthélemy");
    namesMap.put("BQ", "Insulele Caraibe Olandeze");
    namesMap.put("BR", "Brazilia");
    namesMap.put("BV", "Insula Bouvet");
    namesMap.put("CC", "Insulele Cocos (Keeling)");
    namesMap.put("CF", "Republica Centrafricană");
    namesMap.put("CH", "Elveția");
    namesMap.put("CK", "Insulele Cook");
    namesMap.put("CM", "Camerun");
    namesMap.put("CO", "Columbia");
    namesMap.put("CP", "Insula Clipperton");
    namesMap.put("CV", "Capul Verde");
    namesMap.put("CX", "Insula Christmas");
    namesMap.put("CY", "Cipru");
    namesMap.put("CZ", "Cehia");
    namesMap.put("DE", "Germania");
    namesMap.put("DK", "Danemarca");
    namesMap.put("DO", "Republica Dominicană");
    namesMap.put("EA", "Ceuta și Melilla");
    namesMap.put("EG", "Egipt");
    namesMap.put("EH", "Sahara Occidentală");
    namesMap.put("ER", "Eritreea");
    namesMap.put("ES", "Spania");
    namesMap.put("ET", "Etiopia");
    namesMap.put("EU", "Uniunea Europeană");
    namesMap.put("EZ", "Zona euro");
    namesMap.put("FI", "Finlanda");
    namesMap.put("FK", "Insulele Falkland");
    namesMap.put("FM", "Micronezia");
    namesMap.put("FO", "Insulele Feroe");
    namesMap.put("FR", "Franța");
    namesMap.put("GB", "Regatul Unit");
    namesMap.put("GF", "Guyana Franceză");
    namesMap.put("GL", "Groenlanda");
    namesMap.put("GN", "Guineea");
    namesMap.put("GP", "Guadelupa");
    namesMap.put("GQ", "Guineea Ecuatorială");
    namesMap.put("GR", "Grecia");
    namesMap.put("GS", "Georgia de Sud și Insulele Sandwich de Sud");
    namesMap.put("GW", "Guineea-Bissau");
    namesMap.put("HK", "R.A.S. Hong Kong a Chinei");
    namesMap.put("HM", "Insula Heard și Insulele McDonald");
    namesMap.put("HR", "Croația");
    namesMap.put("HU", "Ungaria");
    namesMap.put("IC", "Insulele Canare");
    namesMap.put("ID", "Indonezia");
    namesMap.put("IE", "Irlanda");
    namesMap.put("IM", "Insula Man");
    namesMap.put("IO", "Teritoriul Britanic din Oceanul Indian");
    namesMap.put("IQ", "Irak");
    namesMap.put("IS", "Islanda");
    namesMap.put("IT", "Italia");
    namesMap.put("JO", "Iordania");
    namesMap.put("JP", "Japonia");
    namesMap.put("KG", "Kârgâzstan");
    namesMap.put("KH", "Cambodgia");
    namesMap.put("KM", "Comore");
    namesMap.put("KN", "Saint Kitts și Nevis");
    namesMap.put("KP", "Coreea de Nord");
    namesMap.put("KR", "Coreea de Sud");
    namesMap.put("KW", "Kuweit");
    namesMap.put("KY", "Insulele Cayman");
    namesMap.put("KZ", "Kazahstan");
    namesMap.put("LB", "Liban");
    namesMap.put("LC", "Sfânta Lucia");
    namesMap.put("LT", "Lituania");
    namesMap.put("LU", "Luxemburg");
    namesMap.put("LV", "Letonia");
    namesMap.put("LY", "Libia");
    namesMap.put("MA", "Maroc");
    namesMap.put("MD", "Republica Moldova");
    namesMap.put("ME", "Muntenegru");
    namesMap.put("MF", "Sfântul Martin");
    namesMap.put("MH", "Insulele Marshall");
    namesMap.put("MK", "Republica Macedonia");
    namesMap.put("MM", "Myanmar (Birmania)");
    namesMap.put("MO", "R.A.S. Macao a Chinei");
    namesMap.put("MP", "Insulele Mariane de Nord");
    namesMap.put("MQ", "Martinica");
    namesMap.put("MV", "Maldive");
    namesMap.put("MX", "Mexic");
    namesMap.put("MZ", "Mozambic");
    namesMap.put("NC", "Noua Caledonie");
    namesMap.put("NF", "Insula Norfolk");
    namesMap.put("NL", "Țările de Jos");
    namesMap.put("NO", "Norvegia");
    namesMap.put("NZ", "Noua Zeelandă");
    namesMap.put("PF", "Polinezia Franceză");
    namesMap.put("PG", "Papua-Noua Guinee");
    namesMap.put("PH", "Filipine");
    namesMap.put("PL", "Polonia");
    namesMap.put("PM", "Saint-Pierre și Miquelon");
    namesMap.put("PN", "Insulele Pitcairn");
    namesMap.put("PS", "Teritoriile Palestiniene");
    namesMap.put("PT", "Portugalia");
    namesMap.put("QO", "Oceania Periferică");
    namesMap.put("RO", "România");
    namesMap.put("RU", "Rusia");
    namesMap.put("SA", "Arabia Saudită");
    namesMap.put("SB", "Insulele Solomon");
    namesMap.put("SE", "Suedia");
    namesMap.put("SH", "Sfânta Elena");
    namesMap.put("SJ", "Svalbard și Jan Mayen");
    namesMap.put("SK", "Slovacia");
    namesMap.put("SS", "Sudanul de Sud");
    namesMap.put("ST", "Sao Tome și Principe");
    namesMap.put("SX", "Sint-Maarten");
    namesMap.put("SY", "Siria");
    namesMap.put("TC", "Insulele Turks și Caicos");
    namesMap.put("TD", "Ciad");
    namesMap.put("TF", "Teritoriile Australe și Antarctice Franceze");
    namesMap.put("TH", "Thailanda");
    namesMap.put("TJ", "Tadjikistan");
    namesMap.put("TL", "Timorul de Est");
    namesMap.put("TR", "Turcia");
    namesMap.put("TT", "Trinidad și Tobago");
    namesMap.put("UA", "Ucraina");
    namesMap.put("UM", "Insulele Îndepărtate ale S.U.A.");
    namesMap.put("UN", "Națiunile Unite");
    namesMap.put("US", "Statele Unite ale Americii");
    namesMap.put("VA", "Statul Cetății Vaticanului");
    namesMap.put("VC", "Saint Vincent și Grenadinele");
    namesMap.put("VG", "Insulele Virgine Britanice");
    namesMap.put("VI", "Insulele Virgine Americane");
    namesMap.put("WF", "Wallis și Futuna");
    namesMap.put("ZA", "Africa de Sud");
    namesMap.put("ZZ", "Regiune necunoscută");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Lume",
        "003": "America de Nord",
        "005": "America de Sud",
        "011": "Africa Occidentală",
        "013": "America Centrală",
        "014": "Africa Orientală",
        "015": "Africa Septentrională",
        "017": "Africa Centrală",
        "018": "Africa Meridională",
        "019": "Americi",
        "021": "America Septentrională",
        "029": "Caraibe",
        "030": "Asia Orientală",
        "034": "Asia Meridională",
        "035": "Asia de Sud-Est",
        "039": "Europa Meridională",
        "054": "Melanezia",
        "057": "Regiunea Micronezia",
        "061": "Polinezia",
        "143": "Asia Centrală",
        "145": "Asia Occidentală",
        "150": "Europa",
        "151": "Europa Orientală",
        "154": "Europa Septentrională",
        "155": "Europa Occidentală",
        "419": "America Latină",
        "AC": "Insula Ascension",
        "AE": "Emiratele Arabe Unite",
        "AF": "Afganistan",
        "AG": "Antigua și Barbuda",
        "AS": "Samoa Americană",
        "AX": "Insulele Åland",
        "AZ": "Azerbaidjan",
        "BA": "Bosnia și Herțegovina",
        "BE": "Belgia",
        "BL": "Saint-Barthélemy",
        "BQ": "Insulele Caraibe Olandeze",
        "BR": "Brazilia",
        "BV": "Insula Bouvet",
        "CC": "Insulele Cocos (Keeling)",
        "CF": "Republica Centrafricană",
        "CH": "Elveția",
        "CK": "Insulele Cook",
        "CM": "Camerun",
        "CO": "Columbia",
        "CP": "Insula Clipperton",
        "CV": "Capul Verde",
        "CX": "Insula Christmas",
        "CY": "Cipru",
        "CZ": "Cehia",
        "DE": "Germania",
        "DK": "Danemarca",
        "DO": "Republica Dominicană",
        "EA": "Ceuta și Melilla",
        "EG": "Egipt",
        "EH": "Sahara Occidentală",
        "ER": "Eritreea",
        "ES": "Spania",
        "ET": "Etiopia",
        "EU": "Uniunea Europeană",
        "EZ": "Zona euro",
        "FI": "Finlanda",
        "FK": "Insulele Falkland",
        "FM": "Micronezia",
        "FO": "Insulele Feroe",
        "FR": "Franța",
        "GB": "Regatul Unit",
        "GF": "Guyana Franceză",
        "GL": "Groenlanda",
        "GN": "Guineea",
        "GP": "Guadelupa",
        "GQ": "Guineea Ecuatorială",
        "GR": "Grecia",
        "GS": "Georgia de Sud și Insulele Sandwich de Sud",
        "GW": "Guineea-Bissau",
        "HK": "R.A.S. Hong Kong a Chinei",
        "HM": "Insula Heard și Insulele McDonald",
        "HR": "Croația",
        "HU": "Ungaria",
        "IC": "Insulele Canare",
        "ID": "Indonezia",
        "IE": "Irlanda",
        "IM": "Insula Man",
        "IO": "Teritoriul Britanic din Oceanul Indian",
        "IQ": "Irak",
        "IS": "Islanda",
        "IT": "Italia",
        "JO": "Iordania",
        "JP": "Japonia",
        "KG": "Kârgâzstan",
        "KH": "Cambodgia",
        "KM": "Comore",
        "KN": "Saint Kitts și Nevis",
        "KP": "Coreea de Nord",
        "KR": "Coreea de Sud",
        "KW": "Kuweit",
        "KY": "Insulele Cayman",
        "KZ": "Kazahstan",
        "LB": "Liban",
        "LC": "Sfânta Lucia",
        "LT": "Lituania",
        "LU": "Luxemburg",
        "LV": "Letonia",
        "LY": "Libia",
        "MA": "Maroc",
        "MD": "Republica Moldova",
        "ME": "Muntenegru",
        "MF": "Sfântul Martin",
        "MH": "Insulele Marshall",
        "MK": "Republica Macedonia",
        "MM": "Myanmar (Birmania)",
        "MO": "R.A.S. Macao a Chinei",
        "MP": "Insulele Mariane de Nord",
        "MQ": "Martinica",
        "MV": "Maldive",
        "MX": "Mexic",
        "MZ": "Mozambic",
        "NC": "Noua Caledonie",
        "NF": "Insula Norfolk",
        "NL": "Țările de Jos",
        "NO": "Norvegia",
        "NZ": "Noua Zeelandă",
        "PF": "Polinezia Franceză",
        "PG": "Papua-Noua Guinee",
        "PH": "Filipine",
        "PL": "Polonia",
        "PM": "Saint-Pierre și Miquelon",
        "PN": "Insulele Pitcairn",
        "PS": "Teritoriile Palestiniene",
        "PT": "Portugalia",
        "QO": "Oceania Periferică",
        "RO": "România",
        "RU": "Rusia",
        "SA": "Arabia Saudită",
        "SB": "Insulele Solomon",
        "SE": "Suedia",
        "SH": "Sfânta Elena",
        "SJ": "Svalbard și Jan Mayen",
        "SK": "Slovacia",
        "SS": "Sudanul de Sud",
        "ST": "Sao Tome și Principe",
        "SX": "Sint-Maarten",
        "SY": "Siria",
        "TC": "Insulele Turks și Caicos",
        "TD": "Ciad",
        "TF": "Teritoriile Australe și Antarctice Franceze",
        "TH": "Thailanda",
        "TJ": "Tadjikistan",
        "TL": "Timorul de Est",
        "TR": "Turcia",
        "TT": "Trinidad și Tobago",
        "UA": "Ucraina",
        "UM": "Insulele Îndepărtate ale S.U.A.",
        "UN": "Națiunile Unite",
        "US": "Statele Unite ale Americii",
        "VA": "Statul Cetății Vaticanului",
        "VC": "Saint Vincent și Grenadinele",
        "VG": "Insulele Virgine Britanice",
        "VI": "Insulele Virgine Americane",
        "WF": "Wallis și Futuna",
        "ZA": "Africa de Sud",
        "ZZ": "Regiune necunoscută"
    };
  }-*/;
}
