/*
 * 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 "shi_Latn" locale.
 */
public class LocalizedNamesImpl_shi_Latn extends LocalizedNamesImpl_shi {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "andura");
    namesMap.put("AE", "limarat");
    namesMap.put("AF", "afɣanistan");
    namesMap.put("AG", "antiga d brbuda");
    namesMap.put("AI", "angila");
    namesMap.put("AL", "albanya");
    namesMap.put("AM", "arminya");
    namesMap.put("AO", "angula");
    namesMap.put("AR", "arjantin");
    namesMap.put("AS", "samwa tamirikanit");
    namesMap.put("AT", "nnmsa");
    namesMap.put("AU", "ustralya");
    namesMap.put("AW", "aruba");
    namesMap.put("AZ", "adrabijan");
    namesMap.put("BA", "busna d hirsik");
    namesMap.put("BB", "barbad");
    namesMap.put("BD", "bangladic");
    namesMap.put("BE", "bljika");
    namesMap.put("BF", "burkina fasu");
    namesMap.put("BG", "blɣara");
    namesMap.put("BH", "bḥrayn");
    namesMap.put("BI", "burundi");
    namesMap.put("BJ", "binin");
    namesMap.put("BM", "brmuda");
    namesMap.put("BN", "bruni");
    namesMap.put("BO", "bulibya");
    namesMap.put("BR", "brazil");
    namesMap.put("BS", "bahamas");
    namesMap.put("BT", "bhutan");
    namesMap.put("BW", "butswana");
    namesMap.put("BY", "bilarusya");
    namesMap.put("BZ", "biliz");
    namesMap.put("CA", "kanada");
    namesMap.put("CD", "tagdudant tadimukratit n Kongo");
    namesMap.put("CF", "tagdudant tanammast n ifriqya");
    namesMap.put("CG", "kungu");
    namesMap.put("CH", "swisra");
    namesMap.put("CI", "kut difwar");
    namesMap.put("CK", "tigzirin n kuk");
    namesMap.put("CL", "ccili");
    namesMap.put("CM", "kamirun");
    namesMap.put("CN", "ccinwa");
    namesMap.put("CO", "culumbya");
    namesMap.put("CR", "kusta rika");
    namesMap.put("CU", "kuba");
    namesMap.put("CV", "tigzirin n kabbirdi");
    namesMap.put("CY", "qubrus");
    namesMap.put("CZ", "tagdudant tatcikit");
    namesMap.put("DE", "almanya");
    namesMap.put("DJ", "djibuti");
    namesMap.put("DK", "danmark");
    namesMap.put("DM", "duminik");
    namesMap.put("DO", "tagdudant taduminikt");
    namesMap.put("DZ", "dzayr");
    namesMap.put("EC", "ikwadur");
    namesMap.put("EE", "istunya");
    namesMap.put("EG", "miṣṛ");
    namesMap.put("ER", "iritirya");
    namesMap.put("ES", "sbanya");
    namesMap.put("ET", "ityubya");
    namesMap.put("FI", "fillanda");
    namesMap.put("FJ", "fidji");
    namesMap.put("FK", "tigzirin n malawi");
    namesMap.put("FM", "mikrunizya");
    namesMap.put("FR", "fransa");
    namesMap.put("GA", "gabun");
    namesMap.put("GB", "tagldit imunn");
    namesMap.put("GD", "ɣrnaṭa");
    namesMap.put("GE", "jurjya");
    namesMap.put("GF", "gwiyan tafransist");
    namesMap.put("GH", "ɣana");
    namesMap.put("GI", "adrar n ṭaṛiq");
    namesMap.put("GL", "griland");
    namesMap.put("GM", "gambya");
    namesMap.put("GN", "ɣinya");
    namesMap.put("GP", "gwadalub");
    namesMap.put("GQ", "ɣinya n ikwadur");
    namesMap.put("GR", "lyunan");
    namesMap.put("GT", "gwatimala");
    namesMap.put("GU", "gwam");
    namesMap.put("GW", "ɣinya bisaw");
    namesMap.put("GY", "gwiyana");
    namesMap.put("HN", "hunduras");
    namesMap.put("HR", "krwatya");
    namesMap.put("HT", "hayti");
    namesMap.put("HU", "hnɣarya");
    namesMap.put("ID", "andunisya");
    namesMap.put("IE", "irlanda");
    namesMap.put("IL", "israyil");
    namesMap.put("IN", "lhind");
    namesMap.put("IO", "tamnaḍt tanglizit n ugaru ahindi");
    namesMap.put("IQ", "lɛiraq");
    namesMap.put("IR", "iran");
    namesMap.put("IS", "island");
    namesMap.put("IT", "iṭalya");
    namesMap.put("JM", "jamayka");
    namesMap.put("JO", "lurdun");
    namesMap.put("JP", "lyaban");
    namesMap.put("KE", "kinya");
    namesMap.put("KG", "kirɣizistan");
    namesMap.put("KH", "kambudya");
    namesMap.put("KI", "kiribati");
    namesMap.put("KM", "cumur");
    namesMap.put("KN", "sankris d nifis");
    namesMap.put("KP", "kurya n iẓẓlmḍ");
    namesMap.put("KR", "kurya n iffus");
    namesMap.put("KW", "lkwit");
    namesMap.put("KY", "tigzirin n kayman");
    namesMap.put("KZ", "kazaxstan");
    namesMap.put("LA", "laws");
    namesMap.put("LB", "lubnan");
    namesMap.put("LC", "santlusi");
    namesMap.put("LI", "likinctayn");
    namesMap.put("LK", "srilanka");
    namesMap.put("LR", "libirya");
    namesMap.put("LS", "liṣuṭu");
    namesMap.put("LT", "litwanya");
    namesMap.put("LU", "luksanburg");
    namesMap.put("LV", "latfya");
    namesMap.put("LY", "libya");
    namesMap.put("MA", "lmɣrib");
    namesMap.put("MC", "munaku");
    namesMap.put("MD", "muldufya");
    namesMap.put("MG", "madaɣacqar");
    namesMap.put("MH", "tigzirin n marcal");
    namesMap.put("MK", "masidunya");
    namesMap.put("ML", "mali");
    namesMap.put("MM", "myanmar");
    namesMap.put("MN", "mnɣulya");
    namesMap.put("MP", "tigzirin n maryan n iẓẓlmḍ");
    namesMap.put("MQ", "martinik");
    namesMap.put("MR", "muṛiṭanya");
    namesMap.put("MS", "munsirat");
    namesMap.put("MT", "malṭa");
    namesMap.put("MU", "muris");
    namesMap.put("MV", "maldif");
    namesMap.put("MW", "malawi");
    namesMap.put("MX", "miksik");
    namesMap.put("MY", "malizya");
    namesMap.put("MZ", "muznbiq");
    namesMap.put("NA", "namibya");
    namesMap.put("NC", "kalidunya tamaynut");
    namesMap.put("NE", "nnijir");
    namesMap.put("NF", "tigzirin n nurfulk");
    namesMap.put("NG", "nijirya");
    namesMap.put("NI", "nikaragwa");
    namesMap.put("NL", "hulanda");
    namesMap.put("NO", "nnrwij");
    namesMap.put("NP", "nibal");
    namesMap.put("NR", "nawru");
    namesMap.put("NU", "niwi");
    namesMap.put("NZ", "nyuzilanda");
    namesMap.put("OM", "ɛuman");
    namesMap.put("PA", "banama");
    namesMap.put("PE", "biru");
    namesMap.put("PF", "bulinizya tafransist");
    namesMap.put("PG", "babwa ɣinya tamaynut");
    namesMap.put("PH", "filibbin");
    namesMap.put("PK", "bakistan");
    namesMap.put("PL", "bulunya");
    namesMap.put("PM", "sanbyir d miklun");
    namesMap.put("PN", "bitkayrn");
    namesMap.put("PR", "burtu riku");
    namesMap.put("PS", "agmmaḍ n tagut d ɣzza");
    namesMap.put("PT", "bṛṭqiz");
    namesMap.put("PW", "balaw");
    namesMap.put("PY", "baragway");
    namesMap.put("QA", "qatar");
    namesMap.put("RE", "riyunyun");
    namesMap.put("RO", "rumanya");
    namesMap.put("RU", "rusya");
    namesMap.put("RW", "rwanda");
    namesMap.put("SA", "ssaɛudiya");
    namesMap.put("SB", "tigzirin n saluman");
    namesMap.put("SC", "ssicil");
    namesMap.put("SD", "ssudan");
    namesMap.put("SE", "sswid");
    namesMap.put("SG", "snɣafura");
    namesMap.put("SH", "santilin");
    namesMap.put("SI", "slufinya");
    namesMap.put("SK", "slufakya");
    namesMap.put("SL", "ssiralyun");
    namesMap.put("SM", "sanmarinu");
    namesMap.put("SN", "ssinigal");
    namesMap.put("SO", "ṣṣumal");
    namesMap.put("SR", "surinam");
    namesMap.put("ST", "sawṭumi d bransib");
    namesMap.put("SV", "salfadur");
    namesMap.put("SY", "surya");
    namesMap.put("SZ", "swazilanda");
    namesMap.put("TC", "tigzirin n turkya d kayk");
    namesMap.put("TD", "tcad");
    namesMap.put("TG", "ṭugu");
    namesMap.put("TH", "ṭayland");
    namesMap.put("TJ", "tadjakistan");
    namesMap.put("TK", "ṭuklaw");
    namesMap.put("TL", "timur n lqblt");
    namesMap.put("TM", "turkmanstan");
    namesMap.put("TN", "tuns");
    namesMap.put("TO", "ṭunga");
    namesMap.put("TR", "turkya");
    namesMap.put("TT", "trinidad d ṭubagu");
    namesMap.put("TV", "tufalu");
    namesMap.put("TW", "ṭaywan");
    namesMap.put("TZ", "ṭanẓanya");
    namesMap.put("UA", "ukranya");
    namesMap.put("UG", "uɣanda");
    namesMap.put("US", "iwunak munnin n mirikan");
    namesMap.put("UY", "urugway");
    namesMap.put("UZ", "uzbakistan");
    namesMap.put("VA", "awank n fatikan");
    namesMap.put("VC", "sanfansan d grinadin");
    namesMap.put("VE", "finzwila");
    namesMap.put("VG", "tigzirin timgad n nngliz");
    namesMap.put("VI", "tigzirin timgad n iwunak munnin");
    namesMap.put("VN", "fitnam");
    namesMap.put("VU", "fanwaṭu");
    namesMap.put("WF", "walis d futuna");
    namesMap.put("WS", "samwa");
    namesMap.put("YE", "yaman");
    namesMap.put("YT", "mayuṭ");
    namesMap.put("ZA", "afriqya n iffus");
    namesMap.put("ZM", "zambya");
    namesMap.put("ZW", "zimbabwi");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "andura",
        "AE": "limarat",
        "AF": "afɣanistan",
        "AG": "antiga d brbuda",
        "AI": "angila",
        "AL": "albanya",
        "AM": "arminya",
        "AO": "angula",
        "AR": "arjantin",
        "AS": "samwa tamirikanit",
        "AT": "nnmsa",
        "AU": "ustralya",
        "AW": "aruba",
        "AZ": "adrabijan",
        "BA": "busna d hirsik",
        "BB": "barbad",
        "BD": "bangladic",
        "BE": "bljika",
        "BF": "burkina fasu",
        "BG": "blɣara",
        "BH": "bḥrayn",
        "BI": "burundi",
        "BJ": "binin",
        "BM": "brmuda",
        "BN": "bruni",
        "BO": "bulibya",
        "BR": "brazil",
        "BS": "bahamas",
        "BT": "bhutan",
        "BW": "butswana",
        "BY": "bilarusya",
        "BZ": "biliz",
        "CA": "kanada",
        "CD": "tagdudant tadimukratit n Kongo",
        "CF": "tagdudant tanammast n ifriqya",
        "CG": "kungu",
        "CH": "swisra",
        "CI": "kut difwar",
        "CK": "tigzirin n kuk",
        "CL": "ccili",
        "CM": "kamirun",
        "CN": "ccinwa",
        "CO": "culumbya",
        "CR": "kusta rika",
        "CU": "kuba",
        "CV": "tigzirin n kabbirdi",
        "CY": "qubrus",
        "CZ": "tagdudant tatcikit",
        "DE": "almanya",
        "DJ": "djibuti",
        "DK": "danmark",
        "DM": "duminik",
        "DO": "tagdudant taduminikt",
        "DZ": "dzayr",
        "EC": "ikwadur",
        "EE": "istunya",
        "EG": "miṣṛ",
        "ER": "iritirya",
        "ES": "sbanya",
        "ET": "ityubya",
        "FI": "fillanda",
        "FJ": "fidji",
        "FK": "tigzirin n malawi",
        "FM": "mikrunizya",
        "FR": "fransa",
        "GA": "gabun",
        "GB": "tagldit imunn",
        "GD": "ɣrnaṭa",
        "GE": "jurjya",
        "GF": "gwiyan tafransist",
        "GH": "ɣana",
        "GI": "adrar n ṭaṛiq",
        "GL": "griland",
        "GM": "gambya",
        "GN": "ɣinya",
        "GP": "gwadalub",
        "GQ": "ɣinya n ikwadur",
        "GR": "lyunan",
        "GT": "gwatimala",
        "GU": "gwam",
        "GW": "ɣinya bisaw",
        "GY": "gwiyana",
        "HN": "hunduras",
        "HR": "krwatya",
        "HT": "hayti",
        "HU": "hnɣarya",
        "ID": "andunisya",
        "IE": "irlanda",
        "IL": "israyil",
        "IN": "lhind",
        "IO": "tamnaḍt tanglizit n ugaru ahindi",
        "IQ": "lɛiraq",
        "IR": "iran",
        "IS": "island",
        "IT": "iṭalya",
        "JM": "jamayka",
        "JO": "lurdun",
        "JP": "lyaban",
        "KE": "kinya",
        "KG": "kirɣizistan",
        "KH": "kambudya",
        "KI": "kiribati",
        "KM": "cumur",
        "KN": "sankris d nifis",
        "KP": "kurya n iẓẓlmḍ",
        "KR": "kurya n iffus",
        "KW": "lkwit",
        "KY": "tigzirin n kayman",
        "KZ": "kazaxstan",
        "LA": "laws",
        "LB": "lubnan",
        "LC": "santlusi",
        "LI": "likinctayn",
        "LK": "srilanka",
        "LR": "libirya",
        "LS": "liṣuṭu",
        "LT": "litwanya",
        "LU": "luksanburg",
        "LV": "latfya",
        "LY": "libya",
        "MA": "lmɣrib",
        "MC": "munaku",
        "MD": "muldufya",
        "MG": "madaɣacqar",
        "MH": "tigzirin n marcal",
        "MK": "masidunya",
        "ML": "mali",
        "MM": "myanmar",
        "MN": "mnɣulya",
        "MP": "tigzirin n maryan n iẓẓlmḍ",
        "MQ": "martinik",
        "MR": "muṛiṭanya",
        "MS": "munsirat",
        "MT": "malṭa",
        "MU": "muris",
        "MV": "maldif",
        "MW": "malawi",
        "MX": "miksik",
        "MY": "malizya",
        "MZ": "muznbiq",
        "NA": "namibya",
        "NC": "kalidunya tamaynut",
        "NE": "nnijir",
        "NF": "tigzirin n nurfulk",
        "NG": "nijirya",
        "NI": "nikaragwa",
        "NL": "hulanda",
        "NO": "nnrwij",
        "NP": "nibal",
        "NR": "nawru",
        "NU": "niwi",
        "NZ": "nyuzilanda",
        "OM": "ɛuman",
        "PA": "banama",
        "PE": "biru",
        "PF": "bulinizya tafransist",
        "PG": "babwa ɣinya tamaynut",
        "PH": "filibbin",
        "PK": "bakistan",
        "PL": "bulunya",
        "PM": "sanbyir d miklun",
        "PN": "bitkayrn",
        "PR": "burtu riku",
        "PS": "agmmaḍ n tagut d ɣzza",
        "PT": "bṛṭqiz",
        "PW": "balaw",
        "PY": "baragway",
        "QA": "qatar",
        "RE": "riyunyun",
        "RO": "rumanya",
        "RU": "rusya",
        "RW": "rwanda",
        "SA": "ssaɛudiya",
        "SB": "tigzirin n saluman",
        "SC": "ssicil",
        "SD": "ssudan",
        "SE": "sswid",
        "SG": "snɣafura",
        "SH": "santilin",
        "SI": "slufinya",
        "SK": "slufakya",
        "SL": "ssiralyun",
        "SM": "sanmarinu",
        "SN": "ssinigal",
        "SO": "ṣṣumal",
        "SR": "surinam",
        "ST": "sawṭumi d bransib",
        "SV": "salfadur",
        "SY": "surya",
        "SZ": "swazilanda",
        "TC": "tigzirin n turkya d kayk",
        "TD": "tcad",
        "TG": "ṭugu",
        "TH": "ṭayland",
        "TJ": "tadjakistan",
        "TK": "ṭuklaw",
        "TL": "timur n lqblt",
        "TM": "turkmanstan",
        "TN": "tuns",
        "TO": "ṭunga",
        "TR": "turkya",
        "TT": "trinidad d ṭubagu",
        "TV": "tufalu",
        "TW": "ṭaywan",
        "TZ": "ṭanẓanya",
        "UA": "ukranya",
        "UG": "uɣanda",
        "US": "iwunak munnin n mirikan",
        "UY": "urugway",
        "UZ": "uzbakistan",
        "VA": "awank n fatikan",
        "VC": "sanfansan d grinadin",
        "VE": "finzwila",
        "VG": "tigzirin timgad n nngliz",
        "VI": "tigzirin timgad n iwunak munnin",
        "VN": "fitnam",
        "VU": "fanwaṭu",
        "WF": "walis d futuna",
        "WS": "samwa",
        "YE": "yaman",
        "YT": "mayuṭ",
        "ZA": "afriqya n iffus",
        "ZM": "zambya",
        "ZW": "zimbabwi"
    };
  }-*/;
}
