﻿// ***************************************************************************
// *
// * 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/lg.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/lg.xml
 */
lg{
    Countries{
        AD{"Andora"}
        AE{"Emireeti"}
        AF{"Afaganisitani"}
        AG{"Antigwa ne Barabuda"}
        AI{"Angwila"}
        AL{"Alibaniya"}
        AM{"Arameniya"}
        AN{"Bizinga bya Antile eby'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{"Lipubulika eya Senturafiriki"}
        CG{"Kongo"}
        CH{"Switizirandi"}
        CI{"Kote Divwa"}
        CK{"Bizinga bya Kkuki"}
        CL{"Cile"}
        CM{"Kameruuni"}
        CN{"Cayina"}
        CO{"Kolombya"}
        CR{"Kosita Rika"}
        CS{"Seribya ne Monteneguro"}
        CU{"Cuba"}
        CV{"Bizinga by'e Kepu Veredi"}
        CY{"Sipuriya"}
        CZ{"Lipubulika ya Ceeka"}
        DE{"Budaaki"}
        DJ{"Jjibuti"}
        DK{"Denimaaka"}
        DM{"Dominika"}
        DO{"Lipubulika ya Dominika"}
        DZ{"Aligerya"}
        EC{"Ekwado"}
        EE{"Esitoniya"}
        EG{"Misiri"}
        ER{"Eritureya"}
        ES{"Sipeyini"}
        ET{"Esyopya"}
        FI{"Finilandi"}
        FJ{"Fiji"}
        FK{"Bizinga by'eFalikalandi"}
        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 ey'oku ekweta"}
        GR{"Bugereeki/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{"Bizinga by'eCago"}
        IQ{"Yiraaka"}
        IR{"Yiraani"}
        IS{"Ayisirandi"}
        IT{"Yitale"}
        JM{"Jamayika"}
        JO{"Yorodani"}
        JP{"Japani"}
        KE{"Kenya"}
        KG{"Kirigizisitaani"}
        KH{"Kambodya"}
        KI{"Kiribati"}
        KM{"Bizinga by'eKomoro"}
        KN{"Senti Kitisi ne Nevisi"}
        KP{"Koreya ey'omumambuka"}
        KR{"Koreya ey'omumaserengeta"}
        KW{"Kuweti"}
        KY{"Bizinga ebya 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 eby'omumambuka"}
        MQ{"Maritiniiki"}
        MR{"Mawulitenya"}
        MS{"Monteseraati"}
        MT{"Malita"}
        MU{"Mawulisyasi"}
        MV{"Bizinga by'eMalidive"}
        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{"Bizinga bya Firipino"}
        PK{"Pakisitaani"}
        PL{"Polandi"}
        PM{"Senti Piyere ne Mikeloni"}
        PN{"Pitikeeni"}
        PR{"Potoriko"}
        PS{"Palesitayini"}
        PT{"Potugaali"}
        PW{"Palawu"}
        PY{"Paragwayi"}
        QA{"Kataa"}
        RE{"Leyunyoni"}
        RO{"Lomaniya"}
        RU{"Lasa"}
        RW{"Rwanda"}
        SA{"Sawudarebya - Buwarabu"}
        SB{"Bizanga by'eSolomooni"}
        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 ne Purincipe"}
        SV{"El salivado"}
        SY{"Siriya"}
        SZ{"Swazirandi"}
        TC{"Bizinga by'eTaaka ne Kayikosi"}
        TD{"Caadi"}
        TG{"Togo"}
        TH{"Tayirandi"}
        TJ{"Tajikisitaani"}
        TK{"Tokelawu"}
        TL{"Timowa"}
        TM{"Takimenesitaani"}
        TN{"Tunisya"}
        TO{"Tonga"}
        TR{"Ttake"}
        TT{"Turindaadi ne Tobago"}
        TV{"Tuvalu"}
        TW{"Tayiwani"}
        TZ{"Tanzaniya"}
        UA{"Yukurayine"}
        UG{"Yuganda"}
        US{"Amerika"}
        UY{"Wurugwayi"}
        UZ{"Wuzibekisitaani"}
        VA{"Vatikaani"}
        VC{"Senti Vinsenti ne Gurendadiini"}
        VE{"Venzwera"}
        VG{"Bizinga ebya Virigini ebitwalibwa Bungereza"}
        VI{"Bizinga bya Virigini eby'Amerika"}
        VN{"Vyetinaamu"}
        VU{"Vanawuwatu"}
        WF{"Walisi ne Futuna"}
        WS{"Samowa"}
        YE{"Yemeni"}
        YT{"Mayotte"}
        ZA{"Sawusafirika"}
        ZM{"Zambya"}
        ZW{"Zimbabwe"}
    }
    Version{"2.0.65.46"}
}
