﻿// ***************************************************************************
// *
// * Copyright (C) 2013 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>/common/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.92.87"}
}
