﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/sbp.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/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"}
        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.92.87"}
}
