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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "mund");
    namesMap.put("003", "America dal Nord");
    namesMap.put("005", "America dal Sid");
    namesMap.put("011", "Africa dal Vest");
    namesMap.put("013", "America Centrala");
    namesMap.put("014", "Africa da l’Ost");
    namesMap.put("015", "Africa dal Nord");
    namesMap.put("017", "Africa Centrala");
    namesMap.put("018", "Africa Meridiunala");
    namesMap.put("019", "America dal Nord, America Centrala ed America dal Sid");
    namesMap.put("029", "Caribica");
    namesMap.put("030", "Asia da l’Ost");
    namesMap.put("034", "Asia dal Sid");
    namesMap.put("035", "Asia dal Sidost");
    namesMap.put("039", "Europa dal Sid");
    namesMap.put("053", "Australia e Nova Zelanda");
    namesMap.put("057", "Regiun Micronesica");
    namesMap.put("061", "Polinesia");
    namesMap.put("143", "Asia Centrala");
    namesMap.put("145", "Asia dal Vest");
    namesMap.put("150", "Europa");
    namesMap.put("151", "Europa Orientala");
    namesMap.put("154", "Europa dal Nord");
    namesMap.put("155", "Europa dal Vest");
    namesMap.put("419", "America Latina");
    namesMap.put("AE", "Emirats Arabs Unids");
    namesMap.put("AG", "Antigua e Barbuda");
    namesMap.put("AR", "Argentinia");
    namesMap.put("AS", "Samoa Americana");
    namesMap.put("AX", "Inslas Aland");
    namesMap.put("AZ", "Aserbaidschan");
    namesMap.put("BA", "Bosnia ed Erzegovina");
    namesMap.put("BD", "Bangladesch");
    namesMap.put("BE", "Belgia");
    namesMap.put("BL", "Son Barthélemy");
    namesMap.put("BM", "Bermudas");
    namesMap.put("BR", "Brasilia");
    namesMap.put("BV", "Insla Bouvet");
    namesMap.put("BY", "Bielorussia");
    namesMap.put("CC", "Inslas Cocos");
    namesMap.put("CD", "Republica Democratica dal Congo");
    namesMap.put("CF", "Republica Centralafricana");
    namesMap.put("CG", "Congo");
    namesMap.put("CH", "Svizra");
    namesMap.put("CI", "Costa d’Ivur");
    namesMap.put("CK", "Inslas Cook");
    namesMap.put("CM", "Camerun");
    namesMap.put("CO", "Columbia");
    namesMap.put("CV", "Cap Verd");
    namesMap.put("CX", "Insla da Christmas");
    namesMap.put("CY", "Cipra");
    namesMap.put("CZ", "Republica Tscheca");
    namesMap.put("DE", "Germania");
    namesMap.put("DJ", "Dschibuti");
    namesMap.put("DK", "Danemarc");
    namesMap.put("DO", "Republica Dominicana");
    namesMap.put("EG", "Egipta");
    namesMap.put("EH", "Sahara Occidentala");
    namesMap.put("ES", "Spagna");
    namesMap.put("ET", "Etiopia");
    namesMap.put("EU", "Uniun europeica");
    namesMap.put("FI", "Finlanda");
    namesMap.put("FJ", "Fidschi");
    namesMap.put("FK", "Inslas dal Falkland");
    namesMap.put("FO", "Inslas Feroe");
    namesMap.put("FR", "Frantscha");
    namesMap.put("GA", "Gabun");
    namesMap.put("GB", "Reginavel Unì");
    namesMap.put("GF", "Guyana Franzosa");
    namesMap.put("GL", "Grönlanda");
    namesMap.put("GQ", "Guinea Equatoriala");
    namesMap.put("GR", "Grezia");
    namesMap.put("GS", "Georgia dal Sid e las Inslas Sandwich dal Sid");
    namesMap.put("HK", "Regiun d’administraziun speziala da Hongkong, China");
    namesMap.put("HM", "Inslas da Heard e da McDonald");
    namesMap.put("HR", "Croazia");
    namesMap.put("HU", "Ungaria");
    namesMap.put("IE", "Irlanda");
    namesMap.put("IM", "Insla da Man");
    namesMap.put("IO", "Territori Britannic en l’Ocean Indic");
    namesMap.put("IQ", "Irac");
    namesMap.put("IS", "Islanda");
    namesMap.put("IT", "Italia");
    namesMap.put("JM", "Giamaica");
    namesMap.put("JO", "Jordania");
    namesMap.put("JP", "Giapun");
    namesMap.put("KE", "Kenia");
    namesMap.put("KG", "Kirghisistan");
    namesMap.put("KH", "Cambodscha");
    namesMap.put("KM", "Comoras");
    namesMap.put("KN", "Saint Kitts e Nevis");
    namesMap.put("KP", "Corea dal Nord");
    namesMap.put("KR", "Corea dal Sid");
    namesMap.put("KY", "Inslas Cayman");
    namesMap.put("KZ", "Kasachstan");
    namesMap.put("LB", "Libanon");
    namesMap.put("LC", "Saint Lucia");
    namesMap.put("LT", "Lituania");
    namesMap.put("LU", "Luxemburg");
    namesMap.put("LV", "Lettonia");
    namesMap.put("LY", "Libia");
    namesMap.put("MA", "Maroc");
    namesMap.put("MD", "Moldavia");
    namesMap.put("MF", "Saint Martin");
    namesMap.put("MH", "Inslas da Marshall");
    namesMap.put("MM", "Myanmar");
    namesMap.put("MO", "Regiun d’administraziun speziala Macao, China");
    namesMap.put("MP", "Inslas Mariannas dal Nord");
    namesMap.put("MR", "Mauretania");
    namesMap.put("MV", "Maldivas");
    namesMap.put("MY", "Malaisia");
    namesMap.put("MZ", "Mosambic");
    namesMap.put("NC", "Nova Caledonia");
    namesMap.put("NF", "Insla Norfolk");
    namesMap.put("NL", "Pajais Bass");
    namesMap.put("NO", "Norvegia");
    namesMap.put("NZ", "Nova Zelanda");
    namesMap.put("PF", "Polinesia Franzosa");
    namesMap.put("PG", "Papua Nova Guinea");
    namesMap.put("PH", "Filippinas");
    namesMap.put("PL", "Pologna");
    namesMap.put("PM", "Saint Pierre e Miquelon");
    namesMap.put("PN", "Pitcairn");
    namesMap.put("PS", "Territori Palestinais");
    namesMap.put("PY", "Paraguai");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "Oceania Periferica");
    namesMap.put("RO", "Rumenia");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SA", "Arabia Saudita");
    namesMap.put("SB", "Salomonas");
    namesMap.put("SC", "Seychellas");
    namesMap.put("SE", "Svezia");
    namesMap.put("SG", "Singapur");
    namesMap.put("SH", "Sontg’Elena");
    namesMap.put("SJ", "Svalbard e Jan Mayen");
    namesMap.put("SK", "Slovachia");
    namesMap.put("SR", "Surinam");
    namesMap.put("SS", "Sudan dal Sid");
    namesMap.put("ST", "São Tomé e Principe");
    namesMap.put("SY", "Siria");
    namesMap.put("TC", "Inslas Turks e Caicos");
    namesMap.put("TD", "Tschad");
    namesMap.put("TF", "Territoris Franzos Meridiunals");
    namesMap.put("TH", "Tailanda");
    namesMap.put("TJ", "Tadschikistan");
    namesMap.put("TL", "Timor da l’Ost");
    namesMap.put("TN", "Tunesia");
    namesMap.put("TR", "Tirchia");
    namesMap.put("TT", "Trinidad e Tobago");
    namesMap.put("TZ", "Tansania");
    namesMap.put("UA", "Ucraina");
    namesMap.put("UM", "Inslas pitschnas perifericas dals Stadis Unids da l’America");
    namesMap.put("US", "Stadis Unids da l’America");
    namesMap.put("UZ", "Usbekistan");
    namesMap.put("VA", "Citad dal Vatican");
    namesMap.put("VC", "Saint Vincent e las Grenadinas");
    namesMap.put("VG", "Inslas Virginas Britannicas");
    namesMap.put("VI", "Inslas Virginas Americanas");
    namesMap.put("WF", "Wallis e Futuna");
    namesMap.put("YE", "Jemen");
    namesMap.put("ZA", "Africa dal Sid");
    namesMap.put("ZM", "Sambia");
    namesMap.put("ZW", "Simbabwe");
    namesMap.put("ZZ", "Regiun betg encouschenta u nunvalaivla");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "mund",
        "003": "America dal Nord",
        "005": "America dal Sid",
        "011": "Africa dal Vest",
        "013": "America Centrala",
        "014": "Africa da l’Ost",
        "015": "Africa dal Nord",
        "017": "Africa Centrala",
        "018": "Africa Meridiunala",
        "019": "America dal Nord, America Centrala ed America dal Sid",
        "029": "Caribica",
        "030": "Asia da l’Ost",
        "034": "Asia dal Sid",
        "035": "Asia dal Sidost",
        "039": "Europa dal Sid",
        "053": "Australia e Nova Zelanda",
        "057": "Regiun Micronesica",
        "061": "Polinesia",
        "143": "Asia Centrala",
        "145": "Asia dal Vest",
        "150": "Europa",
        "151": "Europa Orientala",
        "154": "Europa dal Nord",
        "155": "Europa dal Vest",
        "419": "America Latina",
        "AE": "Emirats Arabs Unids",
        "AG": "Antigua e Barbuda",
        "AR": "Argentinia",
        "AS": "Samoa Americana",
        "AX": "Inslas Aland",
        "AZ": "Aserbaidschan",
        "BA": "Bosnia ed Erzegovina",
        "BD": "Bangladesch",
        "BE": "Belgia",
        "BL": "Son Barthélemy",
        "BM": "Bermudas",
        "BR": "Brasilia",
        "BV": "Insla Bouvet",
        "BY": "Bielorussia",
        "CC": "Inslas Cocos",
        "CD": "Republica Democratica dal Congo",
        "CF": "Republica Centralafricana",
        "CG": "Congo",
        "CH": "Svizra",
        "CI": "Costa d’Ivur",
        "CK": "Inslas Cook",
        "CM": "Camerun",
        "CO": "Columbia",
        "CV": "Cap Verd",
        "CX": "Insla da Christmas",
        "CY": "Cipra",
        "CZ": "Republica Tscheca",
        "DE": "Germania",
        "DJ": "Dschibuti",
        "DK": "Danemarc",
        "DO": "Republica Dominicana",
        "EG": "Egipta",
        "EH": "Sahara Occidentala",
        "ES": "Spagna",
        "ET": "Etiopia",
        "EU": "Uniun europeica",
        "FI": "Finlanda",
        "FJ": "Fidschi",
        "FK": "Inslas dal Falkland",
        "FO": "Inslas Feroe",
        "FR": "Frantscha",
        "GA": "Gabun",
        "GB": "Reginavel Unì",
        "GF": "Guyana Franzosa",
        "GL": "Grönlanda",
        "GQ": "Guinea Equatoriala",
        "GR": "Grezia",
        "GS": "Georgia dal Sid e las Inslas Sandwich dal Sid",
        "HK": "Regiun d’administraziun speziala da Hongkong, China",
        "HM": "Inslas da Heard e da McDonald",
        "HR": "Croazia",
        "HU": "Ungaria",
        "IE": "Irlanda",
        "IM": "Insla da Man",
        "IO": "Territori Britannic en l’Ocean Indic",
        "IQ": "Irac",
        "IS": "Islanda",
        "IT": "Italia",
        "JM": "Giamaica",
        "JO": "Jordania",
        "JP": "Giapun",
        "KE": "Kenia",
        "KG": "Kirghisistan",
        "KH": "Cambodscha",
        "KM": "Comoras",
        "KN": "Saint Kitts e Nevis",
        "KP": "Corea dal Nord",
        "KR": "Corea dal Sid",
        "KY": "Inslas Cayman",
        "KZ": "Kasachstan",
        "LB": "Libanon",
        "LC": "Saint Lucia",
        "LT": "Lituania",
        "LU": "Luxemburg",
        "LV": "Lettonia",
        "LY": "Libia",
        "MA": "Maroc",
        "MD": "Moldavia",
        "MF": "Saint Martin",
        "MH": "Inslas da Marshall",
        "MM": "Myanmar",
        "MO": "Regiun d’administraziun speziala Macao, China",
        "MP": "Inslas Mariannas dal Nord",
        "MR": "Mauretania",
        "MV": "Maldivas",
        "MY": "Malaisia",
        "MZ": "Mosambic",
        "NC": "Nova Caledonia",
        "NF": "Insla Norfolk",
        "NL": "Pajais Bass",
        "NO": "Norvegia",
        "NZ": "Nova Zelanda",
        "PF": "Polinesia Franzosa",
        "PG": "Papua Nova Guinea",
        "PH": "Filippinas",
        "PL": "Pologna",
        "PM": "Saint Pierre e Miquelon",
        "PN": "Pitcairn",
        "PS": "Territori Palestinais",
        "PY": "Paraguai",
        "QA": "Katar",
        "QO": "Oceania Periferica",
        "RO": "Rumenia",
        "RW": "Ruanda",
        "SA": "Arabia Saudita",
        "SB": "Salomonas",
        "SC": "Seychellas",
        "SE": "Svezia",
        "SG": "Singapur",
        "SH": "Sontg’Elena",
        "SJ": "Svalbard e Jan Mayen",
        "SK": "Slovachia",
        "SR": "Surinam",
        "SS": "Sudan dal Sid",
        "ST": "São Tomé e Principe",
        "SY": "Siria",
        "TC": "Inslas Turks e Caicos",
        "TD": "Tschad",
        "TF": "Territoris Franzos Meridiunals",
        "TH": "Tailanda",
        "TJ": "Tadschikistan",
        "TL": "Timor da l’Ost",
        "TN": "Tunesia",
        "TR": "Tirchia",
        "TT": "Trinidad e Tobago",
        "TZ": "Tansania",
        "UA": "Ucraina",
        "UM": "Inslas pitschnas perifericas dals Stadis Unids da l’America",
        "US": "Stadis Unids da l’America",
        "UZ": "Usbekistan",
        "VA": "Citad dal Vatican",
        "VC": "Saint Vincent e las Grenadinas",
        "VG": "Inslas Virginas Britannicas",
        "VI": "Inslas Virginas Americanas",
        "WF": "Wallis e Futuna",
        "YE": "Jemen",
        "ZA": "Africa dal Sid",
        "ZM": "Sambia",
        "ZW": "Simbabwe",
        "ZZ": "Regiun betg encouschenta u nunvalaivla"
    };
  }-*/;
}
