﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/af.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <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"}
        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{"Wit-Russies"}
        bem{"Bemba"}
        bez{"Bena"}
        bg{"Bulgaars"}
        bm{"Bambara"}
        bn{"Bengaals"}
        bo{"Tibettaans"}
        br{"Bretons"}
        brx{"Bodo"}
        bs{"Bosnies"}
        ca{"Katalaans"}
        cgg{"Sjiga"}
        chr{"Cherokees"}
        ckb{"Sorani Koerdies"}
        co{"Korsikaans"}
        cs{"Tsjeggies"}
        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"}
        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"}
        naq{"Nama"}
        nb{"Noorse Bokmål"}
        nd{"Noord-Ndebele"}
        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"}
        se{"Noordelike 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"}
        swc{"Swahili (Kongo)"}
        ta{"Tamil"}
        te{"Telugu"}
        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"}
        wo{"Wolof"}
        xh{"Xhosa"}
        xog{"Soga"}
        yi{"Jiddisj"}
        yo{"Yoruba"}
        zgh{"Standaard Marokkaanse Tamazight"}
        zh{"Sjinees"}
        zu{"Zoeloe"}
        zxx{"Geen linguistiese inhoud"}
    }
    Languages%variant{
        ps{"Pushto"}
    }
    LanguagesShort{
        az{"Azeri"}
        en_GB{"Engels (VK)"}
        en_US{"Engels (VSA)"}
    }
    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{"Telugu"}
        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"}
        }
        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 Chinese syfers"}
            hansfin{"Vereenvoudigde Chinese finansiële syfers"}
            hant{"Tradisionele Chinese syfers"}
            hantfin{"Tradisionele Chinese 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{"Telugu-syfers"}
            thai{"Thaise syfers"}
            tibt{"Tibettaanse syfers"}
            traditional{"Tradisionele syfers"}
            vaii{"Vai-syfers"}
        }
    }
    Version{"2.1.8.9"}
    codePatterns{
        language{"Taal: {0}"}
        script{"Skrif: {0}"}
        territory{"Streek: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
