﻿// ***************************************************************************
// *
// * 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/tzm.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/tzm.xml
 */
tzm{
    Countries{
        AD{"Anḍurra"}
        AE{"Imarat Tiεrabin Tidduklin"}
        AF{"Afɣanistan"}
        AG{"Antigwa d Barbuda"}
        AI{"Angwilla"}
        AL{"Albanya"}
        AM{"Arminya"}
        AN{"Antil Tihulanḍiyyin"}
        AO{"Angula"}
        AR{"Arjuntin"}
        AS{"Samwa Imirikaniyyin"}
        AT{"Ustriyya"}
        AU{"Usṭralya"}
        AW{"Aruba"}
        AZ{"Azerbiǧan"}
        BA{"Busna-d-Hirsik"}
        BB{"Barbadus"}
        BD{"Bangladic"}
        BE{"Beljika"}
        BF{"Burkina Fasu"}
        BG{"Belɣarya"}
        BH{"Baḥrayn"}
        BI{"Burundi"}
        BJ{"Binin"}
        BM{"Birmuda"}
        BN{"Brunay"}
        BO{"Bulivya"}
        BR{"Bṛazil"}
        BS{"Bahamas"}
        BT{"Buṭan"}
        BW{"Butswana"}
        BY{"Bilarusya"}
        BZ{"Biliz"}
        CA{"Kanada"}
        CD{"Tagduda Tadimuqraṭit n Kungu"}
        CF{"Tagduda n Afrika Wammas"}
        CG{"Kungu"}
        CH{"Swisra"}
        CI{"Taɣazut n Uszer"}
        CK{"Tigzirin n Kuk"}
        CL{"Ccili"}
        CM{"Kamerun"}
        CN{"Ṣṣin"}
        CO{"Kulumbya"}
        CR{"Kusṭa Rika"}
        CS{"Ṣiṛbya d Muntinigru"}
        CU{"kuba"}
        CV{"Tigzirin n Iɣf Uzegzaw"}
        CY{"Qubrus"}
        CZ{"Tagduda n Čik"}
        DE{"Almanya"}
        DJ{"Ǧibuti"}
        DK{"Danmark"}
        DM{"Ḍuminika"}
        DO{"Tagduda n Ḍuminikan"}
        DZ{"Dzayer"}
        EC{"Ikwaḍur"}
        EE{"Isṭunya"}
        EG{"Miṣr"}
        ER{"Iritrya"}
        ES{"Sbanya"}
        ET{"Ityupya"}
        FI{"Finlanḍa"}
        FJ{"Fiji"}
        FK{"Tigzirin n Falkland"}
        FM{"Mikrunizya"}
        FR{"Fṛansa"}
        GA{"Gabun"}
        GB{"Tagelda Taddukelt"}
        GD{"Grinada"}
        GE{"Jyurjya"}
        GF{"Guyana Tafransist"}
        GH{"Ɣana"}
        GI{"Jibralṭar"}
        GL{"Grinlanḍa"}
        GM{"Gambya"}
        GN{"Ɣinya"}
        GP{"Gwadalup"}
        GQ{"Ɣinya Tikwaṭur it"}
        GR{"Yunan"}
        GT{"Gwatimala"}
        GU{"Gwam"}
        GW{"Ɣinya-Bissaw"}
        GY{"Guyana"}
        HN{"Hinduras"}
        HR{"Krwatya"}
        HT{"Hayti"}
        HU{"Henɣarya"}
        ID{"Indunizya"}
        IE{"Irlanḍa"}
        IL{"Israeil"}
        IN{"Hind"}
        IO{"Amur n Agaraw Uhindi Ubṛiṭani"}
        IQ{"Ɛiraq"}
        IR{"Iran"}
        IS{"Islanḍa"}
        IT{"Iṭalya"}
        JM{"Jamayka"}
        JO{"Urḍun"}
        JP{"Jjappun"}
        KE{"Kinya"}
        KG{"Kirɣistan"}
        KH{"Kambudj"}
        KI{"Kiribati"}
        KM{"Qumur"}
        KN{"Santekits d Nivis"}
        KP{"Kurya Tugafat"}
        KR{"Kurya Tunẓult"}
        KW{"Kuwwayt"}
        KY{"Tigzirin n Kayman"}
        KZ{"Kazaxistan"}
        LA{"Laws"}
        LB{"Lubnan"}
        LC{"Santelusya"}
        LI{"Lictencṭayn"}
        LK{"Srilanka"}
        LR{"Libirya"}
        LS{"Lisuṭu"}
        LT{"Litwanya"}
        LU{"Liksumburg"}
        LV{"Liṭṭunya"}
        LY{"Libya"}
        MA{"Meṛṛuk"}
        MC{"Munaku"}
        MD{"Mulḍavya"}
        MG{"Madaɣacqar"}
        MH{"Tigzirin n Marcal"}
        MK{"Maqdunya"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Manɣulya"}
        MP{"Tigzirin n Maryana Tugafat"}
        MQ{"Martinik"}
        MR{"Muritanya"}
        MS{"Muntsirra"}
        MT{"Malṭa"}
        MU{"Muris"}
        MV{"Maldiv"}
        MW{"Malawi"}
        MX{"Miksik"}
        MY{"Malizya"}
        MZ{"Muzambiq"}
        NA{"Namibya"}
        NC{"kalidunya Tamaynut"}
        NE{"Nnijer"}
        NF{"Tigzirt Nurfulk"}
        NG{"Nijiria"}
        NI{"Nikaragwa"}
        NL{"Hulanḍa"}
        NO{"Nnurwij"}
        NP{"Nippal"}
        NR{"Nawru"}
        NU{"Niwi"}
        NZ{"Zilanḍa Tamaynut"}
        OM{"Ɛumman"}
        PA{"Panama"}
        PE{"Piru"}
        PF{"Pulinizya Tafransist"}
        PG{"Papwa Ɣinya Tamaynut"}
        PH{"Filippin"}
        PK{"Pakistan"}
        PL{"Pulunya"}
        PM{"Santepyir d Mikelun"}
        PN{"Pitkirn"}
        PR{"Purturiku"}
        PS{"Agemmaḍ Ugut d Ɣazza Ifilisṭiniyen"}
        PT{"Purtuɣal"}
        PW{"Palu"}
        PY{"Paragway"}
        QA{"Qaṭar"}
        RE{"Riyyunyun"}
        RO{"Ṛumanya"}
        RU{"Rusya"}
        RW{"Ruwwanḍa"}
        SA{"Ssaεudiyya Taεrabt"}
        SB{"Tigzirin n Salumun"}
        SC{"Ssicil"}
        SD{"Ssudan"}
        SE{"Ssewwid"}
        SG{"Sanɣafura"}
        SH{"Santehilin"}
        SI{"Sluvinya"}
        SK{"Sluvakya"}
        SL{"Siralyun"}
        SM{"Sanmarinu"}
        SN{"Ssiniɣal"}
        SO{"Ṣṣumal"}
        SR{"Surinam"}
        ST{"Sawṭumi d Prinsip"}
        SV{"Salvaḍur"}
        SY{"Surya"}
        SZ{"Swazilanḍa"}
        TC{"Tigzirin Turkiyyin d Tikaykusin"}
        TD{"Tcad"}
        TG{"Ṭṭugu"}
        TH{"Ṭaylanḍa"}
        TJ{"Ṭaǧikistan"}
        TK{"Tuklu"}
        TL{"Timur Tagmuṭ"}
        TM{"Turkmanistan"}
        TN{"Tunes"}
        TO{"Ṭunga"}
        TR{"Turkya"}
        TT{"Trinidad d Ṭubagu"}
        TV{"Ṭuvalu"}
        TW{"Ṭaywan"}
        TZ{"Ṭanzanya"}
        UA{"Ukranya"}
        UG{"Uɣanda"}
        US{"Iwunak Idduklen n Amirika"}
        UY{"Urugway"}
        UZ{"Uzbakistan"}
        VA{"Awank iɣrem n Vatikan"}
        VC{"Santevinsent d Grinadin"}
        VE{"Vinzwilla"}
        VG{"Tigzirin (Virgin) Tibṛiṭaniyin"}
        VI{"Tigzirin n Virjin n Iwunak Yedduklen"}
        VN{"Viṭnam"}
        VU{"Vanwatu"}
        WF{"Walis d Futuna"}
        WS{"Samwa"}
        YE{"Yaman"}
        YT{"Mayuṭ"}
        ZA{"Tafrikt Tunẓul"}
        ZM{"Zambya"}
        ZW{"Zimbabwi"}
    }
    Version{"2.0.46.85"}
}
