﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/hu.xml
// *
// ***************************************************************************
hu{
    Keys{
        calendar{"Naptár"}
        colAlternate{"Szimbólumokat figyelmen kívül hagyó rendezés"}
        colBackwards{"Ékezetek fordított rendezése"}
        colCaseFirst{"Rendezés nagy- vagy kisbetűk szerint"}
        colCaseLevel{"Kisbetű-nagybetű érzékeny rendezés"}
        colHiraganaQuaternary{"Kanák szerinti rendezés"}
        colNormalization{"Normalizált rendezés"}
        colNumeric{"Numerikus rendezés"}
        colStrength{"Rendezés erőssége"}
        collation{"Rendezési sorrend"}
        currency{"Pénznem"}
        hc{"Óraformátum (12 – 24)"}
        lb{"Sortörés stílusa"}
        ms{"Mértékegységrendszer"}
        numbers{"Számok"}
        timezone{"Időzóna"}
        va{"Földrajzi helyvariáns"}
        variableTop{"Rendezés szimbólumok szerint"}
        x{"Privát használatra"}
    }
    Languages{
        aa{"afar"}
        ab{"abház"}
        ace{"achinéz"}
        ach{"akoli"}
        ada{"adangme"}
        ady{"adyghe"}
        ae{"avesztán"}
        af{"afrikaans"}
        afh{"afrihili"}
        agq{"agem"}
        ain{"ainu"}
        ak{"akan"}
        akk{"akkád"}
        ale{"aleut"}
        alt{"dél-altaji"}
        am{"amhara"}
        an{"aragonéz"}
        ang{"óangol"}
        anp{"angika"}
        ar{"arab"}
        ar_001{"modern szabányos arab"}
        arc{"arámi"}
        arn{"araucani"}
        arp{"arapaho"}
        arw{"aravak"}
        as{"asszámi"}
        asa{"asu"}
        ast{"asztúr"}
        av{"avar"}
        awa{"awádi"}
        ay{"ajmara"}
        az{"azerbajdzsáni"}
        ba{"baskír"}
        bal{"balucsi"}
        ban{"balinéz"}
        bas{"basza"}
        bax{"bamun"}
        bbj{"gomala"}
        be{"belorusz"}
        bej{"bedzsa"}
        bem{"bemba"}
        bez{"bena"}
        bfd{"bafut"}
        bg{"bolgár"}
        bgn{"nyugati beludzs"}
        bho{"bodzspuri"}
        bi{"bislama"}
        bik{"bikol"}
        bin{"bini"}
        bkm{"kom"}
        bla{"siksika"}
        bm{"bambara"}
        bn{"bengáli"}
        bo{"tibeti"}
        br{"breton"}
        bra{"braj"}
        brx{"bodo"}
        bs{"bosnyák"}
        bss{"koszi"}
        bua{"burját"}
        bug{"buginéz"}
        bum{"bulu"}
        byn{"blin"}
        byv{"medumba"}
        ca{"katalán"}
        cad{"caddo"}
        car{"karib"}
        cay{"kajuga"}
        cch{"atszam"}
        ce{"csecsen"}
        ceb{"cebui"}
        cgg{"kiga"}
        ch{"csamoró"}
        chb{"csibcsa"}
        chg{"csagatáj"}
        chk{"csukéz"}
        chm{"mari"}
        chn{"csinuk zsargon"}
        cho{"csoktó"}
        chp{"csipevé"}
        chr{"cseroki"}
        chy{"csejen"}
        ckb{"szoráni kurd"}
        co{"korzikai"}
        cop{"kopt"}
        cr{"krí"}
        crh{"krími tatár"}
        cs{"cseh"}
        csb{"kasub"}
        cu{"egyházi szláv"}
        cv{"csuvas"}
        cy{"walesi"}
        da{"dán"}
        dak{"dakota"}
        dar{"dargva"}
        dav{"taita"}
        de{"német"}
        de_AT{"osztrák német"}
        de_CH{"svájci felnémet"}
        del{"delavár"}
        den{"szlevi"}
        dgr{"dogrib"}
        din{"dinka"}
        dje{"zarma"}
        doi{"dogri"}
        dsb{"alsó szorb"}
        dua{"duala"}
        dum{"közép holland"}
        dv{"divehi"}
        dyo{"jola-fonyi"}
        dyu{"diula"}
        dz{"butáni"}
        dzg{"dazaga"}
        ebu{"embu"}
        ee{"eve"}
        efi{"efik"}
        egy{"óegyiptomi"}
        eka{"ekadzsuk"}
        el{"görög"}
        elx{"elamit"}
        en{"angol"}
        en_AU{"ausztrál angol"}
        en_CA{"kanadai angol"}
        en_GB{"brit angol"}
        en_US{"amerikai angol"}
        enm{"közép angol"}
        eo{"eszperantó"}
        es{"spanyol"}
        es_419{"latin-amerikai spanyol"}
        es_ES{"európai spanyol"}
        es_MX{"spanyol (mexikói)"}
        et{"észt"}
        eu{"baszk"}
        ewo{"evondo"}
        fa{"perzsa"}
        fan{"fang"}
        fat{"fanti"}
        ff{"fulani"}
        fi{"finn"}
        fil{"filippínó"}
        fj{"fidzsi"}
        fo{"feröeri"}
        fon{"fon"}
        fr{"francia"}
        fr_CA{"kanadai francia"}
        fr_CH{"svájci francia"}
        frm{"közép francia"}
        fro{"ófrancia"}
        frr{"északi fríz"}
        frs{"keleti fríz"}
        fur{"friuli"}
        fy{"fríz"}
        ga{"ír"}
        gaa{"ga"}
        gag{"gagauz"}
        gay{"gajo"}
        gba{"gbaja"}
        gd{"skót gael"}
        gez{"geez"}
        gil{"ikiribati"}
        gl{"galíciai"}
        gmh{"közép felső német"}
        gn{"guarani"}
        goh{"ófelső német"}
        gon{"gondi"}
        gor{"gorontalo"}
        got{"gót"}
        grb{"grebó"}
        grc{"ógörög"}
        gsw{"svájci német"}
        gu{"gudzsarati"}
        guz{"guszii"}
        gv{"man-szigeti"}
        gwi{"gvicsin"}
        ha{"hausza"}
        hai{"haida"}
        haw{"hawaii"}
        he{"héber"}
        hi{"hindi"}
        hil{"hiligajnon"}
        hit{"hittite"}
        hmn{"hmong"}
        ho{"hiri motu"}
        hr{"horvát"}
        hsb{"felső szorb"}
        ht{"haiti"}
        hu{"magyar"}
        hup{"hupa"}
        hy{"örmény"}
        hz{"herero"}
        ia{"interlingva"}
        iba{"iban"}
        ibb{"ibibió"}
        id{"indonéz"}
        ie{"interlingue"}
        ig{"igbó"}
        ii{"szecsuán ji"}
        ik{"inupiak"}
        ilo{"ilokó"}
        inh{"ingus"}
        io{"idó"}
        is{"izlandi"}
        it{"olasz"}
        iu{"inuktitut"}
        ja{"japán"}
        jbo{"lojban"}
        jgo{"ngomba"}
        jmc{"machame"}
        jpr{"zsidó-perzsa"}
        jrb{"zsidó-arab"}
        jv{"jávai"}
        ka{"grúz"}
        kaa{"kara-kalpak"}
        kab{"kabije"}
        kac{"kacsin"}
        kaj{"jju"}
        kam{"kamba"}
        kaw{"kawi"}
        kbd{"kabardi"}
        kbl{"kanembu"}
        kcg{"tyap"}
        kde{"makonde"}
        kea{"kabuverdianu"}
        kfo{"koro"}
        kg{"kongo"}
        kha{"kaszi"}
        kho{"kotanéz"}
        khq{"kojra-csíni"}
        ki{"kikuju"}
        kj{"kuanyama"}
        kk{"kazah"}
        kkj{"kakó"}
        kl{"grönlandi"}
        kln{"kalendzsin"}
        km{"kambodzsai"}
        kmb{"kimbundu"}
        kn{"kannada"}
        ko{"koreai"}
        koi{"komi-permják"}
        kok{"konkani"}
        kos{"kosrei"}
        kpe{"kpelle"}
        kr{"kanuri"}
        krc{"karacsáj-balkár"}
        krl{"karelai"}
        kru{"kuruh"}
        ks{"kásmíri"}
        ksb{"sambala"}
        ksf{"bafia"}
        ksh{"kölsch"}
        ku{"kurd"}
        kum{"kumük"}
        kut{"kutenai"}
        kv{"komi"}
        kw{"korni"}
        ky{"kirgiz"}
        la{"latin"}
        lad{"ladino"}
        lag{"langi"}
        lah{"lahnda"}
        lam{"lamba"}
        lb{"luxemburgi"}
        lez{"lezg"}
        lg{"ganda"}
        li{"limburgi"}
        lkt{"lakota"}
        ln{"lingala"}
        lo{"laoszi"}
        lol{"mongó"}
        loz{"lozi"}
        lrc{"északi luri"}
        lt{"litván"}
        lu{"luba-katanga"}
        lua{"luba-lulua"}
        lui{"luiseno"}
        lun{"lunda"}
        luo{"luo"}
        lus{"lushai"}
        luy{"lujia"}
        lv{"lett"}
        mad{"madurai"}
        maf{"mafa"}
        mag{"magahi"}
        mai{"maithili"}
        mak{"makaszar"}
        man{"mandingó"}
        mas{"masai"}
        mde{"maba"}
        mdf{"moksán"}
        mdr{"mandar"}
        men{"mende"}
        mer{"meru"}
        mfe{"mauritiusi kreol"}
        mg{"málgas"}
        mga{"közép ír"}
        mgh{"makua-metó"}
        mgo{"meta’"}
        mh{"marshalli"}
        mi{"maori"}
        mic{"mikmak"}
        min{"minangkabau"}
        mk{"macedón"}
        ml{"malajálam"}
        mn{"mongol"}
        mnc{"mandzsu"}
        mni{"manipuri"}
        moh{"mohawk"}
        mos{"moszi"}
        mr{"marathi"}
        ms{"maláj"}
        mt{"máltai"}
        mua{"mundang"}
        mul{"többszörös nyelvek"}
        mus{"krík"}
        mwl{"mirandéz"}
        mwr{"marvari"}
        my{"burmai"}
        mye{"myene"}
        myv{"erzjány"}
        mzn{"mázanderáni"}
        na{"naurui"}
        nap{"nápolyi"}
        naq{"nama"}
        nb{"norvég bokmal"}
        nd{"északi ndebele"}
        nds{"alsónémet"}
        nds_NL{"alsószász"}
        ne{"nepáli"}
        new{"nevari"}
        ng{"ndonga"}
        nia{"nias"}
        niu{"niui"}
        nl{"holland"}
        nl_BE{"flamand"}
        nmg{"ngumba"}
        nn{"norvég nynorsk"}
        nnh{"ngiemboon"}
        no{"norvég"}
        nog{"nogaj"}
        non{"óskandináv"}
        nqo{"n’kó"}
        nr{"déli ndebele"}
        nso{"északi szotó"}
        nus{"nuer"}
        nv{"navahó"}
        nwc{"klasszikus newari"}
        ny{"nyanja"}
        nym{"nyamvézi"}
        nyn{"nyankole"}
        nyo{"nyoró"}
        nzi{"nzima"}
        oc{"okszitán"}
        oj{"ojibva"}
        om{"oromói"}
        or{"orija"}
        os{"oszét"}
        osa{"osage"}
        ota{"ottomán török"}
        pa{"pandzsábi"}
        pag{"pangaszinan"}
        pal{"pahlavi"}
        pam{"pampangan"}
        pap{"papiamentó"}
        pau{"palaui"}
        peo{"óperzsa"}
        phn{"főniciai"}
        pi{"pali"}
        pl{"lengyel"}
        pon{"pohnpei"}
        pro{"óprovánszi"}
        ps{"pastu"}
        pt{"portugál"}
        pt_BR{"brazíliai portugál"}
        pt_PT{"európai portugál"}
        qu{"kecsua"}
        quc{"kicse"}
        raj{"radzsasztáni"}
        rap{"rapanui"}
        rar{"rarotongai"}
        rm{"réto-román"}
        rn{"kirundi"}
        ro{"román"}
        ro_MD{"moldvai"}
        rof{"rombo"}
        rom{"roma"}
        root{"ősi"}
        ru{"orosz"}
        rup{"aromán"}
        rw{"kiruanda"}
        rwk{"rwo"}
        sa{"szanszkrit"}
        sad{"szandave"}
        sah{"jakut"}
        sam{"szamaritánus arámi"}
        saq{"szamburu"}
        sas{"sasak"}
        sat{"szantáli"}
        sba{"ngambay"}
        sbp{"szangu"}
        sc{"szardíniai"}
        scn{"szicíliai"}
        sco{"skót"}
        sd{"szindhi"}
        sdh{"dél-kurd"}
        se{"északi számi"}
        see{"szeneka"}
        seh{"szena"}
        sel{"szölkup"}
        ses{"kojra-szenni"}
        sg{"szangó"}
        sga{"óír"}
        sh{"szerbhorvát"}
        shi{"tachelhit"}
        shn{"san"}
        shu{"csádi arab"}
        si{"szingaléz"}
        sid{"szidamó"}
        sk{"szlovák"}
        sl{"szlovén"}
        sm{"szamoai"}
        sma{"déli számi"}
        smj{"lule számi"}
        smn{"inar sami"}
        sms{"koltta lapp"}
        sn{"sona"}
        snk{"szoninke"}
        so{"szomáliai"}
        sog{"sogdien"}
        sq{"albán"}
        sr{"szerb"}
        srn{"szranai tongó"}
        srr{"szerer"}
        ss{"sziszuati"}
        ssy{"szahó"}
        st{"szeszotó"}
        su{"szundanéz"}
        suk{"szukuma"}
        sus{"szuszu"}
        sux{"sumér"}
        sv{"svéd"}
        sw{"szuahéli"}
        swb{"comorei"}
        swc{"kongói szuahéli"}
        syc{"klasszikus szír"}
        syr{"szíriai"}
        ta{"tamil"}
        te{"telugu"}
        tem{"temne"}
        teo{"teszó"}
        ter{"terenó"}
        tet{"tetum"}
        tg{"tadzsik"}
        th{"thai"}
        ti{"tigrinja"}
        tig{"tigré"}
        tiv{"tiv"}
        tk{"türkmén"}
        tkl{"tokelaui"}
        tl{"tagalog"}
        tlh{"klingon"}
        tli{"tlingit"}
        tmh{"tamasek"}
        tn{"szecsuáni"}
        to{"tonga"}
        tog{"nyasa tonga"}
        tpi{"tok pisin"}
        tr{"török"}
        trv{"tarokó"}
        ts{"conga"}
        tsi{"csimsiáni"}
        tt{"tatár"}
        tum{"tumbuka"}
        tvl{"tuvalu"}
        tw{"twi"}
        twq{"szavák"}
        ty{"tahiti"}
        tyv{"tuvai"}
        tzm{"közép-marokkói tamazigt"}
        udm{"udmurt"}
        ug{"ujgur"}
        uga{"ugariti"}
        uk{"ukrán"}
        umb{"umbundu"}
        und{"ismeretlen nyelv"}
        ur{"urdu"}
        uz{"üzbég"}
        vai{"vai"}
        ve{"venda"}
        vi{"vietnami"}
        vo{"volapük"}
        vot{"votják"}
        vun{"vunjo"}
        wa{"vallon"}
        wae{"walser"}
        wal{"valamo"}
        war{"varaó"}
        was{"vasó"}
        wbp{"warlpiri"}
        wo{"volof"}
        xal{"kalmük"}
        xh{"hosza"}
        xog{"szoga"}
        yao{"jaó"}
        yap{"japi"}
        yav{"jangben"}
        ybb{"jemba"}
        yi{"jiddis"}
        yo{"joruba"}
        yue{"kantoni"}
        za{"zsuang"}
        zap{"zapoték"}
        zbl{"Bliss jelképrendszer"}
        zen{"zenaga"}
        zgh{"marokkói tamazight"}
        zh{"kínai"}
        zh_Hans{"egyszerűsített kínai"}
        zh_Hant{"hagyományos kínai"}
        zu{"zulu"}
        zun{"zuni"}
        zxx{"nincs nyelvészeti tartalom"}
        zza{"zaza"}
    }
    Languages%short{
        az{"azeri"}
        en_GB{"angol (UK)"}
        en_US{"angol (USA)"}
    }
    Scripts{
        Arab{"Arab"}
        Armi{"Birodalmi arámi"}
        Armn{"Örmény"}
        Avst{"Avesztán"}
        Bali{"Balinéz"}
        Batk{"Batak"}
        Beng{"Bengáli"}
        Blis{"Bliss jelképrendszer"}
        Bopo{"Bopomofo"}
        Brah{"Brámi"}
        Brai{"Vakírás"}
        Bugi{"Buginéz"}
        Buhd{"Buhid"}
        Cakm{"Csakma"}
        Cans{"Egyesített kanadai őslakos jelek"}
        Cari{"Kari"}
        Cham{"Csám"}
        Cher{"Cseroki"}
        Copt{"Kopt"}
        Cprt{"Ciprusi"}
        Cyrl{"Cirill"}
        Cyrs{"Óegyházi szláv cirill"}
        Deva{"Devanagári"}
        Dsrt{"Deseret"}
        Egyd{"Egyiptomi demotikus"}
        Egyh{"Egyiptomi hieratikus"}
        Egyp{"Egyiptomi hieroglifák"}
        Ethi{"Etióp"}
        Geok{"Grúz kucsuri"}
        Geor{"Grúz"}
        Glag{"Glagolitikus"}
        Goth{"Gót"}
        Grek{"Görög"}
        Gujr{"Gudzsaráti"}
        Guru{"Gurmuki"}
        Hang{"Hangul"}
        Hani{"Han"}
        Hano{"Hanunoo"}
        Hans{"Egyszerűsített"}
        Hant{"Hagyományos"}
        Hebr{"Héber"}
        Hira{"Hiragana"}
        Hmng{"Pahawh hmong"}
        Hrkt{"Katakana vagy hiragana"}
        Hung{"Ómagyar"}
        Inds{"Indus"}
        Ital{"Régi olasz"}
        Java{"Jávai"}
        Jpan{"Japán"}
        Kali{"Kajah li"}
        Kana{"Katakana"}
        Khar{"Kharoshthi"}
        Khmr{"Khmer"}
        Knda{"Kannada"}
        Kore{"Koreai"}
        Kthi{"Kaithi"}
        Lana{"Lanna"}
        Laoo{"Lao"}
        Latf{"Fraktur latin"}
        Latg{"Gael latin"}
        Latn{"Latin"}
        Lepc{"Lepcha"}
        Limb{"Limbu"}
        Lina{"Lineáris A"}
        Linb{"Lineáris B"}
        Lyci{"Líciai"}
        Lydi{"Lídiai"}
        Mand{"Mandai"}
        Mani{"Manicheus"}
        Maya{"Maja hieroglifák"}
        Mero{"Meroitikus"}
        Mlym{"Malajálam"}
        Mong{"Mongol"}
        Moon{"Moon"}
        Mtei{"Meitei mayek"}
        Mymr{"Burmai"}
        Nkoo{"N’ko"}
        Ogam{"Ogham"}
        Olck{"Ol chiki"}
        Orkh{"Orhon"}
        Orya{"Oriya"}
        Osma{"Oszmán"}
        Perm{"Ópermikus"}
        Phag{"Phags-pa"}
        Phli{"Felriatos pahlavi"}
        Phlp{"Psalter pahlavi"}
        Phlv{"Könyv pahlavi"}
        Phnx{"Főniciai"}
        Plrd{"Pollard fonetikus"}
        Prti{"Feliratos parthian"}
        Rjng{"Redzsang"}
        Roro{"Rongorongo"}
        Runr{"Runikus"}
        Samr{"Szamaritán"}
        Sara{"Szarati"}
        Saur{"Szaurastra"}
        Sgnw{"Jelírás"}
        Shaw{"Shaw ábécé"}
        Sinh{"Szingaléz"}
        Sund{"Szundanéz"}
        Sylo{"Sylheti nagári"}
        Syrc{"Szíriai"}
        Syre{"Estrangelo szíriai"}
        Syrj{"Nyugat-szíriai"}
        Syrn{"Kelet-szíriai"}
        Tagb{"Tagbanwa"}
        Tale{"Tai Le"}
        Talu{"Új tai lue"}
        Taml{"Tamil"}
        Tavt{"Tai viet"}
        Telu{"Telugu"}
        Teng{"Tengwar"}
        Tfng{"Berber"}
        Tglg{"Tagalog"}
        Thaa{"Thaana"}
        Thai{"Thai"}
        Tibt{"Tibeti"}
        Ugar{"Ugari"}
        Vaii{"Vai"}
        Visp{"Látható beszéd"}
        Xpeo{"Óperzsa"}
        Xsux{"Ékírásos suméro-akkád"}
        Yiii{"Ji"}
        Zinh{"Származtatott"}
        Zmth{"Matematikai jelrendszer"}
        Zsym{"Szimbólum"}
        Zxxx{"Íratlan nyelvek kódja"}
        Zyyy{"Meghatározatlan"}
        Zzzz{"Ismeretlen írásrendszer"}
    }
    Scripts%stand-alone{
        Hans{"Egyszerűsített kínai"}
        Hant{"Hagyományos kínai"}
    }
    Scripts%variant{
        Arab{"Perzsa-arab"}
    }
    Types{
        calendar{
            buddhist{"Buddhista naptár"}
            chinese{"Kínai naptár"}
            coptic{"Kopt naptár"}
            dangi{"Dangi naptár"}
            ethiopic{"Etióp naptár"}
            ethiopic-amete-alem{"Etióp amete alem naptár"}
            gregorian{"Gergely-naptár"}
            hebrew{"Héber naptár"}
            indian{"Indiai nemzeti naptár"}
            islamic{"Iszlám naptár"}
            islamic-civil{"Iszlám civil naptár"}
            iso8601{"ISO-8601 naptár"}
            japanese{"Japán naptár"}
            persian{"Perzsa naptár"}
            roc{"Kínai köztársasági naptár"}
        }
        colAlternate{
            non-ignorable{"Szimbólumok rendezése"}
            shifted{"Rendezés szimbólumok figyelmen kívül hagyásával"}
        }
        colBackwards{
            no{"Ékezetek normál rendezése"}
            yes{"Ékezetek szerinti fordított rendezés"}
        }
        colCaseFirst{
            lower{"Kisbetűs szavak rendezése előre"}
            no{"Kisbetűs-nagybetűs szavak normál rendezése"}
            upper{"Nagybetűs szavak rendezése előre"}
        }
        colCaseLevel{
            no{"Kis- és nagybetűket meg nem különböztető rendezés"}
            yes{"Rendezés kisbetű-nagybetű szerint"}
        }
        colHiraganaQuaternary{
            no{"Kanák rendezése külön"}
            yes{"Kanák megkülönböztető rendezése"}
        }
        colNormalization{
            no{"Rendezés normalizálás nélkül"}
            yes{"Unicode szerinti normalizált rendezés"}
        }
        colNumeric{
            no{"Számjegyek egyedi rendezése"}
            yes{"Számjegyek numerikus rendezése"}
        }
        colStrength{
            identical{"Összes rendezése"}
            primary{"Csak az alapbetűk rendezése"}
            quaternary{"Ékezetek/kisbetű-nagybetű/szélesség/kanák rendezése"}
            secondary{"Ékezetek rendezése"}
            tertiary{"Ékezetek/kisbetű-nagybetű/szélesség rendezése"}
        }
        collation{
            big5han{"Hagyományos kínai sorrend - Big5"}
            dictionary{"Szótári rendezési sorrend"}
            ducet{"Alapértelmezett Unicode rendezési sorrend"}
            gb2312han{"Egyszerűsített kínai sorrend - GB2312"}
            phonebook{"Telefonkönyv sorrend"}
            phonetic{"Fonetikus rendezési sorrend"}
            pinyin{"Pinyin sorrend"}
            reformed{"Átalakított rendezési elv"}
            search{"Általános célú keresés"}
            searchjl{"Keresés hangul kezdő mássalhangzó szerint"}
            standard{"Normál rendezési sorrend"}
            stroke{"Vonássorrend"}
            traditional{"Hagyományos"}
            unihan{"Szótővonás rendezési sorrend"}
        }
        hc{
            h11{"12 órás rendszer (0–11)"}
            h12{"12 órás rendszer (0–12)"}
            h23{"24 órás rendszer (0–23)"}
            h24{"24 órás rendszer (0–24)"}
        }
        lb{
            loose{"Tág stílusú sortörés"}
            normal{"Normál stílusú sortörés"}
            strict{"Szűk stílusú sortörés"}
        }
        ms{
            metric{"Méterrendszer"}
            uksystem{"Angolszász mértékegységrendszer"}
            ussystem{"Amerikai mértékegységrendszer"}
        }
        numbers{
            arab{"Arab-indiai számjegyek"}
            arabext{"Kibővített arab-indiai számjegyek"}
            armn{"Örmény számok"}
            armnlow{"Örmény kisbetűs számok"}
            beng{"Bengáli számjegyek"}
            deva{"Dévanágari számjegyek"}
            ethi{"Etióp számok"}
            finance{"Pénzügyi számok"}
            fullwide{"Teljes szélességű számjegyek"}
            geor{"Grúz számok"}
            grek{"Görög számok"}
            greklow{"Görög kisbetűs számok"}
            gujr{"Gudzsaráti számjegyek"}
            guru{"Gurmuki számjegyek"}
            hanidec{"Kínai tizedes számok"}
            hans{"Egyszerűsített kínai számok"}
            hansfin{"Egyszerűsített kínai pénzügyi számok"}
            hant{"Hagyományos kínai számok"}
            hantfin{"Hagyományos kínai pénzügyi számok"}
            hebr{"Héber számok"}
            jpan{"Japán számok"}
            jpanfin{"Japán pénzügyi számok"}
            khmr{"Khmer számjegyek"}
            knda{"Kannada számjegyek"}
            laoo{"Lao számjegyek"}
            latn{"Nyugati számjegyek"}
            mlym{"Malajálam számjegyek"}
            mong{"Mongol számjegyek"}
            mymr{"Mianmari számjegyek"}
            native{"Natív számjegyek"}
            orya{"Orija számjegyek"}
            roman{"Római számok"}
            romanlow{"Római kisbetűs számok"}
            taml{"Tamil hagyományos számok"}
            tamldec{"Tamil számjegyek"}
            telu{"Telugu számjegyek"}
            thai{"Thai számjegyek"}
            tibt{"Tibeti számjegyek"}
            traditional{"Hagyományos számok"}
            vaii{"Vai számjegyek"}
        }
    }
    Variants{
        1606NICT{"Késői közép francia 1606-ig"}
        1694ACAD{"Korai modern francia"}
        1901{"Hagyományos német helyesírás"}
        1959ACAD{"Akadémiai"}
        1994{"Szabványosított reziján helyesírás"}
        1996{"1996-os német helyesírás"}
        ALALC97{"ALA-LC romanizáció, 1997-es kiadás"}
        ALUKU{"Aluku dialektus"}
        AREVELA{"Keleti örmény"}
        AREVMDA{"Nyugati örmény"}
        BAKU1926{"Egyesített türkic latin ábécé"}
        BAUDDHA{"Bauddha"}
        BISCAYAN{"Biszkajan"}
        BISKE{"San Giorgo/Bila tájszólás"}
        BOONT{"Boontling"}
        FONIPA{"IPA fonetika"}
        FONUPA{"UPA fonetika"}
        FONXSAMP{"Fonxsamp"}
        HEPBURN{"Hepburn romanizáció"}
        HOGNORSK{"Hongorszk"}
        ITIHASA{"Itihasa"}
        JAUER{"Jauer"}
        JYUTPING{"Jyutping"}
        KKCOR{"Meghatározatlan helyesírás"}
        LAUKIKA{"Laukika"}
        LIPAW{"Reziján lipovaz tájszólás"}
        LUNA1918{"Luna1918"}
        MONOTON{"Monoton"}
        NDYUKA{"Ndyuka dialektus"}
        NEDIS{"Natisone dialektus"}
        NJIVA{"Gniva/Njiva tájszólás"}
        OSOJS{"Oseacco/Osojane tájszólás"}
        PAMAKA{"Pamaka dialektus"}
        PETR1708{"Petr1708"}
        PINYIN{"pinjin átírás"}
        POLYTON{"Politonikus"}
        POSIX{"Számítógép"}
        PUTER{"Puter"}
        REVISED{"Átdolgozott helyesírás"}
        ROZAJ{"Reziján"}
        RUMGR{"Rumgr"}
        SAAHO{"Saho"}
        SCOTLAND{"Skót szabványos angol"}
        SCOUSE{"Scouse"}
        SOLBA{"Stolvizza/Solbica tájszólás"}
        SURMIRAN{"Surmiran"}
        SURSILV{"Sursilv"}
        SUTSILV{"Sutsilv"}
        TARASK{"Taraskijevica helyesírás"}
        UCCOR{"Egyesített helyesírás"}
        UCRCOR{"Egyesített átdolgozott helyesírás"}
        ULSTER{"Ulster"}
        VAIDIKA{"Vaidika"}
        VALENCIA{"Valencia"}
        VALLADER{"Vallader"}
        WADEGILE{"Wade-Giles átírás"}
    }
    Version{"2.1.19.17"}
    codePatterns{
        language{"Nyelv: {0}"}
        script{"Írásrendszer: {0}"}
        territory{"Régió: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
