﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/rn.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/rn.xml
 */
rn{
    Countries{
        AD{"Andora"}
        AE{"Leta Zunze Ubumwe z'Abarabu"}
        AF{"Afuganisitani"}
        AG{"Antigwa na Baribuda"}
        AI{"Angwila"}
        AL{"Alubaniya"}
        AM{"Arumeniya"}
        AN{"Antiye y'Abaholandi"}
        AO{"Angola"}
        AR{"Arijantine"}
        AS{"Samowa nyamerika"}
        AT{"Otirishe"}
        AU{"Ositaraliya"}
        AW{"Aruba"}
        AZ{"Azerubayijani"}
        BA{"Bosiniya na Herigozevine"}
        BB{"Barubadosi"}
        BD{"Bangaladeshi"}
        BE{"Ububiligi"}
        BF{"Burukina Faso"}
        BG{"Buligariya"}
        BH{"Bahareyini"}
        BI{"Uburundi"}
        BJ{"Bene"}
        BM{"Berimuda"}
        BN{"Buruneyi"}
        BO{"Boliviya"}
        BR{"Burezili"}
        BS{"Bahamasi"}
        BT{"Butani"}
        BW{"Botswana"}
        BY{"Belausi"}
        BZ{"Belize"}
        CA{"Kanada"}
        CD{"Repubulika Iharanira Demokarasi ya Kongo"}
        CF{"Repubulika ya Santarafurika"}
        CG{"Kongo"}
        CH{"Ubusuwisi"}
        CI{"Kotedivuware"}
        CK{"Izinga rya Kuku"}
        CL{"Shili"}
        CM{"Kameruni"}
        CN{"Ubushinwa"}
        CO{"Kolombiya"}
        CR{"Kositarika"}
        CU{"Kiba"}
        CV{"Ibirwa bya Kapuveri"}
        CY{"Izinga rya Shipure"}
        CZ{"Repubulika ya Ceke"}
        DE{"Ubudage"}
        DJ{"Jibuti"}
        DK{"Danimariki"}
        DM{"Dominika"}
        DO{"Repubulika ya Dominika"}
        DZ{"Alijeriya"}
        EC{"Ekwateri"}
        EE{"Esitoniya"}
        EG{"Misiri"}
        ER{"Elitereya"}
        ES{"Hisipaniya"}
        ET{"Etiyopiya"}
        FI{"Finilandi"}
        FJ{"Fiji"}
        FK{"Izinga rya Filikilandi"}
        FM{"Mikoroniziya"}
        FR{"Ubufaransa"}
        GA{"Gabo"}
        GB{"Ubwongereza"}
        GD{"Gerenada"}
        GE{"Jeworujiya"}
        GF{"Gwayana y'Abafaransa"}
        GH{"Gana"}
        GI{"Juburalitari"}
        GL{"Gurunilandi"}
        GM{"Gambiya"}
        GN{"Guneya"}
        GP{"Gwadelupe"}
        GQ{"Gineya Ekwatoriyali"}
        GR{"Ubugereki"}
        GT{"Gwatemala"}
        GU{"Gwamu"}
        GW{"Gineya Bisawu"}
        GY{"Guyane"}
        HN{"Hondurasi"}
        HR{"Korowasiya"}
        HT{"Hayiti"}
        HU{"Hungariya"}
        ID{"Indoneziya"}
        IE{"Irilandi"}
        IL{"Isiraheli"}
        IN{"Ubuhindi"}
        IO{"Intara y'Ubwongereza yo mu birwa by'Abahindi"}
        IQ{"Iraki"}
        IR{"Irani"}
        IS{"Ayisilandi"}
        IT{"Ubutaliyani"}
        JM{"Jamayika"}
        JO{"Yorudaniya"}
        JP{"Ubuyapani"}
        KE{"Kenya"}
        KG{"Kirigisitani"}
        KH{"Kamboje"}
        KI{"Kiribati"}
        KM{"Izinga rya Komore"}
        KN{"Sekitsi na Nevisi"}
        KP{"Koreya y'amajaruguru"}
        KR{"Koreya y'amajepfo"}
        KW{"Koweti"}
        KY{"Ibirwa bya Keyimani"}
        KZ{"Kazakisitani"}
        LA{"Layosi"}
        LB{"Libani"}
        LC{"Selusiya"}
        LI{"Lishyitenshitayini"}
        LK{"Sirilanka"}
        LR{"Liberiya"}
        LS{"Lesoto"}
        LT{"Lituwaniya"}
        LU{"Lukusamburu"}
        LV{"Lativa"}
        LY{"Libiya"}
        MA{"Maroke"}
        MC{"Monako"}
        MD{"Moludavi"}
        MG{"Madagasikari"}
        MH{"Izinga rya Marishari"}
        MK{"Masedoniya"}
        ML{"Mali"}
        MM{"Birimaniya"}
        MN{"Mongoliya"}
        MP{"Amazinga ya Mariyana ryo mu majaruguru"}
        MQ{"Maritiniki"}
        MR{"Moritaniya"}
        MS{"Monteserati"}
        MT{"Malita"}
        MU{"Izinga rya Morise"}
        MV{"Moludave"}
        MW{"Malawi"}
        MX{"Migizike"}
        MY{"Maleziya"}
        MZ{"Mozambiki"}
        NA{"Namibiya"}
        NC{"Niyukaledoniya"}
        NE{"Nijeri"}
        NF{"izinga rya Norufoluke"}
        NG{"Nijeriya"}
        NI{"Nikaragwa"}
        NL{"Ubuholandi"}
        NO{"Noruveji"}
        NP{"Nepali"}
        NR{"Nawuru"}
        NU{"Niyuwe"}
        NZ{"Nuvelizelandi"}
        OM{"Omani"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Polineziya y'Abafaransa"}
        PG{"Papuwa Niyugineya"}
        PH{"Amazinga ya Filipine"}
        PK{"Pakisitani"}
        PL{"Polonye"}
        PM{"Sempiyeri na Mikeloni"}
        PN{"Pitikeyirini"}
        PR{"Puwetoriko"}
        PS{"Palesitina Wesitibanka na Gaza"}
        PT{"Porutugali"}
        PW{"Palawu"}
        PY{"Paragwe"}
        QA{"Katari"}
        RE{"Amazinga ya Reyiniyo"}
        RO{"Rumaniya"}
        RU{"Uburusiya"}
        RW{"u Rwanda"}
        SA{"Arabiya Sawudite"}
        SB{"Amazinga ya Salumoni"}
        SC{"Amazinga ya Seyisheli"}
        SD{"Sudani"}
        SE{"Suwedi"}
        SG{"Singapuru"}
        SH{"Sehelene"}
        SI{"Siloveniya"}
        SK{"Silovakiya"}
        SL{"Siyeralewone"}
        SM{"Sanimarino"}
        SN{"Senegali"}
        SO{"Somaliya"}
        SR{"Suriname"}
        ST{"Sawotome na Perensipe"}
        SV{"Eli Saluvatori"}
        SY{"Siriya"}
        SZ{"Suwazilandi"}
        TC{"Amazinga ya Turkisi na Cayikosi"}
        TD{"Cadi"}
        TG{"Togo"}
        TH{"Tayilandi"}
        TJ{"Tajikisitani"}
        TK{"Tokelawu"}
        TL{"Timoru y'iburasirazuba"}
        TM{"Turukumenisitani"}
        TN{"Tuniziya"}
        TO{"Tonga"}
        TR{"Turukiya"}
        TT{"Tirinidadi na Tobago"}
        TV{"Tuvalu"}
        TW{"Tayiwani"}
        TZ{"Tanzaniya"}
        UA{"Ikerene"}
        UG{"Ubugande"}
        US{"Leta Zunze Ubumwe za Amerika"}
        UY{"Irigwe"}
        UZ{"Uzubekisitani"}
        VA{"Umurwa wa Vatikani"}
        VC{"Sevensa na Gerenadine"}
        VE{"Venezuwela"}
        VG{"Ibirwa by'isugi by'Abongereza"}
        VI{"Amazinga y'Isugi y'Abanyamerika"}
        VN{"Viyetinamu"}
        VU{"Vanuwatu"}
        WF{"Walisi na Futuna"}
        WS{"Samowa"}
        YE{"Yemeni"}
        YT{"Mayote"}
        ZA{"Afurika y'Epfo"}
        ZM{"Zambiya"}
        ZW{"Zimbabwe"}
    }
    Version{"2.0.82.45"}
}
