﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/tr.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/tr.xml
 */
tr{
    Countries{
        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"}
        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ı"}
        AD{"Andorra"}
        AE{"Birleşik Arap Emirlikleri"}
        AF{"Afganistan"}
        AG{"Antigua ve Barbuda"}
        AI{"Anguilla"}
        AL{"Arnavutluk"}
        AM{"Ermenistan"}
        AN{"Hollanda Antilleri"}
        AO{"Angola"}
        AQ{"Antarktika"}
        AR{"Arjantin"}
        AS{"Amerikan Samoası"}
        AT{"Avusturya"}
        AU{"Avustralya"}
        AW{"Aruba"}
        AX{"Åland Adaları"}
        AZ{"Azerbaycan"}
        BA{"Bosna Hersek"}
        BB{"Barbados"}
        BD{"Bangladeş"}
        BE{"Belçika"}
        BF{"Burkina Faso"}
        BG{"Bulgaristan"}
        BH{"Bahreyn"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Saint Barthelemy"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivya"}
        BQ{"Karayip Hollanda"}
        BR{"Brezilya"}
        BS{"Bahamalar"}
        BT{"Butan"}
        BV{"Bouvet Adası"}
        BW{"Botsvana"}
        BY{"Beyaz Rusya"}
        BZ{"Belize"}
        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"}
        CV{"Cape Verde"}
        CW{"Curaçao"}
        CX{"Christmas Adası"}
        CY{"Güney Kıbrıs Rum Kesimi"}
        CZ{"Çek Cumhuriyeti"}
        DE{"Almanya"}
        DG{"Diego Garcia"}
        DJ{"Cibuti"}
        DK{"Danimarka"}
        DM{"Dominika"}
        DO{"Dominik Cumhuriyeti"}
        DZ{"Cezayir"}
        EA{"Ceuta ve Melilla"}
        EC{"Ekvador"}
        EE{"Estonya"}
        EG{"Mısır"}
        EH{"Batı Sahara"}
        ER{"Eritre"}
        ES{"İspanya"}
        ET{"Etiyopya"}
        EU{"Avrupa Birliği"}
        FI{"Finlandiya"}
        FJ{"Fiji"}
        FK{"Falkland Adaları"}
        FM{"Mikronezya Federal Eyaletleri"}
        FO{"Faroe Adaları"}
        FR{"Fransa"}
        GA{"Gabon"}
        GB{"Birleşik Krallık"}
        GD{"Grenada"}
        GE{"Gürcistan"}
        GF{"Fransız Guyanası"}
        GG{"Guernsey"}
        GH{"Gana"}
        GI{"Cebelitarık"}
        GL{"Grönland"}
        GM{"Gambiya"}
        GN{"Gine"}
        GP{"Guadalupe"}
        GQ{"Ekvator Ginesi"}
        GR{"Yunanistan"}
        GS{"Güney Georgia ve Güney Sandwich Adaları"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Gine-Bissau"}
        GY{"Guyana"}
        HK{"Çin Hong Kong ÖYB"}
        HM{"Heard Adası ve McDonald Adaları"}
        HN{"Honduras"}
        HR{"Hırvatistan"}
        HT{"Haiti"}
        HU{"Macaristan"}
        IC{"Kanarya Adaları"}
        ID{"Endonezya"}
        IE{"İrlanda"}
        IL{"İsrail"}
        IM{"Man Adası"}
        IN{"Hindistan"}
        IO{"İngiliz Hint Okyanusu Bölgesi"}
        IQ{"Irak"}
        IR{"İran"}
        IS{"İzlanda"}
        IT{"İtalya"}
        JE{"Jersey"}
        JM{"Jamaika"}
        JO{"Ürdün"}
        JP{"Japonya"}
        KE{"Kenya"}
        KG{"Kırgızistan"}
        KH{"Kamboçya"}
        KI{"Kiribati"}
        KM{"Komorlar"}
        KN{"Saint Kitts ve Nevis"}
        KP{"Kuzey Kore"}
        KR{"Güney Kore"}
        KW{"Kuveyt"}
        KY{"Cayman Adaları"}
        KZ{"Kazakistan"}
        LA{"Laos"}
        LB{"Lübnan"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberya"}
        LS{"Lesoto"}
        LT{"Litvanya"}
        LU{"Lüksemburg"}
        LV{"Letonya"}
        LY{"Libya"}
        MA{"Fas"}
        MC{"Monako"}
        MD{"Moldova"}
        ME{"Karadağ"}
        MF{"Saint Martin"}
        MG{"Madagaskar"}
        MH{"Marshall Adaları"}
        MK{"Makedonya"}
        ML{"Mali"}
        MM{"Myanmar [Burma]"}
        MN{"Moğolistan"}
        MO{"Çin Makao ÖYB"}
        MP{"Kuzey Mariana Adaları"}
        MQ{"Martinik"}
        MR{"Moritanya"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        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ç"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Yeni Zelanda"}
        OM{"Umman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Fransız Polinezyası"}
        PG{"Papua Yeni Gine"}
        PH{"Filipinler"}
        PK{"Pakistan"}
        PL{"Polonya"}
        PM{"Saint Pierre ve Miquelon"}
        PN{"Pitcairn Adaları"}
        PR{"Porto Riko"}
        PS{"Filistin Bölgeleri"}
        PT{"Portekiz"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Katar"}
        QO{"Uzak Okyanusya"}
        RE{"Réunion"}
        RO{"Romanya"}
        RS{"Sırbistan"}
        RU{"Rusya"}
        RW{"Ruanda"}
        SA{"Suudi Arabistan"}
        SB{"Solomon Adaları"}
        SC{"Seyşeller"}
        SD{"Sudan"}
        SE{"İsveç"}
        SG{"Singapur"}
        SH{"Saint Helena"}
        SI{"Slovenya"}
        SJ{"Svalbard ve Jan Mayen Adaları"}
        SK{"Slovakya"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somali"}
        SR{"Surinam"}
        SS{"Güney Sudan"}
        ST{"São Tomé ve Príncipe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Suriye"}
        SZ{"Svaziland"}
        TA{"Tristan da Cunha"}
        TC{"Turks ve Caicos Adaları"}
        TD{"Çad"}
        TF{"Fransız Güney Bölgeleri"}
        TG{"Togo"}
        TH{"Tayland"}
        TJ{"Tacikistan"}
        TK{"Tokelau"}
        TL{"Timor-Leste"}
        TM{"Türkmenistan"}
        TN{"Tunus"}
        TO{"Tonga"}
        TR{"Türkiye"}
        TT{"Trinidad ve Tobago"}
        TV{"Tuvalu"}
        TW{"Tayvan"}
        TZ{"Tanzanya"}
        UA{"Ukrayna"}
        UG{"Uganda"}
        UM{"ABD Dış Adaları"}
        US{"ABD"}
        UY{"Uruguay"}
        UZ{"Özbekistan"}
        VA{"Vatikan"}
        VC{"Saint Vincent ve Grenadinler"}
        VE{"Venezuela"}
        VG{"Britanya Virjin Adaları"}
        VI{"ABD Virjin Adaları"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis ve Futuna Adaları"}
        WS{"Samoa"}
        YE{"Yemen"}
        YT{"Mayotte"}
        ZA{"Güney Afrika"}
        ZM{"Zambiya"}
        ZW{"Zimbabve"}
        ZZ{"Bilinmeyen Bölge"}
    }
    Version{"2.0.78.39"}
}
