﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * 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"}
        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.74.65"}
}
