/*
 * Copyright 2010 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 "ses" locale.
 */
public class LocalizedNamesImpl_ses 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",
        "BR",
        "IO",
        "VG",
        "BN",
        "BG",
        "BF",
        "BI",
        "BT",
        "BV",
        "TD",
        "CC",
        "CZ",
        "CF",
        "CP",
        "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",
        "GY",
        "GP",
        "GT",
        "HT",
        "ZA",
        "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",
        "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",
        "CS",
        "SH",
        "KN",
        "LC",
        "PM",
        "VC",
        "CL",
        "CN",
        "CY",
        "SG",
        "SJ",
        "SK",
        "SI",
        "SB",
        "SO",
        "LK",
        "SR",
        "SD",
        "SY",
        "SZ",
        "SE",
        "CH",
        "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",
        "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("CS", "Serbi nda Montenegro");
    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",
        "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",
        "CS": "Serbi nda Montenegro",
        "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"
    };
  }-*/;
}
