﻿// ***************************************************************************
// *
// * Copyright (C) 2006 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{
    Countries{
        AE{"Emiratos Árabes Unidos"}
        AM{"Arménia"}
        AQ{"Antárctica"}
        AZ{"Azerbeijão"}
        BA{"Bósnia-Herzegovina"}
        BJ{"Benim"}
        BY{"Bielorrússia"}
        CM{"Camarões"}
        CX{"Ilha do Natal"}
        CZ{"República Checa"}
        EE{"Estónia"}
        EG{"Egipto"}
        EH{"Sahara Ocidental"}
        ER{"Eritreia"}
        FK{"Ilhas Falkland"}
        GL{"Gronelândia"}
        GS{"Ilhas South Georgia e South Sandwich"}
        GW{"Guiné-Bissau"}
        HK{"Hong Kong - Região Administrativa Especial da China"}
        KE{"Quénia"}
        KG{"Quirguizistão"}
        KN{"Saint Kitts e Nevis"}
        KP{"Coreia do Norte"}
        KR{"Coreia do Sul"}
        KY{"Ilhas Caimão"}
        KZ{"Cazaquistão"}
        LA{"Lao, República Popular Democrática"}
        LV{"Letónia"}
        MC{"Mónaco"}
        MD{"Moldávia, República da"}
        MG{"Madagáscar"}
        MK{"Macedónia, República da"}
        MO{"Macau - Região Administrativa Especial da China"}
        MP{"Ilhas Mariana do Norte"}
        MU{"Maurícias"}
        NC{"Nova Caledónia"}
        PG{"Papua Nova Guiné"}
        PL{"Polónia"}
        PS{"Território Palestiniano"}
        RE{"Reunion"}
        RO{"Roménia"}
        SC{"Seicheles"}
        SG{"Singapura"}
        SI{"Eslovénia"}
        SM{"São Marino"}
        TC{"Ilhas Turcas e Caicos"}
        TD{"Tchade"}
        TF{"Territórios Franceses a Sul"}
        TJ{"Tajiquistão"}
        TM{"Turquemenistão"}
        UM{"Ilhas Minor Outlying (E.U.A)"}
        UZ{"Uzbaquistão"}
        VA{"Santa Sé (Estado da Cidade do Vaticano)"}
        VC{"Saint Vincent e Grenadines"}
        VG{"Ilhas Virgin Britânicas"}
        VI{"Ilhas Virgin E.U.A."}
        VN{"Vietname"}
        YE{"Iémen"}
    }
    Currencies{
        AFA{
            "AFA",
            "Afeghani (1927-2002)",
        }
        BRB{
            "BRB",
            "Cruzeiro novo brasileiro (1967-1986)",
        }
        PTE{
            "Esc.",
            "Escudo português",
            {
                "#,##0.00 ¤;-#,##0.00 ¤",
                "$",
                ",",
            }
        }
    }
    Languages{
        cs{"checo"}
        et{"estónio"}
        pl{"polaco"}
        sl{"esloveno"}
    }
    NumberPatterns{
        "#,##0.###",
        "#,##0.00 ¤",
        "#,##0%",
        "#E0",
    }
    Version{"1.53"}
    calendar{
        gregorian{
            DateTimePatterns{
                "HH'H'mm'm'ss's' z",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d' de 'MMMM' de 'yyyy",
                "d' de 'MMMM' de 'yyyy",
                "yyyy/MM/dd",
                "yy/MM/dd",
                "{1} {0}",
            }
            availableFormats{
                MMdd{"MM/dd"}
                yyMMMEEEd{"EEE, d 'de' MMM 'de' yy"}
                yyMMMd{"d 'de' MMM 'de' yy"}
                yyyyMM{"yyyy/MM"}
            }
            fields{
                day{
                    dn{"Dia"}
                }
                dayperiod{
                    dn{"Período do dia"}
                }
                hour{
                    dn{"Hora"}
                }
                minute{
                    dn{"Minuto"}
                }
                month{
                    dn{"Mês"}
                }
                week{
                    dn{"Semana"}
                }
                weekday{
                    dn{"Dia da semana"}
                }
                year{
                    dn{"Ano"}
                }
                zone{
                    dn{"Zona"}
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"’"}
        quotationStart{"‘"}
    }
    zoneStrings{
        "America:Araguaina"{
            ec{"Araguaina"}
        }
        "America:Bahia"{
            ec{"Baía"}
        }
        "America:Cancun"{
            ec{"Cancun"}
        }
        "America:Cuiaba"{
            ec{"Cuibá"}
        }
        "America:North_Dakota:Center"{
            ec{"Center"}
        }
        "Asia:Sakhalin"{
            ec{"Sacalina"}
        }
        "Asia:Ulaanbaatar"{
            ec{"Ulan Bator"}
        }
        "Europe:Kaliningrad"{
            ec{"Kaliningrado"}
        }
        "Europe:Madrid"{
            ec{"Madrid"}
        }
        "Europe:Moscow"{
            ec{"Moscovo"}
        }
    }
}
