﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/af.xml
// *
// ***************************************************************************
af{
    Keys{
        calendar{"Kalender"}
        colAlternate{"Ignoreer simboolsortering"}
        colBackwards{"Omgekeerde aksentsortering"}
        colCaseFirst{"Hoofletters/kleinletters-sortering"}
        colCaseLevel{"Kassensitiewe sortering"}
        colHiraganaQuaternary{"Kana-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"}
        variableTop{"Sorteer as simbole"}
        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"}
        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"}
        }
        colHiraganaQuaternary{
            no{"Sorteer Kana afsonderlik"}
            yes{"Sorteer Kana anders"}
        }
        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"}
        }
        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"}
        }
        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.22.93"}
    codePatterns{
        language{"Taal: {0}"}
        script{"Skrif: {0}"}
        territory{"Streek: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
