﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * 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üney Doğu Asya"}
        039{"Güney Avrupa"}
        053{"Avustralya ve Yeni Zelanda"}
        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{"Aland 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"}
        BR{"Brezilya"}
        BS{"Bahamalar"}
        BT{"Butan"}
        BV{"Bouvet Adası"}
        BW{"Botsvana"}
        BY{"Beyaz Rusya"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Cocos 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"}
        CS{"Sırbistan-Karadağ"}
        CU{"Küba"}
        CV{"Cape Verde"}
        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{"Hong Kong SAR - Çin"}
        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"}
        MN{"Moğolistan"}
        MO{"Makao SAR - Çin"}
        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"}
        PR{"Porto Riko"}
        PS{"Filistin Bölgesi"}
        PT{"Portekiz"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Katar"}
        QO{"Uzak Okyanusya"}
        RE{"Reunion"}
        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"}
        ST{"Sao Tome ve Principe"}
        SV{"El Salvador"}
        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{"Amerika Birleşik Devletleri Küçük Dış Adaları"}
        US{"Amerika Birleşik Devletleri"}
        UY{"Uruguay"}
        UZ{"Özbekistan"}
        VA{"Vatikan"}
        VC{"Saint Vincent ve Grenadinler"}
        VE{"Venezuela"}
        VG{"İngiliz Virgin Adaları"}
        VI{"ABD Virgin 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.65.46"}
}
