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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Dünya");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Şimal Amerika");
    namesMap.put("005", "Cənub Amerika");
    namesMap.put("009", "Okeyaniya");
    namesMap.put("011", "Qərb afrika");
    namesMap.put("013", "Orta Amerika");
    namesMap.put("014", "Şərq Afrika");
    namesMap.put("015", "Şimal Afrika");
    namesMap.put("017", "Orta Afrika");
    namesMap.put("019", "Amerikalar");
    namesMap.put("029", "Kariyıplar");
    namesMap.put("030", "Şərq Asiya");
    namesMap.put("034", "Cənub Asiya");
    namesMap.put("035", "Cənub Şərq Asiya");
    namesMap.put("039", "Cənub Avropa");
    namesMap.put("053", "Avstraliya və Yeni Zelandiya");
    namesMap.put("054", "Melanesya");
    namesMap.put("057", "Mikronesiya reqionu");
    namesMap.put("061", "Polineziya");
    namesMap.put("062", "Cənub Orta Asiya");
    namesMap.put("142", "Aziya");
    namesMap.put("143", "Orta Aziya");
    namesMap.put("145", "Qərb Asiya");
    namesMap.put("150", "Avropa");
    namesMap.put("151", "Şərq Avropa");
    namesMap.put("154", "Şimal Avropa");
    namesMap.put("155", "Qərb Avropa");
    namesMap.put("419", "Latın Amerikası və Kariblər");
    namesMap.put("AE", "Birləşmiş Ərəb Emiratları");
    namesMap.put("AF", "Əfqənistan");
    namesMap.put("AG", "Antiqua və Barbuda");
    namesMap.put("AI", "Anquila");
    namesMap.put("AL", "Albaniya");
    namesMap.put("AM", "Ermənistan");
    namesMap.put("AN", "Hollandiya antilleri");
    namesMap.put("AQ", "Antarktika");
    namesMap.put("AR", "Arqentina");
    namesMap.put("AS", "Amerika Samoası");
    namesMap.put("AT", "Avstriya");
    namesMap.put("AU", "Avstraliya");
    namesMap.put("AX", "Aland Adaları");
    namesMap.put("AZ", "Azərbaycan");
    namesMap.put("BA", "Bosniya və Herzokovina");
    namesMap.put("BD", "Banqladeş");
    namesMap.put("BE", "Belçika");
    namesMap.put("BG", "Bolqariya");
    namesMap.put("BH", "Bahreyn");
    namesMap.put("BL", "Seynt Bartelemey");
    namesMap.put("BN", "Bruney");
    namesMap.put("BO", "Boliviya");
    namesMap.put("BR", "Braziliya");
    namesMap.put("BS", "Bahamalar");
    namesMap.put("BT", "Butan");
    namesMap.put("BV", "Bove Adası");
    namesMap.put("BW", "Botsvana");
    namesMap.put("BZ", "Beliz");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kokos Adaları");
    namesMap.put("CD", "Konqo - Kinşasa");
    namesMap.put("CF", "Orta Afrika respublikası");
    namesMap.put("CG", "Konqo - Brazavil");
    namesMap.put("CH", "isveçriya");
    namesMap.put("CI", "İvori Sahili");
    namesMap.put("CK", "Kuk Adaları");
    namesMap.put("CL", "Çile");
    namesMap.put("CM", "Kamerun");
    namesMap.put("CN", "Çin");
    namesMap.put("CO", "Kolumbiya");
    namesMap.put("CR", "Kosta Rika");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Kape Verde");
    namesMap.put("CX", "Çristmas Adası");
    namesMap.put("CY", "Kipr");
    namesMap.put("CZ", "Çex respublikası");
    namesMap.put("DE", "Almaniya");
    namesMap.put("DJ", "Ciboti");
    namesMap.put("DK", "Danemarka");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Dominik Respublikası");
    namesMap.put("DZ", "Cezayır");
    namesMap.put("EC", "Ekvador");
    namesMap.put("EE", "Estoniya");
    namesMap.put("EG", "Misir");
    namesMap.put("EH", "Qərb Sahara");
    namesMap.put("ER", "Eritreya");
    namesMap.put("ES", "İspaniya");
    namesMap.put("ET", "Efiopiya");
    namesMap.put("EU", "Avropa Birləşliyi");
    namesMap.put("FI", "Finlandiya");
    namesMap.put("FJ", "Fici");
    namesMap.put("FK", "Folkland Adaları");
    namesMap.put("FM", "Mikronesiya");
    namesMap.put("FO", "Faro Adaları");
    namesMap.put("FR", "Fransa");
    namesMap.put("GA", "Qabon");
    namesMap.put("GB", "Birləşmiş Krallıq");
    namesMap.put("GD", "Qrenada");
    namesMap.put("GE", "Gürcüstan");
    namesMap.put("GF", "Fransız Quyanası");
    namesMap.put("GG", "Görnsey");
    namesMap.put("GH", "Qana");
    namesMap.put("GL", "Qrinland");
    namesMap.put("GM", "Qambiya");
    namesMap.put("GN", "Qvineya");
    namesMap.put("GP", "Qvadalup");
    namesMap.put("GQ", "Ekvator Qineya");
    namesMap.put("GR", "Yunanıstan");
    namesMap.put("GS", "Cənub Gürcüstan və Cənub Sandvilç Adaları");
    namesMap.put("GT", "Qvatemala");
    namesMap.put("GU", "Quam");
    namesMap.put("GW", "Qvineya-Bisau");
    namesMap.put("GY", "Quyana");
    namesMap.put("HK", "Honk Konq");
    namesMap.put("HM", "Hörd və Makdonald Adaları");
    namesMap.put("HN", "Qonduras");
    namesMap.put("HR", "Xorvatiya");
    namesMap.put("HU", "Macaristan");
    namesMap.put("ID", "İndoneziya");
    namesMap.put("IE", "İrlandiya");
    namesMap.put("IL", "İzrail");
    namesMap.put("IM", "Man Adası");
    namesMap.put("IN", "Hindistan");
    namesMap.put("IO", "Britaniya-Hindistan Okeanik territoriyası");
    namesMap.put("IQ", "İrak");
    namesMap.put("IR", "İran");
    namesMap.put("IS", "İslandiya");
    namesMap.put("IT", "İtaliya");
    namesMap.put("JE", "Cörsi");
    namesMap.put("JM", "Yamayka");
    namesMap.put("JO", "Ürdün");
    namesMap.put("JP", "Yaponiya");
    namesMap.put("KG", "Kırqızstan");
    namesMap.put("KH", "Kambodiya");
    namesMap.put("KM", "Komoros");
    namesMap.put("KN", "Seynt Kits və Nevis");
    namesMap.put("KP", "Şimal Koreya");
    namesMap.put("KR", "Cənub Koreya");
    namesMap.put("KW", "Kuveyt");
    namesMap.put("KY", "Kayman Adaları");
    namesMap.put("KZ", "Kazaxstan");
    namesMap.put("LC", "Seynt Lusiya");
    namesMap.put("LI", "Lixtenşteyn");
    namesMap.put("LK", "Şri Lanka");
    namesMap.put("LR", "Liberiya");
    namesMap.put("LS", "Lesoto");
    namesMap.put("LT", "Litva");
    namesMap.put("LU", "Lüksemburq");
    namesMap.put("LV", "Latviya");
    namesMap.put("MA", "Morokko");
    namesMap.put("MC", "Monako");
    namesMap.put("ME", "Monteneqro");
    namesMap.put("MF", "Seynt Martin");
    namesMap.put("MG", "Madaqaskar");
    namesMap.put("MH", "Marşal Adaları");
    namesMap.put("MK", "Masedoniya");
    namesMap.put("MM", "Myanmar");
    namesMap.put("MN", "Monqoliya");
    namesMap.put("MO", "Makao");
    namesMap.put("MP", "Şimal Mariana Adaları");
    namesMap.put("MQ", "Martiniqu");
    namesMap.put("MR", "Mavritaniya");
    namesMap.put("MS", "Montserat");
    namesMap.put("MU", "Mavritis");
    namesMap.put("MV", "Maldiv");
    namesMap.put("MW", "Malavi");
    namesMap.put("MX", "Meksika");
    namesMap.put("MY", "Malaysiya");
    namesMap.put("MZ", "Mazambik");
    namesMap.put("NA", "Namibiya");
    namesMap.put("NC", "Yeni Kaledoniya");
    namesMap.put("NE", "nijer");
    namesMap.put("NF", "Norfolk Adası");
    namesMap.put("NG", "Nijeriya");
    namesMap.put("NI", "Nikaraqua");
    namesMap.put("NL", "Hollandiya");
    namesMap.put("NO", "Norvec");
    namesMap.put("NU", "Niye");
    namesMap.put("NZ", "Yeni Zelandiya");
    namesMap.put("PF", "Fransız Polineziya");
    namesMap.put("PG", "Papua Yeni Qvineya");
    namesMap.put("PH", "Filipin");
    namesMap.put("PL", "Polşa");
    namesMap.put("PM", "Seynt Piyer və Mikelon");
    namesMap.put("PN", "Pitkarn");
    namesMap.put("PR", "Puerto Riko");
    namesMap.put("PS", "Fələstin Bölqüsü");
    namesMap.put("PT", "Portuqal");
    namesMap.put("PW", "Palav");
    namesMap.put("PY", "Paraqvay");
    namesMap.put("QO", "Uzak Okeyaniya");
    namesMap.put("RE", "Reyunion");
    namesMap.put("RO", "Romaniya");
    namesMap.put("RS", "Serbiya");
    namesMap.put("RU", "Rusiya");
    namesMap.put("RW", "Rvanda");
    namesMap.put("SA", "Saudi Ərəbistan");
    namesMap.put("SB", "Solomon Adaları");
    namesMap.put("SC", "Seyçels");
    namesMap.put("SD", "sudan");
    namesMap.put("SE", "isveç");
    namesMap.put("SG", "Sinqapur");
    namesMap.put("SH", "Seynt Elena");
    namesMap.put("SI", "Sloveniya");
    namesMap.put("SJ", "svalbard və yan mayen");
    namesMap.put("SK", "Slovakiya");
    namesMap.put("SL", "Siyera Leon");
    namesMap.put("SN", "Seneqal");
    namesMap.put("SO", "Somaliya");
    namesMap.put("SR", "surinamə");
    namesMap.put("ST", "Sao Tom və Prinsip");
    namesMap.put("SY", "siriya");
    namesMap.put("SZ", "svazilənd");
    namesMap.put("TC", "Türk və Kaykos Adaları");
    namesMap.put("TD", "Çad");
    namesMap.put("TF", "Fransız Cənub teritoriyası");
    namesMap.put("TG", "Toqo");
    namesMap.put("TH", "tayland");
    namesMap.put("TJ", "tacikistan");
    namesMap.put("TL", "Şərq Timor");
    namesMap.put("TM", "Türkmənistan");
    namesMap.put("TN", "Tunisiya");
    namesMap.put("TO", "Tonqa");
    namesMap.put("TR", "Türkiya");
    namesMap.put("TT", "Trinidan və Tobaqo");
    namesMap.put("TW", "tayvan");
    namesMap.put("TZ", "tanzaniya");
    namesMap.put("UA", "Ukraina");
    namesMap.put("UG", "Uqanda");
    namesMap.put("UM", "Birləşmiş Ştatların uzaq adaları");
    namesMap.put("US", "Amerika Birləşmiş Ştatları");
    namesMap.put("UY", "Uruqvay");
    namesMap.put("UZ", "Özbəkistan");
    namesMap.put("VA", "Vatikan");
    namesMap.put("VC", "Seynt Vinsent və Qrenada");
    namesMap.put("VE", "Venesuela");
    namesMap.put("VG", "Britaniya Virgin Adaları");
    namesMap.put("VI", "ABŞ Virqin Adaları");
    namesMap.put("VN", "Vyetnam");
    namesMap.put("WF", "Valis və Futuna");
    namesMap.put("YT", "Mayot");
    namesMap.put("ZA", "Cənub Afrika");
    namesMap.put("ZM", "Zambiya");
    namesMap.put("ZW", "Zimbabve");
    namesMap.put("ZZ", "bilinmir");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Dünya",
        "002": "Afrika",
        "003": "Şimal Amerika",
        "005": "Cənub Amerika",
        "009": "Okeyaniya",
        "011": "Qərb afrika",
        "013": "Orta Amerika",
        "014": "Şərq Afrika",
        "015": "Şimal Afrika",
        "017": "Orta Afrika",
        "019": "Amerikalar",
        "029": "Kariyıplar",
        "030": "Şərq Asiya",
        "034": "Cənub Asiya",
        "035": "Cənub Şərq Asiya",
        "039": "Cənub Avropa",
        "053": "Avstraliya və Yeni Zelandiya",
        "054": "Melanesya",
        "057": "Mikronesiya reqionu",
        "061": "Polineziya",
        "062": "Cənub Orta Asiya",
        "142": "Aziya",
        "143": "Orta Aziya",
        "145": "Qərb Asiya",
        "150": "Avropa",
        "151": "Şərq Avropa",
        "154": "Şimal Avropa",
        "155": "Qərb Avropa",
        "419": "Latın Amerikası və Kariblər",
        "AE": "Birləşmiş Ərəb Emiratları",
        "AF": "Əfqənistan",
        "AG": "Antiqua və Barbuda",
        "AI": "Anquila",
        "AL": "Albaniya",
        "AM": "Ermənistan",
        "AN": "Hollandiya antilleri",
        "AQ": "Antarktika",
        "AR": "Arqentina",
        "AS": "Amerika Samoası",
        "AT": "Avstriya",
        "AU": "Avstraliya",
        "AX": "Aland Adaları",
        "AZ": "Azərbaycan",
        "BA": "Bosniya və Herzokovina",
        "BD": "Banqladeş",
        "BE": "Belçika",
        "BG": "Bolqariya",
        "BH": "Bahreyn",
        "BL": "Seynt Bartelemey",
        "BN": "Bruney",
        "BO": "Boliviya",
        "BR": "Braziliya",
        "BS": "Bahamalar",
        "BT": "Butan",
        "BV": "Bove Adası",
        "BW": "Botsvana",
        "BZ": "Beliz",
        "CA": "Kanada",
        "CC": "Kokos Adaları",
        "CD": "Konqo - Kinşasa",
        "CF": "Orta Afrika respublikası",
        "CG": "Konqo - Brazavil",
        "CH": "isveçriya",
        "CI": "İvori Sahili",
        "CK": "Kuk Adaları",
        "CL": "Çile",
        "CM": "Kamerun",
        "CN": "Çin",
        "CO": "Kolumbiya",
        "CR": "Kosta Rika",
        "CU": "Kuba",
        "CV": "Kape Verde",
        "CX": "Çristmas Adası",
        "CY": "Kipr",
        "CZ": "Çex respublikası",
        "DE": "Almaniya",
        "DJ": "Ciboti",
        "DK": "Danemarka",
        "DM": "Dominika",
        "DO": "Dominik Respublikası",
        "DZ": "Cezayır",
        "EC": "Ekvador",
        "EE": "Estoniya",
        "EG": "Misir",
        "EH": "Qərb Sahara",
        "ER": "Eritreya",
        "ES": "İspaniya",
        "ET": "Efiopiya",
        "EU": "Avropa Birləşliyi",
        "FI": "Finlandiya",
        "FJ": "Fici",
        "FK": "Folkland Adaları",
        "FM": "Mikronesiya",
        "FO": "Faro Adaları",
        "FR": "Fransa",
        "GA": "Qabon",
        "GB": "Birləşmiş Krallıq",
        "GD": "Qrenada",
        "GE": "Gürcüstan",
        "GF": "Fransız Quyanası",
        "GG": "Görnsey",
        "GH": "Qana",
        "GL": "Qrinland",
        "GM": "Qambiya",
        "GN": "Qvineya",
        "GP": "Qvadalup",
        "GQ": "Ekvator Qineya",
        "GR": "Yunanıstan",
        "GS": "Cənub Gürcüstan və Cənub Sandvilç Adaları",
        "GT": "Qvatemala",
        "GU": "Quam",
        "GW": "Qvineya-Bisau",
        "GY": "Quyana",
        "HK": "Honk Konq",
        "HM": "Hörd və Makdonald Adaları",
        "HN": "Qonduras",
        "HR": "Xorvatiya",
        "HU": "Macaristan",
        "ID": "İndoneziya",
        "IE": "İrlandiya",
        "IL": "İzrail",
        "IM": "Man Adası",
        "IN": "Hindistan",
        "IO": "Britaniya-Hindistan Okeanik territoriyası",
        "IQ": "İrak",
        "IR": "İran",
        "IS": "İslandiya",
        "IT": "İtaliya",
        "JE": "Cörsi",
        "JM": "Yamayka",
        "JO": "Ürdün",
        "JP": "Yaponiya",
        "KG": "Kırqızstan",
        "KH": "Kambodiya",
        "KM": "Komoros",
        "KN": "Seynt Kits və Nevis",
        "KP": "Şimal Koreya",
        "KR": "Cənub Koreya",
        "KW": "Kuveyt",
        "KY": "Kayman Adaları",
        "KZ": "Kazaxstan",
        "LC": "Seynt Lusiya",
        "LI": "Lixtenşteyn",
        "LK": "Şri Lanka",
        "LR": "Liberiya",
        "LS": "Lesoto",
        "LT": "Litva",
        "LU": "Lüksemburq",
        "LV": "Latviya",
        "MA": "Morokko",
        "MC": "Monako",
        "ME": "Monteneqro",
        "MF": "Seynt Martin",
        "MG": "Madaqaskar",
        "MH": "Marşal Adaları",
        "MK": "Masedoniya",
        "MM": "Myanmar",
        "MN": "Monqoliya",
        "MO": "Makao",
        "MP": "Şimal Mariana Adaları",
        "MQ": "Martiniqu",
        "MR": "Mavritaniya",
        "MS": "Montserat",
        "MU": "Mavritis",
        "MV": "Maldiv",
        "MW": "Malavi",
        "MX": "Meksika",
        "MY": "Malaysiya",
        "MZ": "Mazambik",
        "NA": "Namibiya",
        "NC": "Yeni Kaledoniya",
        "NE": "nijer",
        "NF": "Norfolk Adası",
        "NG": "Nijeriya",
        "NI": "Nikaraqua",
        "NL": "Hollandiya",
        "NO": "Norvec",
        "NU": "Niye",
        "NZ": "Yeni Zelandiya",
        "PF": "Fransız Polineziya",
        "PG": "Papua Yeni Qvineya",
        "PH": "Filipin",
        "PL": "Polşa",
        "PM": "Seynt Piyer və Mikelon",
        "PN": "Pitkarn",
        "PR": "Puerto Riko",
        "PS": "Fələstin Bölqüsü",
        "PT": "Portuqal",
        "PW": "Palav",
        "PY": "Paraqvay",
        "QO": "Uzak Okeyaniya",
        "RE": "Reyunion",
        "RO": "Romaniya",
        "RS": "Serbiya",
        "RU": "Rusiya",
        "RW": "Rvanda",
        "SA": "Saudi Ərəbistan",
        "SB": "Solomon Adaları",
        "SC": "Seyçels",
        "SD": "sudan",
        "SE": "isveç",
        "SG": "Sinqapur",
        "SH": "Seynt Elena",
        "SI": "Sloveniya",
        "SJ": "svalbard və yan mayen",
        "SK": "Slovakiya",
        "SL": "Siyera Leon",
        "SN": "Seneqal",
        "SO": "Somaliya",
        "SR": "surinamə",
        "ST": "Sao Tom və Prinsip",
        "SY": "siriya",
        "SZ": "svazilənd",
        "TC": "Türk və Kaykos Adaları",
        "TD": "Çad",
        "TF": "Fransız Cənub teritoriyası",
        "TG": "Toqo",
        "TH": "tayland",
        "TJ": "tacikistan",
        "TL": "Şərq Timor",
        "TM": "Türkmənistan",
        "TN": "Tunisiya",
        "TO": "Tonqa",
        "TR": "Türkiya",
        "TT": "Trinidan və Tobaqo",
        "TW": "tayvan",
        "TZ": "tanzaniya",
        "UA": "Ukraina",
        "UG": "Uqanda",
        "UM": "Birləşmiş Ştatların uzaq adaları",
        "US": "Amerika Birləşmiş Ştatları",
        "UY": "Uruqvay",
        "UZ": "Özbəkistan",
        "VA": "Vatikan",
        "VC": "Seynt Vinsent və Qrenada",
        "VE": "Venesuela",
        "VG": "Britaniya Virgin Adaları",
        "VI": "ABŞ Virqin Adaları",
        "VN": "Vyetnam",
        "WF": "Valis və Futuna",
        "YT": "Mayot",
        "ZA": "Cənub Afrika",
        "ZM": "Zambiya",
        "ZW": "Zimbabve",
        "ZZ": "bilinmir"
    };
  }-*/;
}
