﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/kab.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/kab.xml
 */
kab{
    Countries{
        AD{"Undura"}
        AE{"Tigeldunin Yedduklen Taɛrabin"}
        AF{"Afɣanistan"}
        AG{"Untiga d Barbuda"}
        AI{"Ungiya"}
        AL{"Lalbani"}
        AM{"Arminya"}
        AN{"Antilles n Tmura-Yessakesren"}
        AO{"Ungula"}
        AR{"Arjuntin"}
        AS{"Samwa Tamarikanit"}
        AT{"Ustriya"}
        AU{"Ustrali"}
        AW{"Aruba"}
        AZ{"Azrabijan"}
        BA{"Busna d Hersek"}
        BB{"Barbadus"}
        BD{"Bangladac"}
        BE{"Belǧik"}
        BF{"Burkina Fasu"}
        BG{"Bulgari"}
        BH{"Baḥrin"}
        BI{"Burandi"}
        BJ{"Binin"}
        BM{"Bermuda"}
        BN{"Bruney"}
        BO{"Bulivi"}
        BR{"Brizil"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BW{"Bustwana"}
        BY{"Bilarus"}
        BZ{"Biliz"}
        CA{"Kanada"}
        CD{"Tigduda Tagdudant n Kungu"}
        CF{"Tigduda n Tefriqt Talemmast"}
        CG{"Kungu"}
        CH{"Swis"}
        CI{"Kuṭ Divwar"}
        CK{"Tigzirin n Kuk"}
        CL{"Cili"}
        CM{"Kamirun"}
        CN{"Lacin"}
        CO{"Kulumbi"}
        CR{"Kusta Rika"}
        CU{"Kuba"}
        CV{"Tigzirin n yixef azegzaw"}
        CY{"Cipr"}
        CZ{"Čček"}
        DE{"Lalman"}
        DJ{"Ǧibuti"}
        DK{"Denmark"}
        DM{"Duminik"}
        DO{"Tigduda Taduminikit"}
        DZ{"Lezzayer"}
        EC{"Ikwaṭur"}
        EE{"Istunya"}
        EG{"Maṣr"}
        ER{"Iritiria"}
        ES{"Spanya"}
        ET{"Utyupi"}
        FI{"Finlund"}
        FJ{"Fiji"}
        FK{"Tigzirin n Falkland"}
        FM{"Mikrunizya"}
        FR{"Fransa"}
        GA{"Gabun"}
        GB{"Tagelda Yedduklen"}
        GD{"Grunad"}
        GE{"Jiyurji"}
        GF{"Ɣana tafransist"}
        GH{"Ɣana"}
        GI{"Jibraltar"}
        GL{"Grunland"}
        GM{"Gambya"}
        GN{"Ɣinya"}
        GP{"Gwadalupi"}
        GQ{"Ɣinya Tasebgast"}
        GR{"Lagris"}
        GT{"Gwatimala"}
        GU{"Gwam"}
        GW{"Ɣinya-Bisaw"}
        GY{"Guwana"}
        HN{"Hunduras"}
        HR{"Kerwasya"}
        HT{"Hayti"}
        HU{"Hungri"}
        ID{"Indunizi"}
        IE{"Lirlund"}
        IL{"Izrayil"}
        IN{"Lhend"}
        IO{"Akal Aglizi deg Ugaraw Ahendi"}
        IQ{"Lɛiraq"}
        IR{"Iran"}
        IS{"Island"}
        IT{"Ṭelyan"}
        JM{"Jamyika"}
        JO{"Lajurdani"}
        JP{"Jappu"}
        KE{"Kinya"}
        KG{"Kirigistan"}
        KH{"Cambudya"}
        KI{"Kiribati"}
        KM{"Kumur"}
        KN{"San Kits d Nivis"}
        KP{"Kurya, Ufella"}
        KR{"Kurya, Wadda"}
        KW{"Kuwayt"}
        KY{"Tigzirin n Kamyan"}
        KZ{"Kazaxistan"}
        LA{"Laws"}
        LB{"Lubnan"}
        LC{"San Lučya"}
        LI{"Layctenstan"}
        LK{"Sri Lanka"}
        LR{"Libirya"}
        LS{"Lizuṭu"}
        LT{"Liṭwanya"}
        LU{"Luksamburg"}
        LV{"Latvia"}
        LY{"Libya"}
        MA{"Lmerruk"}
        MC{"Munaku"}
        MD{"Muldabi"}
        MG{"Madaɣecqer"}
        MH{"Tigzirin n Marcal"}
        MK{"Masidwan"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mungulya"}
        MP{"Tigzirin n Maryan Ufella"}
        MQ{"Martinik"}
        MR{"Muriṭanya"}
        MS{"Munsirat"}
        MT{"Malṭ"}
        MU{"Muris"}
        MV{"Maldib"}
        MW{"Malawi"}
        MX{"Meksik"}
        MY{"Malizya"}
        MZ{"Muzembiq"}
        NA{"Namibya"}
        NC{"Kalidunya Tamaynut"}
        NE{"Nijer"}
        NF{"Tigzirin Tinawfukin"}
        NG{"Nijirya"}
        NI{"Nikaragwa"}
        NL{"Timura-Yessakesren"}
        NO{"Nurvij"}
        NP{"Nipal"}
        NR{"Nuru"}
        NU{"Niwi"}
        NZ{"Ziland Tamaynut"}
        OM{"Ɛuman"}
        PA{"Panam"}
        PE{"Piru"}
        PF{"Pulunizi tafransist"}
        PG{"Ɣinya Tamaynut Tapaput"}
        PH{"Filipin"}
        PK{"Pakistan"}
        PL{"Pulund"}
        PM{"San Pyar d Miklun"}
        PN{"Pitkarin"}
        PR{"Purtu Riku"}
        PS{"Falisṭin d Ɣezza"}
        PT{"Purtugal"}
        PW{"Palu"}
        PY{"Paragway"}
        QA{"Qaṭar"}
        RE{"Timlilit"}
        RO{"Rumani"}
        RU{"Rrus"}
        RW{"Ruwanda"}
        SA{"Suɛudiya Taɛrabt"}
        SB{"Tigzirin n Sulumun"}
        SC{"Seycel"}
        SD{"Sudan"}
        SE{"Swid"}
        SG{"Singafur"}
        SH{"Sant Ilina"}
        SI{"Sluvinya"}
        SK{"Sluvakya"}
        SL{"Sira Lyun"}
        SM{"San Marinu"}
        SN{"Sinigal"}
        SO{"Ṣumal"}
        SR{"Surinam"}
        ST{"Saw Tumi d Pransip"}
        SV{"Salvadur"}
        SY{"Surya"}
        SZ{"Swazilund"}
        TC{"Ṭurk d Tegzirin n Kaykus"}
        TD{"Čad"}
        TG{"Ṭugu"}
        TH{"Ṭayland"}
        TJ{"Tajikistan"}
        TK{"Ṭuklu"}
        TL{"Tumur Asamar"}
        TM{"Ṭurkmanistan"}
        TN{"Tunes"}
        TO{"Ṭunga"}
        TR{"Ṭurk"}
        TT{"Ṭrindad d Ṭubagu"}
        TV{"Ṭuvalu"}
        TW{"Ṭaywan"}
        TZ{"Ṭanzanya"}
        UA{"Ukran"}
        UG{"Uɣanda"}
        US{"WDM"}
        UY{"Urugway"}
        UZ{"Uzbaxistan"}
        VA{"Awanek n Vatikan"}
        VC{"San Vansu d Grunadin"}
        VE{"Venzwila"}
        VG{"Tigzirin Tiverjiniyin Tigliziyin"}
        VI{"W.D. Tigzirin n Virginya"}
        VN{"Vyeṭnam"}
        VU{"Vanwatu"}
        WF{"Wallis d Futuna"}
        WS{"Samwa"}
        YE{"Lyamen"}
        YT{"Mayuṭ"}
        ZA{"Tafriqt Wadda"}
        ZM{"Zambya"}
        ZW{"Zimbabwi"}
    }
    Version{"2.0.97.28"}
}
