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