﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * 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"}
        CS{"Seribiya na Montenegoro"}
        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.65.46"}
}
