﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/zu.xml
// *
// ***************************************************************************
zu{
    Keys{
        calendar{"Ikhalenda"}
        colAlternate{"Ziba Ukuhlelwa Kwezimpawu"}
        colBackwards{"Ukuhlelwa Kwendlela Yokubiza Okuhlehlisiwe"}
        colCaseFirst{"Ukuhlelwa Ngokwezinhlamvu Ezinkulu/Ezincane"}
        colCaseLevel{"Ukuhlelwa Okuncike Ezinkinobhweni"}
        colHiraganaQuaternary{"Ukuhlela ngokwe-Kana"}
        colNormalization{"Ukuhlelwa Okulinganisiwe"}
        colNumeric{"Ukuhlelwa Ngezinombolo"}
        colStrength{"Amandla Okuhlelwa"}
        collation{"Uhlelo lokuhlunga"}
        currency{"Ikharensi"}
        hc{"Umjikelezo wehora (12 vs 24"}
        lb{"I-Line Break Style"}
        ms{"Isistimu yokulinganisa"}
        numbers{"Izinombolo"}
        timezone{"Izoni yesikhathi:"}
        va{"Okokwehlukanisa Kwasendaweni"}
        variableTop{"Hlela Njengezimpawu"}
        x{"i-Private-Use"}
    }
    Languages{
        ab{"isi-Abkhazian"}
        ach{"Isi-Acoli"}
        af{"i-Afrikaans"}
        agq{"isi-Aghem"}
        ak{"isi-Akan"}
        am{"isi-Amharic"}
        ar{"isi-Arabic"}
        ar_001{"isi-Arabic esivamile sesimanje"}
        arn{"isi-Mapuche"}
        as{"isi-Assamese"}
        asa{"isi-Asu"}
        ay{"isi-Aymara"}
        az{"isi-Azerbaijani"}
        ba{"isi-Bashkir"}
        be{"isi-Belarusian"}
        bem{"isi-Bemba"}
        bez{"isi-Bena"}
        bg{"isi-Bulgari"}
        bgn{"isi-Western Balochi"}
        bm{"isi-Bambara"}
        bn{"isi-Bengali"}
        bo{"isi-Tibetan"}
        br{"isi-Breton"}
        brx{"isi-Bodo"}
        bs{"isi-Bosnian"}
        ca{"isi-Catalan"}
        ce{"isi-Chechen"}
        cgg{"isi-Chiga"}
        chr{"isi-Cherokee"}
        ckb{"isi-Central Kurdish"}
        co{"isi-Corsican"}
        cs{"isi-Czech"}
        cv{"isi-Chuvash"}
        cy{"isi-Welsh"}
        da{"isi-Danish"}
        dav{"isi-Taita"}
        de{"isi-German"}
        de_AT{"isi-Austrian German"}
        de_CH{"i-Swiss High German"}
        dje{"isi-Zarma"}
        dsb{"isi-Lower Sorbian"}
        dua{"isi-Duala"}
        dv{"isi-Divehi"}
        dyo{"isi-Jola-Fonyl"}
        dz{"isi-Dzongkha"}
        ebu{"isi-Embu"}
        ee{"isi-Ewe"}
        efi{"isi-Efik"}
        el{"isi-Greek"}
        en{"i-English"}
        en_AU{"isi-Austrillian English"}
        en_CA{"i-Canadian English"}
        en_GB{"i-British English"}
        en_US{"i-American English"}
        eo{"isi-Esperanto"}
        es{"isi-Spanish"}
        es_419{"isi-Latin American Spanish"}
        es_ES{"i-European Spanish"}
        es_MX{"i-Mexican Spanish"}
        et{"isi-Estonia"}
        eu{"isi-Basque"}
        fa{"isi-Persian"}
        fi{"isi-Finnish"}
        fil{"isi-Filipino"}
        fj{"isi-Fijian"}
        fo{"isi-Faroese"}
        fr{"isi-French"}
        fr_CA{"i-Canadian French"}
        fr_CH{"i-Swiss French"}
        fy{"isi-Western Frisian"}
        ga{"isi-Irish"}
        gaa{"Isi-Ga"}
        gag{"isi-Gagauz"}
        gd{"i-Scottish Gaelic"}
        gl{"isi-Galicia"}
        gn{"isi-Guarani"}
        gsw{"isi-Swiss German"}
        gu{"isi-Gujarati"}
        guz{"isi-Gusli"}
        gv{"isi-Manx"}
        ha{"isi-Hausa"}
        haw{"isi-Hawaiian"}
        he{"isi-Hebrew"}
        hi{"isi-Hindi"}
        hr{"isi-Croatian"}
        hsb{"isi-Upper Sorbian"}
        ht{"isi-Haitian"}
        hu{"isi-Hungarian"}
        hy{"isi-Armenia"}
        ia{"Izilimi ezihlangene"}
        id{"isi-Indonesian"}
        ig{"isi-Igbo"}
        ii{"isi-Sichuan Yi"}
        is{"isi-Icelandic"}
        it{"isi-Italian"}
        iu{"isi-Inuktitut"}
        ja{"isi-Japanese"}
        jgo{"isi-Ngomba"}
        jmc{"isi-Machame"}
        jv{"isi-Javanese"}
        ka{"isi-Georgian"}
        kab{"isi-Kabyle"}
        kam{"isi-Kamba"}
        kde{"isi-Makonde"}
        kea{"isi-Kabuverdianu"}
        kg{"Isi-Kongo"}
        khq{"isi-Koyra Chiini"}
        ki{"isi-Kikuyu"}
        kk{"isi-Kazakh"}
        kl{"isi-Kalaallisut"}
        kln{"isi-Kalenjin"}
        km{"isi-Khmer"}
        kn{"isi-Kannada"}
        ko{"isi-Korean"}
        koi{"isi-Komi-Permyak"}
        kok{"isi-Konkani"}
        ks{"isi-Kashmiri"}
        ksb{"isiShambala"}
        ksf{"isi-Bafia"}
        ku{"isi-Kurdish"}
        kw{"isi-Cornish"}
        ky{"isi-Kyrgyz"}
        la{"isi-Latin"}
        lag{"isi-Langi"}
        lb{"isi-Luxembourgish"}
        lg{"isi-Ganda"}
        lkt{"isi-Lakota"}
        ln{"isi-Lingala"}
        lo{"i-Lao"}
        loz{"Isi-Lozi"}
        lrc{"isi-Northern Luri"}
        lt{"isi-Lithuanian"}
        lu{"isi-Luba-Katanga"}
        lua{"Isi-Luba-Lulua"}
        luo{"isi-Luo"}
        luy{"isi-Luyia"}
        lv{"isi-Latvian"}
        mas{"isi-Masai"}
        mer{"isi-Meru"}
        mfe{"isi-Morisyen"}
        mg{"isi-Malagasy"}
        mgh{"isi-Makhuwa-Meetto"}
        mgo{"isi-Meta’"}
        mi{"isi-Maori"}
        mk{"isi-Macedonian"}
        ml{"isi-Malayalam"}
        mn{"isi-Mongolian"}
        moh{"isi-Mohawk"}
        mr{"isi-Marathi"}
        ms{"isi-Malay"}
        mt{"isi-Maltese"}
        mua{"isi-Mundang"}
        my{"isi-Burmese"}
        mzn{"isi-Mazanderani"}
        naq{"isi-Nama"}
        nb{"isi-Norwegian Bokmål"}
        nd{"isi-North Ndebele"}
        nds{"nds"}
        nds_NL{"isi-Low Saxon"}
        ne{"isi-Nepali"}
        nl{"isi-Dutch"}
        nl_BE{"isi-Flemish"}
        nmg{"isi-Kwasio"}
        nn{"i-Norwegian Nynorsk"}
        nqo{"isi-N’Ko"}
        nso{"isi-Northern Sotho"}
        nus{"isi-Nuer"}
        ny{"isi-Nyanja"}
        nyn{"isi-Nyankole"}
        oc{"Isi-Osithani"}
        om{"i-Oromo"}
        or{"isi-Oriya"}
        os{"isi-Ossetic"}
        pa{"isi-Punjabi"}
        pl{"isi-Polish"}
        ps{"isi-Pashto"}
        pt{"isi-Portuguese"}
        pt_BR{"isi-Brazillian Portuguese"}
        pt_PT{"isi-European Portuguese"}
        qu{"isi-Quechua"}
        quc{"isi-Kʼicheʼ"}
        rm{"isi-Romansh"}
        rn{"isi-Rundi"}
        ro{"isi-Romanian"}
        ro_MD{"isi-Moldavian"}
        rof{"isi-Rombo"}
        ru{"isi-Russian"}
        rw{"isi-Kinyarwanda"}
        rwk{"isi-Rwa"}
        sa{"isi-Sanskrit"}
        saq{"isi-Samburu"}
        sbp{"isi-Sangu"}
        sd{"isi-Sindhi"}
        sdh{"i-Southern Kurdish"}
        se{"isi-Northern Sami"}
        seh{"isi-Sena"}
        ses{"isi-Koyraboro Senni"}
        sg{"isi-Sango"}
        shi{"isi-Tachelhit"}
        si{"i-Sinhala"}
        sk{"isi-Slovak"}
        sl{"isi-Slovenian"}
        sm{"isi-Samoan"}
        sma{"isi-Southern Sami"}
        smj{"isi-Lule Sami"}
        smn{"isi-Inari Sami"}
        sms{"isi-Skolt Sami"}
        sn{"isiShona"}
        so{"isi-Somali"}
        sq{"isi-Albania"}
        sr{"isi-Serbian"}
        ss{"isiSwati"}
        st{"isiSuthu"}
        su{"isi-Sundanese"}
        sv{"isi-Swedish"}
        sw{"isiSwahili"}
        sw_CD{"isi-Congo Swahili"}
        ta{"isi-Tamil"}
        te{"isi-Telugu"}
        teo{"isi-Teso"}
        tet{"isi-Tetum"}
        tg{"isi-Tajik"}
        th{"isi-Thai"}
        ti{"isi-Tigrinya"}
        tk{"isi-Turkmen"}
        tlh{"Isi-Klingon"}
        tn{"isi-Tswana"}
        to{"isi-Tongan"}
        tpi{"isi-Tok Pisin"}
        tr{"isi-Turkish"}
        ts{"isi-Tsonga"}
        tt{"isi-Tatar"}
        tum{"Isi-Tumbuka"}
        twq{"isi-Tasawaq"}
        ty{"isi-Tahitian"}
        tzm{"isi-Central Atlas Tamazight"}
        ug{"isi-Uighur"}
        uk{"isi-Ukrainian"}
        und{"ulimi olungaziwa"}
        ur{"isi-Urdu"}
        uz{"isi-Uzbek"}
        vai{"isi-Vai"}
        ve{"isi-Venda"}
        vi{"isi-Vietnamese"}
        vun{"isiVunjo"}
        wbp{"isi-Warlpiri"}
        wo{"isi-Wolof"}
        xh{"isiXhosa"}
        xog{"isi-Soga"}
        yi{"Isi-Yidish"}
        yo{"isi-Yoruba"}
        zgh{"isi-Standard Moroccan Tamazight"}
        zh{"isi-Chinese"}
        zh_Hant{"isi-Chinese (Okosiko)"}
        zu{"isiZulu"}
        zxx{"akukho okuqukethwe kolimi"}
    }
    Languages%short{
        az{"isi-Azeria"}
        en_GB{"i-UK English"}
        en_US{"i-English (US)"}
    }
    Languages%variant{
        ps{"isi-Pushto"}
    }
    Scripts{
        Arab{"i-Arab"}
        Armn{"i-Armenian"}
        Beng{"i-Bengali"}
        Bopo{"i-Bopomofo"}
        Brai{"i-Braille"}
        Cyrl{"i-Cyrillic"}
        Deva{"i-Devanagari"}
        Ethi{"i-Ethiopic"}
        Geor{"i-Georgian"}
        Grek{"i-Greek"}
        Gujr{"i-Gujarati"}
        Guru{"i-Gurmukhi"}
        Hang{"i-Hangul"}
        Hani{"i-Han"}
        Hans{"i-Simplified"}
        Hant{"okosiko"}
        Hebr{"i-Hebrew"}
        Hira{"i-Hiragana"}
        Jpan{"i-Japanese"}
        Kana{"i-Katakana"}
        Khmr{"i-Khmer"}
        Knda{"i-Kannada"}
        Kore{"i-Korean"}
        Laoo{"i-Lao"}
        Latn{"i-Latin"}
        Mlym{"i-Malayam"}
        Mong{"i-Mongolian"}
        Mymr{"i-Myanmar"}
        Orya{"i-Oriya"}
        Sinh{"i-Sinhala"}
        Taml{"i-Tamil"}
        Telu{"i-Telegu"}
        Thaa{"i-Thaana"}
        Thai{"i-Thai"}
        Tibt{"i-Tibetan"}
        Zsym{"amasimbuli"}
        Zxxx{"okungabhaliwe"}
        Zyyy{"ejwayelekile"}
        Zzzz{"iskripthi esingaziwa"}
    }
    Scripts%stand-alone{
        Hans{"i-Simplified Han"}
        Hant{"i-Traditional Han"}
    }
    Scripts%variant{
        Arab{"i-Perso-Arabic"}
    }
    Types{
        calendar{
            buddhist{"ikhalenda lesi-Buddhist"}
            chinese{"ikhalenda lesi-Chinese"}
            coptic{"i-Coptic Calender"}
            dangi{"ikhalenda lesi-Dangi"}
            ethiopic{"ikhalenda lesi-Ethiopic"}
            ethiopic-amete-alem{"i-Ethiopic Amete Alem Calender"}
            gregorian{"ikhalenda lesi-Gregorian"}
            hebrew{"ikhalenda lesi-Hebrew"}
            indian{"i-Indian National Calender"}
            islamic{"ikhalenda lesi-Islamic"}
            islamic-civil{"i-Islamic-Civil Calendar"}
            iso8601{"ikhalenda le-ISO-8601"}
            japanese{"ikhalenda lesi-Japanese"}
            persian{"ikhalenda lesi-Persian"}
            roc{"ikhalenda lesi-Minguo"}
        }
        colAlternate{
            non-ignorable{"Hlela Izimpawu"}
            shifted{"Hlela Ukuziba Izimpawu"}
        }
        colBackwards{
            no{"Hlela Izindlela Zokuphimisela Ngokujwayelekile"}
            yes{"Ukuhlelwa Kokuphimisela Kuhlehlisiwe"}
        }
        colCaseFirst{
            lower{"Hlela Okwezinhlamvu Eziphansi Kuqala"}
            no{"Hlela Ngokwenhlamvu Ezejwayelekile"}
            upper{"Hlela Izinhlamvu Ezinkulu Kuqala"}
        }
        colCaseLevel{
            no{"Hlela Okungancikile Ezinkinobhweni"}
            yes{"Hlela Okuncike Ekumeni Kwezinkinobho"}
        }
        colHiraganaQuaternary{
            no{"Hlela i-Kana Eceleni"}
            yes{"Hlela i-Kana Ngendlela Ehlukile"}
        }
        colNormalization{
            no{"Hlela Ngaphandle Kokulinganisa"}
            yes{"Ukuhlelwa Khekhodi Enye Kulinganisiwe"}
        }
        colNumeric{
            no{"Hlela Izinhlamvu Zenombolo Ngazinye"}
            yes{"Hlela Izinhlamvu Ngokwezinombolo"}
        }
        colStrength{
            identical{"Hlela konke"}
            primary{"Hlela Izinhlamvu Zaphansi Kuphela"}
            quaternary{"Hlola Ukuphimisela/Ukuma kwezinhlamvu/Ububanzi/i-Kana"}
            secondary{"Hlela Ukuphimisela"}
            tertiary{"Hlela Ukuphimisela/Ukuma kwezinhlamvu/Ububanzi"}
        }
        collation{
            big5han{"Ukuhlunga kwe-Traditional Chinese - Big5"}
            dictionary{"Ukuhlunga kwesichazimazwi"}
            ducet{"Ukuhlunga okuzenzakalelayo kwe-Unicode"}
            gb2312han{"Ukuhlunga kwe-Simplified Chinese - GB2312"}
            phonebook{"Ukuhlunga kwebhuku lefoni"}
            phonetic{"Hlela Ngokwefonetiki"}
            pinyin{"Ukuhlunga nge-Pinyin"}
            reformed{"Ukuhlunga okwenziwe kabusha"}
            search{"Usesho olujwayelekile"}
            searchjl{"Sesha nge-Hangul Ongwaqa Basekuqaleni"}
            standard{"I-oda yokuhlunga ejwayelekile"}
            stroke{"Ukuhlunga kwe-Stroke"}
            traditional{"Ukuhlunga ngokisiko"}
            unihan{"Ukuhlunga kwe-Radical-Stroke"}
        }
        hc{
            h11{"isistimu yamahora angu-12 (0-11)"}
            h12{"isistimu yamahora angu-12 (1-12)"}
            h23{"isistimu yamahora angu-24 (0-23)"}
            h24{"isistimu yamahora angu-24 (1-24)"}
        }
        lb{
            loose{"i-Line Break Style exegayo"}
            normal{"i-Line Break Style ekahle"}
            strict{"i-Line Break Style enomthetho oqinile"}
        }
        ms{
            metric{"isistimu ye-Metric"}
            uksystem{"isistimu yokulinganisa ebusayo"}
            ussystem{"isistimu yokulinganisa yase-US"}
        }
        numbers{
            arab{"amadijithi esi-Arabic-Indic"}
            arabext{"amadijithi esi-Arabic-Indic eluliwe"}
            armn{"izinombolo zesi-Armenian"}
            armnlow{"izinombolo ezincane zesi-Armenian"}
            beng{"izinombolo zesi-Bengali"}
            deva{"izinombolo zesi-Devanagari"}
            ethi{"izinombolo zesi-Ethiopic"}
            finance{"Izinombolo Zezomnotho"}
            fullwide{"ububanzi obugcwele bamadijithi"}
            geor{"izinombolo zesi-Georgian"}
            grek{"izinombolo zesi-Greek"}
            greklow{"izinombolo ezincane zesi-Greek"}
            gujr{"amadijithi esi-Gujarati"}
            guru{"amadijithi esi-Gurmukhi"}
            hanidec{"izinombolo zezinombolo zesi-Chinese"}
            hans{"izinombolo ezicacile zesi-Chinese"}
            hansfin{"izinombolo ezicacile zezezimali zesi-Chinese"}
            hant{"izinombolo zosiko zesi-Chinese"}
            hantfin{"izinombolo zosiko zezezimali zesi-Chinese"}
            hebr{"izinombolo zesi-Hebrew"}
            jpan{"izinombolo zesi-Japanese"}
            jpanfin{"izinombolo zezezimali zesi-Japanese"}
            khmr{"amadijithi esi-Khmer"}
            knda{"amadijithi esi-Kannada"}
            laoo{"amadijithi esi-Lao"}
            latn{"amadijithi ase-Western"}
            mlym{"amadijithi esi-Malayalam"}
            mong{"i-Mongolian Digits"}
            mymr{"amadijithi esi-Maynmar"}
            native{"Izinkinobho Zasendaweni"}
            orya{"amadijithi esi-Oriya"}
            roman{"izinombolo zesi-Roman"}
            romanlow{"izinombolo zesi-Tamil"}
            taml{"izinombolo zesi-Tamil"}
            tamldec{"amadijithi esi-Tamil"}
            telu{"amadijithi esi-Telegu"}
            thai{"amadijithi esi-Thai"}
            tibt{"amadijithi esi-Tibetan"}
            traditional{"Izinombolo Ezijwayelekile"}
            vaii{"Izinhlazu Zezinombolo ze-Vai"}
        }
    }
    Version{"2.1.22.93"}
    codePatterns{
        language{"{0}"}
        script{"{0}"}
        territory{"{0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
