﻿// ***************************************************************************
// *
// * Copyright (C) 2010 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * 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"}
        CS{"Seribya ni Monteneguro"}
        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.47.53"}
}
