/*
 * 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 "khq" locale.
 */
public class LocalizedNamesImpl_khq 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",
        "EZ",
        "FR",
        "GF",
        "PF",
        "FJ",
        "PH",
        "FI",
        "FO",
        "GA",
        "GH",
        "GM",
        "GG",
        "GI",
        "GN",
        "GW",
        "GQ",
        "GE",
        "GR",
        "GD",
        "GL",
        "GS",
        "GU",
        "GY",
        "GP",
        "GT",
        "HT",
        "ZA",
        "HK",
        "HM",
        "NL",
        "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",
        "KP",
        "KR",
        "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",
        "UN",
        "JO",
        "UY",
        "UZ",
        "VA",
        "VU",
        "VE",
        "VN",
        "WF",
        "XA",
        "XB",
        "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("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("DM", "Doominiki");
    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", "Ayceland");
    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", "Kooree, Gurma");
    namesMap.put("KR", "Kooree, Hawsa");
    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",
        "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",
        "DM": "Doominiki",
        "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": "Ayceland",
        "IT": "Itaali",
        "JM": "Jamaayik",
        "JO": "Urdun",
        "JP": "Jaapoŋ",
        "KE": "Keeniya",
        "KH": "Kamboogi",
        "KI": "Kiribaati",
        "KM": "Komoor",
        "KN": "Seŋ Kitts nda Nevis",
        "KP": "Kooree, Gurma",
        "KR": "Kooree, Hawsa",
        "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"
    };
  }-*/;
}
