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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "Andola");
    namesMap.put("AE", "Dimiliki dya Vakulungwa va Chalabu");
    namesMap.put("AF", "Afuganistani");
    namesMap.put("AG", "Antigua na Balbuda");
    namesMap.put("AI", "Angwila");
    namesMap.put("AM", "Almenia");
    namesMap.put("AR", "Adyentina");
    namesMap.put("AS", "Samoa ya Malekani");
    namesMap.put("AT", "Austlia");
    namesMap.put("AU", "Austlalia");
    namesMap.put("AW", "Aluba");
    namesMap.put("AZ", "Azabadyani");
    namesMap.put("BA", "Bosnia na Hezegovina");
    namesMap.put("BB", "Babadosi");
    namesMap.put("BD", "Bangladeshi");
    namesMap.put("BE", "Ubelgidi");
    namesMap.put("BF", "Buchinafaso");
    namesMap.put("BG", "Bulgalia");
    namesMap.put("BH", "Bahaleni");
    namesMap.put("BI", "Bulundi");
    namesMap.put("BJ", "Benini");
    namesMap.put("BM", "Belmuda");
    namesMap.put("BN", "Blunei");
    namesMap.put("BR", "Blazili");
    namesMap.put("BS", "Bahama");
    namesMap.put("BT", "Butani");
    namesMap.put("BY", "Belalusi");
    namesMap.put("CA", "Kanada");
    namesMap.put("CD", "Jamuhuli ya Chidemoklasia ya kuKongo");
    namesMap.put("CF", "Jamuhuli ya Afilika ya Paching’ati");
    namesMap.put("CG", "Kongo");
    namesMap.put("CH", "Uswisi");
    namesMap.put("CI", "Kodivaa");
    namesMap.put("CK", "Chisiwa cha Cook");
    namesMap.put("CM", "Kameluni");
    namesMap.put("CO", "Kolombia");
    namesMap.put("CR", "Kostalika");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Kepuvede");
    namesMap.put("CY", "Kuplosi");
    namesMap.put("CZ", "Jamuhuli ya Chechi");
    namesMap.put("DE", "Udyerumani");
    namesMap.put("DJ", "Dyibuti");
    namesMap.put("DK", "Denmaki");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Jamuhuli ya Dominika");
    namesMap.put("DZ", "Aljelia");
    namesMap.put("EC", "Ekwado");
    namesMap.put("EG", "Misli");
    namesMap.put("ER", "Elitilea");
    namesMap.put("ES", "Hispania");
    namesMap.put("ET", "Uhabeshi");
    namesMap.put("FI", "Ufini");
    namesMap.put("FK", "Chisiwa cha Falkland");
    namesMap.put("FM", "Mikilonesia");
    namesMap.put("FR", "Ufalansa");
    namesMap.put("GA", "Gaboni");
    namesMap.put("GB", "Nngalesa");
    namesMap.put("GD", "Glenada");
    namesMap.put("GE", "Dyodya");
    namesMap.put("GF", "Gwiyana ya Ufalansa");
    namesMap.put("GI", "Diblalta");
    namesMap.put("GL", "Glinlandi");
    namesMap.put("GN", "Gine");
    namesMap.put("GP", "Gwadelupe");
    namesMap.put("GQ", "Ginekweta");
    namesMap.put("GR", "Ugilichi");
    namesMap.put("GT", "Gwatemala");
    namesMap.put("GU", "Gwam");
    namesMap.put("GW", "Ginebisau");
    namesMap.put("HN", "Hondulasi");
    namesMap.put("HR", "Kolasia");
    namesMap.put("HU", "Hungalia");
    namesMap.put("IE", "Ayalandi");
    namesMap.put("IL", "Islaeli");
    namesMap.put("IO", "Lieneo lyaki Nngalesa Nbahali ya Hindi");
    namesMap.put("IQ", "Ilaki");
    namesMap.put("IR", "Uadyemi");
    namesMap.put("IS", "Aislandi");
    namesMap.put("IT", "Italia");
    namesMap.put("JM", "Dyamaika");
    namesMap.put("JO", "Yordani");
    namesMap.put("JP", "Dyapani");
    namesMap.put("KG", "Kiligizistani");
    namesMap.put("KH", "Kambodia");
    namesMap.put("KI", "Kilibati");
    namesMap.put("KM", "Komolo");
    namesMap.put("KN", "Santakitzi na Nevis");
    namesMap.put("KP", "Kolea Kasikazini");
    namesMap.put("KR", "Kolea Kusini");
    namesMap.put("KW", "Kuwaiti");
    namesMap.put("KY", "Chisiwa cha Kemen");
    namesMap.put("KZ", "Kazachistani");
    namesMap.put("LA", "Laosi");
    namesMap.put("LB", "Lebanoni");
    namesMap.put("LC", "Santalusia");
    namesMap.put("LI", "Lishenteni");
    namesMap.put("LK", "Sililanka");
    namesMap.put("LR", "Libelia");
    namesMap.put("LS", "Lesoto");
    namesMap.put("LT", "Litwania");
    namesMap.put("LU", "Lasembagi");
    namesMap.put("LV", "Lativia");
    namesMap.put("MA", "Moloko");
    namesMap.put("MC", "Monako");
    namesMap.put("MG", "Bukini");
    namesMap.put("MH", "Chisiwa cha Malushal");
    namesMap.put("MK", "Masedonia");
    namesMap.put("MM", "Myama");
    namesMap.put("MP", "Chisiwa cha Marian cha Kasikazini");
    namesMap.put("MQ", "Malitiniki");
    namesMap.put("MR", "Molitania");
    namesMap.put("MS", "Monselati");
    namesMap.put("MU", "Molisi");
    namesMap.put("MV", "Modivu");
    namesMap.put("MX", "Meksiko");
    namesMap.put("MY", "Malesia");
    namesMap.put("MZ", "Msumbiji");
    namesMap.put("NC", "Nyukaledonia");
    namesMap.put("NE", "Nidyeli");
    namesMap.put("NF", "Chisiwa cha Nolufok");
    namesMap.put("NG", "Nidyelia");
    namesMap.put("NI", "Nikalagwa");
    namesMap.put("NL", "Uholanzi");
    namesMap.put("NO", "Norwe");
    namesMap.put("NP", "Nepali");
    namesMap.put("NR", "Naulu");
    namesMap.put("NZ", "Nyuzilandi");
    namesMap.put("OM", "Omani");
    namesMap.put("PE", "Pelu");
    namesMap.put("PF", "Polinesia ya Ufalansa");
    namesMap.put("PG", "Papua");
    namesMap.put("PH", "Filipino");
    namesMap.put("PK", "Pakistani");
    namesMap.put("PL", "Polandi");
    namesMap.put("PM", "Santapieli na Mikeloni");
    namesMap.put("PN", "Pitikeluni");
    namesMap.put("PR", "Pwetoliko");
    namesMap.put("PS", "Nchingu wa Magalibi wa Mpanda wa kuGaza wa kuPales");
    namesMap.put("PT", "Uleno");
    namesMap.put("PY", "Palagwai");
    namesMap.put("QA", "Katali");
    namesMap.put("RE", "Liyunioni");
    namesMap.put("RO", "Lomania");
    namesMap.put("RU", "Ulusi");
    namesMap.put("RW", "Lwanda");
    namesMap.put("SA", "Saudia");
    namesMap.put("SB", "Chisiwa cha Solomon");
    namesMap.put("SC", "Shelisheli");
    namesMap.put("SD", "Sudani");
    namesMap.put("SE", "Uswidi");
    namesMap.put("SG", "Singapoo");
    namesMap.put("SH", "Santahelena");
    namesMap.put("SL", "Siela Leoni");
    namesMap.put("SM", "Samalino");
    namesMap.put("SN", "Senegali");
    namesMap.put("SR", "Sulinamu");
    namesMap.put("ST", "Saotome na Prinsipe");
    namesMap.put("SV", "Elsavado");
    namesMap.put("SY", "Silia");
    namesMap.put("SZ", "Uswazi");
    namesMap.put("TC", "Chisiwa cha Tuluchi na Kaiko");
    namesMap.put("TD", "Chadi");
    namesMap.put("TH", "Tailandi");
    namesMap.put("TJ", "Tadikistani");
    namesMap.put("TL", "Timoli ya Mashaliki");
    namesMap.put("TM", "Tuluchimenistani");
    namesMap.put("TR", "Utuluchi");
    namesMap.put("TT", "Tilinidad na Tobago");
    namesMap.put("TW", "Taiwani");
    namesMap.put("UA", "Uklaini");
    namesMap.put("US", "Malekani");
    namesMap.put("UY", "Ulugwai");
    namesMap.put("UZ", "Uzibechistani");
    namesMap.put("VA", "Vatikani");
    namesMap.put("VC", "Santavisenti na Glenadini");
    namesMap.put("VG", "Chisiwa Chivihi cha Wingalesa");
    namesMap.put("VI", "Chisiwa Chivihi cha Malekani");
    namesMap.put("VN", "Vietinamu");
    namesMap.put("WF", "Walis na Futuna");
    namesMap.put("YE", "Yemeni");
    namesMap.put("YT", "Maole");
    namesMap.put("ZA", "Afilika Kusini");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "Andola",
        "AE": "Dimiliki dya Vakulungwa va Chalabu",
        "AF": "Afuganistani",
        "AG": "Antigua na Balbuda",
        "AI": "Angwila",
        "AM": "Almenia",
        "AR": "Adyentina",
        "AS": "Samoa ya Malekani",
        "AT": "Austlia",
        "AU": "Austlalia",
        "AW": "Aluba",
        "AZ": "Azabadyani",
        "BA": "Bosnia na Hezegovina",
        "BB": "Babadosi",
        "BD": "Bangladeshi",
        "BE": "Ubelgidi",
        "BF": "Buchinafaso",
        "BG": "Bulgalia",
        "BH": "Bahaleni",
        "BI": "Bulundi",
        "BJ": "Benini",
        "BM": "Belmuda",
        "BN": "Blunei",
        "BR": "Blazili",
        "BS": "Bahama",
        "BT": "Butani",
        "BY": "Belalusi",
        "CA": "Kanada",
        "CD": "Jamuhuli ya Chidemoklasia ya kuKongo",
        "CF": "Jamuhuli ya Afilika ya Paching’ati",
        "CG": "Kongo",
        "CH": "Uswisi",
        "CI": "Kodivaa",
        "CK": "Chisiwa cha Cook",
        "CM": "Kameluni",
        "CO": "Kolombia",
        "CR": "Kostalika",
        "CU": "Kuba",
        "CV": "Kepuvede",
        "CY": "Kuplosi",
        "CZ": "Jamuhuli ya Chechi",
        "DE": "Udyerumani",
        "DJ": "Dyibuti",
        "DK": "Denmaki",
        "DM": "Dominika",
        "DO": "Jamuhuli ya Dominika",
        "DZ": "Aljelia",
        "EC": "Ekwado",
        "EG": "Misli",
        "ER": "Elitilea",
        "ES": "Hispania",
        "ET": "Uhabeshi",
        "FI": "Ufini",
        "FK": "Chisiwa cha Falkland",
        "FM": "Mikilonesia",
        "FR": "Ufalansa",
        "GA": "Gaboni",
        "GB": "Nngalesa",
        "GD": "Glenada",
        "GE": "Dyodya",
        "GF": "Gwiyana ya Ufalansa",
        "GI": "Diblalta",
        "GL": "Glinlandi",
        "GN": "Gine",
        "GP": "Gwadelupe",
        "GQ": "Ginekweta",
        "GR": "Ugilichi",
        "GT": "Gwatemala",
        "GU": "Gwam",
        "GW": "Ginebisau",
        "HN": "Hondulasi",
        "HR": "Kolasia",
        "HU": "Hungalia",
        "IE": "Ayalandi",
        "IL": "Islaeli",
        "IO": "Lieneo lyaki Nngalesa Nbahali ya Hindi",
        "IQ": "Ilaki",
        "IR": "Uadyemi",
        "IS": "Aislandi",
        "IT": "Italia",
        "JM": "Dyamaika",
        "JO": "Yordani",
        "JP": "Dyapani",
        "KG": "Kiligizistani",
        "KH": "Kambodia",
        "KI": "Kilibati",
        "KM": "Komolo",
        "KN": "Santakitzi na Nevis",
        "KP": "Kolea Kasikazini",
        "KR": "Kolea Kusini",
        "KW": "Kuwaiti",
        "KY": "Chisiwa cha Kemen",
        "KZ": "Kazachistani",
        "LA": "Laosi",
        "LB": "Lebanoni",
        "LC": "Santalusia",
        "LI": "Lishenteni",
        "LK": "Sililanka",
        "LR": "Libelia",
        "LS": "Lesoto",
        "LT": "Litwania",
        "LU": "Lasembagi",
        "LV": "Lativia",
        "MA": "Moloko",
        "MC": "Monako",
        "MG": "Bukini",
        "MH": "Chisiwa cha Malushal",
        "MK": "Masedonia",
        "MM": "Myama",
        "MP": "Chisiwa cha Marian cha Kasikazini",
        "MQ": "Malitiniki",
        "MR": "Molitania",
        "MS": "Monselati",
        "MU": "Molisi",
        "MV": "Modivu",
        "MX": "Meksiko",
        "MY": "Malesia",
        "MZ": "Msumbiji",
        "NC": "Nyukaledonia",
        "NE": "Nidyeli",
        "NF": "Chisiwa cha Nolufok",
        "NG": "Nidyelia",
        "NI": "Nikalagwa",
        "NL": "Uholanzi",
        "NO": "Norwe",
        "NP": "Nepali",
        "NR": "Naulu",
        "NZ": "Nyuzilandi",
        "OM": "Omani",
        "PE": "Pelu",
        "PF": "Polinesia ya Ufalansa",
        "PG": "Papua",
        "PH": "Filipino",
        "PK": "Pakistani",
        "PL": "Polandi",
        "PM": "Santapieli na Mikeloni",
        "PN": "Pitikeluni",
        "PR": "Pwetoliko",
        "PS": "Nchingu wa Magalibi wa Mpanda wa kuGaza wa kuPales",
        "PT": "Uleno",
        "PY": "Palagwai",
        "QA": "Katali",
        "RE": "Liyunioni",
        "RO": "Lomania",
        "RU": "Ulusi",
        "RW": "Lwanda",
        "SA": "Saudia",
        "SB": "Chisiwa cha Solomon",
        "SC": "Shelisheli",
        "SD": "Sudani",
        "SE": "Uswidi",
        "SG": "Singapoo",
        "SH": "Santahelena",
        "SL": "Siela Leoni",
        "SM": "Samalino",
        "SN": "Senegali",
        "SR": "Sulinamu",
        "ST": "Saotome na Prinsipe",
        "SV": "Elsavado",
        "SY": "Silia",
        "SZ": "Uswazi",
        "TC": "Chisiwa cha Tuluchi na Kaiko",
        "TD": "Chadi",
        "TH": "Tailandi",
        "TJ": "Tadikistani",
        "TL": "Timoli ya Mashaliki",
        "TM": "Tuluchimenistani",
        "TR": "Utuluchi",
        "TT": "Tilinidad na Tobago",
        "TW": "Taiwani",
        "UA": "Uklaini",
        "US": "Malekani",
        "UY": "Ulugwai",
        "UZ": "Uzibechistani",
        "VA": "Vatikani",
        "VC": "Santavisenti na Glenadini",
        "VG": "Chisiwa Chivihi cha Wingalesa",
        "VI": "Chisiwa Chivihi cha Malekani",
        "VN": "Vietinamu",
        "WF": "Walis na Futuna",
        "YE": "Yemeni",
        "YT": "Maole",
        "ZA": "Afilika Kusini"
    };
  }-*/;
}
