﻿// ***************************************************************************
// *
// * Copyright (C) 2010 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"}
        018{"018"}
        019{"Amerikalar"}
        021{"021"}
        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"}
        172{"172"}
        419{"Latın Amerikası və Kariblər"}
        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.47.53"}
}
