﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
ia{
    Keys{
        calendar{"calendario"}
        cf{"formato de moneta"}
        collation{"ordinamento"}
        currency{"moneta"}
        hc{"cyclo horari (12 o 24)"}
        lb{"stilo de salto de linea"}
        ms{"systema de mesura"}
        numbers{"numeros"}
    }
    Languages{
        aa{"afar"}
        ab{"abkhazo"}
        ace{"acehnese"}
        ada{"adangme"}
        ady{"adygeano"}
        af{"afrikaans"}
        agq{"aghem"}
        ain{"ainu"}
        ak{"akan"}
        ale{"aleuto"}
        alt{"altai del sud"}
        am{"amharico"}
        an{"aragonese"}
        anp{"angika"}
        ar{"arabe"}
        ar_001{"arabe standard moderne"}
        arn{"mapuche"}
        arp{"arapaho"}
        as{"assamese"}
        asa{"asu"}
        ast{"asturiano"}
        av{"avaro"}
        awa{"awadhi"}
        ay{"aymara"}
        az{"azerbaidzhano"}
        ba{"bashkir"}
        ban{"balinese"}
        bas{"basaa"}
        be{"bielorusso"}
        bem{"bemba"}
        bez{"bena"}
        bg{"bulgaro"}
        bho{"bhojpuri"}
        bi{"bislama"}
        bin{"bini"}
        bla{"siksika"}
        bm{"bambara"}
        bn{"bengalese"}
        bo{"tibetano"}
        br{"breton"}
        brx{"bodo"}
        bs{"bosniaco"}
        bug{"buginese"}
        byn{"blin"}
        ca{"catalano"}
        ce{"checheno"}
        ceb{"cebuano"}
        cgg{"chiga"}
        ch{"chamorro"}
        chk{"chuukese"}
        chm{"mari"}
        cho{"choctaw"}
        chr{"cherokee"}
        chy{"cheyenne"}
        ckb{"kurdo central"}
        co{"corso"}
        crs{"creolo seychellese"}
        cs{"checo"}
        cu{"slavo ecclesiastic"}
        cv{"chuvash"}
        cy{"gallese"}
        da{"danese"}
        dak{"dakota"}
        dar{"dargwa"}
        dav{"taita"}
        de{"germano"}
        de_AT{"germano austriac"}
        de_CH{"alte germano suisse"}
        dgr{"dogrib"}
        dje{"zarma"}
        dsb{"basse sorabo"}
        dua{"duala"}
        dv{"divehi"}
        dyo{"jola-fonyi"}
        dz{"dzongkha"}
        dzg{"dazaga"}
        ebu{"embu"}
        ee{"ewe"}
        efi{"efik"}
        eka{"ekajuk"}
        el{"greco"}
        en{"anglese"}
        en_AU{"anglese australian"}
        en_CA{"anglese canadian"}
        en_GB{"anglese britannic"}
        en_US{"anglese american"}
        eo{"esperanto"}
        es{"espaniol"}
        es_419{"espaniol latinoamerican"}
        es_ES{"espaniol europee"}
        es_MX{"espaniol mexican"}
        et{"estoniano"}
        eu{"basco"}
        ewo{"ewondo"}
        fa{"persa"}
        ff{"fula"}
        fi{"finnese"}
        fil{"filipino"}
        fj{"fijiano"}
        fo{"feroese"}
        fon{"fon"}
        fr{"francese"}
        fr_CA{"francese canadian"}
        fr_CH{"francese suisse"}
        fur{"friulano"}
        fy{"frison occidental"}
        ga{"irlandese"}
        gaa{"ga"}
        gd{"gaelico scotese"}
        gez{"ge’ez"}
        gil{"gilbertese"}
        gl{"galleco"}
        gn{"guarani"}
        gor{"gorontalo"}
        gsw{"germano suisse"}
        gu{"gujarati"}
        guz{"gusii"}
        gv{"mannese"}
        gwi{"gwich’in"}
        ha{"hausa"}
        haw{"hawaiano"}
        he{"hebreo"}
        hi{"hindi"}
        hil{"hiligaynon"}
        hmn{"hmong"}
        hr{"croato"}
        hsb{"alte sorabo"}
        ht{"creolo haitian"}
        hu{"hungaro"}
        hup{"hupa"}
        hy{"armeniano"}
        hz{"herero"}
        ia{"interlingua"}
        iba{"iban"}
        ibb{"ibibio"}
        id{"indonesiano"}
        ig{"igbo"}
        ii{"yi de Sichuan"}
        ilo{"ilocano"}
        inh{"ingush"}
        io{"ido"}
        is{"islandese"}
        it{"italiano"}
        iu{"inuktitut"}
        ja{"japonese"}
        jbo{"lojban"}
        jgo{"ngomba"}
        jmc{"machame"}
        jv{"javanese"}
        ka{"georgiano"}
        kab{"kabylo"}
        kac{"kachin"}
        kaj{"jju"}
        kam{"kamba"}
        kbd{"cabardiano"}
        kcg{"tyap"}
        kde{"makonde"}
        kea{"capoverdiano"}
        kfo{"koro"}
        kha{"khasi"}
        khq{"koyra chiini"}
        ki{"kikuyu"}
        kj{"kuanyama"}
        kk{"kazakh"}
        kkj{"kako"}
        kl{"groenlandese"}
        kln{"kalenjin"}
        km{"khmer"}
        kmb{"kimbundu"}
        kn{"kannada"}
        ko{"coreano"}
        kok{"konkani"}
        kpe{"kpelle"}
        kr{"kanuri"}
        krc{"karachay-balkaro"}
        krl{"careliano"}
        kru{"kurukh"}
        ks{"kashmiri"}
        ksb{"shambala"}
        ksf{"bafia"}
        ksh{"coloniese"}
        ku{"kurdo"}
        kum{"kumyko"}
        kv{"komi"}
        kw{"cornico"}
        ky{"kirghizo"}
        la{"latino"}
        lad{"ladino"}
        lag{"langi"}
        lb{"luxemburgese"}
        lez{"lezghiano"}
        lg{"luganda"}
        li{"limburgese"}
        lkt{"lakota"}
        ln{"lingala"}
        lo{"laotiano"}
        loz{"lozi"}
        lrc{"luri del nord"}
        lt{"lithuano"}
        lu{"luba-katanga"}
        lua{"luba-lulua"}
        lun{"lunda"}
        luo{"luo"}
        lus{"mizo"}
        luy{"luyia"}
        lv{"letton"}
        mad{"madurese"}
        mag{"magahi"}
        mai{"maithili"}
        mak{"macassarese"}
        mas{"masai"}
        mdf{"moksha"}
        men{"mende"}
        mer{"meri"}
        mfe{"creolo mauritian"}
        mg{"malgache"}
        mgh{"makhuwa-meetto"}
        mgo{"metaʼ"}
        mh{"marshallese"}
        mi{"maori"}
        mic{"micmac"}
        min{"minangkabau"}
        mk{"macedone"}
        ml{"malayalam"}
        mn{"mongol"}
        mni{"manipuri"}
        moh{"mohawk"}
        mos{"mossi"}
        mr{"marathi"}
        ms{"malay"}
        mt{"maltese"}
        mua{"mundang"}
        mul{"plure linguas"}
        mus{"creek"}
        mwl{"mirandese"}
        my{"birmano"}
        myv{"erzya"}
        mzn{"mazanderani"}
        na{"nauru"}
        nap{"napolitano"}
        naq{"nama"}
        nb{"norvegiano bokmål"}
        nd{"ndebele del nord"}
        ne{"nepalese"}
        new{"newari"}
        ng{"ndonga"}
        nia{"nias"}
        niu{"nieuano"}
        nl{"nederlandese"}
        nl_BE{"flamingo"}
        nmg{"kwasio"}
        nn{"norvegiano nynorsk"}
        nnh{"ngiemboon"}
        nog{"nogai"}
        nqo{"n’ko"}
        nr{"ndebele del sud"}
        nso{"sotho del nord"}
        nus{"nuer"}
        nv{"navajo"}
        ny{"nyanja"}
        nyn{"nyankole"}
        oc{"occitano"}
        om{"oromo"}
        or{"oriya"}
        os{"osseto"}
        pa{"punjabi"}
        pag{"pangasinan"}
        pam{"pampanga"}
        pap{"papiamento"}
        pau{"palauano"}
        pcm{"pidgin nigerian"}
        pl{"polonese"}
        prg{"prussiano"}
        ps{"pashto"}
        pt{"portugese"}
        pt_BR{"portugese de Brasil"}
        pt_PT{"portugese de Portugal"}
        qu{"quechua"}
        quc{"kʼicheʼ"}
        rap{"rapanui"}
        rar{"rarotongano"}
        rm{"romanche"}
        rn{"rundi"}
        ro{"romaniano"}
        ro_MD{"moldavo"}
        rof{"rombo"}
        root{"radice"}
        ru{"russo"}
        rup{"aromaniano"}
        rw{"kinyarwanda"}
        rwk{"rwa"}
        sa{"sanscrito"}
        sad{"sandawe"}
        sah{"yakuto"}
        saq{"samburu"}
        sat{"santali"}
        sba{"ngambay"}
        sbp{"sangu"}
        sc{"sardo"}
        scn{"siciliano"}
        sco{"scotese"}
        sd{"sindhi"}
        se{"sami del nord"}
        seh{"sena"}
        ses{"koyraboro senni"}
        sg{"sango"}
        shi{"tachelhit"}
        shn{"shan"}
        si{"cingalese"}
        sk{"slovaco"}
        sl{"sloveno"}
        sm{"samoano"}
        sma{"sami del sud"}
        smj{"sami de Lule"}
        smn{"sami de Inari"}
        sms{"sami skolt"}
        sn{"shona"}
        snk{"soninke"}
        so{"somali"}
        sq{"albanese"}
        sr{"serbo"}
        srn{"sranan tongo"}
        ss{"swati"}
        ssy{"saho"}
        st{"sotho del sud"}
        su{"sundanese"}
        suk{"sukuma"}
        sv{"svedese"}
        sw{"swahili"}
        sw_CD{"swahili del Congo"}
        swb{"comoriano"}
        syr{"syriaco"}
        ta{"tamil"}
        te{"telugu"}
        tem{"temne"}
        teo{"teso"}
        tet{"tetum"}
        tg{"tajiko"}
        th{"thai"}
        ti{"tigrinya"}
        tig{"tigre"}
        tk{"turkmeno"}
        tlh{"klingon"}
        tn{"tswana"}
        to{"tongano"}
        tpi{"tok pisin"}
        tr{"turco"}
        trv{"taroko"}
        ts{"tsonga"}
        tt{"tataro"}
        tum{"tumbuka"}
        tvl{"tuvaluano"}
        twq{"tasawaq"}
        ty{"tahitiano"}
        tyv{"tuvano"}
        tzm{"tamazight del Atlas Central"}
        udm{"udmurto"}
        ug{"uighur"}
        uk{"ukrainiano"}
        umb{"umbundu"}
        und{"lingua incognite"}
        ur{"urdu"}
        uz{"uzbeko"}
        vai{"vai"}
        ve{"venda"}
        vi{"vietnamese"}
        vo{"volapük"}
        vun{"vunjo"}
        wa{"wallon"}
        wae{"walser"}
        wal{"wolaytta"}
        war{"waray"}
        wo{"wolof"}
        xal{"calmuco"}
        xh{"xhosa"}
        xog{"soga"}
        yav{"yangben"}
        ybb{"yemba"}
        yi{"yiddish"}
        yo{"yoruba"}
        yue{"cantonese"}
        zgh{"tamazight marocchin standard"}
        zh{"chinese"}
        zh_Hans{"chinese simplificate"}
        zh_Hant{"chinese traditional"}
        zu{"zulu"}
        zun{"zuni"}
        zxx{"sin contento linguistic"}
        zza{"zaza"}
    }
    Languages%short{
        az{"azeri"}
        en_GB{"anglese (GB)"}
        en_US{"anglese (SUA)"}
    }
    Scripts{
        Arab{"arabe"}
        Armn{"armenian"}
        Beng{"bengalese"}
        Bopo{"bopomofo"}
        Brai{"braille"}
        Cyrl{"cyrillic"}
        Deva{"devanagari"}
        Ethi{"ethiope"}
        Geor{"georgian"}
        Grek{"grec"}
        Gujr{"gujarati"}
        Guru{"gurmukhi"}
        Hanb{"han con bopomofo"}
        Hang{"hangul"}
        Hani{"han"}
        Hans{"simplificate"}
        Hant{"traditional"}
        Hebr{"hebraic"}
        Hira{"hiragana"}
        Hrkt{"syllabarios japonese"}
        Jamo{"jamo"}
        Jpan{"japonese"}
        Kana{"katakana"}
        Khmr{"khmer"}
        Knda{"kannada"}
        Kore{"corean"}
        Laoo{"lao"}
        Latn{"latin"}
        Mlym{"malayalam"}
        Mong{"mongol"}
        Mymr{"birman"}
        Orya{"orya"}
        Sinh{"cingalese"}
        Taml{"tamil"}
        Telu{"telugu"}
        Thaa{"thaana"}
        Thai{"thailandese"}
        Tibt{"tibetano"}
        Zmth{"notation mathematic"}
        Zsye{"emoji"}
        Zsym{"symbolos"}
        Zxxx{"non scripte"}
        Zyyy{"commun"}
        Zzzz{"scriptura incognite"}
    }
    Scripts%stand-alone{
        Hans{"han simplificate"}
        Hant{"han traditional"}
    }
    Types{
        calendar{
            buddhist{"calendario buddhista"}
            chinese{"calendario chinese"}
            dangi{"calendario dangi"}
            ethiopic{"calendario ethiope"}
            gregorian{"calendario gregorian"}
            hebrew{"calendario hebraic"}
            islamic{"calendario islamic"}
            iso8601{"calendario ISO-8601"}
            japanese{"calendario japonese"}
            persian{"calendario persa"}
            roc{"calendario del Republica de China"}
        }
        cf{
            account{"formato de moneta pro contabilitate"}
            standard{"formato de moneta standard"}
        }
        collation{
            ducet{"ordinamento Unicode predefinite"}
            search{"recerca generic"}
            standard{"ordinamento standard"}
        }
        hc{
            h11{"systema de 12 horas (0–11)"}
            h12{"systema de 12 horas (1–12)"}
            h23{"systema de 24 horas (0–23)"}
            h24{"systema de 24 horas (1–24)"}
        }
        lb{
            loose{"stilo de salto de linea flexibile"}
            normal{"stilo de salto de linea normal"}
            strict{"stilo de salto de linea stricte"}
        }
        ms{
            metric{"systema metric"}
            uksystem{"systema de mesura imperial"}
            ussystem{"systema de mesura statounitese"}
        }
        numbers{
            arab{"cifras indo-arabe"}
            arabext{"cifras indo-arabe extendite"}
            armn{"cifras armenie"}
            armnlow{"cifras armenie minuscule"}
            beng{"cifras bengalese"}
            deva{"cifras devanagari"}
            ethi{"cifras ethiope"}
            fullwide{"cifras a latitude integre"}
            geor{"cifras georgian"}
            grek{"cifras grec"}
            greklow{"cifras grec minuscule"}
            gujr{"cifras gujarati"}
            guru{"cifras gurmukhi"}
            hanidec{"cifras decimal chinese"}
            hans{"cifras chinese simplificate"}
            hansfin{"cifras financiari chinese simplificate"}
            hant{"cifras chinese traditional"}
            hantfin{"cifras financiari chinese traditional"}
            hebr{"cifras hebraic"}
            jpan{"cifras japonese"}
            jpanfin{"cifras financiari japonese"}
            khmr{"cifras khmer"}
            knda{"cifras kannada"}
            laoo{"cifras lao"}
            latn{"cifras occidental"}
            mlym{"cifras malayalam"}
            mymr{"cifras birman"}
            orya{"cifras oriya"}
            roman{"cifras roman"}
            romanlow{"cifras roman minuscule"}
            taml{"cifras tamil traditional"}
            tamldec{"cifras tamil"}
            telu{"cifras telugu"}
            thai{"cifras thailandese"}
            tibt{"cifras tibetan"}
        }
    }
    Version{"2.1.48.36"}
    characterLabelPattern{
        all{"{0} — toto"}
        category-list{"{0}: {1}"}
        compatibility{"{0} — compatibilitate"}
        enclosed{"{0} — inquadrate"}
        extended{"{0} — extendite"}
        historic{"{0} — historic"}
        miscellaneous{"{0} — miscellanee"}
        other{"{0} — altere"}
        scripts{"scripturas — {0}"}
        strokes{
            one{"{0} tractos"}
            other{"{0} tractos"}
        }
    }
    codePatterns{
        language{"Lingua: {0}"}
        script{"Scriptura: {0}"}
        territory{"Region: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
