﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/sw.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/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{"Australasia"}
        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{"Afghanistan"}
        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{"Benin"}
        BL{"Santabathelemi"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BQ{"Uholanzi ya Karibiani"}
        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 - Brazzaville"}
        CH{"Uswisi"}
        CI{"Côte d’Ivoire"}
        CK{"Visiwa vya Cook"}
        CL{"Chile"}
        CM{"Kameruni"}
        CN{"China"}
        CO{"Kolombia"}
        CP{"Kisiwa cha Clipperton"}
        CR{"Kostarika"}
        CU{"Kuba"}
        CV{"Kepuvede"}
        CW{"Kurakao"}
        CX{"Kisiwa cha Krismasi"}
        CY{"Saiprasi"}
        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{"Iran"}
        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{"Liechtenstein"}
        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{"Madagaska"}
        MH{"Visiwa vya Marshal"}
        MK{"Masedonia"}
        ML{"Mali"}
        MM{"Myanmar (Burma)"}
        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 Norfolk"}
        NG{"Nigeria"}
        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{"Maeneo ya 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"}
        SS{"Sudani Kusini"}
        ST{"São Tomé na Príncipe"}
        SV{"Elsavado"}
        SX{"Santamatini"}
        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{"Timor 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"}
        XK{"Kosovo"}
        YE{"Yemeni"}
        YT{"Mayotte"}
        ZA{"Afrika Kusini"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Eneo lisilojulikana"}
    }
    Countries%variant{
        CG{"Jamhuri ya Kongo"}
        CI{"Ivory Coast"}
        FK{"Visiwa vya Falkland (Islas Malvinas)"}
        MK{"Masedonia (FYROM)"}
    }
    CountriesShort{
        GB{"Uingereza"}
        HK{"Hong Kong"}
        MO{"Macau"}
        PS{"Palestina"}
        US{"US"}
    }
    Version{"2.1.8.9"}
}
