﻿// © 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"}
    }
    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{"37"}
    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}"}
    }
}
