﻿// ***************************************************************************
// *
// * 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/nyn.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/nyn.xml
 */
nyn{
    Countries{
        AD{"Andora"}
        AE{"Amahanga ga Buharabu ageeteereine"}
        AF{"Afuganistani"}
        AG{"Angiguwa na Babuda"}
        AI{"Angwira"}
        AL{"Arubania"}
        AM{"Arimeniya"}
        AN{"Antiri za Hoorandi"}
        AO{"Angora"}
        AR{"Arigentina"}
        AS{"Samowa ya Ameerika"}
        AT{"Osituria"}
        AU{"Ositureeriya"}
        AW{"Aruba"}
        AZ{"Azabagyani"}
        BA{"Boziniya na Hezegovina"}
        BB{"Babadosi"}
        BD{"Bangaradeshi"}
        BE{"Bubirigi"}
        BF{"Bokina Faso"}
        BG{"Burugariya"}
        BH{"Bahareni"}
        BI{"Burundi"}
        BJ{"Benini"}
        BM{"Berimuda"}
        BN{"Burunei"}
        BO{"Boriiviya"}
        BR{"Buraziiri"}
        BS{"Bahama"}
        BT{"Butani"}
        BW{"Botswana"}
        BY{"Bararusi"}
        BZ{"Berize"}
        CA{"Kanada"}
        CD{"Demokoratika Ripaaburika ya Kongo"}
        CF{"Eihanga rya Rwagati ya Afirika"}
        CG{"Kongo"}
        CH{"Swisi"}
        CI{"Aivore Kositi"}
        CK{"Ebizinga bya Kuuku"}
        CL{"Chile"}
        CM{"Kameruuni"}
        CN{"China"}
        CO{"Korombiya"}
        CR{"Kositarika"}
        CS{"Saabiya na Monteneguro"}
        CU{"Cuba"}
        CV{"Ebizinga bya Kepuvade"}
        CY{"Saipurasi"}
        CZ{"Ripaaburika ya Zeeki"}
        DE{"Bugirimaani"}
        DJ{"Gyibuti"}
        DK{"Deenimaaka"}
        DM{"Dominika"}
        DO{"Ripaaburika ya Dominica"}
        DZ{"Arigyeriya"}
        EC{"Ikweda"}
        EE{"Esitoniya"}
        EG{"Misiri"}
        ER{"Eriteriya"}
        ES{"Sipeyini"}
        ET{"Ethiyopiya"}
        FI{"Bufini"}
        FJ{"Figyi"}
        FK{"Ebizinga bya Faakilanda"}
        FM{"Mikironesiya"}
        FR{"Bufaransa"}
        GA{"Gabooni"}
        GB{"Bungyereza"}
        GD{"Gurenada"}
        GE{"Gyogiya"}
        GF{"Guyana ya Bufaransa"}
        GH{"Gana"}
        GI{"Giburaata"}
        GL{"Guriinirandi"}
        GM{"Gambiya"}
        GN{"Gine"}
        GP{"Gwaderupe"}
        GQ{"Guni"}
        GR{"Guriisi"}
        GT{"Gwatemara"}
        GU{"Gwamu"}
        GW{"Ginebisau"}
        GY{"Guyana"}
        HN{"Hondurasi"}
        HR{"Korasiya"}
        HT{"Haiti"}
        HU{"Hangare"}
        ID{"Indoneeziya"}
        IE{"Irerandi"}
        IL{"Isirairi"}
        IN{"Indiya"}
        IO{"Ebizinga bya Indian ebya Bungyereza"}
        IQ{"Iraaka"}
        IR{"Iraani"}
        IS{"Aisilandi"}
        IT{"Itare"}
        JM{"Gyamaika"}
        JO{"Yorudaani"}
        JP{"Gyapaani"}
        KE{"Kenya"}
        KG{"Kirigizistani"}
        KH{"Kambodiya"}
        KI{"Kiribati"}
        KM{"Koromo"}
        KN{"Senti Kittis na Nevisi"}
        KP{"Koreya Amatemba"}
        KR{"Koreya Amashuuma"}
        KW{"Kuweiti"}
        KY{"Ebizinga bya Kayimani"}
        KZ{"Kazakisitani"}
        LA{"Layosi"}
        LB{"Lebanoni"}
        LC{"Senti Rusiya"}
        LI{"Lishenteni"}
        LK{"Siriranka"}
        LR{"Liberiya"}
        LS{"Lesotho"}
        LT{"Lithuania"}
        LU{"Lakizembaaga"}
        LV{"Latviya"}
        LY{"Libya"}
        MA{"Morocco"}
        MC{"Monaco"}
        MD{"Moridova"}
        MG{"Madagasika"}
        MH{"Ebizinga bya Marshaa"}
        MK{"Masedoonia"}
        ML{"Mari"}
        MM{"Myanamar"}
        MN{"Mongoria"}
        MP{"Ebizinga by'amatemba ga Mariana"}
        MQ{"Martinique"}
        MR{"Mauriteeniya"}
        MS{"Montserrati"}
        MT{"Marita"}
        MU{"Maurishiasi"}
        MV{"Maridives"}
        MW{"Marawi"}
        MX{"Mexico"}
        MY{"marayizia"}
        MZ{"Mozambique"}
        NA{"Namibiya"}
        NC{"Niukaredonia"}
        NE{"Naigya"}
        NF{"Ekizinga Norifoko"}
        NG{"Naigyeriya"}
        NI{"Nikaragwa"}
        NL{"Hoorandi"}
        NO{"Noorwe"}
        NP{"Nepo"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Niuzirandi"}
        OM{"Omaani"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Polinesia ya Bufaransa"}
        PG{"Papua"}
        PH{"Firipino"}
        PK{"Pakisitaani"}
        PL{"Poorandi"}
        PM{"Senti Piyerre na Mikweron"}
        PN{"Pitkaini"}
        PR{"Pwetoriko"}
        PS{"Parestiina na Gaza"}
        PT{"Pocugo"}
        PW{"Palaawu"}
        PY{"Paragwai"}
        QA{"Kata"}
        RE{"Riyuniyoni"}
        RO{"Romaniya"}
        RU{"Rrasha"}
        RW{"Rwanda"}
        SA{"Saudi Areebiya"}
        SB{"Ebizinga bya Surimaani"}
        SC{"Shesheresi"}
        SD{"Sudani"}
        SE{"Swideni"}
        SG{"Singapo"}
        SH{"Senti Herena"}
        SI{"Sirovaaniya"}
        SK{"Sirovaakiya"}
        SL{"Sirra Riyooni"}
        SM{"Samarino"}
        SN{"Senego"}
        SO{"Somaariya"}
        SR{"Surinaamu"}
        ST{"Sawo Tome na Purinsipo"}
        SV{"Eri Salivado"}
        SY{"Siriya"}
        SZ{"Swazirandi"}
        TC{"Ebizinga bya Buturuki na Kaiko"}
        TD{"Chadi"}
        TG{"Togo"}
        TH{"Tairandi"}
        TJ{"Tajikisitani"}
        TK{"Tokerawu"}
        TL{"Burugweizooba bwa Timori"}
        TM{"Turukimenisitani"}
        TN{"Tunizia"}
        TO{"Tonga"}
        TR{"Buturuki /Take"}
        TT{"Turinidad na Tobago"}
        TV{"Tuvaru"}
        TW{"Tayiwaani"}
        TZ{"Tanzania"}
        UA{"Ukureini"}
        UG{"Uganda"}
        US{"Amerika"}
        UY{"Urugwai"}
        UZ{"Uzibekisitani"}
        VA{"Vatikani"}
        VC{"Senti Vinsent na Gurenadini"}
        VE{"Venezuwera"}
        VG{"Ebizinga bya Virigini ebya Bungyereza"}
        VI{"Ebizinga bya Virigini ebya Amerika"}
        VN{"Viyetinaamu"}
        VU{"Vanuatu"}
        WF{"Warris na Futuna"}
        WS{"Samowa"}
        YE{"Yemeni"}
        YT{"Mayote"}
        ZA{"Sausi Afirika"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
    }
    Version{"2.0.47.63"}
}
