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


/**
 * Localized names for the "kea" locale.
 */
public class LocalizedNamesImpl_kea extends LocalizedNamesImpl {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Mundu");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Merka di Norti");
    namesMap.put("005", "Merka di Sul");
    namesMap.put("009", "Oseania");
    namesMap.put("011", "Afrika Osidental");
    namesMap.put("013", "Merka Sentral");
    namesMap.put("014", "Afrika Oriental");
    namesMap.put("015", "Norti di Afrika");
    namesMap.put("017", "Afrika Sentral");
    namesMap.put("018", "Sul di Afrika");
    namesMap.put("019", "Merkas");
    namesMap.put("021", "Norti di Merka");
    namesMap.put("029", "Karaibas");
    namesMap.put("030", "Azia Oriental");
    namesMap.put("034", "Sul di Azia");
    namesMap.put("035", "Sudesti Aziatiku");
    namesMap.put("039", "Europa di Sul");
    namesMap.put("053", "Australia y Nova Zelandia");
    namesMap.put("054", "Melanezia");
    namesMap.put("057", "Rejiãu di Mikronezia");
    namesMap.put("061", "Polinezia");
    namesMap.put("142", "Azia");
    namesMap.put("143", "Azia Sentral");
    namesMap.put("145", "Azia Osidental");
    namesMap.put("150", "Europa");
    namesMap.put("151", "Europa Oriental");
    namesMap.put("154", "Europa di Norti");
    namesMap.put("155", "Europa Osidental");
    namesMap.put("419", "Merka Latinu");
    namesMap.put("AD", "Andora");
    namesMap.put("AE", "Emiradus Arabi Unidu");
    namesMap.put("AF", "Afeganistãu");
    namesMap.put("AG", "Antigua i Barbuda");
    namesMap.put("AI", "Angila");
    namesMap.put("AN", "Antilhas Olandeza");
    namesMap.put("AR", "Arjentina");
    namesMap.put("AS", "Samoa Merkanu");
    namesMap.put("AZ", "Azerbaijãu");
    namesMap.put("BA", "Bosnia-Erzegovina");
    namesMap.put("BB", "Barbadus");
    namesMap.put("BD", "Bangladexi");
    namesMap.put("BE", "Béljika");
    namesMap.put("BF", "Burkina Fasu");
    namesMap.put("BH", "Barain");
    namesMap.put("BM", "Bermudas");
    namesMap.put("BS", "Baamas");
    namesMap.put("BT", "Butãu");
    namesMap.put("BW", "Botsuana");
    namesMap.put("BZ", "Belizi");
    namesMap.put("CA", "Kanadá");
    namesMap.put("CD", "Republika Dimokratika di Kongu");
    namesMap.put("CF", "Republika Sentru-Afrikanu");
    namesMap.put("CG", "Kongu");
    namesMap.put("CH", "Suisa");
    namesMap.put("CI", "Kosta di Marfin");
    namesMap.put("CK", "Ilhas Kuk");
    namesMap.put("CL", "Xili");
    namesMap.put("CM", "Kamarõis");
    namesMap.put("CN", "Xina");
    namesMap.put("CO", "Kulombia");
    namesMap.put("CR", "Kosta Rika");
    namesMap.put("CS", "Servia i Montinegru");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Kabu Verdi");
    namesMap.put("CY", "Xipri");
    namesMap.put("CZ", "Republika Txeka");
    namesMap.put("DE", "Alimanha");
    namesMap.put("DJ", "Djibuti");
    namesMap.put("DK", "Dinamarka");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Repúblika Dominikana");
    namesMap.put("DZ", "Arjelia");
    namesMap.put("EC", "Ekuador");
    namesMap.put("EE", "Stonia");
    namesMap.put("EG", "Ejitu");
    namesMap.put("ER", "Iritreia");
    namesMap.put("ES", "Spanha");
    namesMap.put("ET", "Itiopia");
    namesMap.put("FI", "Finlandia");
    namesMap.put("FJ", "Fidji");
    namesMap.put("FK", "Ilhas Malvinas");
    namesMap.put("FM", "Mikronezia");
    namesMap.put("FR", "Fransa");
    namesMap.put("GA", "Gabãu");
    namesMap.put("GB", "Reinu Unidu");
    namesMap.put("GD", "Granada");
    namesMap.put("GE", "Jiorjia");
    namesMap.put("GF", "Giana Franseza");
    namesMap.put("GH", "Gana");
    namesMap.put("GI", "Jibraltar");
    namesMap.put("GL", "Gronelandia");
    namesMap.put("GN", "Gine");
    namesMap.put("GP", "Guadalupi");
    namesMap.put("GQ", "Gine Ekuatorial");
    namesMap.put("GR", "Gresia");
    namesMap.put("GT", "Guatimala");
    namesMap.put("GW", "Gine-Bisau");
    namesMap.put("GY", "Giana");
    namesMap.put("HK", "Ong Kong");
    namesMap.put("HN", "Onduras");
    namesMap.put("HR", "Kroasia");
    namesMap.put("HT", "Aiti");
    namesMap.put("HU", "Ungria");
    namesMap.put("ID", "Indonezia");
    namesMap.put("IE", "Irlanda");
    namesMap.put("IO", "Ilhas Britanika di Indiku");
    namesMap.put("IQ", "Iraki");
    namesMap.put("IR", "Iron");
    namesMap.put("IS", "Islandia");
    namesMap.put("IT", "Italia");
    namesMap.put("JM", "Jamaika");
    namesMap.put("JO", "Jordania");
    namesMap.put("JP", "Japãu");
    namesMap.put("KE", "Kenia");
    namesMap.put("KG", "Kirgiston");
    namesMap.put("KH", "Kambodja");
    namesMap.put("KM", "Kamoris");
    namesMap.put("KN", "Sãu Kristovãu i Nevis");
    namesMap.put("KP", "Koreia di Norti");
    namesMap.put("KR", "Koreia di Sul");
    namesMap.put("KW", "Kueiti");
    namesMap.put("KY", "Ilhas Kaimãu");
    namesMap.put("KZ", "Kazakistãu");
    namesMap.put("LA", "Laus");
    namesMap.put("LB", "Libanu");
    namesMap.put("LC", "Santa Lúsia");
    namesMap.put("LI", "Lixenstain");
    namesMap.put("LS", "Lezotu");
    namesMap.put("LT", "Lituania");
    namesMap.put("LU", "Luxemburgu");
    namesMap.put("LV", "Letonia");
    namesMap.put("LY", "Libia");
    namesMap.put("MA", "Marokus");
    namesMap.put("MC", "Monaku");
    namesMap.put("MD", "Moldavia");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Ilhas Marxal");
    namesMap.put("MK", "Masidonia");
    namesMap.put("MM", "Mianmar");
    namesMap.put("MP", "Ilhas Marianas di Norti");
    namesMap.put("MQ", "Martinika");
    namesMap.put("MS", "Monserat");
    namesMap.put("MU", "Ilhas Maurisia");
    namesMap.put("MV", "Maldivas");
    namesMap.put("MW", "Malaui");
    namesMap.put("MX", "Mexiku");
    namesMap.put("MY", "Malazia");
    namesMap.put("MZ", "Musambiki");
    namesMap.put("NC", "Nova Kalidonia");
    namesMap.put("NE", "Nijer");
    namesMap.put("NF", "Ilhas Norfolk");
    namesMap.put("NG", "Nijeria");
    namesMap.put("NI", "Nikaragua");
    namesMap.put("NL", "Olanda");
    namesMap.put("NO", "Noruega");
    namesMap.put("NZ", "Nova Zilandia");
    namesMap.put("PF", "Polinezia Franseza");
    namesMap.put("PG", "Papua-Nova Gine");
    namesMap.put("PH", "Filipinas");
    namesMap.put("PK", "Pakistãu");
    namesMap.put("PL", "Pulonia");
    namesMap.put("PM", "San Piere i Mikelon");
    namesMap.put("PN", "Pirkairn");
    namesMap.put("PR", "Portu Riku");
    namesMap.put("PS", "Palistina");
    namesMap.put("PT", "Purtugal");
    namesMap.put("PY", "Paraguai");
    namesMap.put("QA", "Katar");
    namesMap.put("RE", "Runion");
    namesMap.put("RO", "Romenia");
    namesMap.put("RU", "Rúsia");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SA", "Arabia Saudita");
    namesMap.put("SB", "Ilhas Salumon");
    namesMap.put("SC", "Seixelis");
    namesMap.put("SD", "Sudãu");
    namesMap.put("SE", "Suesia");
    namesMap.put("SG", "Singapura");
    namesMap.put("SH", "Santa Ilena");
    namesMap.put("SL", "Sera Lioa");
    namesMap.put("SM", "San Marinu");
    namesMap.put("SO", "Sumalia");
    namesMap.put("SR", "Surinami");
    namesMap.put("ST", "Sãu Tume i Prinsipi");
    namesMap.put("SY", "Siria");
    namesMap.put("SZ", "Suazilándia");
    namesMap.put("TC", "Ilhas Turkas i Kaikus");
    namesMap.put("TD", "Txadi");
    namesMap.put("TG", "Togu");
    namesMap.put("TH", "Tailandia");
    namesMap.put("TJ", "Tadjikistãu");
    namesMap.put("TL", "Timor Lesti");
    namesMap.put("TM", "Turkumenistãu");
    namesMap.put("TN", "Tunizia");
    namesMap.put("TR", "Turkia");
    namesMap.put("TT", "Trinidad i Tobagu");
    namesMap.put("TW", "Taiuan");
    namesMap.put("UA", "Ukrania");
    namesMap.put("US", "Stadus Unidos di Merka");
    namesMap.put("UY", "Uruguai");
    namesMap.put("UZ", "Uzbekistãu");
    namesMap.put("VA", "Vatikanu");
    namesMap.put("VC", "Sãu Bisenti i Granadinas");
    namesMap.put("VE", "Vinizuea");
    namesMap.put("VG", "Ilhas Virjens Britanikas");
    namesMap.put("VI", "Ilhas Virjens Merkanu");
    namesMap.put("WF", "Ualis i Futuna");
    namesMap.put("YE", "Iemen");
    namesMap.put("YT", "Maiote");
    namesMap.put("ZA", "Afrika di Sul");
    namesMap.put("ZW", "Zimbabui");
    namesMap.put("ZZ", "rejiãu diskonxedu");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Mundu",
        "002": "Afrika",
        "003": "Merka di Norti",
        "005": "Merka di Sul",
        "009": "Oseania",
        "011": "Afrika Osidental",
        "013": "Merka Sentral",
        "014": "Afrika Oriental",
        "015": "Norti di Afrika",
        "017": "Afrika Sentral",
        "018": "Sul di Afrika",
        "019": "Merkas",
        "021": "Norti di Merka",
        "029": "Karaibas",
        "030": "Azia Oriental",
        "034": "Sul di Azia",
        "035": "Sudesti Aziatiku",
        "039": "Europa di Sul",
        "053": "Australia y Nova Zelandia",
        "054": "Melanezia",
        "057": "Rejiãu di Mikronezia",
        "061": "Polinezia",
        "142": "Azia",
        "143": "Azia Sentral",
        "145": "Azia Osidental",
        "150": "Europa",
        "151": "Europa Oriental",
        "154": "Europa di Norti",
        "155": "Europa Osidental",
        "419": "Merka Latinu",
        "AD": "Andora",
        "AE": "Emiradus Arabi Unidu",
        "AF": "Afeganistãu",
        "AG": "Antigua i Barbuda",
        "AI": "Angila",
        "AN": "Antilhas Olandeza",
        "AR": "Arjentina",
        "AS": "Samoa Merkanu",
        "AZ": "Azerbaijãu",
        "BA": "Bosnia-Erzegovina",
        "BB": "Barbadus",
        "BD": "Bangladexi",
        "BE": "Béljika",
        "BF": "Burkina Fasu",
        "BH": "Barain",
        "BM": "Bermudas",
        "BS": "Baamas",
        "BT": "Butãu",
        "BW": "Botsuana",
        "BZ": "Belizi",
        "CA": "Kanadá",
        "CD": "Republika Dimokratika di Kongu",
        "CF": "Republika Sentru-Afrikanu",
        "CG": "Kongu",
        "CH": "Suisa",
        "CI": "Kosta di Marfin",
        "CK": "Ilhas Kuk",
        "CL": "Xili",
        "CM": "Kamarõis",
        "CN": "Xina",
        "CO": "Kulombia",
        "CR": "Kosta Rika",
        "CS": "Servia i Montinegru",
        "CU": "Kuba",
        "CV": "Kabu Verdi",
        "CY": "Xipri",
        "CZ": "Republika Txeka",
        "DE": "Alimanha",
        "DJ": "Djibuti",
        "DK": "Dinamarka",
        "DM": "Dominika",
        "DO": "Repúblika Dominikana",
        "DZ": "Arjelia",
        "EC": "Ekuador",
        "EE": "Stonia",
        "EG": "Ejitu",
        "ER": "Iritreia",
        "ES": "Spanha",
        "ET": "Itiopia",
        "FI": "Finlandia",
        "FJ": "Fidji",
        "FK": "Ilhas Malvinas",
        "FM": "Mikronezia",
        "FR": "Fransa",
        "GA": "Gabãu",
        "GB": "Reinu Unidu",
        "GD": "Granada",
        "GE": "Jiorjia",
        "GF": "Giana Franseza",
        "GH": "Gana",
        "GI": "Jibraltar",
        "GL": "Gronelandia",
        "GN": "Gine",
        "GP": "Guadalupi",
        "GQ": "Gine Ekuatorial",
        "GR": "Gresia",
        "GT": "Guatimala",
        "GW": "Gine-Bisau",
        "GY": "Giana",
        "HK": "Ong Kong",
        "HN": "Onduras",
        "HR": "Kroasia",
        "HT": "Aiti",
        "HU": "Ungria",
        "ID": "Indonezia",
        "IE": "Irlanda",
        "IO": "Ilhas Britanika di Indiku",
        "IQ": "Iraki",
        "IR": "Iron",
        "IS": "Islandia",
        "IT": "Italia",
        "JM": "Jamaika",
        "JO": "Jordania",
        "JP": "Japãu",
        "KE": "Kenia",
        "KG": "Kirgiston",
        "KH": "Kambodja",
        "KM": "Kamoris",
        "KN": "Sãu Kristovãu i Nevis",
        "KP": "Koreia di Norti",
        "KR": "Koreia di Sul",
        "KW": "Kueiti",
        "KY": "Ilhas Kaimãu",
        "KZ": "Kazakistãu",
        "LA": "Laus",
        "LB": "Libanu",
        "LC": "Santa Lúsia",
        "LI": "Lixenstain",
        "LS": "Lezotu",
        "LT": "Lituania",
        "LU": "Luxemburgu",
        "LV": "Letonia",
        "LY": "Libia",
        "MA": "Marokus",
        "MC": "Monaku",
        "MD": "Moldavia",
        "MG": "Madagaskar",
        "MH": "Ilhas Marxal",
        "MK": "Masidonia",
        "MM": "Mianmar",
        "MP": "Ilhas Marianas di Norti",
        "MQ": "Martinika",
        "MS": "Monserat",
        "MU": "Ilhas Maurisia",
        "MV": "Maldivas",
        "MW": "Malaui",
        "MX": "Mexiku",
        "MY": "Malazia",
        "MZ": "Musambiki",
        "NC": "Nova Kalidonia",
        "NE": "Nijer",
        "NF": "Ilhas Norfolk",
        "NG": "Nijeria",
        "NI": "Nikaragua",
        "NL": "Olanda",
        "NO": "Noruega",
        "NZ": "Nova Zilandia",
        "PF": "Polinezia Franseza",
        "PG": "Papua-Nova Gine",
        "PH": "Filipinas",
        "PK": "Pakistãu",
        "PL": "Pulonia",
        "PM": "San Piere i Mikelon",
        "PN": "Pirkairn",
        "PR": "Portu Riku",
        "PS": "Palistina",
        "PT": "Purtugal",
        "PY": "Paraguai",
        "QA": "Katar",
        "RE": "Runion",
        "RO": "Romenia",
        "RU": "Rúsia",
        "RW": "Ruanda",
        "SA": "Arabia Saudita",
        "SB": "Ilhas Salumon",
        "SC": "Seixelis",
        "SD": "Sudãu",
        "SE": "Suesia",
        "SG": "Singapura",
        "SH": "Santa Ilena",
        "SL": "Sera Lioa",
        "SM": "San Marinu",
        "SO": "Sumalia",
        "SR": "Surinami",
        "ST": "Sãu Tume i Prinsipi",
        "SY": "Siria",
        "SZ": "Suazilándia",
        "TC": "Ilhas Turkas i Kaikus",
        "TD": "Txadi",
        "TG": "Togu",
        "TH": "Tailandia",
        "TJ": "Tadjikistãu",
        "TL": "Timor Lesti",
        "TM": "Turkumenistãu",
        "TN": "Tunizia",
        "TR": "Turkia",
        "TT": "Trinidad i Tobagu",
        "TW": "Taiuan",
        "UA": "Ukrania",
        "US": "Stadus Unidos di Merka",
        "UY": "Uruguai",
        "UZ": "Uzbekistãu",
        "VA": "Vatikanu",
        "VC": "Sãu Bisenti i Granadinas",
        "VE": "Vinizuea",
        "VG": "Ilhas Virjens Britanikas",
        "VI": "Ilhas Virjens Merkanu",
        "WF": "Ualis i Futuna",
        "YE": "Iemen",
        "YT": "Maiote",
        "ZA": "Afrika di Sul",
        "ZW": "Zimbabui",
        "ZZ": "rejiãu diskonxedu"
    };
  }-*/;
}
