﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/sbp.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/sbp.xml
 */
sbp{
    Countries{
        AD{"Andola"}
        AE{"Wutwa wa shiyalabu"}
        AF{"Afuganisitani"}
        AG{"Anitiguya ni Balubuda"}
        AI{"Anguilla"}
        AL{"Alubaniya"}
        AM{"Alimeniya"}
        AN{"Anitili sa Uholansi"}
        AO{"Angola"}
        AR{"Ajentina"}
        AS{"Samoya ya Malekani"}
        AT{"Awusitiliya"}
        AU{"Awusitilaliya"}
        AW{"Aluba"}
        AZ{"Asabajani"}
        BA{"Bosiniya ni Hesegovina"}
        BB{"Babadosi"}
        BD{"Bangiladeshi"}
        BE{"Ubeligiji"}
        BF{"Bukinafaso"}
        BG{"Buligaliya"}
        BH{"Bahaleni"}
        BI{"Bulundi"}
        BJ{"Benini"}
        BM{"Belimuda"}
        BN{"Buluneyi"}
        BO{"Boliviya"}
        BR{"Bulasili"}
        BS{"Bahama"}
        BT{"Butani"}
        BW{"Botiswana"}
        BY{"Belalusi"}
        BZ{"Belise"}
        CA{"Kanada"}
        CD{"Jamuhuli ya Kidemokilasiya ya Kongo"}
        CF{"Jamuhuli ya Afilika ya Pakhati"}
        CG{"Kongo"}
        CH{"Uswisi"}
        CI{"Kodivaya"}
        CK{"Figunguli fya Kooki"}
        CL{"Shile"}
        CM{"Kameruni"}
        CN{"Shina"}
        CO{"Kolombiya"}
        CR{"Kositalika"}
        CS{"Selibiya ni Montenegilo"}
        CU{"Kuba"}
        CV{"Kepuvede"}
        CY{"Kupilosi"}
        CZ{"Jamuhuli ya Sheki"}
        DE{"Wujelumani"}
        DJ{"Jibuti"}
        DK{"Denimaki"}
        DM{"Dominika"}
        DO{"Jamuhuli ya Dominika"}
        DZ{"Alijeliya"}
        EC{"Ekwado"}
        EE{"Esitoniya"}
        EG{"Misili"}
        ER{"Elitileya"}
        ES{"Hisipaniya"}
        ET{"Uhabeshi"}
        FI{"Wufini"}
        FJ{"Fiji"}
        FK{"Figunguli fya Fokolendi"}
        FM{"Mikilonesiya"}
        FR{"Wufalansa"}
        GA{"Gaboni"}
        GB{"Uwingelesa"}
        GD{"Gilenada"}
        GE{"Jojiya"}
        GF{"Gwiyana ya Wufalansa"}
        GH{"Khana"}
        GI{"Jibulalita"}
        GL{"Gilinilandi"}
        GM{"Gambiya"}
        GN{"Gine"}
        GP{"Gwadelupe"}
        GQ{"Ginekweta"}
        GR{"Wugiliki"}
        GT{"Gwatemala"}
        GU{"Gwamu"}
        GW{"Ginebisawu"}
        GY{"Guyana"}
        HN{"Hondulasi"}
        HR{"Kolasiya"}
        HT{"Hayiti"}
        HU{"Hungaliya"}
        ID{"Indonesiya"}
        IE{"Ayalandi"}
        IL{"Isilaeli"}
        IN{"Indiya"}
        IO{"Uluvala lwa Uwingelesa ku Bahali ya Hindi"}
        IQ{"Ilaki"}
        IR{"Uwajemi"}
        IS{"Ayisilendi"}
        IT{"Italiya"}
        JM{"Jamaika"}
        JO{"Yolodani"}
        JP{"Japani"}
        KE{"Kenya"}
        KG{"Kiligisisitani"}
        KH{"Kambodiya"}
        KI{"Kilibati"}
        KM{"Komolo"}
        KN{"Santakitisi ni Nevisi"}
        KP{"Koleya ya luvala lwa Kunyamande"}
        KR{"Koleya ya Kusini"}
        KW{"Kuwaiti"}
        KY{"Figunguli ifya Kayimayi"}
        KZ{"Kasakisitani"}
        LA{"Layosi"}
        LB{"Lebanoni"}
        LC{"Santalusiya"}
        LI{"Lisheniteni"}
        LK{"Sililanka"}
        LR{"Libeliya"}
        LS{"Lesoto"}
        LT{"Litwaniya"}
        LU{"Lasembagi"}
        LV{"Lativiya"}
        LY{"Libiya"}
        MA{"Moloko"}
        MC{"Monako"}
        MD{"Molidova"}
        MG{"Bukini"}
        MH{"Figunguli ifya Malishali"}
        MK{"Masedoniya"}
        ML{"Mali"}
        MM{"Muyama"}
        MN{"Mongoliya"}
        MP{"Figunguli fya Maliyana ifya luvala lwa Kunyamande"}
        MQ{"Malitiniki"}
        MR{"Molitaniya"}
        MS{"Monitiselati"}
        MT{"Malita"}
        MU{"Molisi"}
        MV{"Modivu"}
        MW{"Malawi"}
        MX{"Mekisiko"}
        MY{"Malesiya"}
        MZ{"Musumbiji"}
        NA{"Namibiya"}
        NC{"Nyukaledoniya"}
        NE{"Nijeli"}
        NF{"Shigunguli sha Nolifoki"}
        NG{"Nijeliya"}
        NI{"Nikalagwa"}
        NL{"Wuholansi"}
        NO{"Nolwe"}
        NP{"Nepali"}
        NR{"Nawulu"}
        NU{"Niwue"}
        NZ{"Nyusilendi"}
        OM{"Omani"}
        PA{"Panama"}
        PE{"Pelu"}
        PF{"Polinesiya ya Wufalansa"}
        PG{"Papuwa"}
        PH{"Filipino"}
        PK{"Pakisitani"}
        PL{"Polandi"}
        PM{"Santapieli ni Mikeloni"}
        PN{"Pitikailini"}
        PR{"Pwetoliko"}
        PS{"Munjema gwa Kusikha nu Luvala lwa Gasa lwa Palesit"}
        PT{"Wuleno"}
        PW{"Palawu"}
        PY{"Palagwayi"}
        QA{"Katali"}
        RE{"Liyunioni"}
        RO{"Lomaniya"}
        RU{"Wulusi"}
        RW{"Lwanda"}
        SA{"Sawudi"}
        SB{"Figunguli fya Solomoni"}
        SC{"Shelisheli"}
        SD{"Sudani"}
        SE{"Uswidi"}
        SG{"Singapoo"}
        SH{"Santahelena"}
        SI{"Siloveniya"}
        SK{"Silovakiya"}
        SL{"Siela Liyoni"}
        SM{"Samalino"}
        SN{"Senegali"}
        SO{"Somaliya"}
        SR{"Sulinamu"}
        ST{"Sayo Tome ni Pilinikipe"}
        SV{"Elisavado"}
        SY{"Siliya"}
        SZ{"Uswasi"}
        TC{"Figunguli fya Tuliki ni Kaiko"}
        TD{"Shadi"}
        TG{"Togo"}
        TH{"Tailandi"}
        TJ{"Tajikisitani"}
        TK{"Tokelawu"}
        TL{"Timoli ya kunena"}
        TM{"Tulukimenisitani"}
        TN{"Tunisiya"}
        TO{"Tonga"}
        TR{"Utuluki"}
        TT{"Tilinidadi ni Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwani"}
        TZ{"Tansaniya"}
        UA{"Yukileini"}
        UG{"Uganda"}
        US{"Malekani"}
        UY{"Ulugwayi"}
        UZ{"Usibekisitani"}
        VA{"Vatikani"}
        VC{"Santavisenti na Gilenadini"}
        VE{"Venesuela"}
        VG{"Figunguli ifya Viliginiya ifya Uwingelesa"}
        VI{"Figunguli fya Viliginiya ifya Malekani"}
        VN{"Vietinamu"}
        VU{"Vanuatu"}
        WF{"Walisi ni Futuna"}
        WS{"Samoya"}
        YE{"Yemeni"}
        YT{"Mayote"}
        ZA{"Afilika Kusini"}
        ZM{"Sambiya"}
        ZW{"Simbabwe"}
    }
    Version{"2.0.57.99"}
}
