/*
 * 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 "et" locale.
 */
public class LocalizedNamesImpl_et extends LocalizedNamesImpl {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "maailm");
    namesMap.put("002", "Aafrika");
    namesMap.put("003", "Põhja-Ameerika");
    namesMap.put("005", "Lõuna-Ameerika");
    namesMap.put("009", "Okeaania");
    namesMap.put("011", "Lääne-Aafrika");
    namesMap.put("013", "Kesk-Ameerika");
    namesMap.put("014", "Ida-Aafrika");
    namesMap.put("015", "Põhja-Aafrika");
    namesMap.put("017", "Kesk-Aafrika");
    namesMap.put("018", "Lõuna-Aafrika");
    namesMap.put("019", "Ameerika");
    namesMap.put("021", "Ameerika põhjaosa");
    namesMap.put("029", "Kariibi piirkond");
    namesMap.put("030", "Ida-Aasia");
    namesMap.put("034", "Lõuna-Aasia");
    namesMap.put("035", "Kagu-Aasia");
    namesMap.put("039", "Lõuna-Euroopa");
    namesMap.put("053", "Australaasia");
    namesMap.put("054", "Melaneesia");
    namesMap.put("057", "Mikroneesia (piirkond)");
    namesMap.put("061", "Polüneesia");
    namesMap.put("142", "Aasia");
    namesMap.put("143", "Kesk-Aasia");
    namesMap.put("145", "Lääne-Aasia");
    namesMap.put("150", "Euroopa");
    namesMap.put("151", "Ida-Euroopa");
    namesMap.put("154", "Põhja-Euroopa");
    namesMap.put("155", "Lääne-Euroopa");
    namesMap.put("419", "Ladina-Ameerika");
    namesMap.put("AC", "Ascensioni saar");
    namesMap.put("AE", "Araabia Ühendemiraadid");
    namesMap.put("AF", "Afganistan");
    namesMap.put("AG", "Antigua ja Barbuda");
    namesMap.put("AL", "Albaania");
    namesMap.put("AM", "Armeenia");
    namesMap.put("AQ", "Antarktika");
    namesMap.put("AS", "Ameerika Samoa");
    namesMap.put("AU", "Austraalia");
    namesMap.put("AX", "Ahvenamaa");
    namesMap.put("AZ", "Aserbaidžaan");
    namesMap.put("BA", "Bosnia ja Hertsegoviina");
    namesMap.put("BE", "Belgia");
    namesMap.put("BG", "Bulgaaria");
    namesMap.put("BH", "Bahrein");
    namesMap.put("BL", "Saint-Barthélemy");
    namesMap.put("BO", "Boliivia");
    namesMap.put("BQ", "Hollandi Kariibi mere saared");
    namesMap.put("BR", "Brasiilia");
    namesMap.put("BS", "Bahama");
    namesMap.put("BV", "Bouvet’ saar");
    namesMap.put("BY", "Valgevene");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kookossaared");
    namesMap.put("CD", "Kongo DV");
    namesMap.put("CF", "Kesk-Aafrika Vabariik");
    namesMap.put("CG", "Kongo Vabariik");
    namesMap.put("CH", "Šveits");
    namesMap.put("CK", "Cooki saared");
    namesMap.put("CL", "Tšiili");
    namesMap.put("CM", "Kamerun");
    namesMap.put("CN", "Hiina");
    namesMap.put("CP", "Clippertoni saar");
    namesMap.put("CU", "Kuuba");
    namesMap.put("CV", "Roheneemesaared");
    namesMap.put("CX", "Jõulusaar");
    namesMap.put("CY", "Küpros");
    namesMap.put("CZ", "Tšehhi");
    namesMap.put("DE", "Saksamaa");
    namesMap.put("DK", "Taani");
    namesMap.put("DO", "Dominikaani Vabariik");
    namesMap.put("DZ", "Alžeeria");
    namesMap.put("EA", "Ceuta ja Melilla");
    namesMap.put("EE", "Eesti");
    namesMap.put("EG", "Egiptus");
    namesMap.put("EH", "Lääne-Sahara");
    namesMap.put("ES", "Hispaania");
    namesMap.put("ET", "Etioopia");
    namesMap.put("EU", "Euroopa Liit");
    namesMap.put("EZ", "euroala");
    namesMap.put("FI", "Soome");
    namesMap.put("FJ", "Fidži");
    namesMap.put("FK", "Falklandi saared");
    namesMap.put("FM", "Mikroneesia");
    namesMap.put("FO", "Fääri saared");
    namesMap.put("FR", "Prantsusmaa");
    namesMap.put("GB", "Suurbritannia");
    namesMap.put("GE", "Gruusia");
    namesMap.put("GF", "Prantsuse Guajaana");
    namesMap.put("GL", "Gröönimaa");
    namesMap.put("GQ", "Ekvatoriaal-Guinea");
    namesMap.put("GR", "Kreeka");
    namesMap.put("GS", "Lõuna-Georgia ja Lõuna-Sandwichi saared");
    namesMap.put("HK", "Hongkongi erihalduspiirkond");
    namesMap.put("HM", "Heardi ja McDonaldi saared");
    namesMap.put("HR", "Horvaatia");
    namesMap.put("HU", "Ungari");
    namesMap.put("IC", "Kanaari saared");
    namesMap.put("ID", "Indoneesia");
    namesMap.put("IE", "Iirimaa");
    namesMap.put("IL", "Iisrael");
    namesMap.put("IM", "Mani saar");
    namesMap.put("IO", "Briti India ookeani ala");
    namesMap.put("IQ", "Iraak");
    namesMap.put("IR", "Iraan");
    namesMap.put("IS", "Island");
    namesMap.put("IT", "Itaalia");
    namesMap.put("JO", "Jordaania");
    namesMap.put("JP", "Jaapan");
    namesMap.put("KE", "Keenia");
    namesMap.put("KG", "Kõrgõzstan");
    namesMap.put("KH", "Kambodža");
    namesMap.put("KM", "Komoorid");
    namesMap.put("KN", "Saint Kitts ja Nevis");
    namesMap.put("KP", "Põhja-Korea");
    namesMap.put("KR", "Lõuna-Korea");
    namesMap.put("KW", "Kuveit");
    namesMap.put("KY", "Kaimanisaared");
    namesMap.put("KZ", "Kasahstan");
    namesMap.put("LB", "Liibanon");
    namesMap.put("LC", "Saint Lucia");
    namesMap.put("LR", "Libeeria");
    namesMap.put("LT", "Leedu");
    namesMap.put("LU", "Luksemburg");
    namesMap.put("LV", "Läti");
    namesMap.put("LY", "Liibüa");
    namesMap.put("MA", "Maroko");
    namesMap.put("MF", "Saint-Martin");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Marshalli Saared");
    namesMap.put("MK", "Makedoonia");
    namesMap.put("MM", "Myanmar (Birma)");
    namesMap.put("MN", "Mongoolia");
    namesMap.put("MO", "Macau erihalduspiirkond");
    namesMap.put("MP", "Põhja-Mariaanid");
    namesMap.put("MR", "Mauritaania");
    namesMap.put("MV", "Maldiivid");
    namesMap.put("MX", "Mehhiko");
    namesMap.put("MY", "Malaisia");
    namesMap.put("MZ", "Mosambiik");
    namesMap.put("NA", "Namiibia");
    namesMap.put("NC", "Uus-Kaledoonia");
    namesMap.put("NF", "Norfolk");
    namesMap.put("NG", "Nigeeria");
    namesMap.put("NL", "Holland");
    namesMap.put("NO", "Norra");
    namesMap.put("NZ", "Uus-Meremaa");
    namesMap.put("OM", "Omaan");
    namesMap.put("PE", "Peruu");
    namesMap.put("PF", "Prantsuse Polüneesia");
    namesMap.put("PG", "Paapua Uus-Guinea");
    namesMap.put("PH", "Filipiinid");
    namesMap.put("PL", "Poola");
    namesMap.put("PM", "Saint-Pierre ja Miquelon");
    namesMap.put("PN", "Pitcairni saared");
    namesMap.put("PS", "Palestiina alad");
    namesMap.put("PW", "Belau");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "Okeaania hajasaared");
    namesMap.put("RO", "Rumeenia");
    namesMap.put("RU", "Venemaa");
    namesMap.put("SA", "Saudi Araabia");
    namesMap.put("SB", "Saalomoni Saared");
    namesMap.put("SC", "Seišellid");
    namesMap.put("SD", "Sudaan");
    namesMap.put("SE", "Rootsi");
    namesMap.put("SG", "Singapur");
    namesMap.put("SH", "Saint Helena");
    namesMap.put("SI", "Sloveenia");
    namesMap.put("SJ", "Svalbard ja Jan Mayen");
    namesMap.put("SK", "Slovakkia");
    namesMap.put("SO", "Somaalia");
    namesMap.put("SS", "Lõuna-Sudaan");
    namesMap.put("ST", "São Tomé ja Príncipe");
    namesMap.put("SY", "Süüria");
    namesMap.put("SZ", "Svaasimaa");
    namesMap.put("TC", "Turks ja Caicos");
    namesMap.put("TD", "Tšaad");
    namesMap.put("TF", "Prantsuse Lõunaalad");
    namesMap.put("TH", "Tai");
    namesMap.put("TJ", "Tadžikistan");
    namesMap.put("TL", "Ida-Timor");
    namesMap.put("TM", "Türkmenistan");
    namesMap.put("TN", "Tuneesia");
    namesMap.put("TR", "Türgi");
    namesMap.put("TT", "Trinidad ja Tobago");
    namesMap.put("TZ", "Tansaania");
    namesMap.put("UA", "Ukraina");
    namesMap.put("UM", "Ühendriikide hajasaared");
    namesMap.put("UN", "Ühendatud Rahvaste Organisatsioon");
    namesMap.put("US", "Ameerika Ühendriigid");
    namesMap.put("UZ", "Usbekistan");
    namesMap.put("VA", "Vatikan");
    namesMap.put("VC", "Saint Vincent ja Grenadiinid");
    namesMap.put("VG", "Briti Neitsisaared");
    namesMap.put("VI", "USA Neitsisaared");
    namesMap.put("WF", "Wallis ja Futuna");
    namesMap.put("YE", "Jeemen");
    namesMap.put("ZA", "Lõuna-Aafrika Vabariik");
    namesMap.put("ZM", "Sambia");
    namesMap.put("ZZ", "Tundmatu piirkond");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "maailm",
        "002": "Aafrika",
        "003": "Põhja-Ameerika",
        "005": "Lõuna-Ameerika",
        "009": "Okeaania",
        "011": "Lääne-Aafrika",
        "013": "Kesk-Ameerika",
        "014": "Ida-Aafrika",
        "015": "Põhja-Aafrika",
        "017": "Kesk-Aafrika",
        "018": "Lõuna-Aafrika",
        "019": "Ameerika",
        "021": "Ameerika põhjaosa",
        "029": "Kariibi piirkond",
        "030": "Ida-Aasia",
        "034": "Lõuna-Aasia",
        "035": "Kagu-Aasia",
        "039": "Lõuna-Euroopa",
        "053": "Australaasia",
        "054": "Melaneesia",
        "057": "Mikroneesia (piirkond)",
        "061": "Polüneesia",
        "142": "Aasia",
        "143": "Kesk-Aasia",
        "145": "Lääne-Aasia",
        "150": "Euroopa",
        "151": "Ida-Euroopa",
        "154": "Põhja-Euroopa",
        "155": "Lääne-Euroopa",
        "419": "Ladina-Ameerika",
        "AC": "Ascensioni saar",
        "AE": "Araabia Ühendemiraadid",
        "AF": "Afganistan",
        "AG": "Antigua ja Barbuda",
        "AL": "Albaania",
        "AM": "Armeenia",
        "AQ": "Antarktika",
        "AS": "Ameerika Samoa",
        "AU": "Austraalia",
        "AX": "Ahvenamaa",
        "AZ": "Aserbaidžaan",
        "BA": "Bosnia ja Hertsegoviina",
        "BE": "Belgia",
        "BG": "Bulgaaria",
        "BH": "Bahrein",
        "BL": "Saint-Barthélemy",
        "BO": "Boliivia",
        "BQ": "Hollandi Kariibi mere saared",
        "BR": "Brasiilia",
        "BS": "Bahama",
        "BV": "Bouvet’ saar",
        "BY": "Valgevene",
        "CA": "Kanada",
        "CC": "Kookossaared",
        "CD": "Kongo DV",
        "CF": "Kesk-Aafrika Vabariik",
        "CG": "Kongo Vabariik",
        "CH": "Šveits",
        "CK": "Cooki saared",
        "CL": "Tšiili",
        "CM": "Kamerun",
        "CN": "Hiina",
        "CP": "Clippertoni saar",
        "CU": "Kuuba",
        "CV": "Roheneemesaared",
        "CX": "Jõulusaar",
        "CY": "Küpros",
        "CZ": "Tšehhi",
        "DE": "Saksamaa",
        "DK": "Taani",
        "DO": "Dominikaani Vabariik",
        "DZ": "Alžeeria",
        "EA": "Ceuta ja Melilla",
        "EE": "Eesti",
        "EG": "Egiptus",
        "EH": "Lääne-Sahara",
        "ES": "Hispaania",
        "ET": "Etioopia",
        "EU": "Euroopa Liit",
        "EZ": "euroala",
        "FI": "Soome",
        "FJ": "Fidži",
        "FK": "Falklandi saared",
        "FM": "Mikroneesia",
        "FO": "Fääri saared",
        "FR": "Prantsusmaa",
        "GB": "Suurbritannia",
        "GE": "Gruusia",
        "GF": "Prantsuse Guajaana",
        "GL": "Gröönimaa",
        "GQ": "Ekvatoriaal-Guinea",
        "GR": "Kreeka",
        "GS": "Lõuna-Georgia ja Lõuna-Sandwichi saared",
        "HK": "Hongkongi erihalduspiirkond",
        "HM": "Heardi ja McDonaldi saared",
        "HR": "Horvaatia",
        "HU": "Ungari",
        "IC": "Kanaari saared",
        "ID": "Indoneesia",
        "IE": "Iirimaa",
        "IL": "Iisrael",
        "IM": "Mani saar",
        "IO": "Briti India ookeani ala",
        "IQ": "Iraak",
        "IR": "Iraan",
        "IS": "Island",
        "IT": "Itaalia",
        "JO": "Jordaania",
        "JP": "Jaapan",
        "KE": "Keenia",
        "KG": "Kõrgõzstan",
        "KH": "Kambodža",
        "KM": "Komoorid",
        "KN": "Saint Kitts ja Nevis",
        "KP": "Põhja-Korea",
        "KR": "Lõuna-Korea",
        "KW": "Kuveit",
        "KY": "Kaimanisaared",
        "KZ": "Kasahstan",
        "LB": "Liibanon",
        "LC": "Saint Lucia",
        "LR": "Libeeria",
        "LT": "Leedu",
        "LU": "Luksemburg",
        "LV": "Läti",
        "LY": "Liibüa",
        "MA": "Maroko",
        "MF": "Saint-Martin",
        "MG": "Madagaskar",
        "MH": "Marshalli Saared",
        "MK": "Makedoonia",
        "MM": "Myanmar (Birma)",
        "MN": "Mongoolia",
        "MO": "Macau erihalduspiirkond",
        "MP": "Põhja-Mariaanid",
        "MR": "Mauritaania",
        "MV": "Maldiivid",
        "MX": "Mehhiko",
        "MY": "Malaisia",
        "MZ": "Mosambiik",
        "NA": "Namiibia",
        "NC": "Uus-Kaledoonia",
        "NF": "Norfolk",
        "NG": "Nigeeria",
        "NL": "Holland",
        "NO": "Norra",
        "NZ": "Uus-Meremaa",
        "OM": "Omaan",
        "PE": "Peruu",
        "PF": "Prantsuse Polüneesia",
        "PG": "Paapua Uus-Guinea",
        "PH": "Filipiinid",
        "PL": "Poola",
        "PM": "Saint-Pierre ja Miquelon",
        "PN": "Pitcairni saared",
        "PS": "Palestiina alad",
        "PW": "Belau",
        "QA": "Katar",
        "QO": "Okeaania hajasaared",
        "RO": "Rumeenia",
        "RU": "Venemaa",
        "SA": "Saudi Araabia",
        "SB": "Saalomoni Saared",
        "SC": "Seišellid",
        "SD": "Sudaan",
        "SE": "Rootsi",
        "SG": "Singapur",
        "SH": "Saint Helena",
        "SI": "Sloveenia",
        "SJ": "Svalbard ja Jan Mayen",
        "SK": "Slovakkia",
        "SO": "Somaalia",
        "SS": "Lõuna-Sudaan",
        "ST": "São Tomé ja Príncipe",
        "SY": "Süüria",
        "SZ": "Svaasimaa",
        "TC": "Turks ja Caicos",
        "TD": "Tšaad",
        "TF": "Prantsuse Lõunaalad",
        "TH": "Tai",
        "TJ": "Tadžikistan",
        "TL": "Ida-Timor",
        "TM": "Türkmenistan",
        "TN": "Tuneesia",
        "TR": "Türgi",
        "TT": "Trinidad ja Tobago",
        "TZ": "Tansaania",
        "UA": "Ukraina",
        "UM": "Ühendriikide hajasaared",
        "UN": "Ühendatud Rahvaste Organisatsioon",
        "US": "Ameerika Ühendriigid",
        "UZ": "Usbekistan",
        "VA": "Vatikan",
        "VC": "Saint Vincent ja Grenadiinid",
        "VG": "Briti Neitsisaared",
        "VI": "USA Neitsisaared",
        "WF": "Wallis ja Futuna",
        "YE": "Jeemen",
        "ZA": "Lõuna-Aafrika Vabariik",
        "ZM": "Sambia",
        "ZZ": "Tundmatu piirkond"
    };
  }-*/;
}
