﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/zu.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <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"}
        numbers{"Izinombolo"}
        timezone{"Izoni yesikhathi:"}
        va{"Okokwehlukanisa Kwasendaweni"}
        variableTop{"Hlela Njengezimpawu"}
        x{"i-Private-Use"}
    }
    Languages{
        ab{"isi-Abkhazian"}
        ach{"Isi-Acoli"}
        af{"isi-Afrikaans"}
        ak{"I-Akan"}
        am{"isi-Amharic"}
        ar{"isi-Arabic"}
        as{"isi-Assamese"}
        ay{"isi-Aymara"}
        az{"isi-Azerbaijani"}
        be{"isi-Belarusian"}
        bem{"Isi-Bemba"}
        bg{"isi-Bulgari"}
        bh{"IsiBhihari"}
        bn{"isi-Bengali"}
        bo{"isi-Tibetan"}
        br{"Isi-Breton"}
        bs{"isi-Bosnian"}
        ca{"isi-Catalan"}
        chr{"Isi-Cherokee"}
        ckb{"Isi-Sorani Kurdish"}
        co{"isi-Corsican"}
        cs{"isi-Czech"}
        cy{"isi-Welsh"}
        da{"isi-Danish"}
        de{"isi-German"}
        de_AT{"isi-Austrian German"}
        de_CH{"isi-Swiss High German"}
        dv{"isi-Divehi"}
        dz{"isi-Dzongkha"}
        ee{"Isi-Ewe"}
        efi{"isi-Efik"}
        el{"isi-Greek"}
        en{"isiNgisi"}
        en_AU{"isi-Austrillian English"}
        en_CA{"i-Canadian English"}
        en_GB{"i-British English"}
        en_US{"i-U.S. English"}
        eo{"isi-Esperanto"}
        es{"isi-Spanish"}
        es_419{"isi-Latin American Spanish"}
        es_ES{"Isipenishi saseYurophu"}
        es_MX{"isi-Mexican Spanish"}
        et{"isi-Estonia"}
        eu{"isi-Basque"}
        fa{"isi-Persian"}
        fi{"isi-Finnish"}
        fil{"isi-Filipino"}
        fj{"isi-Fijian"}
        fo{"isi-Faroese"}
        fr{"isiFulentshi"}
        fr_CA{"i-Canadian French"}
        fr_CH{"isi-Swiss French"}
        fy{"isi-Western Frisian"}
        ga{"isi-Irish"}
        gaa{"Isi-Ga"}
        gd{"i-Scottish Gaelic"}
        gl{"isi-Galicia"}
        gn{"isi-Guarani"}
        gsw{"isi-Swiss German"}
        gu{"isi-Gujarati"}
        ha{"isi-Hausa"}
        haw{"isi-Hawaiian"}
        he{"isi-Hebrew"}
        hi{"isi-Hindi"}
        hr{"isi-Croatian"}
        ht{"isi-Haitian"}
        hu{"isi-Hungarian"}
        hy{"isi-Armenia"}
        ia{"Izilimi ezihlangene"}
        id{"isi-Indonesian"}
        ig{"isi-Igbo"}
        is{"isi-Icelandic"}
        it{"isi-Italian"}
        ja{"isi-Japanese"}
        jv{"isi-Javanese"}
        ka{"isi-Georgian"}
        kg{"Isi-Kongo"}
        kk{"isi-Kazakh"}
        km{"isi-Khmer"}
        kn{"isi-Kannada"}
        ko{"isi-Korean"}
        ks{"isi-Kashmiri"}
        ku{"isi-Kurdish"}
        ky{"isi-Kirghiz"}
        la{"isi-Latin"}
        lb{"isi-Luxembourgish"}
        lg{"Isi-Ganda"}
        ln{"isi-Lingala"}
        lo{"i-Lao"}
        loz{"Isi-Lozi"}
        lt{"isi-Lithuanian"}
        lua{"Isi-Luba-Lulua"}
        lv{"isi-Latvia"}
        mfe{"Isi-Morisyen"}
        mg{"isi-Malagasy"}
        mi{"isi-Maori"}
        mk{"isi-Macedonia"}
        ml{"isi-Malayalam"}
        mn{"isi-Mongolian"}
        mr{"isi-Marathi"}
        ms{"isi-Malay"}
        mt{"isi-Malta"}
        my{"isi-Burmese"}
        nb{"i-Norwegian Bokmål"}
        nd{"isi-North Ndebele"}
        ne{"isi-Nepali"}
        nl{"i-Dutch"}
        nl_BE{"isi-Flemish"}
        nn{"i-Norwegian Nynorsk"}
        nso{"isi-Northern Sotho"}
        ny{"isi-Nyanja"}
        nyn{"Isi-Nyankole"}
        oc{"Isi-Osithani"}
        om{"Isi-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{"Isiputukezi saseYurophu"}
        qu{"isi-Quechua"}
        rm{"isi-Romansh"}
        rn{"isi-Rundi"}
        ro{"isi-Romanian"}
        ru{"isi-Russian"}
        rw{"isi-Kinyarwanda"}
        sa{"isi-Sanskrit"}
        sd{"isi-Sindhi"}
        se{"e-Northern Sami"}
        sg{"isi-Sango"}
        si{"i-Sinhala"}
        sk{"isi-Slovak"}
        sl{"isi-Slovenian"}
        sm{"isi-Samoan"}
        sn{"isiShona"}
        so{"isi-Somali"}
        sq{"isi-Albania"}
        sr{"isi-Serbian"}
        ss{"isiSwati"}
        st{"isiSuthu"}
        su{"isi-Sundanese"}
        sv{"isi-Swedish"}
        sw{"isiSwahili"}
        ta{"isi-Tamil"}
        te{"isi-Telugu"}
        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"}
        ty{"isi-Tahitian"}
        ug{"isi-Uighur"}
        uk{"isi-Ukrainian"}
        und{"Ulimi olungaziwa"}
        ur{"isi-Urdu"}
        uz{"isi-Uzbek"}
        ve{"isi-Venda"}
        vi{"isi-Vietnamese"}
        wo{"isi-Wolof"}
        xh{"isiXhosa"}
        yi{"Isi-Yidish"}
        yo{"isi-Yoruba"}
        zh{"isi-Chinese"}
        zh_Hans{"isi-Sipmlified Chinese"}
        zh_Hant{"isi-Traditional Chinese"}
        zu{"isiZulu"}
        zxx{"Akukho okuqukethwe kolimi"}
    }
    LanguagesShort{
        az{"isi-Azeria"}
    }
    Scripts{
        Arab{"isi-Arab"}
        Armn{"isi-Armenian"}
        Beng{"isi-Bengali"}
        Bopo{"i-Bopomofo"}
        Brai{"i-Braille"}
        Cyrl{"i-Cyrillic"}
        Deva{"i-Devanagari"}
        Ethi{"i-Ethiopic"}
        Geor{"isi-Georgian"}
        Grek{"isi-Greek"}
        Gujr{"isi-Gujarati"}
        Guru{"i-Gurmukhi"}
        Hang{"i-Hangul"}
        Hani{"i-Han"}
        Hans{"i-Simplified"}
        Hant{"Okosiko"}
        Hebr{"isi-Hebrew"}
        Hira{"i-Hiragana"}
        Jpan{"isi-Japanese"}
        Kana{"i-Katakana"}
        Khmr{"isi-Khmer"}
        Knda{"isi-Kannada"}
        Kore{"isi-Korean"}
        Laoo{"i-Lao"}
        Latn{"isi-Latin"}
        Mlym{"isi-Malayalam"}
        Mong{"isi-Mongolian"}
        Mymr{"i-Myanmar"}
        Orya{"isi-Oriya"}
        Sinh{"i-Sinhala"}
        Taml{"isi-Tamil"}
        Telu{"isi-Telugu"}
        Thaa{"i-Thaana"}
        Thai{"isi-Thai"}
        Tibt{"isi-Tibetan"}
        Zsym{"Amasimbuli"}
        Zxxx{"Okungabhaliwe"}
        Zyyy{"i-Common"}
        Zzzz{"Iskripthi esingaziwa"}
    }
    Scripts%stand-alone{
        Hans{"i-Simplified Han"}
        Hant{"i-Traditional Han"}
    }
    Types{
        calendar{
            buddhist{"i-Buddhist Calender"}
            chinese{"i-Chinese Calender"}
            coptic{"i-Coptic Calender"}
            ethiopic{"i-Ethipic Calender"}
            ethiopic-amete-alem{"i-Ethiopic Amete Alem Calender"}
            gregorian{"i-Gregorian Calender"}
            hebrew{"i-Hebrew Calender"}
            indian{"i-Indian National Calender"}
            islamic{"i-Islamic Calender"}
            islamic-civil{"i-Islamic-Civil Calendar"}
            japanese{"i-Japanese Calendar"}
            persian{"i-Persian Calendar"}
            roc{"i-Minguo Calender"}
        }
        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"}
        }
        numbers{
            arab{"i-Arabic-Indic Digits"}
            arabext{"i-Extended Arabic-Indic Digits"}
            armn{"i-Armenian Numerals"}
            armnlow{"i-Armenian Lowercase Numerals"}
            beng{"i-Bengali Digits"}
            deva{"i-Devanagari Digits"}
            ethi{"i-Ethiopic Numerals"}
            finance{"Izinombolo Zezomnotho"}
            fullwide{"i-Full Width Digits"}
            geor{"i-Georgian Numerals"}
            grek{"i-Greek Numerals"}
            greklow{"i-Greek Lowercase Numerals"}
            gujr{"i-Gujarati Digits"}
            guru{"i-Gurmukhi Digits"}
            hanidec{"i-Chinese Decimal Numerals"}
            hans{"i-Simplified Chinese Numerals"}
            hansfin{"i-Simplified Chinese Financial Numerals"}
            hant{"i-Traditional Chinese Numerals"}
            hantfin{"i-Traditional Chinese Financial Numerals"}
            hebr{"i-Hebrew Numerals"}
            jpan{"i-Japanese Numerals"}
            jpanfin{"i-Japanese Financial Numerals"}
            khmr{"i-Khmer Digits"}
            knda{"i-Kannada Digits"}
            laoo{"i-Lao Digits"}
            latn{"i-Western Digits"}
            mlym{"i-Malayalam Digits"}
            mong{"i-Mongolian Digits"}
            mymr{"i-Myanmar Digits"}
            native{"Izinkinobho Zasendaweni"}
            orya{"i-Oriya Digits"}
            roman{"i-Roman Numerals"}
            romanlow{"i-Roman Lowercase Numerals"}
            taml{"i-Tamil Numerals"}
            telu{"i-Telegu Digits"}
            thai{"i-Thai Digits"}
            tibt{"i-Tibetan Digits"}
            traditional{"Izinombolo Ezijwayelekile"}
            vaii{"Izinhlazu Zezinombolo ze-Vai"}
        }
    }
    Version{"2.0.92.87"}
    codePatterns{
        language{"{0}"}
        script{"{0}"}
        territory{"{0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
