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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "Andore");
    namesMap.put("AE", "Lemila alabu");
    namesMap.put("AF", "Afuganisita");
    namesMap.put("AG", "Antiga ne Barbuda");
    namesMap.put("AI", "Angiye");
    namesMap.put("AL", "Alubani");
    namesMap.put("AM", "Ameni");
    namesMap.put("AR", "Alijantine");
    namesMap.put("AS", "Samoa wa Ameriki");
    namesMap.put("AT", "Otilisi");
    namesMap.put("AU", "Ositali");
    namesMap.put("AZ", "Ajelbayidja");
    namesMap.put("BA", "Mbosini ne Hezegovine");
    namesMap.put("BB", "Barebade");
    namesMap.put("BD", "Benguladeshi");
    namesMap.put("BE", "Belejiki");
    namesMap.put("BF", "Bukinafaso");
    namesMap.put("BG", "Biligari");
    namesMap.put("BH", "Bahrene");
    namesMap.put("BJ", "Bene");
    namesMap.put("BN", "Brineyi");
    namesMap.put("BO", "Mbolivi");
    namesMap.put("BR", "Mnulezile");
    namesMap.put("BS", "Bahamase");
    namesMap.put("BT", "Butani");
    namesMap.put("BW", "Mbotswana");
    namesMap.put("BY", "Byelorisi");
    namesMap.put("CA", "Kanada");
    namesMap.put("CD", "Ditunga wa Kongu");
    namesMap.put("CF", "Ditunga dya Afrika wa munkatshi");
    namesMap.put("CG", "Kongu");
    namesMap.put("CH", "Swise");
    namesMap.put("CI", "Kotedivuale");
    namesMap.put("CK", "Lutanda lua Kookɛ");
    namesMap.put("CL", "Shili");
    namesMap.put("CM", "Kamerune");
    namesMap.put("CN", "Shine");
    namesMap.put("CO", "Kolombi");
    namesMap.put("CR", "Kositarika");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Lutanda lua Kapevele");
    namesMap.put("CY", "Shipele");
    namesMap.put("CZ", "Ditunga dya Tsheka");
    namesMap.put("DE", "Alemanu");
    namesMap.put("DJ", "Djibuti");
    namesMap.put("DK", "Danemalaku");
    namesMap.put("DM", "Duminiku");
    namesMap.put("DO", "Ditunga wa Duminiku");
    namesMap.put("DZ", "Alijeri");
    namesMap.put("EC", "Ekwatele");
    namesMap.put("EE", "Esitoni");
    namesMap.put("EG", "Mushidi");
    namesMap.put("ER", "Elitele");
    namesMap.put("ES", "Nsipani");
    namesMap.put("ET", "Etshiopi");
    namesMap.put("FI", "Filande");
    namesMap.put("FJ", "Fuji");
    namesMap.put("FK", "Lutanda lua Maluni");
    namesMap.put("FM", "Mikronezi");
    namesMap.put("FR", "Nfalanse");
    namesMap.put("GA", "Ngabu");
    namesMap.put("GB", "Angeletele");
    namesMap.put("GD", "Ngelenade");
    namesMap.put("GE", "Joriji");
    namesMap.put("GF", "Giyane wa Nfalanse");
    namesMap.put("GH", "Ngana");
    namesMap.put("GI", "Jibeletale");
    namesMap.put("GL", "Ngowelande");
    namesMap.put("GM", "Gambi");
    namesMap.put("GN", "Ngine");
    namesMap.put("GP", "Ngwadelupe");
    namesMap.put("GQ", "Gine Ekwatele");
    namesMap.put("GR", "Ngeleka");
    namesMap.put("GT", "Ngwatemala");
    namesMap.put("GU", "Ngwame");
    namesMap.put("GW", "Nginebisau");
    namesMap.put("GY", "Ngiyane");
    namesMap.put("HN", "Ondurase");
    namesMap.put("HR", "Krowasi");
    namesMap.put("HT", "Ayiti");
    namesMap.put("HU", "Ongili");
    namesMap.put("ID", "Indonezi");
    namesMap.put("IE", "Irelande");
    namesMap.put("IL", "Isirayele");
    namesMap.put("IN", "Inde");
    namesMap.put("IO", "Lutanda lwa Angeletele ku mbu wa Indiya");
    namesMap.put("IQ", "Iraki");
    namesMap.put("IR", "Ira");
    namesMap.put("IS", "Isilande");
    namesMap.put("IT", "Itali");
    namesMap.put("JM", "Jamaiki");
    namesMap.put("JO", "Jodani");
    namesMap.put("JP", "Japu");
    namesMap.put("KG", "Kigizisita");
    namesMap.put("KH", "Kambodza");
    namesMap.put("KM", "Komoru");
    namesMap.put("KN", "Santu krístofe ne Neves");
    namesMap.put("KP", "Kore wa muulu");
    namesMap.put("KR", "Kore wa mwinshi");
    namesMap.put("KW", "Koweti");
    namesMap.put("KY", "Lutanda lua Kayima");
    namesMap.put("KZ", "Kazakusita");
    namesMap.put("LA", "Lawosi");
    namesMap.put("LB", "Liba");
    namesMap.put("LC", "Santu lisi");
    namesMap.put("LI", "Lishuteni");
    namesMap.put("LK", "Sirilanka");
    namesMap.put("LR", "Liberiya");
    namesMap.put("LS", "Lesoto");
    namesMap.put("LT", "Litwani");
    namesMap.put("LU", "Likisambulu");
    namesMap.put("LV", "Letoni");
    namesMap.put("LY", "Libi");
    namesMap.put("MA", "Maroke");
    namesMap.put("MC", "Monaku");
    namesMap.put("MD", "Molidavi");
    namesMap.put("MG", "Madagasikari");
    namesMap.put("MH", "Lutanda lua Marishale");
    namesMap.put("MK", "Masedwane");
    namesMap.put("MM", "Myamare");
    namesMap.put("MN", "Mongoli");
    namesMap.put("MP", "Lutanda lua Mariane wa muulu");
    namesMap.put("MQ", "Martiniki");
    namesMap.put("MR", "Moritani");
    namesMap.put("MS", "Musera");
    namesMap.put("MT", "Malite");
    namesMap.put("MU", "Morise");
    namesMap.put("MV", "Madive");
    namesMap.put("MX", "Meksike");
    namesMap.put("MY", "Malezi");
    namesMap.put("MZ", "Mozambiki");
    namesMap.put("NA", "Namibi");
    namesMap.put("NC", "Kaledoni wa mumu");
    namesMap.put("NE", "Nijere");
    namesMap.put("NF", "Lutanda lua Norfok");
    namesMap.put("NG", "Nijerya");
    namesMap.put("NI", "Nikaragwa");
    namesMap.put("NL", "Olandɛ");
    namesMap.put("NO", "Noriveje");
    namesMap.put("NP", "Nepálɛ");
    namesMap.put("NU", "Nyue");
    namesMap.put("NZ", "Zelanda wa mumu");
    namesMap.put("OM", "Omane");
    namesMap.put("PF", "Polinezi wa Nfalanse");
    namesMap.put("PG", "Papwazi wa Nginɛ wa mumu");
    namesMap.put("PH", "Nfilipi");
    namesMap.put("PK", "Pakisita");
    namesMap.put("PL", "Mpoloni");
    namesMap.put("PM", "Santu pététo ne Mikelu");
    namesMap.put("PN", "Pikairni");
    namesMap.put("PR", "Mpotoriku");
    namesMap.put("PS", "Palesine");
    namesMap.put("PT", "Mputulugeshi");
    namesMap.put("PY", "Palagwei");
    namesMap.put("QA", "Katari");
    namesMap.put("RE", "Lenyo");
    namesMap.put("RO", "Romani");
    namesMap.put("RU", "Risi");
    namesMap.put("SA", "Alabu Nsawudi");
    namesMap.put("SB", "Lutanda lua Solomu");
    namesMap.put("SC", "Seshele");
    namesMap.put("SD", "Suda");
    namesMap.put("SE", "Suwedi");
    namesMap.put("SG", "Singapure");
    namesMap.put("SH", "Santu eleni");
    namesMap.put("SI", "Siloveni");
    namesMap.put("SK", "Silovaki");
    namesMap.put("SL", "Siera Leone");
    namesMap.put("SM", "Santu Marine");
    namesMap.put("SN", "Senegale");
    namesMap.put("SO", "Somali");
    namesMap.put("ST", "Sao Tome ne Presipɛ");
    namesMap.put("SV", "Savadore");
    namesMap.put("SY", "Siri");
    namesMap.put("SZ", "Swazilandi");
    namesMap.put("TC", "Lutanda lua Tuluki ne Kaiko");
    namesMap.put("TD", "Tshadi");
    namesMap.put("TG", "Togu");
    namesMap.put("TH", "Tayilanda");
    namesMap.put("TJ", "Tazikisita");
    namesMap.put("TL", "Timoru wa diboku");
    namesMap.put("TM", "Tukemenisita");
    namesMap.put("TN", "Tinizi");
    namesMap.put("TR", "Tuluki");
    namesMap.put("TT", "Tinidade ne Tobago");
    namesMap.put("TW", "Taiwani");
    namesMap.put("TZ", "Tanzani");
    namesMap.put("UA", "Ukreni");
    namesMap.put("US", "Ameriki");
    namesMap.put("UY", "Irigwei");
    namesMap.put("UZ", "Uzibekisita");
    namesMap.put("VA", "Nvatika");
    namesMap.put("VC", "Santu vesa ne Ngelenadine");
    namesMap.put("VG", "Lutanda lua Vierzi wa Angeletele");
    namesMap.put("VI", "Lutanda lua Vierzi wa Ameriki");
    namesMap.put("VN", "Viyetiname");
    namesMap.put("WF", "Walise ne Futuna");
    namesMap.put("YE", "Yemenu");
    namesMap.put("YT", "Mayote");
    namesMap.put("ZA", "Afrika ya Súdi");
    namesMap.put("ZM", "Zambi");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "Andore",
        "AE": "Lemila alabu",
        "AF": "Afuganisita",
        "AG": "Antiga ne Barbuda",
        "AI": "Angiye",
        "AL": "Alubani",
        "AM": "Ameni",
        "AR": "Alijantine",
        "AS": "Samoa wa Ameriki",
        "AT": "Otilisi",
        "AU": "Ositali",
        "AZ": "Ajelbayidja",
        "BA": "Mbosini ne Hezegovine",
        "BB": "Barebade",
        "BD": "Benguladeshi",
        "BE": "Belejiki",
        "BF": "Bukinafaso",
        "BG": "Biligari",
        "BH": "Bahrene",
        "BJ": "Bene",
        "BN": "Brineyi",
        "BO": "Mbolivi",
        "BR": "Mnulezile",
        "BS": "Bahamase",
        "BT": "Butani",
        "BW": "Mbotswana",
        "BY": "Byelorisi",
        "CA": "Kanada",
        "CD": "Ditunga wa Kongu",
        "CF": "Ditunga dya Afrika wa munkatshi",
        "CG": "Kongu",
        "CH": "Swise",
        "CI": "Kotedivuale",
        "CK": "Lutanda lua Kookɛ",
        "CL": "Shili",
        "CM": "Kamerune",
        "CN": "Shine",
        "CO": "Kolombi",
        "CR": "Kositarika",
        "CU": "Kuba",
        "CV": "Lutanda lua Kapevele",
        "CY": "Shipele",
        "CZ": "Ditunga dya Tsheka",
        "DE": "Alemanu",
        "DJ": "Djibuti",
        "DK": "Danemalaku",
        "DM": "Duminiku",
        "DO": "Ditunga wa Duminiku",
        "DZ": "Alijeri",
        "EC": "Ekwatele",
        "EE": "Esitoni",
        "EG": "Mushidi",
        "ER": "Elitele",
        "ES": "Nsipani",
        "ET": "Etshiopi",
        "FI": "Filande",
        "FJ": "Fuji",
        "FK": "Lutanda lua Maluni",
        "FM": "Mikronezi",
        "FR": "Nfalanse",
        "GA": "Ngabu",
        "GB": "Angeletele",
        "GD": "Ngelenade",
        "GE": "Joriji",
        "GF": "Giyane wa Nfalanse",
        "GH": "Ngana",
        "GI": "Jibeletale",
        "GL": "Ngowelande",
        "GM": "Gambi",
        "GN": "Ngine",
        "GP": "Ngwadelupe",
        "GQ": "Gine Ekwatele",
        "GR": "Ngeleka",
        "GT": "Ngwatemala",
        "GU": "Ngwame",
        "GW": "Nginebisau",
        "GY": "Ngiyane",
        "HN": "Ondurase",
        "HR": "Krowasi",
        "HT": "Ayiti",
        "HU": "Ongili",
        "ID": "Indonezi",
        "IE": "Irelande",
        "IL": "Isirayele",
        "IN": "Inde",
        "IO": "Lutanda lwa Angeletele ku mbu wa Indiya",
        "IQ": "Iraki",
        "IR": "Ira",
        "IS": "Isilande",
        "IT": "Itali",
        "JM": "Jamaiki",
        "JO": "Jodani",
        "JP": "Japu",
        "KG": "Kigizisita",
        "KH": "Kambodza",
        "KM": "Komoru",
        "KN": "Santu krístofe ne Neves",
        "KP": "Kore wa muulu",
        "KR": "Kore wa mwinshi",
        "KW": "Koweti",
        "KY": "Lutanda lua Kayima",
        "KZ": "Kazakusita",
        "LA": "Lawosi",
        "LB": "Liba",
        "LC": "Santu lisi",
        "LI": "Lishuteni",
        "LK": "Sirilanka",
        "LR": "Liberiya",
        "LS": "Lesoto",
        "LT": "Litwani",
        "LU": "Likisambulu",
        "LV": "Letoni",
        "LY": "Libi",
        "MA": "Maroke",
        "MC": "Monaku",
        "MD": "Molidavi",
        "MG": "Madagasikari",
        "MH": "Lutanda lua Marishale",
        "MK": "Masedwane",
        "MM": "Myamare",
        "MN": "Mongoli",
        "MP": "Lutanda lua Mariane wa muulu",
        "MQ": "Martiniki",
        "MR": "Moritani",
        "MS": "Musera",
        "MT": "Malite",
        "MU": "Morise",
        "MV": "Madive",
        "MX": "Meksike",
        "MY": "Malezi",
        "MZ": "Mozambiki",
        "NA": "Namibi",
        "NC": "Kaledoni wa mumu",
        "NE": "Nijere",
        "NF": "Lutanda lua Norfok",
        "NG": "Nijerya",
        "NI": "Nikaragwa",
        "NL": "Olandɛ",
        "NO": "Noriveje",
        "NP": "Nepálɛ",
        "NU": "Nyue",
        "NZ": "Zelanda wa mumu",
        "OM": "Omane",
        "PF": "Polinezi wa Nfalanse",
        "PG": "Papwazi wa Nginɛ wa mumu",
        "PH": "Nfilipi",
        "PK": "Pakisita",
        "PL": "Mpoloni",
        "PM": "Santu pététo ne Mikelu",
        "PN": "Pikairni",
        "PR": "Mpotoriku",
        "PS": "Palesine",
        "PT": "Mputulugeshi",
        "PY": "Palagwei",
        "QA": "Katari",
        "RE": "Lenyo",
        "RO": "Romani",
        "RU": "Risi",
        "SA": "Alabu Nsawudi",
        "SB": "Lutanda lua Solomu",
        "SC": "Seshele",
        "SD": "Suda",
        "SE": "Suwedi",
        "SG": "Singapure",
        "SH": "Santu eleni",
        "SI": "Siloveni",
        "SK": "Silovaki",
        "SL": "Siera Leone",
        "SM": "Santu Marine",
        "SN": "Senegale",
        "SO": "Somali",
        "ST": "Sao Tome ne Presipɛ",
        "SV": "Savadore",
        "SY": "Siri",
        "SZ": "Swazilandi",
        "TC": "Lutanda lua Tuluki ne Kaiko",
        "TD": "Tshadi",
        "TG": "Togu",
        "TH": "Tayilanda",
        "TJ": "Tazikisita",
        "TL": "Timoru wa diboku",
        "TM": "Tukemenisita",
        "TN": "Tinizi",
        "TR": "Tuluki",
        "TT": "Tinidade ne Tobago",
        "TW": "Taiwani",
        "TZ": "Tanzani",
        "UA": "Ukreni",
        "US": "Ameriki",
        "UY": "Irigwei",
        "UZ": "Uzibekisita",
        "VA": "Nvatika",
        "VC": "Santu vesa ne Ngelenadine",
        "VG": "Lutanda lua Vierzi wa Angeletele",
        "VI": "Lutanda lua Vierzi wa Ameriki",
        "VN": "Viyetiname",
        "WF": "Walise ne Futuna",
        "YE": "Yemenu",
        "YT": "Mayote",
        "ZA": "Afrika ya Súdi",
        "ZM": "Zambi"
    };
  }-*/;
}
