﻿// ***************************************************************************
// *
// * 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/az.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/az.xml
 */
az{
    Countries{
        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"}
        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ı"}
        AD{"Andorra"}
        AE{"Birləşmiş Ərəb Emiratları"}
        AF{"Əfqənistan"}
        AG{"Antiqua və Barbuda"}
        AI{"Anquila"}
        AL{"Albaniya"}
        AM{"Ermənistan"}
        AN{"Hollandiya antilleri"}
        AO{"Angola"}
        AQ{"Antarktika"}
        AR{"Arqentina"}
        AS{"Amerika Samoası"}
        AT{"Avstriya"}
        AU{"Avstraliya"}
        AW{"Aruba"}
        AX{"Aland Adaları"}
        AZ{"Azərbaycan"}
        BA{"Bosniya və Herzokovina"}
        BB{"Barbados"}
        BD{"Banqladeş"}
        BE{"Belçika"}
        BF{"Burkina Faso"}
        BG{"Bolqariya"}
        BH{"Bahreyn"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Seynt Bartelemey"}
        BM{"Bermuda"}
        BN{"Bruney"}
        BO{"Boliviya"}
        BR{"Braziliya"}
        BS{"Bahamalar"}
        BT{"Butan"}
        BV{"Bove Adası"}
        BW{"Botsvana"}
        BY{"Belarus"}
        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"}
        GI{"Gibraltar"}
        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 çina"}
        HM{"Hörd və Makdonald Adaları"}
        HN{"Qonduras"}
        HR{"Xorvatiya"}
        HT{"Haiti"}
        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"}
        KE{"Kenya"}
        KG{"Kırqızstan"}
        KH{"Kambodiya"}
        KI{"Kiribati"}
        KM{"Komoros"}
        KN{"Seynt Kits və Nevis"}
        KP{"Şimal Koreya"}
        KR{"Cənub Koreya"}
        KW{"Kuveyt"}
        KY{"Kayman Adaları"}
        KZ{"Kazaxstan"}
        LA{"Laos"}
        LB{"Lebanon"}
        LC{"Seynt Lusiya"}
        LI{"Lixtenşteyn"}
        LK{"Şri Lanka"}
        LR{"Liberiya"}
        LS{"Lesoto"}
        LT{"Litva"}
        LU{"Lüksemburq"}
        LV{"Latviya"}
        LY{"Libya"}
        MA{"Morokko"}
        MC{"Monako"}
        MD{"Moldova"}
        ME{"Monteneqro"}
        MF{"Seynt Martin"}
        MG{"Madaqaskar"}
        MH{"Marşal Adaları"}
        MK{"Masedoniya"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Monqoliya"}
        MO{"Makao Çina"}
        MP{"Şimal Mariana Adaları"}
        MQ{"Martiniqu"}
        MR{"Mavritaniya"}
        MS{"Montserat"}
        MT{"Malta"}
        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"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niye"}
        NZ{"Yeni Zelandiya"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Fransız Polineziya"}
        PG{"Papua Yeni Qvineya"}
        PH{"Filipin"}
        PK{"Pakistan"}
        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"}
        QA{"Qatar"}
        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"}
        SM{"San Marino"}
        SN{"Seneqal"}
        SO{"Somaliya"}
        SR{"surinamə"}
        ST{"Sao Tom və Prinsip"}
        SV{"El Salvador"}
        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"}
        TK{"Tokelau"}
        TL{"Şərq Timor"}
        TM{"Türkmənistan"}
        TN{"Tunisiya"}
        TO{"Tonqa"}
        TR{"Türkiya"}
        TT{"Trinidan və Tobaqo"}
        TV{"Tuvalu"}
        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"}
        VU{"Vanuatu"}
        WF{"Valis və Futuna"}
        WS{"Samoa"}
        YE{"Yemen"}
        YT{"Mayot"}
        ZA{"Cənub Afrika"}
        ZM{"Zambiya"}
        ZW{"Zimbabve"}
        ZZ{"bilinmir"}
    }
    Version{"2.0.65.46"}
}
