/*
 * Copyright 2014 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=25
//  date=$Date: 2013-08-29 04:32:04 +0200 (Thu, 29 Aug 2013) $
//  number=$Revision: 9287 $
//  type=root

/**
 * Localized names for the "dje" locale.
 */
public class LocalizedNamesImpl_dje extends LocalizedNamesImpl {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "Andoora");
    namesMap.put("AE", "Laaraw Imaarawey Margantey");
    namesMap.put("AF", "Afgaanistan");
    namesMap.put("AG", "Antigua nda Barbuuda");
    namesMap.put("AI", "Angiiya");
    namesMap.put("AL", "Albaani");
    namesMap.put("AM", "Armeeni");
    namesMap.put("AN", "Hollandu Antiiyey Laboo");
    namesMap.put("AO", "Angoola");
    namesMap.put("AR", "Argentine");
    namesMap.put("AS", "Ameriki Samoa");
    namesMap.put("AT", "Otriši");
    namesMap.put("AU", "Ostraali");
    namesMap.put("AW", "Aruuba");
    namesMap.put("AZ", "Azerbaayijaŋ");
    namesMap.put("BA", "Bosni nda Herzegovine");
    namesMap.put("BB", "Barbaados");
    namesMap.put("BD", "Bangladeši");
    namesMap.put("BE", "Belgiiki");
    namesMap.put("BF", "Burkina faso");
    namesMap.put("BG", "Bulgaari");
    namesMap.put("BH", "Bahareen");
    namesMap.put("BJ", "Beniŋ");
    namesMap.put("BN", "Bruunee");
    namesMap.put("BO", "Boolivi");
    namesMap.put("BR", "Breezil");
    namesMap.put("BT", "Buutaŋ");
    namesMap.put("BW", "Botswaana");
    namesMap.put("BY", "Biloriši");
    namesMap.put("BZ", "Beliizi");
    namesMap.put("CA", "Kanaada");
    namesMap.put("CD", "Kongoo demookaratiki laboo");
    namesMap.put("CF", "Centraafriki koyra");
    namesMap.put("CG", "Kongoo");
    namesMap.put("CH", "Swisu");
    namesMap.put("CI", "Kudwar");
    namesMap.put("CK", "Kuuk gungey");
    namesMap.put("CL", "Šiili");
    namesMap.put("CM", "Kameruun");
    namesMap.put("CN", "Šiin");
    namesMap.put("CO", "Kolombi");
    namesMap.put("CR", "Kosta rika");
    namesMap.put("CU", "Kuuba");
    namesMap.put("CV", "Kapuver gungey");
    namesMap.put("CY", "Šiipur");
    namesMap.put("CZ", "Cek labo");
    namesMap.put("DE", "Almaaɲe");
    namesMap.put("DJ", "Jibuuti");
    namesMap.put("DK", "Danemark");
    namesMap.put("DO", "Doominiki laboo");
    namesMap.put("DZ", "Alžeeri");
    namesMap.put("EC", "Ekwateer");
    namesMap.put("EE", "Estooni");
    namesMap.put("EG", "Misra");
    namesMap.put("ER", "Eritree");
    namesMap.put("ES", "Espaaɲe");
    namesMap.put("ET", "Ecioopi");
    namesMap.put("FI", "Finlandu");
    namesMap.put("FK", "Kalkan gungey");
    namesMap.put("FM", "Mikronezi");
    namesMap.put("FR", "Faransi");
    namesMap.put("GA", "Gaabon");
    namesMap.put("GB", "Albaasalaama Marganta");
    namesMap.put("GD", "Grenaada");
    namesMap.put("GE", "Gorgi");
    namesMap.put("GF", "Faransi Guyaan");
    namesMap.put("GH", "Gaana");
    namesMap.put("GL", "Grinland");
    namesMap.put("GM", "Gambi");
    namesMap.put("GN", "Gine");
    namesMap.put("GP", "Gwadeluup");
    namesMap.put("GQ", "Ginee Ekwatorial");
    namesMap.put("GT", "Gwatemaala");
    namesMap.put("GW", "Gine-Bisso");
    namesMap.put("GY", "Guyaane");
    namesMap.put("HR", "Krwaasi");
    namesMap.put("HU", "Hungaari");
    namesMap.put("ID", "Indoneezi");
    namesMap.put("IE", "Irlandu");
    namesMap.put("IL", "Israyel");
    namesMap.put("IN", "Indu laboo");
    namesMap.put("IO", "Britiši Indu teekoo laama");
    namesMap.put("IQ", "Iraak");
    namesMap.put("IR", "Iraan");
    namesMap.put("IS", "Ayseland");
    namesMap.put("IT", "Itaali");
    namesMap.put("JM", "Jamaayik");
    namesMap.put("JO", "Urdun");
    namesMap.put("JP", "Jaapoŋ");
    namesMap.put("KE", "Keeniya");
    namesMap.put("KH", "kamboogi");
    namesMap.put("KI", "Kiribaati");
    namesMap.put("KM", "Komoor");
    namesMap.put("KN", "Seŋ Kitts nda Nevis");
    namesMap.put("KP", "Gurma Kooree");
    namesMap.put("KR", "Hawsa Kooree");
    namesMap.put("KW", "Kuweet");
    namesMap.put("KY", "Kayman gungey");
    namesMap.put("KZ", "Kaazakstan");
    namesMap.put("LA", "Laawos");
    namesMap.put("LB", "Lubnaan");
    namesMap.put("LC", "Seŋ Lussia");
    namesMap.put("LK", "Srilanka");
    namesMap.put("LS", "Leesoto");
    namesMap.put("LT", "Lituaani");
    namesMap.put("LV", "Letooni");
    namesMap.put("LY", "Liibi");
    namesMap.put("MA", "Maarok");
    namesMap.put("MC", "Monako");
    namesMap.put("MD", "Moldovi");
    namesMap.put("MH", "Maršal gungey");
    namesMap.put("MK", "Maacedooni");
    namesMap.put("ML", "Maali");
    namesMap.put("MM", "Maynamar");
    namesMap.put("MN", "Mongooli");
    namesMap.put("MP", "Mariana Gurma Gungey");
    namesMap.put("MQ", "Martiniiki");
    namesMap.put("MR", "Mooritaani");
    namesMap.put("MU", "Mooris gungey");
    namesMap.put("MV", "Maldiivu");
    namesMap.put("MW", "Malaawi");
    namesMap.put("MX", "Mexiki");
    namesMap.put("MY", "Maleezi");
    namesMap.put("MZ", "Mozambik");
    namesMap.put("NA", "Naamibi");
    namesMap.put("NC", "Kaaledooni Taagaa");
    namesMap.put("NE", "Nižer");
    namesMap.put("NF", "Norfolk Gungoo");
    namesMap.put("NG", "Naajiriia");
    namesMap.put("NI", "Nikaragwa");
    namesMap.put("NL", "Hollandu");
    namesMap.put("NO", "Norveej");
    namesMap.put("NP", "Neepal");
    namesMap.put("NZ", "Zeelandu Taaga");
    namesMap.put("OM", "Omaan");
    namesMap.put("PE", "Peeru");
    namesMap.put("PF", "Faransi Polineezi");
    namesMap.put("PG", "Papua Ginee Taaga");
    namesMap.put("PH", "Filipine");
    namesMap.put("PK", "Paakistan");
    namesMap.put("PL", "Poloɲe");
    namesMap.put("PM", "Seŋ Piyer nda Mikelon");
    namesMap.put("PN", "Pitikarin");
    namesMap.put("PR", "Porto Riko");
    namesMap.put("PS", "Palestine Dangay nda Gaaza");
    namesMap.put("PT", "Portugaal");
    namesMap.put("PW", "Palu");
    namesMap.put("PY", "Paraguwey");
    namesMap.put("QA", "Kataar");
    namesMap.put("RE", "Reenioŋ");
    namesMap.put("RO", "Rumaani");
    namesMap.put("RU", "Iriši laboo");
    namesMap.put("SA", "Saudiya");
    namesMap.put("SB", "Solomon Gungey");
    namesMap.put("SC", "Seešel");
    namesMap.put("SD", "Suudaŋ");
    namesMap.put("SE", "Sweede");
    namesMap.put("SG", "Singapur");
    namesMap.put("SH", "Seŋ Helena");
    namesMap.put("SI", "Sloveeni");
    namesMap.put("SK", "Slovaaki");
    namesMap.put("SL", "Seera Leon");
    namesMap.put("SO", "Somaali");
    namesMap.put("SR", "Surinaam");
    namesMap.put("ST", "Sao Tome nda Prinsipe");
    namesMap.put("SV", "Salvador laboo");
    namesMap.put("SY", "Suuria");
    namesMap.put("TC", "Turk nda Kayikos Gungey");
    namesMap.put("TD", "Caadu");
    namesMap.put("TH", "Taayiland");
    namesMap.put("TJ", "Taažikistan");
    namesMap.put("TL", "Timoor hawsa");
    namesMap.put("TM", "Turkmenistaŋ");
    namesMap.put("TN", "Tunizi");
    namesMap.put("TR", "Turki");
    namesMap.put("TT", "Trinidad nda Tobaago");
    namesMap.put("TW", "Taayiwan");
    namesMap.put("TZ", "Tanzaani");
    namesMap.put("UA", "Ukreen");
    namesMap.put("US", "Ameriki Laabu Margantey");
    namesMap.put("UY", "Uruguwey");
    namesMap.put("UZ", "Uzbeekistan");
    namesMap.put("VA", "Vaatikan Laama");
    namesMap.put("VC", "Seŋvinsaŋ nda Grenadine");
    namesMap.put("VE", "Veneezuyeela");
    namesMap.put("VG", "Britiši Virgin gungey");
    namesMap.put("VI", "Ameerik Virgin Gungey");
    namesMap.put("VN", "Vietnaam");
    namesMap.put("VU", "Vanautu");
    namesMap.put("WF", "Wallis nda Futuna");
    namesMap.put("YE", "Yaman");
    namesMap.put("YT", "Mayooti");
    namesMap.put("ZA", "Hawsa Afriki Laboo");
    namesMap.put("ZM", "Zambi");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "Andoora",
        "AE": "Laaraw Imaarawey Margantey",
        "AF": "Afgaanistan",
        "AG": "Antigua nda Barbuuda",
        "AI": "Angiiya",
        "AL": "Albaani",
        "AM": "Armeeni",
        "AN": "Hollandu Antiiyey Laboo",
        "AO": "Angoola",
        "AR": "Argentine",
        "AS": "Ameriki Samoa",
        "AT": "Otriši",
        "AU": "Ostraali",
        "AW": "Aruuba",
        "AZ": "Azerbaayijaŋ",
        "BA": "Bosni nda Herzegovine",
        "BB": "Barbaados",
        "BD": "Bangladeši",
        "BE": "Belgiiki",
        "BF": "Burkina faso",
        "BG": "Bulgaari",
        "BH": "Bahareen",
        "BJ": "Beniŋ",
        "BN": "Bruunee",
        "BO": "Boolivi",
        "BR": "Breezil",
        "BT": "Buutaŋ",
        "BW": "Botswaana",
        "BY": "Biloriši",
        "BZ": "Beliizi",
        "CA": "Kanaada",
        "CD": "Kongoo demookaratiki laboo",
        "CF": "Centraafriki koyra",
        "CG": "Kongoo",
        "CH": "Swisu",
        "CI": "Kudwar",
        "CK": "Kuuk gungey",
        "CL": "Šiili",
        "CM": "Kameruun",
        "CN": "Šiin",
        "CO": "Kolombi",
        "CR": "Kosta rika",
        "CU": "Kuuba",
        "CV": "Kapuver gungey",
        "CY": "Šiipur",
        "CZ": "Cek labo",
        "DE": "Almaaɲe",
        "DJ": "Jibuuti",
        "DK": "Danemark",
        "DO": "Doominiki laboo",
        "DZ": "Alžeeri",
        "EC": "Ekwateer",
        "EE": "Estooni",
        "EG": "Misra",
        "ER": "Eritree",
        "ES": "Espaaɲe",
        "ET": "Ecioopi",
        "FI": "Finlandu",
        "FK": "Kalkan gungey",
        "FM": "Mikronezi",
        "FR": "Faransi",
        "GA": "Gaabon",
        "GB": "Albaasalaama Marganta",
        "GD": "Grenaada",
        "GE": "Gorgi",
        "GF": "Faransi Guyaan",
        "GH": "Gaana",
        "GL": "Grinland",
        "GM": "Gambi",
        "GN": "Gine",
        "GP": "Gwadeluup",
        "GQ": "Ginee Ekwatorial",
        "GT": "Gwatemaala",
        "GW": "Gine-Bisso",
        "GY": "Guyaane",
        "HR": "Krwaasi",
        "HU": "Hungaari",
        "ID": "Indoneezi",
        "IE": "Irlandu",
        "IL": "Israyel",
        "IN": "Indu laboo",
        "IO": "Britiši Indu teekoo laama",
        "IQ": "Iraak",
        "IR": "Iraan",
        "IS": "Ayseland",
        "IT": "Itaali",
        "JM": "Jamaayik",
        "JO": "Urdun",
        "JP": "Jaapoŋ",
        "KE": "Keeniya",
        "KH": "kamboogi",
        "KI": "Kiribaati",
        "KM": "Komoor",
        "KN": "Seŋ Kitts nda Nevis",
        "KP": "Gurma Kooree",
        "KR": "Hawsa Kooree",
        "KW": "Kuweet",
        "KY": "Kayman gungey",
        "KZ": "Kaazakstan",
        "LA": "Laawos",
        "LB": "Lubnaan",
        "LC": "Seŋ Lussia",
        "LK": "Srilanka",
        "LS": "Leesoto",
        "LT": "Lituaani",
        "LV": "Letooni",
        "LY": "Liibi",
        "MA": "Maarok",
        "MC": "Monako",
        "MD": "Moldovi",
        "MH": "Maršal gungey",
        "MK": "Maacedooni",
        "ML": "Maali",
        "MM": "Maynamar",
        "MN": "Mongooli",
        "MP": "Mariana Gurma Gungey",
        "MQ": "Martiniiki",
        "MR": "Mooritaani",
        "MU": "Mooris gungey",
        "MV": "Maldiivu",
        "MW": "Malaawi",
        "MX": "Mexiki",
        "MY": "Maleezi",
        "MZ": "Mozambik",
        "NA": "Naamibi",
        "NC": "Kaaledooni Taagaa",
        "NE": "Nižer",
        "NF": "Norfolk Gungoo",
        "NG": "Naajiriia",
        "NI": "Nikaragwa",
        "NL": "Hollandu",
        "NO": "Norveej",
        "NP": "Neepal",
        "NZ": "Zeelandu Taaga",
        "OM": "Omaan",
        "PE": "Peeru",
        "PF": "Faransi Polineezi",
        "PG": "Papua Ginee Taaga",
        "PH": "Filipine",
        "PK": "Paakistan",
        "PL": "Poloɲe",
        "PM": "Seŋ Piyer nda Mikelon",
        "PN": "Pitikarin",
        "PR": "Porto Riko",
        "PS": "Palestine Dangay nda Gaaza",
        "PT": "Portugaal",
        "PW": "Palu",
        "PY": "Paraguwey",
        "QA": "Kataar",
        "RE": "Reenioŋ",
        "RO": "Rumaani",
        "RU": "Iriši laboo",
        "SA": "Saudiya",
        "SB": "Solomon Gungey",
        "SC": "Seešel",
        "SD": "Suudaŋ",
        "SE": "Sweede",
        "SG": "Singapur",
        "SH": "Seŋ Helena",
        "SI": "Sloveeni",
        "SK": "Slovaaki",
        "SL": "Seera Leon",
        "SO": "Somaali",
        "SR": "Surinaam",
        "ST": "Sao Tome nda Prinsipe",
        "SV": "Salvador laboo",
        "SY": "Suuria",
        "TC": "Turk nda Kayikos Gungey",
        "TD": "Caadu",
        "TH": "Taayiland",
        "TJ": "Taažikistan",
        "TL": "Timoor hawsa",
        "TM": "Turkmenistaŋ",
        "TN": "Tunizi",
        "TR": "Turki",
        "TT": "Trinidad nda Tobaago",
        "TW": "Taayiwan",
        "TZ": "Tanzaani",
        "UA": "Ukreen",
        "US": "Ameriki Laabu Margantey",
        "UY": "Uruguwey",
        "UZ": "Uzbeekistan",
        "VA": "Vaatikan Laama",
        "VC": "Seŋvinsaŋ nda Grenadine",
        "VE": "Veneezuyeela",
        "VG": "Britiši Virgin gungey",
        "VI": "Ameerik Virgin Gungey",
        "VN": "Vietnaam",
        "VU": "Vanautu",
        "WF": "Wallis nda Futuna",
        "YE": "Yaman",
        "YT": "Mayooti",
        "ZA": "Hawsa Afriki Laboo",
        "ZM": "Zambi"
    };
  }-*/;
}
