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

  @Override
  public String[] loadLikelyRegionCodes() {
    return new String[] {
        "TR",
    };
  }

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Dünya");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Kuzey Amerika");
    namesMap.put("005", "Güney Amerika");
    namesMap.put("009", "Okyanusya");
    namesMap.put("011", "Batı Afrika");
    namesMap.put("013", "Orta Amerika");
    namesMap.put("014", "Doğu Afrika");
    namesMap.put("015", "Kuzey Afrika");
    namesMap.put("017", "Orta Afrika");
    namesMap.put("018", "Afrika’nın Güneyi");
    namesMap.put("019", "Amerika");
    namesMap.put("021", "Amerika’nın Kuzeyi");
    namesMap.put("029", "Karayipler");
    namesMap.put("030", "Doğu Asya");
    namesMap.put("034", "Güney Asya");
    namesMap.put("035", "Güneydoğu Asya");
    namesMap.put("039", "Güney Avrupa");
    namesMap.put("053", "Avustralasya");
    namesMap.put("054", "Melanezya");
    namesMap.put("057", "Mikronezya Bölgesi");
    namesMap.put("061", "Polinezya");
    namesMap.put("142", "Asya");
    namesMap.put("143", "Orta Asya");
    namesMap.put("145", "Batı Asya");
    namesMap.put("150", "Avrupa");
    namesMap.put("151", "Doğu Avrupa");
    namesMap.put("154", "Kuzey Avrupa");
    namesMap.put("155", "Batı Avrupa");
    namesMap.put("419", "Latin Amerika");
    namesMap.put("AC", "Ascension Adası");
    namesMap.put("AE", "Birleşik Arap Emirlikleri");
    namesMap.put("AF", "Afganistan");
    namesMap.put("AG", "Antigua ve Barbuda");
    namesMap.put("AL", "Arnavutluk");
    namesMap.put("AM", "Ermenistan");
    namesMap.put("AQ", "Antarktika");
    namesMap.put("AR", "Arjantin");
    namesMap.put("AS", "Amerikan Samoası");
    namesMap.put("AT", "Avusturya");
    namesMap.put("AU", "Avustralya");
    namesMap.put("AX", "Åland Adaları");
    namesMap.put("AZ", "Azerbaycan");
    namesMap.put("BA", "Bosna-Hersek");
    namesMap.put("BD", "Bangladeş");
    namesMap.put("BE", "Belçika");
    namesMap.put("BG", "Bulgaristan");
    namesMap.put("BH", "Bahreyn");
    namesMap.put("BL", "Saint Barthelemy");
    namesMap.put("BO", "Bolivya");
    namesMap.put("BQ", "Karayip Hollandası");
    namesMap.put("BR", "Brezilya");
    namesMap.put("BS", "Bahamalar");
    namesMap.put("BT", "Butan");
    namesMap.put("BV", "Bouvet Adası");
    namesMap.put("BW", "Botsvana");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Cocos (Keeling) Adaları");
    namesMap.put("CD", "Kongo - Kinşasa");
    namesMap.put("CF", "Orta Afrika Cumhuriyeti");
    namesMap.put("CG", "Kongo - Brazavil");
    namesMap.put("CH", "İsviçre");
    namesMap.put("CI", "Fildişi Sahili");
    namesMap.put("CK", "Cook Adaları");
    namesMap.put("CL", "Şili");
    namesMap.put("CM", "Kamerun");
    namesMap.put("CN", "Çin");
    namesMap.put("CO", "Kolombiya");
    namesMap.put("CP", "Clipperton Adası");
    namesMap.put("CR", "Kosta Rika");
    namesMap.put("CU", "Küba");
    namesMap.put("CX", "Christmas Adası");
    namesMap.put("CY", "Kıbrıs");
    namesMap.put("CZ", "Çekya");
    namesMap.put("DE", "Almanya");
    namesMap.put("DJ", "Cibuti");
    namesMap.put("DK", "Danimarka");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Dominik Cumhuriyeti");
    namesMap.put("DZ", "Cezayir");
    namesMap.put("EA", "Septe ve Melilla");
    namesMap.put("EC", "Ekvador");
    namesMap.put("EE", "Estonya");
    namesMap.put("EG", "Mısır");
    namesMap.put("EH", "Batı Sahra");
    namesMap.put("ER", "Eritre");
    namesMap.put("ES", "İspanya");
    namesMap.put("ET", "Etiyopya");
    namesMap.put("EU", "Avrupa Birliği");
    namesMap.put("EZ", "Euro Bölgesi");
    namesMap.put("FI", "Finlandiya");
    namesMap.put("FK", "Falkland Adaları");
    namesMap.put("FM", "Mikronezya");
    namesMap.put("FO", "Faroe Adaları");
    namesMap.put("FR", "Fransa");
    namesMap.put("GB", "Birleşik Krallık");
    namesMap.put("GE", "Gürcistan");
    namesMap.put("GF", "Fransız Guyanası");
    namesMap.put("GH", "Gana");
    namesMap.put("GI", "Cebelitarık");
    namesMap.put("GL", "Grönland");
    namesMap.put("GM", "Gambiya");
    namesMap.put("GN", "Gine");
    namesMap.put("GQ", "Ekvator Ginesi");
    namesMap.put("GR", "Yunanistan");
    namesMap.put("GS", "Güney Georgia ve Güney Sandwich Adaları");
    namesMap.put("GW", "Gine-Bissau");
    namesMap.put("HK", "Çin Hong Kong ÖİB");
    namesMap.put("HM", "Heard Adası ve McDonald Adaları");
    namesMap.put("HR", "Hırvatistan");
    namesMap.put("HU", "Macaristan");
    namesMap.put("IC", "Kanarya Adaları");
    namesMap.put("ID", "Endonezya");
    namesMap.put("IE", "İrlanda");
    namesMap.put("IL", "İsrail");
    namesMap.put("IM", "Man Adası");
    namesMap.put("IN", "Hindistan");
    namesMap.put("IO", "Britanya Hint Okyanusu Toprakları");
    namesMap.put("IQ", "Irak");
    namesMap.put("IR", "İran");
    namesMap.put("IS", "İzlanda");
    namesMap.put("IT", "İtalya");
    namesMap.put("JM", "Jamaika");
    namesMap.put("JO", "Ürdün");
    namesMap.put("JP", "Japonya");
    namesMap.put("KG", "Kırgızistan");
    namesMap.put("KH", "Kamboçya");
    namesMap.put("KM", "Komorlar");
    namesMap.put("KN", "Saint Kitts ve Nevis");
    namesMap.put("KP", "Kuzey Kore");
    namesMap.put("KR", "Güney Kore");
    namesMap.put("KW", "Kuveyt");
    namesMap.put("KY", "Cayman Adaları");
    namesMap.put("KZ", "Kazakistan");
    namesMap.put("LB", "Lübnan");
    namesMap.put("LC", "Saint Lucia");
    namesMap.put("LR", "Liberya");
    namesMap.put("LT", "Litvanya");
    namesMap.put("LU", "Lüksemburg");
    namesMap.put("LV", "Letonya");
    namesMap.put("MA", "Fas");
    namesMap.put("MC", "Monako");
    namesMap.put("ME", "Karadağ");
    namesMap.put("MF", "Saint Martin");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Marshall Adaları");
    namesMap.put("MK", "Makedonya");
    namesMap.put("MN", "Moğolistan");
    namesMap.put("MO", "Çin Makao ÖİB");
    namesMap.put("MP", "Kuzey Mariana Adaları");
    namesMap.put("MQ", "Martinik");
    namesMap.put("MR", "Moritanya");
    namesMap.put("MV", "Maldivler");
    namesMap.put("MW", "Malavi");
    namesMap.put("MX", "Meksika");
    namesMap.put("MY", "Malezya");
    namesMap.put("MZ", "Mozambik");
    namesMap.put("NA", "Namibya");
    namesMap.put("NC", "Yeni Kaledonya");
    namesMap.put("NE", "Nijer");
    namesMap.put("NF", "Norfolk Adası");
    namesMap.put("NG", "Nijerya");
    namesMap.put("NI", "Nikaragua");
    namesMap.put("NL", "Hollanda");
    namesMap.put("NO", "Norveç");
    namesMap.put("NZ", "Yeni Zelanda");
    namesMap.put("OM", "Umman");
    namesMap.put("PF", "Fransız Polinezyası");
    namesMap.put("PG", "Papua Yeni Gine");
    namesMap.put("PH", "Filipinler");
    namesMap.put("PL", "Polonya");
    namesMap.put("PM", "Saint Pierre ve Miquelon");
    namesMap.put("PN", "Pitcairn Adaları");
    namesMap.put("PR", "Porto Riko");
    namesMap.put("PS", "Filistin Bölgeleri");
    namesMap.put("PT", "Portekiz");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "Uzak Okyanusya");
    namesMap.put("RO", "Romanya");
    namesMap.put("RS", "Sırbistan");
    namesMap.put("RU", "Rusya");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SA", "Suudi Arabistan");
    namesMap.put("SB", "Solomon Adaları");
    namesMap.put("SC", "Seyşeller");
    namesMap.put("SE", "İsveç");
    namesMap.put("SG", "Singapur");
    namesMap.put("SH", "Saint Helena");
    namesMap.put("SI", "Slovenya");
    namesMap.put("SJ", "Svalbard ve Jan Mayen");
    namesMap.put("SK", "Slovakya");
    namesMap.put("SO", "Somali");
    namesMap.put("SR", "Surinam");
    namesMap.put("SS", "Güney Sudan");
    namesMap.put("ST", "São Tomé ve Príncipe");
    namesMap.put("SY", "Suriye");
    namesMap.put("SZ", "Svaziland");
    namesMap.put("TC", "Turks ve Caicos Adaları");
    namesMap.put("TD", "Çad");
    namesMap.put("TF", "Fransız Güney Toprakları");
    namesMap.put("TH", "Tayland");
    namesMap.put("TJ", "Tacikistan");
    namesMap.put("TM", "Türkmenistan");
    namesMap.put("TN", "Tunus");
    namesMap.put("TR", "Türkiye");
    namesMap.put("TT", "Trinidad ve Tobago");
    namesMap.put("TW", "Tayvan");
    namesMap.put("TZ", "Tanzanya");
    namesMap.put("UA", "Ukrayna");
    namesMap.put("UM", "ABD Küçük Harici Adaları");
    namesMap.put("UN", "Birleşmiş Milletler");
    namesMap.put("US", "Amerika Birleşik Devletleri");
    namesMap.put("UZ", "Özbekistan");
    namesMap.put("VA", "Vatikan");
    namesMap.put("VC", "Saint Vincent ve Grenadinler");
    namesMap.put("VG", "Britanya Virjin Adaları");
    namesMap.put("VI", "ABD Virjin Adaları");
    namesMap.put("WF", "Wallis ve Futuna");
    namesMap.put("XK", "Kosova");
    namesMap.put("ZA", "Güney Afrika");
    namesMap.put("ZM", "Zambiya");
    namesMap.put("ZW", "Zimbabve");
    namesMap.put("ZZ", "Bilinmeyen Bölge");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Dünya",
        "002": "Afrika",
        "003": "Kuzey Amerika",
        "005": "Güney Amerika",
        "009": "Okyanusya",
        "011": "Batı Afrika",
        "013": "Orta Amerika",
        "014": "Doğu Afrika",
        "015": "Kuzey Afrika",
        "017": "Orta Afrika",
        "018": "Afrika’nın Güneyi",
        "019": "Amerika",
        "021": "Amerika’nın Kuzeyi",
        "029": "Karayipler",
        "030": "Doğu Asya",
        "034": "Güney Asya",
        "035": "Güneydoğu Asya",
        "039": "Güney Avrupa",
        "053": "Avustralasya",
        "054": "Melanezya",
        "057": "Mikronezya Bölgesi",
        "061": "Polinezya",
        "142": "Asya",
        "143": "Orta Asya",
        "145": "Batı Asya",
        "150": "Avrupa",
        "151": "Doğu Avrupa",
        "154": "Kuzey Avrupa",
        "155": "Batı Avrupa",
        "419": "Latin Amerika",
        "AC": "Ascension Adası",
        "AE": "Birleşik Arap Emirlikleri",
        "AF": "Afganistan",
        "AG": "Antigua ve Barbuda",
        "AL": "Arnavutluk",
        "AM": "Ermenistan",
        "AQ": "Antarktika",
        "AR": "Arjantin",
        "AS": "Amerikan Samoası",
        "AT": "Avusturya",
        "AU": "Avustralya",
        "AX": "Åland Adaları",
        "AZ": "Azerbaycan",
        "BA": "Bosna-Hersek",
        "BD": "Bangladeş",
        "BE": "Belçika",
        "BG": "Bulgaristan",
        "BH": "Bahreyn",
        "BL": "Saint Barthelemy",
        "BO": "Bolivya",
        "BQ": "Karayip Hollandası",
        "BR": "Brezilya",
        "BS": "Bahamalar",
        "BT": "Butan",
        "BV": "Bouvet Adası",
        "BW": "Botsvana",
        "CA": "Kanada",
        "CC": "Cocos (Keeling) Adaları",
        "CD": "Kongo - Kinşasa",
        "CF": "Orta Afrika Cumhuriyeti",
        "CG": "Kongo - Brazavil",
        "CH": "İsviçre",
        "CI": "Fildişi Sahili",
        "CK": "Cook Adaları",
        "CL": "Şili",
        "CM": "Kamerun",
        "CN": "Çin",
        "CO": "Kolombiya",
        "CP": "Clipperton Adası",
        "CR": "Kosta Rika",
        "CU": "Küba",
        "CX": "Christmas Adası",
        "CY": "Kıbrıs",
        "CZ": "Çekya",
        "DE": "Almanya",
        "DJ": "Cibuti",
        "DK": "Danimarka",
        "DM": "Dominika",
        "DO": "Dominik Cumhuriyeti",
        "DZ": "Cezayir",
        "EA": "Septe ve Melilla",
        "EC": "Ekvador",
        "EE": "Estonya",
        "EG": "Mısır",
        "EH": "Batı Sahra",
        "ER": "Eritre",
        "ES": "İspanya",
        "ET": "Etiyopya",
        "EU": "Avrupa Birliği",
        "EZ": "Euro Bölgesi",
        "FI": "Finlandiya",
        "FK": "Falkland Adaları",
        "FM": "Mikronezya",
        "FO": "Faroe Adaları",
        "FR": "Fransa",
        "GB": "Birleşik Krallık",
        "GE": "Gürcistan",
        "GF": "Fransız Guyanası",
        "GH": "Gana",
        "GI": "Cebelitarık",
        "GL": "Grönland",
        "GM": "Gambiya",
        "GN": "Gine",
        "GQ": "Ekvator Ginesi",
        "GR": "Yunanistan",
        "GS": "Güney Georgia ve Güney Sandwich Adaları",
        "GW": "Gine-Bissau",
        "HK": "Çin Hong Kong ÖİB",
        "HM": "Heard Adası ve McDonald Adaları",
        "HR": "Hırvatistan",
        "HU": "Macaristan",
        "IC": "Kanarya Adaları",
        "ID": "Endonezya",
        "IE": "İrlanda",
        "IL": "İsrail",
        "IM": "Man Adası",
        "IN": "Hindistan",
        "IO": "Britanya Hint Okyanusu Toprakları",
        "IQ": "Irak",
        "IR": "İran",
        "IS": "İzlanda",
        "IT": "İtalya",
        "JM": "Jamaika",
        "JO": "Ürdün",
        "JP": "Japonya",
        "KG": "Kırgızistan",
        "KH": "Kamboçya",
        "KM": "Komorlar",
        "KN": "Saint Kitts ve Nevis",
        "KP": "Kuzey Kore",
        "KR": "Güney Kore",
        "KW": "Kuveyt",
        "KY": "Cayman Adaları",
        "KZ": "Kazakistan",
        "LB": "Lübnan",
        "LC": "Saint Lucia",
        "LR": "Liberya",
        "LT": "Litvanya",
        "LU": "Lüksemburg",
        "LV": "Letonya",
        "MA": "Fas",
        "MC": "Monako",
        "ME": "Karadağ",
        "MF": "Saint Martin",
        "MG": "Madagaskar",
        "MH": "Marshall Adaları",
        "MK": "Makedonya",
        "MN": "Moğolistan",
        "MO": "Çin Makao ÖİB",
        "MP": "Kuzey Mariana Adaları",
        "MQ": "Martinik",
        "MR": "Moritanya",
        "MV": "Maldivler",
        "MW": "Malavi",
        "MX": "Meksika",
        "MY": "Malezya",
        "MZ": "Mozambik",
        "NA": "Namibya",
        "NC": "Yeni Kaledonya",
        "NE": "Nijer",
        "NF": "Norfolk Adası",
        "NG": "Nijerya",
        "NI": "Nikaragua",
        "NL": "Hollanda",
        "NO": "Norveç",
        "NZ": "Yeni Zelanda",
        "OM": "Umman",
        "PF": "Fransız Polinezyası",
        "PG": "Papua Yeni Gine",
        "PH": "Filipinler",
        "PL": "Polonya",
        "PM": "Saint Pierre ve Miquelon",
        "PN": "Pitcairn Adaları",
        "PR": "Porto Riko",
        "PS": "Filistin Bölgeleri",
        "PT": "Portekiz",
        "QA": "Katar",
        "QO": "Uzak Okyanusya",
        "RO": "Romanya",
        "RS": "Sırbistan",
        "RU": "Rusya",
        "RW": "Ruanda",
        "SA": "Suudi Arabistan",
        "SB": "Solomon Adaları",
        "SC": "Seyşeller",
        "SE": "İsveç",
        "SG": "Singapur",
        "SH": "Saint Helena",
        "SI": "Slovenya",
        "SJ": "Svalbard ve Jan Mayen",
        "SK": "Slovakya",
        "SO": "Somali",
        "SR": "Surinam",
        "SS": "Güney Sudan",
        "ST": "São Tomé ve Príncipe",
        "SY": "Suriye",
        "SZ": "Svaziland",
        "TC": "Turks ve Caicos Adaları",
        "TD": "Çad",
        "TF": "Fransız Güney Toprakları",
        "TH": "Tayland",
        "TJ": "Tacikistan",
        "TM": "Türkmenistan",
        "TN": "Tunus",
        "TR": "Türkiye",
        "TT": "Trinidad ve Tobago",
        "TW": "Tayvan",
        "TZ": "Tanzanya",
        "UA": "Ukrayna",
        "UM": "ABD Küçük Harici Adaları",
        "UN": "Birleşmiş Milletler",
        "US": "Amerika Birleşik Devletleri",
        "UZ": "Özbekistan",
        "VA": "Vatikan",
        "VC": "Saint Vincent ve Grenadinler",
        "VG": "Britanya Virjin Adaları",
        "VI": "ABD Virjin Adaları",
        "WF": "Wallis ve Futuna",
        "XK": "Kosova",
        "ZA": "Güney Afrika",
        "ZM": "Zambiya",
        "ZW": "Zimbabve",
        "ZZ": "Bilinmeyen Bölge"
    };
  }-*/;
}
