﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/az.xml
// *
// ***************************************************************************
az{
    Countries{
        001{"Dünya"}
        002{"Afrika"}
        003{"Şimali Amerika"}
        005{"Cənubi Amerika"}
        009{"Okeaniya"}
        011{"Qərbi Afrika"}
        013{"Mərkəzi Amerika"}
        014{"Şərqi Afrika"}
        015{"Şimali Afrika"}
        017{"Mərkəzi Afrika"}
        018{"Cənubi Afrika"}
        019{"Amerikalar"}
        021{"Şimal Amerikası"}
        029{"Karib"}
        030{"Şərqi Asiya"}
        034{"Cənubi Asiya"}
        035{"Cənub-Şərqi Asiya"}
        039{"Cənubi Avropa"}
        053{"Avstralaziya"}
        054{"Melaneziya"}
        057{"Mikroneziya Regionu"}
        061{"Polineziya"}
        142{"Asiya"}
        143{"Mərkəzi Asiya"}
        145{"Qərbi Asiya"}
        150{"Avropa"}
        151{"Şərqi Avropa"}
        154{"Şimali Avropa"}
        155{"Qərbi Avropa"}
        419{"Latın Amerikası"}
        AC{"Yüksəliş Adası"}
        AD{"Andorra"}
        AE{"Birləşmiş Ərəb Əmirlikləri"}
        AF{"Əfqanıstan"}
        AG{"Antiqua və Barbuda"}
        AI{"Angila"}
        AL{"Albaniya"}
        AM{"Ermənistan"}
        AO{"Anqola"}
        AQ{"Antarktika"}
        AR{"Argentina"}
        AS{"Amerika Samoası"}
        AT{"Avstriya"}
        AU{"Avstraliya"}
        AW{"Aruba"}
        AX{"Aland Adaları"}
        AZ{"Azərbaycan"}
        BA{"Bosniya və Hersoqovina"}
        BB{"Barbados"}
        BD{"Banqladeş"}
        BE{"Belçika"}
        BF{"Burkina Faso"}
        BG{"Bolqariya"}
        BH{"Bəhreyn"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"San Bartolomey"}
        BM{"Bermuda"}
        BN{"Bruney"}
        BO{"Boliviya"}
        BQ{"Karib Niderlandı"}
        BR{"Braziliya"}
        BS{"Baham Adaları"}
        BT{"Butan"}
        BV{"Buve Adası"}
        BW{"Botsvana"}
        BY{"Belarus"}
        BZ{"Beliz"}
        CA{"Kanada"}
        CC{"Kokos Adaları"}
        CD{"Konqo - Kinşasa"}
        CF{"Mərkəzi Afrika Respublikası"}
        CG{"Konqo - Brazzavil"}
        CH{"İsveçrə"}
        CI{"Fil Dişi Sahili"}
        CK{"Kuk Adaları"}
        CL{"Çili"}
        CM{"Kamerun"}
        CN{"Çin"}
        CO{"Kolumbiya"}
        CP{"Klipperton Adası"}
        CR{"Kosta Rika"}
        CU{"Kuba"}
        CV{"Kape Verde"}
        CW{"Kurasao"}
        CX{"Milad Adası"}
        CY{"Kipr"}
        CZ{"Çexiya"}
        DE{"Almaniya"}
        DG{"Dieqo Qarsiya"}
        DJ{"Cibuti"}
        DK{"Danimarka"}
        DM{"Dominika"}
        DO{"Dominikan Respublikası"}
        DZ{"Əlcəzair"}
        EA{"Seuta və Melilya"}
        EC{"Ekvador"}
        EE{"Estoniya"}
        EG{"Misir"}
        EH{"Qərbi Sahara"}
        ER{"Eritreya"}
        ES{"İspaniya"}
        ET{"Efiopiya"}
        EU{"Avropa Birliyi"}
        FI{"Finlandiya"}
        FJ{"Fici"}
        FK{"Folklend Adaları"}
        FM{"Mikroneziya"}
        FO{"Farer Adaları"}
        FR{"Fransa"}
        GA{"Qabon"}
        GB{"Birləşmiş Krallıq"}
        GD{"Qrenada"}
        GE{"Gürcüstan"}
        GF{"Fransız Qviyanası"}
        GG{"Gernsey"}
        GH{"Qana"}
        GI{"Gibraltar"}
        GL{"Qrenlandiya"}
        GM{"Qambiya"}
        GN{"Qvineya"}
        GP{"Qvadelupa"}
        GQ{"Ekvatorial Qvineya"}
        GR{"Yunanıstan"}
        GS{"Cənubi Corciya və Cənubi Sendviç Adaları"}
        GT{"Qvatemala"}
        GU{"Quam"}
        GW{"Qvineya-Bisau"}
        GY{"Qviyana"}
        HK{"Honq Konq Xüsusi İnzibati Ərazi Çin"}
        HM{"Herd və Mak Donald Adaları"}
        HN{"Honduras"}
        HR{"Xorvatiya"}
        HT{"Haiti"}
        HU{"Macarıstan"}
        IC{"Kanar Adaları"}
        ID{"İndoneziya"}
        IE{"İrlandiya"}
        IL{"İsrail"}
        IM{"Men Adası"}
        IN{"Hindistan"}
        IO{"Britaniya Hind Okeanı Ərazisi"}
        IQ{"İraq"}
        IR{"İran"}
        IS{"İslandiya"}
        IT{"İtaliya"}
        JE{"Cersi"}
        JM{"Yamayka"}
        JO{"İordaniya"}
        JP{"Yaponiya"}
        KE{"Keniya"}
        KG{"Qırğızıstan"}
        KH{"Kamboca"}
        KI{"Kiribati"}
        KM{"Komor Adaları"}
        KN{"San Kits və Nevis"}
        KP{"Şimali Koreya"}
        KR{"Cənubi Koreya"}
        KW{"Küveyt"}
        KY{"Kayman Adaları"}
        KZ{"Qazaxıstan"}
        LA{"Laos"}
        LB{"Livan"}
        LC{"San Lüsiya"}
        LI{"Lixtenşteyn"}
        LK{"Şri Lanka"}
        LR{"Liberiya"}
        LS{"Lesoto"}
        LT{"Litva"}
        LU{"Lüksemburq"}
        LV{"Latviya"}
        LY{"Liviya"}
        MA{"Mərakeş"}
        MC{"Monako"}
        MD{"Moldova"}
        ME{"Monteneqro"}
        MF{"San Martin"}
        MG{"Madaqaskar"}
        MH{"Marşal Adaları"}
        MK{"Makedoniya"}
        ML{"Mali"}
        MM{"Myanma"}
        MN{"Monqoliya"}
        MO{"Makao Xüsusi İnzibati Ərazi Çin"}
        MP{"Şimali Mariana Adaları"}
        MQ{"Martinik"}
        MR{"Mavritaniya"}
        MS{"Monserat"}
        MT{"Malta"}
        MU{"Mavriki"}
        MV{"Maldiv Adaları"}
        MW{"Malavi"}
        MX{"Meksika"}
        MY{"Malayziya"}
        MZ{"Mozambik"}
        NA{"Namibiya"}
        NC{"Yeni Kaledoniya"}
        NE{"Niger"}
        NF{"Norfolk Adası"}
        NG{"Nigeriya"}
        NI{"Nikaraqua"}
        NL{"Niderland"}
        NO{"Norveç"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Yeni Zelandiya"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Fransız Polineziyası"}
        PG{"Papua Yeni Qvineya"}
        PH{"Filippin"}
        PK{"Pakistan"}
        PL{"Polşa"}
        PM{"San Pier və Mikelon"}
        PN{"Pitkern Adaları"}
        PR{"Puerto Riko"}
        PS{"Fələstin Əraziləri"}
        PT{"Portuqal"}
        PW{"Palau"}
        PY{"Paraqvay"}
        QA{"Qatar"}
        QO{"Uzaq Okeaniya"}
        RE{"Reunion"}
        RO{"Rumıniya"}
        RS{"Serbiya"}
        RU{"Rusiya"}
        RW{"Ruanda"}
        SA{"Səudiyyə Ərəbistanı"}
        SB{"Solomon Adaları"}
        SC{"Seyşel Adaları"}
        SD{"Sudan"}
        SE{"İsveç"}
        SG{"Sinqapur"}
        SH{"Müqəddəs Yelena"}
        SI{"Sloveniya"}
        SJ{"Svalbard və Yan Mayen"}
        SK{"Slovakiya"}
        SL{"Siera Leon"}
        SM{"San Marino"}
        SN{"Seneqal"}
        SO{"Somali"}
        SR{"Surinam"}
        SS{"Cənubi Sudan"}
        ST{"Sao Tome və Prinsip"}
        SV{"Salvador"}
        SX{"Sint Maarten"}
        SY{"Suriya"}
        SZ{"Svazilend"}
        TA{"Tristan da Kunya"}
        TC{"Turks və Kaikos Adaları"}
        TD{"Çad"}
        TF{"Fransa Cənub Əraziləri"}
        TG{"Toqo"}
        TH{"Tayland"}
        TJ{"Tacikistan"}
        TK{"Tokelau"}
        TL{"Şərqi Timor"}
        TM{"Türkmənistan"}
        TN{"Tunis"}
        TO{"Tonqa"}
        TR{"Türkiya"}
        TT{"Trinidad və Tobaqo"}
        TV{"Tuvalu"}
        TW{"Tayvan"}
        TZ{"Tanzaniya"}
        UA{"Ukrayna"}
        UG{"Uqanda"}
        UM{"Birləşmiş Ştatlar Uzaq Adalar"}
        US{"Amerika Birləşmiş Ştatları"}
        UY{"Uruqvay"}
        UZ{"Özbəkistan"}
        VA{"Vatikan"}
        VC{"San Vinsent və Qrenada"}
        VE{"Venesuela"}
        VG{"Britaniya Vircin Adaları"}
        VI{"ABŞ Vircin Adaları"}
        VN{"Vyetnam"}
        VU{"Vanuatu"}
        WF{"Uolis və Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Yəmən"}
        YT{"Mayot"}
        ZA{"Cənub Afrika"}
        ZM{"Zambiya"}
        ZW{"Zimbabve"}
        ZZ{"Naməlum Region"}
    }
    Countries%short{
        GB{"B.K."}
        HK{"Honq Konq"}
        MO{"Makao"}
        PS{"Fələstin"}
        US{"A.B.Ş."}
    }
    Countries%variant{
        CD{"Konqo (KDR)"}
        CG{"Konqo (Respublika)"}
        FK{"Folklend Adaları (Malvin Adaları)"}
        MK{"Makedoniya (FYROM)"}
        TL{"Doğu Timor"}
    }
    Version{"2.1.23.7"}
}
