﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
af{
    Keys{
        calendar{"Kalender"}
        colAlternate{"Ignoreer simboolsortering"}
        colBackwards{"Omgekeerde aksentsortering"}
        colCaseFirst{"Hoofletters/kleinletters-sortering"}
        colCaseLevel{"Kassensitiewe sortering"}
        colNormalization{"Genormaliseerde sortering"}
        colNumeric{"Numeriese sortering"}
        colStrength{"Sorteringssterkte"}
        collation{"Sorteervolgorde"}
        currency{"Geldeenheid"}
        hc{"Uursiklus (12 vs 24)"}
        lb{"Reëlbreek-styl"}
        ms{"Meetstelsel"}
        numbers{"Syfers"}
        timezone{"Tydsone"}
        va{"Lokaalvariant"}
        x{"Privaat gebruik"}
    }
    Languages{
        ab{"Abkasies"}
        ach{"Akoli"}
        af{"Afrikaans"}
        agq{"Aghem"}
        ak{"Akan"}
        am{"Amharies"}
        ar{"Arabies"}
        ar_001{"Moderne Standaard Arabies"}
        arc{"Aramees"}
        arn{"Mapuche"}
        as{"Assamees"}
        asa{"Asu"}
        ay{"Aymara"}
        az{"Azerbeidjans"}
        ba{"Baskir"}
        be{"Belo-Russies"}
        bem{"Bemba"}
        bez{"Bena"}
        bg{"Bulgaars"}
        bgn{"Wes-Balochi"}
        bm{"Bambara"}
        bn{"Bengaals"}
        bo{"Tibettaans"}
        br{"Bretons"}
        brx{"Bodo"}
        bs{"Bosnies"}
        ca{"Katalaans"}
        ce{"Tsjetsjen"}
        cgg{"Sjiga"}
        chr{"Cherokees"}
        ckb{"Sorani Koerdies"}
        co{"Korsikaans"}
        cs{"Tsjeggies"}
        cv{"Chuvash"}
        cy{"Wallies"}
        da{"Deens"}
        dav{"Taita"}
        de{"Duits"}
        de_CH{"Switserse hoog-Duits"}
        dje{"Zarma"}
        dsb{"Lae Sorbies"}
        dua{"Duala"}
        dv{"Divehi"}
        dyo{"Jola-Fonyi"}
        dz{"Dzongkha"}
        ebu{"Embu"}
        ee{"Ewe"}
        efi{"Efik"}
        egy{"Antieke Egipties"}
        el{"Grieks"}
        en{"Engels"}
        eo{"Esperanto"}
        es{"Spaans"}
        et{"Estnies"}
        eu{"Baskies"}
        fa{"Persies"}
        fi{"Fins"}
        fil{"Filippyns"}
        fj{"Fidjiaans"}
        fo{"Faroees"}
        fr{"Frans"}
        fy{"Wes-Fries"}
        ga{"Iers"}
        gaa{"Gaa"}
        gag{"Gagauz"}
        gd{"Skotse Gallies"}
        gl{"Galisies"}
        gn{"Guarani"}
        got{"Goties"}
        grc{"Antieke Grieks"}
        gsw{"Switserse Duits"}
        gu{"Goedjarati"}
        guz{"Gusii"}
        gv{"Manx"}
        ha{"Hausa"}
        haw{"Hawaiies"}
        he{"Hebreeus"}
        hi{"Hindi"}
        hr{"Kroaties"}
        hsb{"Hoog-Sorbies"}
        ht{"Haïtiaans"}
        hu{"Hongaars"}
        hy{"Armeens"}
        ia{"Interlingua"}
        id{"Indonesies"}
        ig{"Igbo"}
        ii{"Sichuan Yi"}
        is{"Yslands"}
        it{"Italiaans"}
        iu{"Innuïties"}
        ja{"Japannees"}
        jgo{"Ngomba"}
        jmc{"Machame"}
        jv{"Javaans"}
        ka{"Georgies"}
        kab{"Kabyle"}
        kam{"Kamba"}
        kde{"Makonde"}
        kea{"Kabuverdianu"}
        kg{"Kongolees"}
        khq{"Koyra Chiini"}
        ki{"Kikuyu"}
        kk{"Kazaks"}
        kl{"Kalaallisut"}
        kln{"Kalenjin"}
        km{"Khmer"}
        kn{"Kannada"}
        ko{"Koreaans"}
        koi{"Komi-Permyaks"}
        kok{"Konkani"}
        ks{"Kasjmirs"}
        ksb{"Shambala"}
        ksf{"Bafia"}
        ku{"Koerdies"}
        kw{"Kornies"}
        ky{"Kirgisies"}
        la{"Latyn"}
        lag{"Langi"}
        lb{"Luxemburgs"}
        lg{"Ganda"}
        lkt{"Lakota"}
        ln{"Lingaals"}
        lo{"Lao"}
        loz{"Lozi"}
        lrc{"Noord-Luri"}
        lt{"Litaus"}
        lu{"Luba-Katanga"}
        lua{"Luba-Lulua"}
        luo{"Luo"}
        luy{"Luyia"}
        lv{"Letties"}
        mas{"Masai"}
        mer{"Meru"}
        mfe{"Morisjen"}
        mg{"Malgassies"}
        mgh{"Makhuwa-Meetto"}
        mgo{"Meta’"}
        mi{"Maori"}
        mk{"Masedonies"}
        ml{"Malabaars"}
        mn{"Mongools"}
        moh{"Mohawk"}
        mr{"Marathi"}
        ms{"Maleis"}
        mt{"Maltees"}
        mua{"Mundang"}
        mul{"Veelvuldige tale"}
        my{"Birmaans"}
        mzn{"Masanderani"}
        naq{"Nama"}
        nb{"Noorse Bokmål"}
        nd{"Noord-Ndebele"}
        nds{"Lae Duits"}
        nds_NL{"Nedersaksies"}
        ne{"Nepalees"}
        nl{"Nederlands"}
        nl_BE{"Vlaams"}
        nmg{"Kwasio"}
        nn{"Noorweegse Nynorsk"}
        nqo{"N’Ko"}
        nr{"Suid-Ndebele"}
        nso{"Noord-Sotho"}
        nus{"Nuer"}
        ny{"Nyanja"}
        nyn{"Nyankole"}
        oc{"Oksitaans"}
        om{"Oromo"}
        or{"Oriya"}
        os{"Osseties"}
        pa{"Pandjabi"}
        pl{"Pools"}
        ps{"Pasjto"}
        pt{"Portugees"}
        qu{"Quechua"}
        quc{"K’iche’"}
        rm{"Reto-Romaans"}
        rn{"Rundi"}
        ro{"Roemeens"}
        ro_MD{"Moldawies"}
        rof{"Rombo"}
        ru{"Russies"}
        rw{"Rwandees"}
        rwk{"Rwa"}
        sa{"Sanskrit"}
        saq{"Samburu"}
        sbp{"Sangu"}
        sd{"Sindhi"}
        sdh{"Suid-Koerdies"}
        se{"Noord-Sami"}
        seh{"Sena"}
        ses{"Koyraboro Senni"}
        sg{"Sango"}
        shi{"Tachelhit"}
        si{"Sinhala"}
        sk{"Slowaaks"}
        sl{"Sloweens"}
        sm{"Samoaans"}
        sma{"Suid-Sami"}
        smj{"Lule Sami"}
        smn{"Inari Sami"}
        sms{"Skolt Sami"}
        sn{"Shona"}
        so{"Somalies"}
        sq{"Albanees"}
        sr{"Serwies"}
        ss{"Swazi"}
        st{"Suid-Sotho"}
        su{"Sundanees"}
        sv{"Sweeds"}
        sw{"Swahili"}
        sw_CD{"Swahili (Kongo)"}
        ta{"Tamil"}
        te{"Teloegoe"}
        teo{"Teso"}
        tet{"Tetum"}
        tg{"Tadzjieks"}
        th{"Thai"}
        ti{"Tigrinya"}
        tk{"Turkmeens"}
        tlh{"Klingon"}
        tn{"Tswana"}
        to{"Tongaans"}
        tpi{"Tok Pisin"}
        tr{"Turks"}
        ts{"Tsonga"}
        tt{"Tataars"}
        tum{"Toemboeka"}
        twq{"Tasawaq"}
        ty{"Tahities"}
        tzm{"Sentraal Atlas Tamazight"}
        ug{"Uighur"}
        uk{"Oekraïens"}
        und{"Onbekende of ongeldige taal"}
        ur{"Oerdoe"}
        uz{"Oezbeeks"}
        vai{"Vai"}
        ve{"Venda"}
        vi{"Viëtnamees"}
        vun{"Vunjo"}
        wbp{"Warlpiri"}
        wo{"Wolof"}
        xh{"Xhosa"}
        xog{"Soga"}
        yi{"Jiddisj"}
        yo{"Yoruba"}
        zgh{"Standaard Marokkaanse Tamazight"}
        zh{"Sjinees"}
        zu{"Zoeloe"}
        zxx{"Geen linguistiese inhoud"}
    }
    Languages%short{
        az{"Azeri"}
        en_GB{"Engels (VK)"}
        en_US{"Engels (VSA)"}
    }
    Languages%variant{
        ps{"Pushto"}
    }
    Scripts{
        Arab{"Arabies"}
        Armn{"Armeens"}
        Beng{"Bengaals"}
        Bopo{"Bopomofo"}
        Brai{"Braille"}
        Cyrl{"Sirillies"}
        Deva{"Devanagari"}
        Ethi{"Etiopies"}
        Geor{"Georgies"}
        Grek{"Grieks"}
        Gujr{"Gudjarati"}
        Guru{"Gurmukhi"}
        Hang{"Hangul"}
        Hani{"Han"}
        Hans{"Vereenvoudig"}
        Hant{"Tradisioneel"}
        Hebr{"Hebreeus"}
        Hira{"Hiragana"}
        Jamo{"Jamo"}
        Jpan{"Japannees"}
        Kana{"Katakana"}
        Khmr{"Khmer"}
        Knda{"Kannada"}
        Kore{"Koreaans"}
        Laoo{"Lao"}
        Latn{"Latyn"}
        Mlym{"Malabaars"}
        Mong{"Mongools"}
        Mymr{"Mianmar"}
        Orya{"Oriya"}
        Sinh{"Sinhala"}
        Taml{"Tamil"}
        Telu{"Teloegoe"}
        Thaa{"Thaana"}
        Thai{"Thai"}
        Tibt{"Tibettaans"}
        Zsym{"Simbole"}
        Zxxx{"Ongeskrewe"}
        Zyyy{"Algemeen"}
        Zzzz{"Onbekende skryfstelsel"}
    }
    Scripts%stand-alone{
        Hans{"Vereenvoudigde Han"}
        Hant{"Tradisionele Han"}
    }
    Scripts%variant{
        Arab{"Perso-Arabies"}
    }
    Types{
        calendar{
            buddhist{"Boeddhistiese kalender"}
            chinese{"Sjinese kalender"}
            coptic{"Koptiese kalender"}
            dangi{"Dangi-kalender"}
            ethiopic{"Ethiopiese kalender"}
            ethiopic-amete-alem{"Etiopiese Amete Alem-kalender"}
            gregorian{"Gregoriese kalender"}
            hebrew{"Hebreeuse kalender"}
            indian{"Indiese nasionale kalender"}
            islamic{"Islamitiese kalender"}
            islamic-civil{"Islamitiese siviele kalender"}
            iso8601{"ISO-8601-kalender"}
            japanese{"Japannese kalender"}
            persian{"Persiese kalender"}
            roc{"Minguo-kalender"}
        }
        colAlternate{
            non-ignorable{"Sorteer simbole"}
            shifted{"Sorteer ignoreersimbole"}
        }
        colBackwards{
            no{"Sorteer aksente gewoonweg"}
            yes{"Sorteer aksente omgekeerd"}
        }
        colCaseFirst{
            lower{"Sorteer kleinletters veerste"}
            no{"Sorteer gewone letterorde"}
            upper{"Sorteer hoofletters eerste"}
        }
        colCaseLevel{
            no{"Sorteer nie kassensitief nie"}
            yes{"Sorteer kassensitief"}
        }
        colNormalization{
            no{"Sorteer sonder normalisering"}
            yes{"Sorteer Unicode genormaliseer"}
        }
        colNumeric{
            no{"Sorteer syfers individueel"}
            yes{"Sorteer syfers numeries"}
        }
        colStrength{
            identical{"Sorteer almal"}
            primary{"Sorteer slegs basisletters"}
            quaternary{"Sorteer aksente/kas/breedte/Kana"}
            secondary{"Sorteer aksente"}
            tertiary{"Sorteer aksente/kas/breedte"}
        }
        collation{
            big5han{"Tradisionele Chinese sorteervolgorde - Groot5"}
            dictionary{"Woordeboek-sorteervolgorde"}
            ducet{"Verstek Unicode-sorteervolgorde"}
            gb2312han{"Vereenvoudigde Chinese sorteervolgorde - GB2312"}
            phonebook{"Foonboek-sorteervolgorde"}
            phonetic{"Fonetiese sorteerorde"}
            pinyin{"Pinyin-sorteervolgorde"}
            reformed{"Gereformeerde sorteervolgorde"}
            search{"Algemenedoel-soektog"}
            searchjl{"Soek volgens Hangul-beginkonsonant"}
            standard{"Standaard sorteervolgorde"}
            stroke{"Slag-sorteervolgorde"}
            traditional{"Tradisionele sorteervolgorde"}
            unihan{"Radikale-slag-sorteervolgorde"}
        }
        d0{
            fwidth{"Vollewydte"}
            hwidth{"halfwydte"}
            npinyin{"Numeries"}
        }
        hc{
            h11{"12-uur-stelsel (0-11)"}
            h12{"112-uur-stelsel (1-12)"}
            h23{"24-uur-stelsel"}
            h24{"24-uur-stelsel (1-24)"}
        }
        lb{
            loose{"Los reëlbreek-styl"}
            normal{"Normale reëlbreek-styl"}
            strict{"Streng reëlbreek-styl"}
        }
        m0{
            bgn{"BGN"}
            ungegn{"UNGEGN"}
        }
        ms{
            metric{"Metriese stelsel"}
            uksystem{"Imperiale meetstelsel"}
            ussystem{"VS-meetstelsel"}
        }
        numbers{
            arab{"Arabies-Indiese syfers"}
            arabext{"Uitgebreide Arabies-Indiese syfers"}
            armn{"Armeense syfers"}
            armnlow{"Armeense kleinletter-syfers"}
            beng{"Bengaalse syfers"}
            deva{"Devanagari-syfers"}
            ethi{"Ethiopiese syfers"}
            finance{"Finansiële syfers"}
            fullwide{"Vollewydte-syfers"}
            geor{"Georgiese syfers"}
            grek{"Griekse syfers"}
            greklow{"Griekse kleinletter-syfers"}
            gujr{"Goedjarati-syfers"}
            guru{"Gurmukhi-syfers"}
            hanidec{"Chinese desimale syfers"}
            hans{"Vereenvoudigde Sjinese syfers"}
            hansfin{"Vereenvoudigde Sjinese finansiële syfers"}
            hant{"Tradisionele Sjinese syfers"}
            hantfin{"Tradisionele Sjinese finansiële syfers"}
            hebr{"Hebreeuse syfers"}
            jpan{"Japannese syfers"}
            jpanfin{"Japannese finansiële syfers"}
            khmr{"Khmer-syfers"}
            knda{"Kannada-syfers"}
            laoo{"Lao-syfers"}
            latn{"Westerse syfers"}
            mlym{"Malabaarse syfers"}
            mong{"Mongoliese syfers"}
            mymr{"Mianmar-syfers"}
            native{"Inheemse syfers"}
            orya{"Oriya-syfers"}
            roman{"Romeinse syfers"}
            romanlow{"Romeinse kleinletter-syfers"}
            taml{"Tradisionele Tamil-syfers"}
            tamldec{"Tamil-syfers"}
            telu{"Teloegoe-syfers"}
            thai{"Thaise syfers"}
            tibt{"Tibettaanse syfers"}
            traditional{"Tradisionele syfers"}
            vaii{"Vai-syfers"}
        }
    }
    Version{"2.1.26.0"}
    codePatterns{
        language{"Taal: {0}"}
        script{"Skrif: {0}"}
        territory{"Streek: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
