/*
 * 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",
        "XA",
        "XB",
        "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("202", "Africa Subsahariană");
    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("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ă",
        "202": "Africa Subsahariană",
        "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",
        "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ă"
    };
  }-*/;
}
