﻿// ***************************************************************************
// *
// * Copyright (C) 2015 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"}
        swc{"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.19.14"}
    codePatterns{
        language{"{0}"}
        script{"{0}"}
        territory{"{0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
