/*
 * 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",
        "XA",
        "XB",
        "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"
    };
  }-*/;
}
