/*
 * 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: 6546 $
//  type=root
//  date=$Date: 2012-02-07 13:32:35 -0500 (Tue, 07 Feb 2012) $


/**
 * 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",
        "AN",
        "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",
        "FJ",
        "PH",
        "FI",
        "FR",
        "FX",
        "GA",
        "GM",
        "GE",
        "GS",
        "DE",
        "DD",
        "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",
        "YD",
        "DO",
        "CZ",
        "RE",
        "RW",
        "RO",
        "RU",
        "EH",
        "KN",
        "LC",
        "MF",
        "PM",
        "VC",
        "SB",
        "ZM",
        "WS",
        "AS",
        "SM",
        "ST",
        "SN",
        "RS",
        "CS",
        "SC",
        "SL",
        "ZW",
        "SG",
        "SY",
        "SK",
        "SI",
        "SO",
        "BL",
        "SH",
        "ES",
        "LK",
        "SS",
        "US",
        "SD",
        "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",
        "HU",
        "EU",
        "SU",
        "UY",
        "UZ",
        "VU",
        "VE",
        "VN",
        "WF",
        "NT",
    };
  }

  @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("AN", "Antillas Ollandaisas");
    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", "Brasila");
    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("CS", "Serbia e Montenegro");
    namesMap.put("CV", "Cap Verd");
    namesMap.put("CX", "Insla da Christmas");
    namesMap.put("CY", "Cipra");
    namesMap.put("CZ", "Republica Tscheca");
    namesMap.put("DD", "Germania da l'Ost");
    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("FX", "Frantscha Metropolitana");
    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 McDonlad");
    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("LT", "Lituania");
    namesMap.put("LU", "Luxemburg");
    namesMap.put("LV", "Lettonia");
    namesMap.put("LY", "Libia");
    namesMap.put("MA", "Maroc");
    namesMap.put("MD", "Moldavia");
    namesMap.put("MH", "Inslas da Marshall");
    namesMap.put("MK", "Macedonia");
    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("NT", "Zona neutrala");
    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("ST", "São Tomé e Principe");
    namesMap.put("SU", "Uniun Sovietica");
    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 Verginas Britannicas");
    namesMap.put("VI", "Inslas Verginas Americanas");
    namesMap.put("WF", "Wallis e Futuna");
    namesMap.put("YD", "Republica Democratica Populara da Jemen");
    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",
        "AN": "Antillas Ollandaisas",
        "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": "Brasila",
        "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",
        "CS": "Serbia e Montenegro",
        "CV": "Cap Verd",
        "CX": "Insla da Christmas",
        "CY": "Cipra",
        "CZ": "Republica Tscheca",
        "DD": "Germania da l'Ost",
        "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",
        "FX": "Frantscha Metropolitana",
        "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 McDonlad",
        "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",
        "LT": "Lituania",
        "LU": "Luxemburg",
        "LV": "Lettonia",
        "LY": "Libia",
        "MA": "Maroc",
        "MD": "Moldavia",
        "MH": "Inslas da Marshall",
        "MK": "Macedonia",
        "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",
        "NT": "Zona neutrala",
        "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",
        "ST": "São Tomé e Principe",
        "SU": "Uniun Sovietica",
        "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 Verginas Britannicas",
        "VI": "Inslas Verginas Americanas",
        "WF": "Wallis e Futuna",
        "YD": "Republica Democratica Populara da Jemen",
        "YE": "Jemen",
        "ZA": "Africa dal Sid",
        "ZM": "Sambia",
        "ZW": "Simbabwe",
        "ZZ": "Regiun betg encouschenta u nunvalaivla"
    };
  }-*/;
}
