﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/sw.xml
// *
// ***************************************************************************
sw{
    Keys{
        calendar{"Kalenda"}
        colAlternate{"Puuza Upangaji Alama"}
        colBackwards{"Upangaji Uliogeuzwa wa Kiinitoni"}
        colCaseFirst{"Upangaji wa Herufi kubwa/Herufi ndogo"}
        colCaseLevel{"Upangaji Unaoathiriwa na Herufi"}
        colHiraganaQuaternary{"Upangaji wa Kana"}
        colNormalization{"Upangaji wa Kawaida"}
        colNumeric{"Upangaji wa Namba"}
        colStrength{"Nguvu ya Upangaji"}
        collation{"Mpangilio"}
        currency{"Sarafu"}
        hc{"hc"}
        lb{"lb"}
        ms{"ms"}
        numbers{"Nambari"}
        timezone{"Ukanda Saa"}
        va{"Tofauti ya Mandhari"}
        variableTop{"Panga Kama Alama"}
        x{"Matumizi ya Kibinafsi"}
    }
    Languages{
        ab{"Kiabkhazi"}
        ach{"Kiakoli"}
        af{"Kiafrikana"}
        agq{"Kiaghem"}
        ak{"Kiakani"}
        am{"Kiamhari"}
        ar{"Kiarabu"}
        ar_001{"Kiarabu Sanifu cha Kisasa"}
        arn{"Kimapuche"}
        arq{"Kiarabu cha Kialjeria"}
        arz{"Kiarabu cha Misri"}
        as{"Kiassam"}
        asa{"Kiasu"}
        ay{"Kiaimara"}
        az{"Kiazabajani"}
        ba{"Kibashkir"}
        be{"Kibelarusi"}
        bem{"Kibemba"}
        bez{"Kibena"}
        bg{"Kibulgaria"}
        bgn{"Kibalochi cha Magharibi"}
        bm{"Kibambara"}
        bn{"Kibengali"}
        bo{"Kitibeti"}
        br{"Kibretoni"}
        brx{"Kibodo"}
        bs{"Kibosnia"}
        ca{"Kikatalani"}
        ce{"Kichechenia"}
        cgg{"Kichiga"}
        chr{"Kicherokee"}
        ckb{"Kikurdi cha Sorani"}
        co{"Kikosikani"}
        cs{"Kicheki"}
        cv{"Kichuvash"}
        cy{"Kiwelisi"}
        da{"Kidenmaki"}
        dav{"Kitaita"}
        de{"Kijerumani"}
        dje{"Kizarma"}
        dsb{"Kidolnoserbski"}
        dua{"Kiduala"}
        dv{"Kidivehi"}
        dyo{"Kijola-Fonyi"}
        dz{"Kizongkha"}
        ebu{"Kiembu"}
        ee{"Kiewe"}
        efi{"Kiefiki"}
        el{"Kigiriki"}
        en{"Kiingereza"}
        eo{"Kiesperanto"}
        es{"Kihispania"}
        et{"Kiestonia"}
        eu{"Kibasque"}
        fa{"Kiajemi"}
        fi{"Kifini"}
        fil{"Kifilipino"}
        fj{"Kifiji"}
        fo{"Kifaroe"}
        fr{"Kifaransa"}
        fy{"Kifrisia cha Magharibi"}
        ga{"Kiayalandi"}
        gaa{"Kiga"}
        gag{"Kigagauzi"}
        gd{"Kigaeli cha Uskoti"}
        gl{"Kigalisi"}
        gn{"Kiguarani"}
        grc{"Kiyunani"}
        gsw{"Kijerumani cha Uswisi"}
        gu{"Kigujarati"}
        guz{"Kikisii"}
        gv{"Kimanx"}
        ha{"Kihausa"}
        haw{"Kihawai"}
        he{"Kiebrania"}
        hi{"Kihindi"}
        hit{"Kihiti"}
        hr{"Kroeshia"}
        hsb{"hsb"}
        ht{"Kihaiti"}
        hu{"Kihungari"}
        hy{"Kiarmenia"}
        ia{"Kiintalingua"}
        id{"Kiindonesia"}
        ig{"Kiigbo"}
        ii{"Sichuan Yi"}
        is{"Kiaisilandi"}
        it{"Kiitaliano"}
        iu{"Kiinuktitut"}
        ja{"Kijapani"}
        jgo{"Kingomba"}
        jmc{"Kimachame"}
        jv{"Kijava"}
        ka{"Kijojia"}
        kab{"Kikabylia"}
        kam{"Kikamba"}
        kde{"Kimakonde"}
        kea{"Kikabuverdianu"}
        kfo{"Kikoro"}
        kg{"Kikongo"}
        khq{"Kikoyra Chiini"}
        ki{"Kikikuyu"}
        kk{"Kikazaki"}
        kl{"Kikalaallisut"}
        kln{"Kikalenjin"}
        km{"Kikambodia"}
        kmb{"Kimbundu"}
        kn{"Kikannada"}
        ko{"Kikorea"}
        koi{"Kikomipermyak"}
        kok{"Kikonkani"}
        ks{"Kikashmiri"}
        ksb{"Kisambaa"}
        ksf{"Kibafia"}
        ku{"Kikurdi"}
        kv{"Kikomi"}
        kw{"Kikorni"}
        ky{"Kikirigizi"}
        la{"Kilatini"}
        lag{"Kirangi"}
        lam{"Chilamba"}
        lb{"Kilasembagi"}
        lg{"Kiganda"}
        lkt{"Kilakota"}
        ln{"Kilingala"}
        lo{"Kilaosi"}
        loz{"Kilozi"}
        lrc{"Kiluri cha Kaskazini"}
        lt{"Kilithuania"}
        lu{"Kiluba-Katanga"}
        lua{"Kiluba-Lulua"}
        luo{"Kijaluo"}
        luy{"Kiluhya"}
        lv{"Kilatvia"}
        mag{"Kimagahi"}
        mas{"Kimaasai"}
        mer{"Kimeru"}
        mfe{"Kimoriseni"}
        mg{"Malagasi"}
        mgh{"Kimakhuwa-Meetto"}
        mgo{"Kimeta"}
        mi{"Kimaori"}
        mk{"Kimasedonia"}
        ml{"Kimalayalam"}
        mn{"Kimongolia"}
        moh{"Kimohoki"}
        mr{"Kimarathi"}
        ms{"Kimalesia"}
        mt{"Kimalta"}
        mua{"Kimundang"}
        my{"Kiburma"}
        mzn{"Kimazanderani"}
        naq{"Kinama"}
        nb{"Kibokmal cha Norwe"}
        nd{"Kindebele cha Kaskazini"}
        nds{"nds"}
        ne{"Kinepali"}
        new{"Kinewari"}
        nl{"Kiholanzi"}
        nmg{"Kikwasio"}
        nn{"Kinorwe Kipya"}
        nqo{"N’Ko"}
        nso{"Kisotho cha Kaskazini"}
        nus{"Kinuer"}
        nwc{"Kinewari cha kale"}
        ny{"Kinyanja"}
        nyn{"Kinyankole"}
        oc{"Kiokitani"}
        om{"Kioromo"}
        or{"Kioriya"}
        os{"Kiosetia"}
        pa{"Kipunjabi"}
        pl{"Kipolandi"}
        ps{"Kipashto"}
        pt{"Kireno"}
        qu{"Kiquechua"}
        quc{"Kʼicheʼ"}
        rm{"Kiromanshi"}
        rn{"Kirundi"}
        ro{"Kiromania"}
        rof{"Kirombo"}
        ru{"Kirusi"}
        rw{"Kinyarwanda"}
        rwk{"Kirwo"}
        sa{"Kisanskriti"}
        saq{"Kisamburu"}
        sbp{"Kisangu"}
        sd{"Kisindhi"}
        sdh{"Kikurdi cha Kusini"}
        se{"Kisami cha Kaskazini"}
        seh{"Kisena"}
        ses{"Koyraboro Senni"}
        sg{"Kisango"}
        shi{"Kitachelhit"}
        si{"Kisinhala"}
        sk{"Kislovakia"}
        sl{"Kislovenia"}
        sm{"Kisamoa"}
        sma{"Kisami cha Kusini"}
        smj{"Kisami cha Lule"}
        smn{"Kisami cha Inari"}
        sms{"Kisami cha Skolt"}
        sn{"Kishona"}
        so{"Kisomali"}
        sq{"Kialbania"}
        sr{"Kiserbia"}
        ss{"Kiswati"}
        st{"Kisotho cha Kusini"}
        su{"Kisunda"}
        suk{"Kisukuma"}
        sv{"Kiswidi"}
        sw{"Kiswahili"}
        sw_CD{"Kingwana"}
        ta{"Kitamil"}
        te{"Kitelugu"}
        teo{"Kiteso"}
        tet{"Kitetum"}
        tg{"Kitajiki"}
        th{"Kitailandi"}
        ti{"Kitigrinya"}
        tk{"Kiturukimeni"}
        tlh{"Kiklingoni"}
        tn{"Kitswana"}
        to{"Kitonga"}
        tpi{"Kitokpisin"}
        tr{"Kituruki"}
        ts{"Kitsonga"}
        tt{"Kitatari"}
        tum{"Kitumbuka"}
        twq{"Kitasawaq"}
        ty{"Kitahiti"}
        tzm{"Central Atlas Tamazight"}
        ug{"Kiuyghur"}
        uk{"Kiukrania"}
        und{"Lugha Isiyojulikana"}
        ur{"Kiurdu"}
        uz{"Kiuzbeki"}
        vai{"Kivai"}
        ve{"Kivenda"}
        vi{"Kivietinamu"}
        vun{"Kivunjo"}
        wbp{"Kiwarlpiri"}
        wo{"Kiwolofu"}
        xh{"Kixhosa"}
        xog{"Kisoga"}
        yao{"Kiyao"}
        yi{"Kiyidi"}
        yo{"Kiyoruba"}
        zgh{"Tamaziti Msingi ya Kimoroko"}
        zh{"Kichina"}
        zh_Hans{"Kichina (Kilichorahisishwa)"}
        zh_Hant{"Kichina cha Jadi"}
        zu{"Kizulu"}
        zxx{"Hakuna maudhui ya lugha"}
    }
    Languages%short{
        az{"Kiazeri"}
        en_US{"Kiingereza (US)"}
    }
    Languages%variant{
        ps{"Kipushto"}
    }
    Scripts{
        Arab{"Kiarabu"}
        Armn{"Kiarmenia"}
        Beng{"Kibengali"}
        Bopo{"Kibopomofo"}
        Brai{"Braille"}
        Cyrl{"Kisiriliki"}
        Deva{"Kidevanagari"}
        Ethi{"Kiethiopia"}
        Geor{"Kijojia"}
        Grek{"Kigiriki"}
        Gujr{"Kigujarati"}
        Guru{"Kigurmukhi"}
        Hang{"Kihangul"}
        Hani{"Kihan"}
        Hans{"Rahisi"}
        Hant{"Kihan cha Jadi"}
        Hebr{"Kiebrania"}
        Hira{"Kihiragana"}
        Jpan{"Kijapani"}
        Kana{"Kikatakana"}
        Khmr{"Kikambodia"}
        Knda{"Kikannada"}
        Kore{"Kikorea"}
        Laoo{"Kilaosi"}
        Latn{"Kilatini"}
        Mlym{"Kimalayalam"}
        Mong{"Kimongolia"}
        Mymr{"Myama"}
        Orya{"Kioriya"}
        Sinh{"Kisinhala"}
        Taml{"Kitamil"}
        Telu{"Kitelugu"}
        Thaa{"Kithaana"}
        Thai{"Kitai"}
        Tibt{"Kitibeti"}
        Zsym{"Alama"}
        Zxxx{"Haijaandikwa"}
        Zyyy{"Kawaida"}
        Zzzz{"Hati isiyojulikana"}
    }
    Scripts%stand-alone{
        Hans{"Kihan Rahisi"}
        Hant{"Kihan cha Jadi"}
    }
    Scripts%variant{
        Arab{"Kiajemi/Kiarabu"}
    }
    Types{
        calendar{
            buddhist{"Kalenda ya Kibuddha"}
            chinese{"Kalenda ya Kichina"}
            coptic{"Kalenda ya Koptiki"}
            dangi{"Kalenda ya Dangi"}
            ethiopic{"Kalenda ya Kiethiopia"}
            ethiopic-amete-alem{"Kalenda ya Kiethiopia ya Amete Alem"}
            gregorian{"Kalenda ya Kigregori"}
            hebrew{"Kalenda ya Kiebrania"}
            indian{"Kalenda ya Taifa ya India"}
            islamic{"Kalenda ya Kiislamu"}
            islamic-civil{"Kalenda ya Kiislamu/Rasmi"}
            iso8601{"Kalenda ya ISO-8601"}
            japanese{"Kalenda ya Kijapani"}
            persian{"Kalenda ya Kiajemi"}
            roc{"Kalenda ya Minguo"}
        }
        colAlternate{
            non-ignorable{"Panga Alama"}
            shifted{"Panga Alama za Kupuuza"}
        }
        colBackwards{
            no{"Panga Viinitoni kwa Kawaida"}
            yes{"Panga Viinitoni Kumegeuzwa"}
        }
        colCaseFirst{
            lower{"Panga Herufi ndogo Kwanza"}
            no{"Panga Utaratibu wa Herufi ya Kawaida"}
            upper{"Panga Herufi kubwa Kwanza"}
        }
        colCaseLevel{
            no{"Panga Isiyoathiriwa na Herufi"}
            yes{"Panga kwa Inayoathiriwa na Herufi"}
        }
        colHiraganaQuaternary{
            no{"Panga Kana Kando"}
            yes{"Panga Kana Kitofauti"}
        }
        colNormalization{
            no{"Panga Bila Ukawaida"}
            yes{"Upangaji Msimbosare Umekawaidishwa"}
        }
        colNumeric{
            no{"Panga Tarakimu Kivyake"}
            yes{"Panga Dijiti kwa Namba"}
        }
        colStrength{
            identical{"Panga Zote"}
            primary{"Panga Herufi Msingi Tu"}
            quaternary{"Panga Viinitoni/Herufi/Upana/Kana"}
            secondary{"Panga Viinitoni"}
            tertiary{"Panga Viinitoni/Herufi/Upana"}
        }
        collation{
            big5han{"Mpangilio wa Kichina cha Jadi - Big5"}
            dictionary{"Mpangilio wa Kamusi"}
            ducet{"Mpangilio Chaguo-Msingi wa Unicode"}
            gb2312han{"Mpangilio wa Kichina Rahisi - GB2312"}
            phonebook{"Mpangilio wa Orodha za Nambari za Simu"}
            phonetic{"Utaratibu wa Kupanga Fonetiki"}
            pinyin{"Mpangilio wa Kipinyin"}
            reformed{"Mpangilio Uliorekebishwa"}
            search{"Utafutaji wa Kijumla"}
            searchjl{"Tafuta kwa Konsonanti Halisi ya Hangul"}
            standard{"Mpangilio wa Kawaida"}
            stroke{"Mpangilio wa Mikwaju"}
            traditional{"Mpangilio wa Kawaida"}
            unihan{"Mpangilio wa Mikwaju ya Shina"}
        }
        hc{
            h11{"h11"}
            h12{"h12"}
            h23{"h23"}
            h24{"h24"}
        }
        lb{
            loose{"loose"}
            normal{"normal"}
            strict{"strict"}
        }
        ms{
            metric{"metriki"}
            uksystem{"mfumo wa UK"}
            ussystem{"Mfumo wa US"}
        }
        numbers{
            arab{"Nambari za Kiarabu/Kihindi"}
            arabext{"Nambari za Kiarabu/Kihindi Zilizopanuliwa"}
            armn{"Nambari za Kiarmenia"}
            armnlow{"Nambari Ndogo za Kiarmenia"}
            beng{"Nambari za Kibengali"}
            deva{"Nambari za Kidevanagari"}
            ethi{"Nambari za Kiethiopia"}
            finance{"Tarakimu za Kifedha"}
            fullwide{"Nambari za Upana Kamili"}
            geor{"Nambari za Georgia"}
            grek{"Nambari za Kigiriki"}
            greklow{"Nambari Ndogo za Kigiriki"}
            gujr{"Nambari za Kigujarati"}
            guru{"Nambari za Kigurumukhi"}
            hanidec{"Nambari za Desimali za Kichina"}
            hans{"Nambari za Kichina Rahisi"}
            hansfin{"Nambari za Kifedha za Kichina Rahisi"}
            hant{"Nambari za Kichina cha Jadi"}
            hantfin{"Nambari za Kichina za Fedha"}
            hebr{"Nambari za Kiebrania"}
            jpan{"Nambari za Kijapani"}
            jpanfin{"Nambari za Kifedha za Kijapani"}
            khmr{"Nambari za Kikhmeri"}
            knda{"Nambari za Kikannada"}
            laoo{"Nambari za Kilao"}
            latn{"Nambari za Magharibi"}
            mlym{"Nambari za Kimalayamu"}
            mong{"Nambari za Kimongolia"}
            mymr{"Nambari za Myama"}
            native{"Digiti Asili"}
            orya{"Nambari za Kioriya"}
            roman{"Nambari za Kirumi"}
            romanlow{"Nambari Ndogo za Kirumi"}
            taml{"Nambari za Kitamili"}
            tamldec{"Nambari za Kitamili"}
            telu{"Nambari za Kitelugu"}
            thai{"Nambari za Kitai"}
            tibt{"Nambari za Kitibeti"}
            traditional{"Tarakimu za Jadi"}
            vaii{"Dijiti za Vai"}
        }
    }
    Version{"2.1.22.93"}
    codePatterns{
        language{"{0}"}
        script{"{0}"}
        territory{"{0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
