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