﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/xog.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/xog.xml
 */
xog{
    Countries{
        AD{"Andora"}
        AE{"Emireeti"}
        AF{"Afaganisitani"}
        AG{"Antigwa ni Barabuda"}
        AI{"Angwila"}
        AL{"Alibaniya"}
        AM{"Arameniya"}
        AN{"Ebizinga bya Antile by'abaHolandi"}
        AO{"Angola"}
        AR{"Arigentina"}
        AS{"Samowa omumerika"}
        AT{"Awusituriya"}
        AU{"Awusitureliya"}
        AW{"Aruba"}
        AZ{"Azerebayijaani"}
        BA{"Boziniya Hezegovina"}
        BB{"Barabadosi"}
        BD{"Bangaladesi"}
        BE{"Bubirigi"}
        BF{"Burukina Faso"}
        BG{"Bulugariya"}
        BH{"Baareeni"}
        BI{"Burundi"}
        BJ{"Benini"}
        BM{"Beremuda"}
        BN{"Burunayi"}
        BO{"Boliviya"}
        BR{"Buraziiri"}
        BS{"Bahamasi"}
        BT{"Butaani"}
        BW{"Botiswana"}
        BY{"Belarusi"}
        BZ{"Belize"}
        CA{"Kanada"}
        CD{"Kongo - Zayire"}
        CF{"Lipabulika ya Senturafiriki"}
        CG{"Kongo"}
        CH{"Switizirandi"}
        CI{"Kote Divwa"}
        CK{"Ebizinga bya Kkuki"}
        CL{"Cile"}
        CM{"Kameruuni"}
        CN{"Cayina"}
        CO{"Kolombya"}
        CR{"Kosita Rika"}
        CU{"Cuba"}
        CV{"Ebizinga bya Kepu Veredi"}
        CY{"Sipuriya"}
        CZ{"Lipabulika ya Ceeka"}
        DE{"Budaaki"}
        DJ{"Jjibuti"}
        DK{"Denimaaka"}
        DM{"Dominika"}
        DO{"Lipabulika ya Dominika"}
        DZ{"Aligerya"}
        EC{"Ekwado"}
        EE{"Esitoniya"}
        EG{"Misiri"}
        ER{"Eritureya"}
        ES{"Sipeyini"}
        ET{"Esyopya"}
        FI{"Finilandi"}
        FJ{"Fiji"}
        FK{"Ebiizinga bya Falikalandi"}
        FM{"Mikuronezya"}
        FR{"Bufalansa"}
        GA{"Gaboni"}
        GB{"Bungereza"}
        GD{"Gurenada"}
        GE{"Gyogya"}
        GF{"Guyana enfalansa"}
        GH{"Gana"}
        GI{"Giburalita"}
        GL{"Gurenelandi"}
        GM{"Gambya"}
        GN{"Gini"}
        GP{"Gwadalupe"}
        GQ{"Gayana yaku ekweta"}
        GR{"Buyonaani"}
        GT{"Gwatemala"}
        GU{"Gwamu"}
        GW{"Gini-Bisawu"}
        GY{"Gayana"}
        HN{"Hundurasi"}
        HR{"Kurowesya"}
        HT{"Hayiti"}
        HU{"Hangare"}
        ID{"Yindonezya"}
        IE{"Ayalandi"}
        IL{"Yisirayeri"}
        IN{"Buyindi"}
        IO{"Ebizinga bya Cago"}
        IQ{"Yiraaka"}
        IR{"Yiraani"}
        IS{"Ayisirandi"}
        IT{"Yitale"}
        JM{"Jamayika"}
        JO{"Yorodani"}
        JP{"Japani"}
        KE{"Kenya"}
        KG{"Kirigizisitaani"}
        KH{"Kambodya"}
        KI{"Kiribati"}
        KM{"Ebizinga bya Komoro"}
        KN{"Senti Kitisi ne Nevisi"}
        KP{"Koreya eya mumambuka"}
        KR{"Koreya eya mumaserengeta"}
        KW{"Kuweti"}
        KY{"Ebizinga bya Kayimaani"}
        KZ{"Kazakisitaani"}
        LA{"Lawosi"}
        LB{"Lebanoni"}
        LC{"Senti Luciya"}
        LI{"Licitensitayini"}
        LK{"Sirilanka"}
        LR{"Liberya"}
        LS{"Lesoso"}
        LT{"Lisuwenya"}
        LU{"Lukisembaaga"}
        LV{"Lativya"}
        LY{"Libya"}
        MA{"Moroko"}
        MC{"Monako"}
        MD{"Molodova"}
        MG{"Madagasika"}
        MH{"Bizinga bya Mariso"}
        MK{"Masedoniya"}
        ML{"Mali"}
        MM{"Myanima"}
        MN{"Mongoliya"}
        MP{"Bizinga bya Mariyana ebyamumambuka"}
        MQ{"Maritiniiki"}
        MR{"Mawulitenya"}
        MS{"Monteseraati"}
        MT{"Malita"}
        MU{"Mawulisyasi"}
        MV{"Ebizinga bya Malidive"}
        MW{"Malawi"}
        MX{"Mekisiko"}
        MY{"Malezya"}
        MZ{"Mozambiiki"}
        NA{"Namibiya"}
        NC{"Kaledonya mupya"}
        NE{"Nije"}
        NF{"Kizinga ky'eNorofoko"}
        NG{"Nayijerya"}
        NI{"Nikaraguwa"}
        NL{"Holandi"}
        NO{"Nowe"}
        NP{"Nepalo"}
        NR{"Nawuru"}
        NU{"Niyuwe"}
        NZ{"Niyuziirandi"}
        OM{"Omaani"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Polinesiya enfalansa"}
        PG{"Papwa Nyugini"}
        PH{"Ebizinga bya Firipino"}
        PK{"Pakisitaani"}
        PL{"Polandi"}
        PM{"Senti Piyere ni Mikeloni"}
        PN{"Pitikeeni"}
        PR{"Potoriko"}
        PS{"Palesitayini ni Gaza"}
        PT{"Potugaali"}
        PW{"Palawu"}
        PY{"Paragwayi"}
        QA{"Kataa"}
        RE{"Leyunyoni"}
        RO{"Lomaniya"}
        RU{"Lasa"}
        RW{"Rwanda"}
        SA{"Sawudarebya"}
        SB{"Ebizanga bya Solomooni"}
        SC{"Sesere"}
        SD{"Sudaani"}
        SE{"Swideni"}
        SG{"Singapowa"}
        SH{"Senti Herena"}
        SI{"Sirovenya"}
        SK{"Sirovakya"}
        SL{"Siyeralewone"}
        SM{"Sanimarino"}
        SN{"Senegaalo"}
        SO{"Somaliya"}
        SR{"Surinaamu"}
        ST{"Sanitome ni Purincipe"}
        SV{"El salivado"}
        SY{"Siriya"}
        SZ{"Swazirandi"}
        TC{"Ebizinga bya Taaka ni Kayikosi"}
        TD{"Caadi"}
        TG{"Togo"}
        TH{"Tayirandi"}
        TJ{"Tajikisitaani"}
        TK{"Tokelawu"}
        TL{"Timowa"}
        TM{"Takimenesitaani"}
        TN{"Tunisya"}
        TO{"Tonga"}
        TR{"Ttake"}
        TT{"Turindaadi ni Tobago"}
        TV{"Tuvalu"}
        TW{"Tayiwani"}
        UA{"Yukurayine"}
        UG{"Yuganda"}
        US{"Amerika"}
        UY{"Wurugwayi"}
        UZ{"Wuzibekisitaani"}
        VA{"Vatikaani"}
        VC{"Senti Vinsenti ni Gurendadiini"}
        VE{"Venzwera"}
        VG{"Ebizinga bya Virigini ebitwalibwa Bungereza"}
        VI{"Ebizinga bya Virigini eby'Amerika"}
        VN{"Vyetinaamu"}
        VU{"Vanawuwatu"}
        WF{"Walisi ni Futuna"}
        WS{"Samowa"}
        YE{"Yemeni"}
        YT{"Mayotte"}
        ZA{"Sawusafirika"}
        ZM{"Zambya"}
        ZW{"Zimbabwe"}
    }
    Version{"2.0.77.46"}
}
