﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/pt.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <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{"buguinê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{"sérvio 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 superior"}
        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{"ruanda"}
        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{"tuvinian"}
        tzm{"tamazight"}
        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%variant{
        ps{"pushto"}
    }
    LanguagesShort{
        az{"azeri"}
        en_GB{"inglês do Reino Unido"}
        en_US{"inglês dos Estados Unidos"}
    }
    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{"A linear"}
        Linb{"B linear"}
        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 etiopiano"}
            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.8.9"}
    codePatterns{
        language{"Idioma: {0}"}
        script{"Alfabeto: {0}"}
        territory{"Região: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
