﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/pt_PT.xml
// *
// ***************************************************************************
pt_PT{
    Keys{
        calendar{"calendário"}
        collation{"ordenação"}
        currency{"moeda"}
        x{"Utilização Privada"}
    }
    Languages{
        af{"afrikaans"}
        art{"idioma artifical"}
        awa{"Awadhi"}
        bai{"bamileke Languages"}
        bug{"Buginese"}
        ce{"chechene"}
        cel{"idioma céltico"}
        chn{"jargão chinook"}
        cpe{"crioulo ou pidgin do inglês"}
        cpf{"crioulo ou pidgin do francês"}
        cpp{"crioulo ou pidgin do português"}
        cs{"checo"}
        cus{"idioma cuchita"}
        de_CH{"Alto Alemão Suíço"}
        dra{"idioma dravítico"}
        dyu{"diula"}
        egy{"egípcio clássico"}
        en_GB{"Inglês Britânico"}
        en_US{"Inglês (EUA)"}
        enm{"inglês medieval"}
        et{"estónio"}
        fiu{"idioma ugro-finês"}
        frm{"francês medieval"}
        frs{"frísio oriental"}
        gmh{"alemão medieval alto"}
        grc{"grego clássico"}
        gsw{"alemão da Suíça"}
        hi{"Hindi"}
        hsb{"sorbiano superior"}
        hy{"arménio"}
        iba{"Iban"}
        ig{"igbo"}
        ik{"Inupiaq"}
        jv{"jv"}
        khi{"khoisan"}
        lez{"lezghiano"}
        mga{"irlandês, medieval (900-1200)"}
        mk{"macedónio"}
        nah{"Nauatle"}
        nds{"baixo alemão"}
        nic{"nigeriano - cordofano"}
        nl_BE{"Flamengo"}
        non{"norse, old"}
        oc{"provençal"}
        os{"ossético"}
        peo{"persa arcaico (aprox. 600-400 a.C.)"}
        pl{"polaco"}
        pra{"idioma prácito"}
        pro{"provençal, arcaico (até 1500)"}
        pt_PT{"português europeu"}
        rm{"Romanche"}
        rom{"romanês"}
        sai{"idioma indígeno sul-americano"}
        sal{"salishan languages"}
        sgn{"linguages de sinais"}
        ssa{"idioma nilo-sariano"}
        swb{"língua comoriana"}
        ta{"Tâmil"}
        tai{"idioma tailândes"}
        tet{"Tétum"}
        tg{"tajique"}
        to{"tonga"}
        tog{"toganês"}
        tyv{"tuviniano"}
        wen{"idioma sórbio"}
        zh_Hans{"Chinês Simplificado"}
        zh_Hant{"Chinês Tradicional"}
    }
    LanguagesShort{
        az{"Azerbaijano"}
    }
    Scripts{
        Armn{"arménio"}
        Blis{"símbolos Bliss"}
        Egyd{"egípcio demótico"}
        Egyh{"egípcio hierático"}
        Inds{"indus"}
        Laoo{"Lao"}
        Lina{"linear A"}
        Linb{"linear B"}
        Sylo{"siloti nagri"}
        Tale{"tai le"}
        Taml{"tamil"}
        Telu{"telugu"}
        Xsux{"cuneiforme sumero-acadiano"}
        Zxxx{"não escrito"}
        Zzzz{"inválido ou desconhecido"}
    }
    Types{
        calendar{
            coptic{"Calendário Copta"}
            ethiopic{"Calendário Etíope"}
            ethiopic-amete-alem{"Calendário Etíope Amete Alem"}
            islamic-civil{"Calendário Islâmico/Civil"}
            persian{"Calendário Persa"}
        }
        collation{
            dictionary{"Ordenação do Dicionário"}
            direct{"Ordem Directa"}
            ducet{"Ordenação Unicode Predefinida"}
            phonebook{"Ordem da Lista Telefónica"}
            pinyin{"Ordem do Chinês Simplificado Pinyin"}
            reformed{"Reforma da Ordenação"}
            search{"Pesquisa por Objectivo/Geral"}
            stroke{"Ordem por traços"}
            traditional{"Ordem tradicional"}
            unihan{"Ordem por radical e traços"}
        }
        numbers{
            arab{"Algarismos Árabe/Índico"}
            arabext{"Algarismos Árabe/Índico Expandidos"}
            armn{"Algarismos Arménios"}
            armnlow{"Numeração Arménia Minúscula"}
            beng{"Algarismos Bengalis"}
            deva{"Algarismos Devanágaris"}
            ethi{"Numeração Etíope"}
            fullwide{"Algarismos de Largura Completa"}
            geor{"Numeração Georgiana"}
            grek{"Numeração Grega"}
            greklow{"Numeração Grega Minúscula"}
            gujr{"Algarismos de Guzerate"}
            hanidec{"Numeração Decimal Chinesa"}
            hans{"Numeração Chinês Simplificado"}
            hansfin{"Numeração Financeira Chinês Simplificado"}
            hant{"Numeração Chinês Tradicional"}
            hantfin{"Numeração Financeira Chinês Tradicional"}
            hebr{"Numeração Hebraica"}
            jpan{"Numeração Japonesa"}
            jpanfin{"Numeração Financeira Japonesa"}
            khmr{"Algarismo Khmer"}
            knda{"Algarismos de Canarim"}
            laoo{"Algarismos de Laos"}
            latn{"Algarismos Ocidentais"}
            mlym{"Algarismos Malaiala"}
            mong{"Algarismos Mongóis"}
            mymr{"Algarismos de Mianmar"}
            orya{"Algarismos Oriá"}
            roman{"Numeração Romana"}
            romanlow{"Numeração Romana Minúscula"}
            taml{"Numeração Tâmil"}
            telu{"Algarismos de Telugu"}
            thai{"Algarismos Tailandeses"}
            tibt{"Algarismos Tibetanos"}
        }
    }
    Variants{
        AREVELA{"arménio oriental"}
        AREVMDA{"arménio ocidental"}
        BISKE{"dialecto san giorgio/bila"}
        BOONT{"buntlingue"}
        LIPAW{"dialecto lipovaz de Resian"}
        MONOTON{"monotónico"}
        NEDIS{"dialecto natisone"}
        NJIVA{"dialecto gniva/njiva"}
        OSOJS{"dialecto oseacco/osojane"}
        PINYIN{"Romanização pinyin"}
        POLYTON{"politónico"}
        SOLBA{"dialecto stolvizza/solbica"}
        WADEGILE{"Romanização Wade-Giles"}
    }
    Version{"2.0.58.79"}
}
