﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ha.xml
// *
// ***************************************************************************
ha{
    Countries{
        AD{"Andora"}
        AE{"Haɗaɗɗiyar Daular Larabawa"}
        AF{"Afaganistan"}
        AG{"Antigwa da Barbuba"}
        AI{"Angila"}
        AL{"Albaniya"}
        AM{"Armeniya"}
        AN{"Antiya Na Holan"}
        AO{"Angola"}
        AR{"Arjantiniya"}
        AS{"Samowa Ta Amurka"}
        AT{"Ostiriya"}
        AU{"Ostareliya"}
        AW{"Aruba"}
        AZ{"Azarbaijan"}
        BA{"Bosniya Harzagobina"}
        BB{"Barbadas"}
        BD{"Bangiladas"}
        BE{"Belgiyom"}
        BF{"Burkina Faso"}
        BG{"Bulgariya"}
        BH{"Baharan"}
        BI{"Burundi"}
        BJ{"Binin"}
        BM{"Barmuda"}
        BN{"Burune"}
        BO{"Bolibiya"}
        BR{"Birazil"}
        BS{"Bahamas"}
        BT{"Butan"}
        BW{"Baswana"}
        BY{"Belarus"}
        BZ{"Beliz"}
        CA{"Kanada"}
        CD{"Jamhuriyar Dimokuraɗiyyar Kongo"}
        CF{"Jamhuriyar Afirka Ta Tsakiya"}
        CG{"Kongo"}
        CH{"Suwizalan"}
        CI{"Aibari Kwas"}
        CK{"Tsibiran Kuku"}
        CL{"Cayile"}
        CM{"Kamaru"}
        CN{"Caina, Sin"}
        CO{"Kolambiya"}
        CR{"Kwasta Rika"}
        CU{"Kyuba"}
        CV{"Tsibiran Kap Barde"}
        CY{"Sifurus"}
        CZ{"Jamhuriyar Cak"}
        DE{"Jamus"}
        DJ{"Jibuti"}
        DK{"Danmark"}
        DM{"Dominika"}
        DO{"Jamhuriyar Dominika"}
        DZ{"Aljeriya"}
        EC{"Ekwador"}
        EE{"Estoniya"}
        EG{"Masar, Misira"}
        ER{"Eritireya"}
        ES{"Sipen"}
        ET{"Habasha"}
        FI{"Finlan"}
        FJ{"Fiji"}
        FK{"Tsibiran Falkilan"}
        FM{"Mikuronesiya"}
        FR{"Faransa"}
        GA{"Gabon"}
        GB{"Birtaniya"}
        GD{"Girnada"}
        GE{"Jiwarjiya"}
        GF{"Gini Ta Faransa"}
        GH{"Gana"}
        GI{"Jibaraltar"}
        GL{"Grinlan"}
        GM{"Gambiya"}
        GN{"Gini"}
        GP{"Gwadaluf"}
        GQ{"Gini Ta Ikwaita"}
        GR{"Girka"}
        GT{"Gwatamala"}
        GU{"Gwam"}
        GW{"Gini Bisau"}
        GY{"Guyana"}
        HN{"Honduras"}
        HR{"Kurowaishiya"}
        HT{"Haiti"}
        HU{"Hungari"}
        ID{"Indunusiya"}
        IE{"Ayalan"}
        IL{"Iziraʼila"}
        IN{"Indiya"}
        IO{"Yankin Birtaniya Na Tekun Indiya"}
        IQ{"Iraƙi"}
        IR{"Iran"}
        IS{"Aisalan"}
        IT{"Italiya"}
        JM{"Jamaika"}
        JO{"Jordan"}
        JP{"Japan"}
        KE{"Kenya"}
        KG{"Kirgizistan"}
        KH{"Kambodiya"}
        KI{"Kiribati"}
        KM{"Kwamoras"}
        KN{"San Kiti Da Nebis"}
        KP{"Koreya Ta Arewa"}
        KR{"Koreya Ta Kudu"}
        KW{"Kwiyat"}
        KY{"Tsibiran Kaiman"}
        KZ{"Kazakistan"}
        LA{"Lawas"}
        LB{"Labanan"}
        LC{"San Lusiya"}
        LI{"Licansitan"}
        LK{"Siri Lanka"}
        LR{"Laberiya"}
        LS{"Lesoto"}
        LT{"Lituweniya"}
        LU{"Lukusambur"}
        LV{"latibiya"}
        LY{"Libiya"}
        MA{"Maroko"}
        MC{"Monako"}
        MD{"Maldoba"}
        MG{"Madagaskar"}
        MH{"Tsibiran Marshal"}
        MK{"Masedoniya"}
        ML{"Mali"}
        MM{"Burma, Miyamar"}
        MN{"Mangoliya"}
        MP{"Tsibiran Mariyana Na Arewa"}
        MQ{"Martinik"}
        MR{"Moritaniya"}
        MS{"Manserati"}
        MT{"Malta"}
        MU{"Moritus"}
        MV{"Maldibi"}
        MW{"Malawi"}
        MX{"Makasiko"}
        MY{"Malaisiya"}
        MZ{"Mozambik"}
        NA{"Namibiya"}
        NC{"Kaledoniya Sabuwa"}
        NE{"Nijar"}
        NF{"Tsibirin Narfalk"}
        NG{"Najeriya"}
        NI{"Nikaraguwa"}
        NL{"Holan"}
        NO{"Norwe"}
        NP{"Nefal"}
        NR{"Nauru"}
        NU{"Niyu"}
        NZ{"Nuzilan"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Folinesiya Ta Faransa"}
        PG{"Papuwa Nugini"}
        PH{"Filipin"}
        PK{"Pakistan"}
        PL{"Polan"}
        PM{"San Piyar Da Mikelan"}
        PN{"Pitakarin"}
        PR{"Porto Riko"}
        PS{"Palasɗinu"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paragai"}
        QA{"Kwatar"}
        RE{"Rawuniyan"}
        RO{"Romaniya"}
        RU{"Rasha"}
        RW{"Ruwanda"}
        SA{"Ƙasar Makka"}
        SB{"Tsibiran Salaman"}
        SC{"Saishal"}
        SD{"Sudan"}
        SE{"Suwedan"}
        SG{"Singapur"}
        SH{"San Helena"}
        SI{"Sulobeniya"}
        SK{"Sulobakiya"}
        SL{"Salewo"}
        SM{"San Marino"}
        SN{"Sinigal"}
        SO{"Somaliya"}
        SR{"Suriname"}
        ST{"Sawo Tome Da Paransip"}
        SV{"El Salbador"}
        SY{"Sham, Siriya"}
        SZ{"Suwazilan"}
        TC{"Turkis Da Tsibiran Kaikwas"}
        TD{"Cadi"}
        TG{"Togo"}
        TH{"Tailan"}
        TJ{"Tajikistan"}
        TK{"Takelau"}
        TL{"Timor Ta Gabas"}
        TM{"Turkumenistan"}
        TN{"Tunisiya"}
        TO{"Tanga"}
        TR{"Turkiyya"}
        TT{"Tirinidad Da Tobago"}
        TV{"Tubalu"}
        TW{"Taiwan"}
        TZ{"Tanzaniya"}
        UA{"Yukaran"}
        UG{"Yuganda"}
        US{"Amurka"}
        UY{"Yurugai"}
        UZ{"Uzubekistan"}
        VA{"Batikan"}
        VC{"San Binsan Da Girnadin"}
        VE{"Benezuwela"}
        VG{"Tsibirin Birjin Na Birtaniya"}
        VI{"Tsibiran Birjin Ta Amurka"}
        VN{"Biyetinam"}
        VU{"Banuwatu"}
        WF{"Walis Da Futuna"}
        WS{"Samowa"}
        YE{"Yamal"}
        YT{"Mayoti"}
        ZA{"Afirka Ta Kudu"}
        ZM{"Zambiya"}
        ZW{"Zimbabuwe"}
    }
    Version{"2.1.19.14"}
}
