﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/pt.xml
// *
// ***************************************************************************
pt{
    Keys{
        calendar{"Calendário"}
        colAlternate{"Ignorar classificação de símbolos"}
        colBackwards{"Classificação reversa de acentos"}
        colCaseFirst{"Ordem de maiúsculas/minúsculas"}
        colCaseLevel{"Ordem com diferenciação de maiúsculas e minúsculas"}
        colHiraganaQuaternary{"Classificação kana"}
        colNormalization{"Classificação normalizada"}
        colNumeric{"Classificação numérica"}
        colStrength{"Intensidade da classificação"}
        collation{"Ordenação"}
        currency{"Moeda"}
        numbers{"Números"}
        timezone{"Fuso horário"}
        va{"Variante de localidade"}
        variableTop{"Classificar como símbolos"}
        x{"Uso privado"}
    }
    Languages{
        aa{"afar"}
        ab{"abcázio"}
        ace{"achém"}
        ach{"acoli"}
        ada{"adangme"}
        ady{"adigue"}
        ae{"avéstico"}
        af{"africâner"}
        afh{"afrihili"}
        agq{"aghem"}
        ain{"ainu"}
        ak{"akan"}
        akk{"acadiano"}
        ale{"aleúte"}
        alt{"altai do sul"}
        am{"amárico"}
        an{"aragonês"}
        ang{"inglês arcaico"}
        anp{"angika"}
        ar{"árabe"}
        ar_001{"árabe moderno"}
        arc{"aramaico"}
        arn{"araucano"}
        arp{"arapaho"}
        arw{"arauaqui"}
        as{"assamês"}
        asa{"asu"}
        ast{"asturiano"}
        av{"avaric"}
        awa{"awadhi"}
        ay{"aimara"}
        az{"azerbaijano"}
        ba{"bashkir"}
        bal{"balúchi"}
        ban{"balinês"}
        bas{"basa"}
        bax{"bamum"}
        bbj{"ghomala’"}
        be{"bielorrusso"}
        bej{"beja"}
        bem{"bemba"}
        bez{"bena"}
        bfd{"bafut"}
        bg{"búlgaro"}
        bho{"bhojpuri"}
        bi{"bislamá"}
        bik{"bikol"}
        bin{"bini"}
        bkm{"kom"}
        bla{"siksika"}
        bm{"bambara"}
        bn{"bengali"}
        bo{"tibetano"}
        br{"bretão"}
        bra{"braj"}
        brx{"bodo"}
        bs{"bósnio"}
        bss{"akoose"}
        bua{"buriat"}
        bug{"buginês"}
        bum{"bulu"}
        byn{"blin"}
        byv{"medumba"}
        ca{"catalão"}
        cad{"caddo"}
        car{"caribe"}
        cay{"cayuga"}
        cch{"atsam"}
        ce{"checheno"}
        ceb{"cebuano"}
        cgg{"chiga"}
        ch{"chamorro"}
        chb{"chibcha"}
        chg{"chagatai"}
        chk{"chuukese"}
        chm{"mari"}
        chn{"chinook jargon"}
        cho{"choctaw"}
        chp{"chipewyan"}
        chr{"cherokee"}
        chy{"cheiene"}
        ckb{"sorâni curdo"}
        co{"córsico"}
        cop{"copta"}
        cr{"cree"}
        crh{"turco da Crimeia"}
        cs{"tcheco"}
        csb{"kashubian"}
        cu{"eslavo eclesiástico"}
        cv{"chuvash"}
        cy{"galês"}
        da{"dinamarquês"}
        dak{"dacota"}
        dar{"dargwa"}
        dav{"taita"}
        de{"alemão"}
        de_AT{"alemão austríaco"}
        de_CH{"alto alemão suíço"}
        del{"delaware"}
        den{"slave"}
        dgr{"dogrib"}
        din{"dinka"}
        dje{"zarma"}
        doi{"dogri"}
        dsb{"sorábio baixo"}
        dua{"duala"}
        dum{"holandês médio"}
        dv{"divehi"}
        dyo{"jola-fonyi"}
        dyu{"diúla"}
        dz{"dzonga"}
        dzg{"dazaga"}
        ebu{"embu"}
        ee{"eve"}
        efi{"efique"}
        egy{"egípcio arcaico"}
        eka{"ekajuk"}
        el{"grego"}
        elx{"elamite"}
        en{"inglês"}
        en_AU{"inglês australiano"}
        en_CA{"inglês canadense"}
        en_GB{"inglês britânico"}
        en_US{"inglês americano"}
        enm{"inglês médio"}
        eo{"esperanto"}
        es{"espanhol"}
        es_419{"espanhol latino-americano"}
        es_ES{"espanhol europeu"}
        es_MX{"espanhol mexicano"}
        et{"estoniano"}
        eu{"basco"}
        ewo{"ewondo"}
        fa{"persa"}
        fan{"fangue"}
        fat{"fanti"}
        ff{"fula"}
        fi{"finlandês"}
        fil{"filipino"}
        fj{"fijiano"}
        fo{"feroês"}
        fon{"fom"}
        fr{"francês"}
        fr_CA{"francês canadense"}
        fr_CH{"francês suíço"}
        frm{"francês médio"}
        fro{"francês arcaico"}
        frr{"frísio setentrional"}
        frs{"frisão oriental"}
        fur{"friulano"}
        fy{"frísio ocidental"}
        ga{"irlandês"}
        gaa{"ga"}
        gag{"gagauz"}
        gay{"gayo"}
        gba{"gbaia"}
        gd{"gaélico escocês"}
        gez{"geez"}
        gil{"gilbertês"}
        gl{"galego"}
        gmh{"alemão médio-alto"}
        gn{"guarani"}
        goh{"alemão arcaico alto"}
        gon{"gondi"}
        gor{"gorontalo"}
        got{"gótico"}
        grb{"grebo"}
        grc{"grego arcaico"}
        gsw{"alemão suíço"}
        gu{"guzerate"}
        guz{"gusii"}
        gv{"manx"}
        gwi{"gwichʼin"}
        ha{"hauçá"}
        hai{"haida"}
        haw{"havaiano"}
        he{"hebraico"}
        hi{"híndi"}
        hil{"hiligaynon"}
        hit{"hitita"}
        hmn{"hmong"}
        ho{"hiri motu"}
        hr{"croata"}
        hsb{"sorábio alto"}
        ht{"haitiano"}
        hu{"húngaro"}
        hup{"hupa"}
        hy{"armênio"}
        hz{"herero"}
        ia{"interlíngua"}
        iba{"iban"}
        ibb{"ibibio"}
        id{"indonésio"}
        ie{"interlingue"}
        ig{"ibo"}
        ii{"sichuan yi"}
        ik{"inupiaque"}
        ilo{"ilocano"}
        inh{"inguche"}
        io{"ido"}
        is{"islandês"}
        it{"italiano"}
        iu{"inuktitut"}
        ja{"japonês"}
        jbo{"lojban"}
        jgo{"nguemba"}
        jmc{"machame"}
        jpr{"judaico-persa"}
        jrb{"judaico-arábico"}
        jv{"javanês"}
        ka{"georgiano"}
        kaa{"kara-kalpak"}
        kab{"kabyle"}
        kac{"kachin"}
        kaj{"jju"}
        kam{"kamba"}
        kaw{"kawi"}
        kbd{"kabardiano"}
        kbl{"kanembu"}
        kcg{"tyap"}
        kde{"maconde"}
        kea{"kabuverdianu"}
        kfo{"koro"}
        kg{"congolês"}
        kha{"khasi"}
        kho{"khotanês"}
        khq{"koyra chiini"}
        ki{"quicuio"}
        kj{"kuanyama"}
        kk{"cazaque"}
        kkj{"kako"}
        kl{"groenlandês"}
        kln{"kalenjin"}
        km{"khmer"}
        kmb{"quimbundo"}
        kn{"canarês"}
        ko{"coreano"}
        koi{"komi-permyak"}
        kok{"concani"}
        kos{"kosraean"}
        kpe{"kpelle"}
        kr{"canúri"}
        krc{"karachay-balkar"}
        krl{"idioma carélio"}
        kru{"kurukh"}
        ks{"caxemira"}
        ksb{"shambala"}
        ksf{"bafia"}
        ksh{"kölsch"}
        ku{"curdo"}
        kum{"kumyk"}
        kut{"kutenai"}
        kv{"komi"}
        kw{"córnico"}
        ky{"quirguiz"}
        la{"latim"}
        lad{"ladino"}
        lag{"langi"}
        lah{"lahnda"}
        lam{"lamba"}
        lb{"luxemburguês"}
        lez{"lezghian"}
        lg{"luganda"}
        li{"limburguês"}
        lkt{"lacota"}
        ln{"lingala"}
        lo{"laosiano"}
        lol{"mongo"}
        loz{"lozi"}
        lt{"lituano"}
        lu{"luba-catanga"}
        lua{"luba-lulua"}
        lui{"luiseno"}
        lun{"lunda"}
        luo{"luo"}
        lus{"lushai"}
        luy{"luyia"}
        lv{"letão"}
        mad{"madurês"}
        maf{"mafa"}
        mag{"magahi"}
        mai{"maithili"}
        mak{"makasar"}
        man{"mandinga"}
        mas{"massai"}
        mde{"maba"}
        mdf{"mocsa"}
        mdr{"mandar"}
        men{"mende"}
        mer{"meru"}
        mfe{"morisyen"}
        mg{"malgaxe"}
        mga{"irlandês médio"}
        mgh{"macua"}
        mgo{"meta’"}
        mh{"marshalês"}
        mi{"maori"}
        mic{"miquemaque"}
        min{"minangkabau"}
        mk{"macedônio"}
        ml{"malaiala"}
        mn{"mongol"}
        mnc{"manchu"}
        mni{"manipuri"}
        moh{"moicano"}
        mos{"mossi"}
        mr{"marata"}
        ms{"malaio"}
        mt{"maltês"}
        mua{"mundang"}
        mul{"idiomas múltiplos"}
        mus{"creek"}
        mwl{"mirandês"}
        mwr{"marwari"}
        my{"birmanês"}
        mye{"myene"}
        myv{"erzya"}
        na{"nauruano"}
        nap{"napolitano"}
        naq{"nama"}
        nb{"bokmål norueguês"}
        nd{"ndebele do norte"}
        nds{"baixo alemão"}
        ne{"nepali"}
        new{"newari"}
        ng{"dongo"}
        nia{"nias"}
        niu{"niueano"}
        nl{"holandês"}
        nl_BE{"flamengo"}
        nmg{"kwasio"}
        nn{"nynorsk norueguês"}
        nnh{"ngiemboon"}
        no{"norueguês"}
        nog{"nogai"}
        non{"nórdico arcaico"}
        nqo{"n’ko"}
        nr{"ndebele do sul"}
        nso{"soto setentrional"}
        nus{"nuer"}
        nv{"navajo"}
        nwc{"newari clássico"}
        ny{"nianja"}
        nym{"nyamwezi"}
        nyn{"nyankole"}
        nyo{"nyoro"}
        nzi{"nzima"}
        oc{"occitânico"}
        oj{"ojibwa"}
        om{"oromo"}
        or{"oriya"}
        os{"ossetic"}
        osa{"osage"}
        ota{"turco otomano"}
        pa{"panjabi"}
        pag{"pangasinã"}
        pal{"pálavi"}
        pam{"pampanga"}
        pap{"papiamento"}
        pau{"palauano"}
        peo{"persa arcaico"}
        phn{"fenício"}
        pi{"páli"}
        pl{"polonês"}
        pon{"pohnpeian"}
        pro{"provençal arcaico"}
        ps{"pashto"}
        pt{"português"}
        pt_BR{"português do Brasil"}
        pt_PT{"português europeu"}
        qu{"quíchua"}
        quc{"quiché"}
        raj{"rajastani"}
        rap{"rapanui"}
        rar{"rarotongano"}
        rm{"romanche"}
        rn{"rundi"}
        ro{"romeno"}
        ro_MD{"moldávio"}
        rof{"rombo"}
        rom{"romani"}
        ru{"russo"}
        rup{"aromeno"}
        rw{"kinyarwanda"}
        rwk{"rwa"}
        sa{"sânscrito"}
        sad{"sandawe"}
        sah{"iacuto"}
        sam{"aramaico samaritano"}
        saq{"samburu"}
        sas{"sasak"}
        sat{"santali"}
        sba{"ngambay"}
        sbp{"sangu"}
        sc{"sardo"}
        scn{"siciliano"}
        sco{"escocês"}
        sd{"sindi"}
        se{"sami do norte"}
        see{"seneca"}
        seh{"sena"}
        sel{"selkup"}
        ses{"koyraboro senni"}
        sg{"sango"}
        sga{"irlandês arcaico"}
        sh{"servo-croata"}
        shi{"tachelhit"}
        shn{"shan"}
        shu{"árabe chadiano"}
        si{"cingalês"}
        sid{"sidamo"}
        sk{"eslovaco"}
        sl{"esloveno"}
        sm{"samoano"}
        sma{"sami do sul"}
        smj{"lule sami"}
        smn{"inari sami"}
        sms{"skolt sami"}
        sn{"shona"}
        snk{"soninquê"}
        so{"somali"}
        sog{"sogdiano"}
        sq{"albanês"}
        sr{"sérvio"}
        srn{"idioma surinamês"}
        srr{"serere"}
        ss{"swati"}
        ssy{"saho"}
        st{"soto do sul"}
        su{"sundanês"}
        suk{"sukuma"}
        sus{"sosso"}
        sux{"sumério"}
        sv{"sueco"}
        sw{"suaíli"}
        swb{"comoriano"}
        swc{"suaíli do Congo"}
        syc{"siríaco clássico"}
        syr{"siríaco"}
        ta{"tâmil"}
        te{"telugu"}
        tem{"timne"}
        teo{"teso"}
        ter{"tereno"}
        tet{"tétum"}
        tg{"tajique"}
        th{"tailandês"}
        ti{"tigrínia"}
        tig{"tigré"}
        tiv{"tiv"}
        tk{"turcomeno"}
        tkl{"toquelauano"}
        tl{"tagalo"}
        tlh{"klingon"}
        tli{"tlinguite"}
        tmh{"tamaxeque"}
        tn{"tswana"}
        to{"tonganês"}
        tog{"tonganês de Nyasa"}
        tpi{"tok pisin"}
        tr{"turco"}
        trv{"taroko"}
        ts{"tsonga"}
        tsi{"tsimshian"}
        tt{"tatar"}
        tum{"tumbuka"}
        tvl{"tuvaluano"}
        tw{"twi"}
        twq{"tasawaq"}
        ty{"taitiano"}
        tyv{"tuviniano"}
        tzm{"tamazight do Atlas Central"}
        udm{"udmurt"}
        ug{"uigur"}
        uga{"ugarítico"}
        uk{"ucraniano"}
        umb{"umbundu"}
        und{"idioma desconhecido"}
        ur{"urdu"}
        uz{"usbeque"}
        vai{"vai"}
        ve{"venda"}
        vi{"vietnamita"}
        vo{"volapuque"}
        vot{"votic"}
        vun{"vunjo"}
        wa{"valão"}
        wae{"walser"}
        wal{"walamo"}
        war{"waray"}
        was{"washo"}
        wo{"uólofe"}
        xal{"kalmyk"}
        xh{"xosa"}
        xog{"lusoga"}
        yao{"yao"}
        yap{"yapese"}
        yav{"yangben"}
        ybb{"yemba"}
        yi{"iídiche"}
        yo{"ioruba"}
        yue{"cantonês"}
        za{"zhuang"}
        zap{"zapoteca"}
        zbl{"símbolos blis"}
        zen{"zenaga"}
        zgh{"tamazight marroquino padrão"}
        zh{"chinês"}
        zh_Hans{"chinês simplificado"}
        zh_Hant{"chinês tradicional"}
        zu{"zulu"}
        zun{"zunhi"}
        zxx{"sem conteúdo linguístico"}
        zza{"zaza"}
    }
    Languages%short{
        az{"azeri"}
        en_GB{"inglês do Reino Unido"}
        en_US{"inglês dos Estados Unidos"}
    }
    Languages%variant{
        ps{"pushto"}
    }
    Scripts{
        Arab{"árabe"}
        Armi{"armi"}
        Armn{"armênio"}
        Avst{"avéstico"}
        Bali{"balinês"}
        Bamu{"bamum"}
        Batk{"bataque"}
        Beng{"bengali"}
        Blis{"símbolos bliss"}
        Bopo{"bopomofo"}
        Brah{"brahmi"}
        Brai{"braille"}
        Bugi{"buginês"}
        Buhd{"buhid"}
        Cakm{"cakm"}
        Cans{"escrita silábica unificada dos aborígenes canadenses"}
        Cari{"cariano"}
        Cham{"cham"}
        Cher{"cherokee"}
        Cirt{"cirth"}
        Copt{"cóptico"}
        Cprt{"cipriota"}
        Cyrl{"cirílico"}
        Cyrs{"cirílico eslavo eclesiástico"}
        Deva{"devanágari"}
        Dsrt{"deseret"}
        Egyd{"demótico egípcio"}
        Egyh{"hierático egípcio"}
        Egyp{"hieróglifos egípcios"}
        Ethi{"etiópico"}
        Geok{"khutsuri georgiano"}
        Geor{"georgiano"}
        Glag{"glagolítico"}
        Goth{"gótico"}
        Grek{"grego"}
        Gujr{"gujerati"}
        Guru{"gurmuqui"}
        Hang{"hangul"}
        Hani{"han"}
        Hano{"hanunoo"}
        Hans{"simplificado"}
        Hant{"tradicional"}
        Hebr{"hebraico"}
        Hira{"hiragana"}
        Hmng{"pahawh hmong"}
        Hrkt{"katakana ou hiragana"}
        Hung{"húngaro antigo"}
        Inds{"indo"}
        Ital{"itálico antigo"}
        Java{"javanês"}
        Jpan{"japonês"}
        Kali{"kayah li"}
        Kana{"katakana"}
        Khar{"kharoshthi"}
        Khmr{"khmer"}
        Knda{"kannada"}
        Kore{"coreano"}
        Kthi{"kthi"}
        Lana{"lanna"}
        Laoo{"lao"}
        Latf{"latim fraktur"}
        Latg{"latim gaélico"}
        Latn{"latim"}
        Lepc{"lepcha"}
        Limb{"limbu"}
        Lina{"linear A"}
        Linb{"linear B"}
        Lisu{"lisu"}
        Lyci{"lício"}
        Lydi{"lídio"}
        Mand{"mandaico"}
        Mani{"maniqueano"}
        Maya{"hieróglifos maias"}
        Merc{"meroítico cursivo"}
        Mero{"meroítico"}
        Mlym{"malaiala"}
        Mong{"mongol"}
        Moon{"moon"}
        Mtei{"meitei mayek"}
        Mymr{"birmanês"}
        Nkoo{"n’ko"}
        Ogam{"ogâmico"}
        Olck{"ol chiki"}
        Orkh{"orkhon"}
        Orya{"oriya"}
        Osma{"osmania"}
        Perm{"pérmico antigo"}
        Phag{"phags-pa"}
        Phli{"phli"}
        Phlp{"phlp"}
        Phlv{"pahlavi antigo"}
        Phnx{"fenício"}
        Plrd{"fonético pollard"}
        Prti{"prti"}
        Rjng{"rejang"}
        Roro{"rongorongo"}
        Runr{"rúnico"}
        Samr{"samaritano"}
        Sara{"sarati"}
        Saur{"saurashtra"}
        Sgnw{"signwriting"}
        Shaw{"shaviano"}
        Sinh{"cingalês"}
        Sund{"sundanês"}
        Sylo{"syloti nagri"}
        Syrc{"siríaco"}
        Syre{"siríaco estrangelo"}
        Syrj{"siríaco ocidental"}
        Syrn{"siríaco oriental"}
        Tagb{"tagbanwa"}
        Tale{"tai Le"}
        Talu{"novo tai lue"}
        Taml{"tâmil"}
        Tavt{"tavt"}
        Telu{"télugo"}
        Teng{"tengwar"}
        Tfng{"tifinagh"}
        Tglg{"tagalo"}
        Thaa{"thaana"}
        Thai{"tailandês"}
        Tibt{"tibetano"}
        Ugar{"ugarítico"}
        Vaii{"vai"}
        Visp{"visible speech"}
        Xpeo{"persa antigo"}
        Xsux{"sumério-acadiano cuneiforme"}
        Yiii{"yi"}
        Zinh{"herdado"}
        Zmth{"zmth"}
        Zsym{"zsym"}
        Zxxx{"ágrafo"}
        Zyyy{"comum"}
        Zzzz{"escrita desconhecida"}
    }
    Scripts%stand-alone{
        Hans{"han simplificado"}
        Hant{"han tradicional"}
    }
    Scripts%variant{
        Arab{"perso-árabe"}
    }
    Types{
        calendar{
            buddhist{"Calendário Budista"}
            chinese{"Calendário Chinês"}
            coptic{"Calendário Coptic"}
            dangi{"Calendário Dangi"}
            ethiopic{"Calendário etiópico"}
            ethiopic-amete-alem{"Calendário Amete Alem da Etiópia"}
            gregorian{"Calendário Gregoriano"}
            hebrew{"Calendário Hebraico"}
            indian{"Calendário Nacional Indiano"}
            islamic{"Calendário Islâmico"}
            islamic-civil{"Calendário Civil Islâmico"}
            iso8601{"Calendário ISO-8601"}
            japanese{"Calendário Japonês"}
            persian{"Calendário Persa"}
            roc{"Calendário da República da China"}
        }
        colAlternate{
            non-ignorable{"Classificar símbolos"}
            shifted{"Classificar ignorando símbolos"}
        }
        colBackwards{
            no{"Classificar acentos normalmente"}
            yes{"Classificação reversa de acentos"}
        }
        colCaseFirst{
            lower{"Classificar por minúsculas"}
            no{"Classificação normal de maiúsculas e minúsculas"}
            upper{"Classificar por maiúsculas"}
        }
        colCaseLevel{
            no{"Classificação sem diferenciação de maiúsculas e minúsculas"}
            yes{"Classificação com diferenciação de maiúsculas e minúsculas"}
        }
        colHiraganaQuaternary{
            no{"Classificar kana separadamente"}
            yes{"Classificar kana diferentemente"}
        }
        colNormalization{
            no{"Classificar sem normalização"}
            yes{"Classificar Unicode normalizado"}
        }
        colNumeric{
            no{"Classificar dígitos individualmente"}
            yes{"Classificar dígitos numericamente"}
        }
        colStrength{
            identical{"Classificar tudo"}
            primary{"Classificar somente letras básicas"}
            quaternary{"Classificar acentos/maiúsculas e minúsculas/largura/kana"}
            secondary{"Classificar acentos"}
            tertiary{"Classificar acentos/maiúsculas e minúsculas/largura"}
        }
        collation{
            big5han{"Ordem do Chinês Tradicional - Big5"}
            dictionary{"Ordem do dicionário"}
            ducet{"Ordem padrão do Unicode"}
            gb2312han{"Ordem do Chinês Simplificado - GB2312"}
            phonebook{"Ordem de Lista Telefônica"}
            phonetic{"Ordem de classificação fonética"}
            pinyin{"Ordem Pin-yin"}
            reformed{"Ordem reformulada"}
            search{"Pesquisa de uso geral"}
            searchjl{"Pesquisar por consonante inicial hangul"}
            standard{"padrão"}
            stroke{"Ordem dos Traços"}
            traditional{"Ordem Tradicional"}
            unihan{"Ordem por Radical-Traços"}
        }
        numbers{
            arab{"Algarismos indo-arábicos"}
            arabext{"Algarismos indo-arábicos por extenso"}
            armn{"Algarismos armênios"}
            armnlow{"Algarismos armênios minúsculos"}
            beng{"Algarismos Bengali"}
            deva{"Algarismos Devanagari"}
            ethi{"Algarismos etiopianos"}
            finance{"Numerais financeiros"}
            fullwide{"Algarismos em extensão total"}
            geor{"Algarismos georgianos"}
            grek{"Algarismos gregos"}
            greklow{"Algarismos gregos minúsculos"}
            gujr{"Algarismos Gujarati"}
            guru{"Algarismos Gurmukhi"}
            hanidec{"Algarismos decimais chineses"}
            hans{"Algarismos chineses simplificados"}
            hansfin{"Algarismos financeiros chineses simplificados"}
            hant{"Algarismos chineses tradicionais"}
            hantfin{"Algarismos financeiros chineses tradicionais"}
            hebr{"Algarismos hebraicos"}
            jpan{"Algarismos japoneses"}
            jpanfin{"Algarismos financeiros japoneses"}
            khmr{"Algarismos Khmer"}
            knda{"Algarismos Kannada"}
            laoo{"Algarismos laosianos"}
            latn{"Algarismos ocidentais"}
            mlym{"Algarismos Malayalam"}
            mong{"Algarismos mongóis"}
            mymr{"Algarismos Myanmar"}
            native{"Dígitos nativos"}
            orya{"Algarismos Oriya"}
            roman{"Algarismos romanos"}
            romanlow{"Algarismos romanos minúsculos"}
            taml{"Algarismos Tâmil"}
            tamldec{"Algarismos Tâmil"}
            telu{"Algarismos Telugu"}
            thai{"Algarismos tailandeses"}
            tibt{"Algarismos tibetanos"}
            traditional{"Numerais tradicionais"}
            vaii{"Dígitos vai"}
        }
    }
    Variants{
        1606NICT{"francês antigo de 1606"}
        1694ACAD{"francês da idade moderna"}
        1901{"ortografia alemã tradicional"}
        1959ACAD{"acadêmico"}
        1994{"ortografia resiana padronizada"}
        1996{"ortografia alemã de 1996"}
        AREVELA{"armênio oriental"}
        AREVMDA{"armênio ocidental"}
        BAKU1926{"alfabeto latino turco unificado"}
        BISCAYAN{"biscainho"}
        BISKE{"dialeto san giorgio/bila"}
        BOONT{"boontling"}
        FONIPA{"fonética do Alfabeto Fonético Internacional"}
        FONUPA{"fonética do Alfabeto Fonético Urálico"}
        HEPBURN{"romanização hepburn"}
        HOGNORSK{"alto noruego"}
        KKCOR{"ortografia comum"}
        LIPAW{"dialeto lipovaz de Resian"}
        MONOTON{"monotônico"}
        NDYUKA{"dialeto ndyuka"}
        NEDIS{"dialeto natisone"}
        NJIVA{"dialeto gniva/njiva"}
        OSOJS{"dialeto oseacco/osojane"}
        PAMAKA{"dialeto pamaka"}
        PINYIN{"romanização Pinyin"}
        POLYTON{"politônico"}
        POSIX{"computador"}
        REVISED{"ortografia revisada"}
        ROZAJ{"resiano"}
        SAAHO{"saho"}
        SCOTLAND{"inglês padrão escocês"}
        SCOUSE{"scouse"}
        SOLBA{"dialeto stolvizza/solbica"}
        TARASK{"ortografia taraskievica"}
        UCCOR{"ortografia unificada"}
        UCRCOR{"ortografia revisada e unificada"}
        VALENCIA{"valenciano"}
        WADEGILE{"romanização Wade-Giles"}
    }
    Version{"2.1.15.98"}
    codePatterns{
        language{"Idioma: {0}"}
        script{"Alfabeto: {0}"}
        territory{"Região: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
