﻿// ***************************************************************************
// *
// * 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/sw.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/sw.xml
 */
sw{
    Countries{
        001{"Dunia"}
        002{"Afrika"}
        003{"Amerika Kaskazini"}
        005{"Amerika Kusini"}
        009{"Oceania"}
        011{"Afrika ya Magharibi"}
        013{"Amerika ya Kati"}
        014{"Afrika ya Mashariki"}
        015{"Afrika ya Kaskazini"}
        017{"Afrika ya Kati"}
        018{"Afrika ya Kusini"}
        019{"Amerika"}
        021{"Amerika ya Kaskazini"}
        029{"Karibi"}
        030{"Asia Mashariki"}
        034{"Asia ya Kusini"}
        035{"Asia ya Kusini Mashariki"}
        039{"Ulaya ya Kusini"}
        053{"Australia na New Zealand"}
        054{"Melanesia"}
        057{"Eneo la Mikronesia"}
        061{"Polynesia"}
        142{"Asia"}
        143{"Asia ya Kati"}
        145{"Asia ya Magharibi"}
        150{"Ulaya"}
        151{"Ulaya ya Mashariki"}
        154{"Ulaya ya Kaskazini"}
        155{"Ulaya ya Magharibi"}
        419{"Amerika ya Kilatini"}
        AC{"Kisiwa cha Ascension"}
        AD{"Andora"}
        AE{"Falme za Kiarabu"}
        AF{"Afuganistani"}
        AG{"Antigua na Barbuda"}
        AI{"Anguilla"}
        AL{"Albania"}
        AM{"Armenia"}
        AN{"Antili za Uholanzi"}
        AO{"Angola"}
        AQ{"Antaktika"}
        AR{"Ajentina"}
        AS{"Samoa ya Marekani"}
        AT{"Austria"}
        AU{"Australia"}
        AW{"Aruba"}
        AX{"Visiwa vya Alandi"}
        AZ{"Azabajani"}
        BA{"Bosnia na Hezegovina"}
        BB{"Babadosi"}
        BD{"Bangladeshi"}
        BE{"Ubelgiji"}
        BF{"Bukinafaso"}
        BG{"Bulgaria"}
        BH{"Bahareni"}
        BI{"Burundi"}
        BJ{"Benini"}
        BL{"Saint Barthélemy"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BR{"Brazili"}
        BS{"Bahama"}
        BT{"Butani"}
        BV{"Kisiwa cha Bouvet"}
        BW{"Botswana"}
        BY{"Belarusi"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Visiwa vya Cocos [Keeling]"}
        CD{"Jamhuri ya Kidemokrasia ya Kongo"}
        CF{"Jamhuri ya Afrika ya Kati"}
        CG{"Kongo"}
        CH{"Uswisi"}
        CI{"Kodivaa"}
        CK{"Visiwa vya Cook"}
        CL{"Chile"}
        CM{"Kameruni"}
        CN{"China"}
        CO{"Kolombia"}
        CP{"Kisiwa cha Clipperton"}
        CR{"Kostarika"}
        CS{"Serbia na Montenegro"}
        CU{"Kuba"}
        CV{"Kepuvede"}
        CX{"Kisiwa cha Krismasi"}
        CY{"Kuprosi"}
        CZ{"Jamhuri ya Cheki"}
        DE{"Ujerumani"}
        DG{"Diego Garcia"}
        DJ{"Jibuti"}
        DK{"Denmaki"}
        DM{"Dominika"}
        DO{"Jamhuri ya Dominika"}
        DZ{"Aljeria"}
        EA{"Ceuta na Melilla"}
        EC{"Ekwado"}
        EE{"Estonia"}
        EG{"Misri"}
        EH{"Sahara Magharibi"}
        ER{"Eritrea"}
        ES{"Hispania"}
        ET{"Uhabeshi"}
        EU{"Umoja wa Ulaya"}
        FI{"Ufini"}
        FJ{"Fiji"}
        FK{"Visiwa vya Falkland"}
        FM{"Mikronesia"}
        FO{"Visiwa vya Faroe"}
        FR{"Ufaransa"}
        GA{"Gaboni"}
        GB{"Uingereza"}
        GD{"Grenada"}
        GE{"Jojia"}
        GF{"Gwiyana ya Ufaransa"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Jibralta"}
        GL{"Grinlandi"}
        GM{"Gambia"}
        GN{"Gine"}
        GP{"Gwadelupe"}
        GQ{"Ginekweta"}
        GR{"Ugiriki"}
        GS{"Jojia Kusini na Visiwa vya Sandwich Kusini"}
        GT{"Gwatemala"}
        GU{"Gwam"}
        GW{"Ginebisau"}
        GY{"Guyana"}
        HK{"Hong Kong SAR China"}
        HM{"Kisiwa cha Heard na Visiwa vya McDonald"}
        HN{"Hondurasi"}
        HR{"Korasia"}
        HT{"Haiti"}
        HU{"Hungaria"}
        IC{"Visiwa vya Kanari"}
        ID{"Indonesia"}
        IE{"Ayalandi"}
        IL{"Israeli"}
        IM{"Isle of Man"}
        IN{"India"}
        IO{"Eneo la Uingereza katika Bahari Hindi"}
        IQ{"Iraki"}
        IR{"Uajemi"}
        IS{"Aislandi"}
        IT{"Italia"}
        JE{"Jersey"}
        JM{"Jamaika"}
        JO{"Yordani"}
        JP{"Japani"}
        KE{"Kenya"}
        KG{"Kirigizistani"}
        KH{"Kambodia"}
        KI{"Kiribati"}
        KM{"Komoro"}
        KN{"Santakitzi na Nevis"}
        KP{"Korea Kaskazini"}
        KR{"Korea Kusini"}
        KW{"Kuwaiti"}
        KY{"Visiwa vya Kayman"}
        KZ{"Kazakistani"}
        LA{"Laosi"}
        LB{"Lebanoni"}
        LC{"Santalusia"}
        LI{"Lishenteni"}
        LK{"Sirilanka"}
        LR{"Liberia"}
        LS{"Lesoto"}
        LT{"Litwania"}
        LU{"Lasembagi"}
        LV{"Lativia"}
        LY{"Libya"}
        MA{"Moroko"}
        MC{"Monako"}
        MD{"Moldova"}
        ME{"Montenegro"}
        MF{"Saint Martin"}
        MG{"Bukini"}
        MH{"Visiwa vya Marshal"}
        MK{"Masedonia"}
        ML{"Mali"}
        MM{"Myama"}
        MN{"Mongolia"}
        MO{"Macau SAR China"}
        MP{"Visiwa vya Mariana vya Kaskazini"}
        MQ{"Martiniki"}
        MR{"Moritania"}
        MS{"Montserrati"}
        MT{"Malta"}
        MU{"Morisi"}
        MV{"Modivu"}
        MW{"Malawi"}
        MX{"Meksiko"}
        MY{"Malesia"}
        MZ{"Msumbiji"}
        NA{"Namibia"}
        NC{"Nyukaledonia"}
        NE{"Nijeri"}
        NF{"Kisiwa cha Norfok"}
        NG{"Nijeria"}
        NI{"Nikaragwa"}
        NL{"Uholanzi"}
        NO{"Norwe"}
        NP{"Nepali"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nyuzilandi"}
        OM{"Omani"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Polinesia ya Ufaransa"}
        PG{"Papua"}
        PH{"Filipino"}
        PK{"Pakistani"}
        PL{"Polandi"}
        PM{"Santapieri na Mikeloni"}
        PN{"Pitkairni"}
        PR{"Pwetoriko"}
        PS{"Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"}
        PT{"Ureno"}
        PW{"Palau"}
        PY{"Paragwai"}
        QA{"Katari"}
        QO{"Oceania ya Nje"}
        RE{"Riyunioni"}
        RO{"Romania"}
        RS{"Serbia"}
        RU{"Urusi"}
        RW{"Rwanda"}
        SA{"Saudi"}
        SB{"Visiwa vya Solomon"}
        SC{"Shelisheli"}
        SD{"Sudani"}
        SE{"Uswidi"}
        SG{"Singapoo"}
        SH{"Santahelena"}
        SI{"Slovenia"}
        SJ{"Svalbard na Jan Mayen"}
        SK{"Slovakia"}
        SL{"Siera Leoni"}
        SM{"Samarino"}
        SN{"Senegali"}
        SO{"Somalia"}
        SR{"Surinamu"}
        ST{"Sao Tome na Principe"}
        SV{"Elsavado"}
        SY{"Siria"}
        SZ{"Uswazi"}
        TA{"Tristan da Cunha"}
        TC{"Visiwa vya Turki na Kaiko"}
        TD{"Chadi"}
        TF{"Maeneo ya Kusini ya Ufaransa"}
        TG{"Togo"}
        TH{"Tailandi"}
        TJ{"Tajikistani"}
        TK{"Tokelau"}
        TL{"Timori ya Mashariki"}
        TM{"Turukimenistani"}
        TN{"Tunisia"}
        TO{"Tonga"}
        TR{"Uturuki"}
        TT{"Trinidad na Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwani"}
        TZ{"Tanzania"}
        UA{"Ukraini"}
        UG{"Uganda"}
        UM{"Visiwa Vidogo vya Nje vya Marekani"}
        US{"Marekani"}
        UY{"Urugwai"}
        UZ{"Uzibekistani"}
        VA{"Vatikani"}
        VC{"Santavisenti na Grenadini"}
        VE{"Venezuela"}
        VG{"Visiwa vya Virgin vya Uingereza"}
        VI{"Visiwa vya Virgin vya Marekani"}
        VN{"Vietinamu"}
        VU{"Vanuatu"}
        WF{"Walis na Futuna"}
        WS{"Samoa"}
        YE{"Yemeni"}
        YT{"Mayotte"}
        ZA{"Afrika Kusini"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Eneo lisilojulikana"}
    }
    Version{"2.0.59.53"}
}
