﻿// ***************************************************************************
// *
// * 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{
    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{"Utaratibu wa Kupanga"}
        currency{"Fedha"}
        numbers{"Nambari"}
        timezone{"Ukanda Saa"}
        va{"Tofauti ya Mandhari"}
        variableTop{"Panga Kama Alama"}
        x{"Matumizi ya Kibinafsi"}
    }
    Languages{
        ab{"Kiabkhazi"}
        ach{"Kiakoli"}
        af{"Kiafrikana"}
        ak{"Kiakani"}
        am{"Kiamhari"}
        ar{"Kiarabu"}
        as{"Kiassam"}
        ay{"Aimara"}
        az{"Kiazabajani"}
        be{"Kibelarusi"}
        bem{"Kibemba"}
        bg{"Kibulgaria"}
        bn{"Kibangla"}
        bo{"Kitibeti"}
        br{"Kibretoni"}
        bs{"Kibosnia"}
        ca{"Kikatalani"}
        chr{"Kicherokee"}
        ckb{"Kisorani Kikurdi"}
        co{"Kikosikani"}
        cs{"Kicheki"}
        cy{"Kiwelisi"}
        da{"Kidenmaki"}
        de{"Kijerumani"}
        de_AT{"Kijerumani cha Austria"}
        de_CH{"Kijerumani cha Juu cha Uswisi"}
        dv{"Kidivehi"}
        dz{"Kizongkha"}
        ee{"Kiwe"}
        efi{"Kiefiki"}
        el{"Kigiriki"}
        en{"Kiingereza"}
        en_AU{"Kiingereza cha Australia"}
        en_CA{"Kiingereza cha Kanada"}
        en_GB{"Kiingereza cha Uingereza"}
        en_US{"Kiingereza cha Marekani"}
        eo{"Kiesperanto"}
        es{"Kihispania"}
        es_419{"Kihispania cha Amerika ya Kilatinini"}
        es_ES{"Kihispania cha Ulaya"}
        es_MX{"Kihispania cha Meksiko"}
        et{"Kiestonia"}
        eu{"Kibasque"}
        fa{"Kiajemi"}
        fi{"Kifinlandi"}
        fil{"Kifilipino"}
        fj{"Kifiji"}
        fo{"Kifaroe"}
        fr{"Kifaransa"}
        fr_CA{"Kifaransa cha Kanada"}
        fr_CH{"Kifaransa cha Uswisi"}
        fy{"Kifrisia cha Magharibi"}
        ga{"Kiayalandi"}
        gaa{"Kiga"}
        gd{"Kigaeli cha Uskoti"}
        gl{"Kigalisia"}
        gn{"Kiguarani"}
        gsw{"Kijerumani cha Uswisi"}
        gu{"Kigujarati"}
        ha{"Kihausa"}
        haw{"Kihawai"}
        he{"Kiebrania"}
        hi{"Kihindi"}
        hr{"Kroeshia"}
        ht{"Kihaiti"}
        hu{"Kihungari"}
        hy{"Kiarmenia"}
        ia{"Kiintalingua"}
        id{"Kiindonesia"}
        ig{"Kiigbo"}
        is{"Kiaisilandi"}
        it{"Kiitaliano"}
        ja{"Kijapani"}
        jv{"Kijava"}
        ka{"Kijojia"}
        kg{"Kikongo"}
        kk{"Kikazaki"}
        km{"Kikambodia"}
        kn{"Kikannada"}
        ko{"Kikorea"}
        ks{"Kikashmiri"}
        ku{"Kikurdi"}
        ky{"Kirigizi"}
        la{"Kilatini"}
        lb{"Kilasembagi"}
        lg{"Kiganda"}
        ln{"Kilingala"}
        lo{"Kilaosi"}
        loz{"Kilozi"}
        lt{"Kilithuania"}
        lua{"Kiluba-Lulua"}
        lv{"Kilatvia"}
        mfe{"Kimoriseni"}
        mg{"Malagasi"}
        mi{"Kimaori"}
        mk{"Kimasedonia"}
        ml{"Kimalayalam"}
        mn{"Mongolia"}
        mr{"Kimarathi"}
        ms{"Kimalesia"}
        mt{"Kimalta"}
        my{"Kiburma"}
        nb{"Kibokmal cha Norwe"}
        nd{"Kindebele cha Kaskazini"}
        ne{"Kinepali"}
        nl{"Kiholanzi"}
        nl_BE{"Kiflemi"}
        nn{"Kinorwe Kipya"}
        nso{"Kisotho cha Kaskazini"}
        ny{"Kinyanja"}
        nyn{"Kinyankole"}
        oc{"Kiokitani"}
        om{"Kioromo"}
        or{"Kioriya"}
        os{"Kiosetia"}
        pa{"Kipunjabi"}
        pl{"Kipolandi"}
        ps{"Kipashto"}
        pt{"Kireno"}
        pt_BR{"Kireno cha Brazil"}
        pt_PT{"Kireno cha Ulaya"}
        qu{"Kiquechua"}
        rm{"Kiromanshi"}
        rn{"Kirundi"}
        ro{"Kiromania"}
        ru{"Kirusi"}
        rw{"Kinyarwanda"}
        sa{"Kisanskriti"}
        sd{"Kisindhi"}
        se{"Kisami cha Kaskazini"}
        sg{"Kisango"}
        si{"Kisinhala"}
        sk{"Kislovakia"}
        sl{"Kislovenia"}
        sm{"Kisamoa"}
        sn{"Kishona"}
        so{"Kisomali"}
        sq{"Kialbania"}
        sr{"Kiserbia"}
        ss{"Kiswati"}
        st{"Kisotho cha Kusini"}
        su{"Kisunda"}
        sv{"Kiswidi"}
        sw{"Kiswahili"}
        ta{"Kitamil"}
        te{"Kitelugu"}
        tet{"Kitetum"}
        tg{"Tajiki"}
        th{"Kitailandi"}
        ti{"Kitigrinya"}
        tk{"Kiturukimeni"}
        tlh{"Kiklingoni"}
        tn{"Kitswana"}
        to{"Tonga"}
        tpi{"Kitokpisin"}
        tr{"Kituruki"}
        ts{"Kitsonga"}
        tt{"Kitatari"}
        tum{"Kitumbuka"}
        ty{"Kitahiti"}
        ug{"Kiuiguri"}
        uk{"Kiukrania"}
        und{"Lugha Isiyojulikana"}
        ur{"Kiurdu"}
        uz{"Kiuzbeki"}
        ve{"Kivenda"}
        vi{"Kivietinamu"}
        wo{"Kiwolofu"}
        xh{"Kixhosa"}
        yi{"Kiyidi"}
        yo{"Kiyoruba"}
        zgh{"Tamaziti Msingi ya Kimoroko"}
        zh{"Kichina"}
        zh_Hans{"Kichina Rahisi"}
        zh_Hant{"Kichina cha Jadi"}
        zu{"Kizulu"}
        zxx{"Hakuna maudhui ya lugha"}
    }
    LanguagesShort{
        az{"Kiazeri"}
    }
    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{"Mongolia"}
        Mymr{"Myama"}
        Orya{"Kioriya"}
        Sinh{"Kisinhala"}
        Taml{"Kitamil"}
        Telu{"Kitelugu"}
        Thaa{"Kithaana"}
        Thai{"Kitai"}
        Tibt{"Kitibeti"}
        Zsym{"Alama"}
        Zxxx{"Haiandikwi"}
        Zyyy{"Kawaida"}
        Zzzz{"Hati isiyojulikana"}
    }
    Scripts%stand-alone{
        Hans{"Kihan Rahisi"}
        Hant{"Kihan cha Jadi"}
    }
    Types{
        calendar{
            buddhist{"Kalenda ya Kibuddha"}
            chinese{"Kalenda ya Kichina"}
            coptic{"Kalenda ya Koptiki"}
            ethiopic{"Kalenda ya Kiethiopia"}
            ethiopic-amete-alem{"Kalenda ya Kiethiopia ya Amete Alem"}
            gregorian{"Kalenda ya Kigregori"}
            hebrew{"Kalenda ya Kihebrania"}
            indian{"Kalenda ya Taifa ya India"}
            islamic{"Kalenda ya Kiislamu"}
            islamic-civil{"Kalenda ya Kiislamu/Rasmi"}
            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 wa 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"}
            stroke{"Mpangilio wa Mikwaju"}
            traditional{"Mpangilio wa Kawaida"}
            unihan{"Mpangilio wa Mikwaju ya Shina"}
        }
        numbers{
            arab{"Nambari za Kiarabu/Kihindi"}
            arabext{"Nambari za Kiarabu/Kihindi Zilizopanuliwa"}
            armn{"Nambari za Kiarmenia"}
            armnlow{"Nambari Ndogo za Kiamenia"}
            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 Kihebrania"}
            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.0.98.13"}
    codePatterns{
        language{"{0}"}
        script{"{0}"}
        territory{"{0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
