﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/pt_PT.xml
// *
// ***************************************************************************
pt_PT{
    Ellipsis{
        medial{"{0}…{1}"}
    }
    ExemplarCharactersPunctuation{
        "[\\- ‐ – — , ; \\: ! ? . … ' \u0022 “ ” « » ( ) \\[ \\] § @ * / \\& # † ‡ ′ "
        "″]"
    }
    NumberElements{
        latn{
            miscPatterns{
                range{"{0} - {1}"}
            }
            patterns{
                accountingFormat{"#,##0.00 ¤;(#,##0.00 ¤)"}
                currencyFormat{"#,##0.00 ¤"}
            }
            patternsLong{
                decimalFormat{
                    1000000{
                        one{"0 milhão"}
                        other{"0 milhões"}
                    }
                    10000000{
                        one{"00 milhões"}
                        other{"00 milhões"}
                    }
                    100000000{
                        one{"000 milhões"}
                        other{"000 milhões"}
                    }
                    1000000000{
                        one{"0 mil milhões"}
                        other{"0 mil milhões"}
                    }
                    10000000000{
                        one{"00 mil milhões"}
                        other{"00 mil milhões"}
                    }
                    100000000000{
                        one{"000 mil milhões"}
                        other{"000 mil milhões"}
                    }
                    1000000000000{
                        one{"0 bilião"}
                        other{"0 biliões"}
                    }
                    10000000000000{
                        one{"00 biliões"}
                        other{"00 biliões"}
                    }
                    100000000000000{
                        one{"000 biliões"}
                        other{"000 biliões"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000000{
                        one{"0 M"}
                        other{"0 M"}
                    }
                    10000000{
                        one{"00 M"}
                        other{"00 M"}
                    }
                    100000000{
                        one{"000 M"}
                        other{"000 M"}
                    }
                    1000000000{
                        one{"0 MM"}
                        other{"0 MM"}
                    }
                    10000000000{
                        one{"00 MM"}
                        other{"00 MM"}
                    }
                    100000000000{
                        one{"000 MM"}
                        other{"000 MM"}
                    }
                    1000000000000{
                        one{"0 Bi"}
                        other{"0 Bi"}
                    }
                    10000000000000{
                        one{"00 Bi"}
                        other{"00 Bi"}
                    }
                    100000000000000{
                        one{"000 Bi"}
                        other{"000 Bi"}
                    }
                }
            }
            symbols{
                group{" "}
            }
        }
    }
    Version{"2.1.8.19"}
    calendar{
        buddhist{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'de' MMMM 'de' y G",
                "d 'de' MMMM 'de' y G",
                "d 'de' MMM, y G",
                "d/M/y G",
                "{1}, {0}",
                "{1} 'às' {0}",
                "{1} 'às' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
        }
        chinese{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'de' MMMM 'de' U",
                "d 'de' MMMM 'de' U",
                "d 'de' MMM 'de' U",
                "dd/MM/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            monthNames{
                format{
                    abbreviated{
                        "M1",
                        "M2",
                        "M3",
                        "M4",
                        "M5",
                        "M6",
                        "M7",
                        "M8",
                        "M9",
                        "M10",
                        "M11",
                        "M12",
                    }
                }
                stand-alone{
                    abbreviated{
                        "M1",
                        "M2",
                        "M3",
                        "M4",
                        "M5",
                        "M6",
                        "M7",
                        "M8",
                        "M9",
                        "M10",
                        "M11",
                        "M12",
                    }
                }
            }
        }
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'de' MMMM 'de' y G",
                "d 'de' MMMM 'de' y G",
                "d 'de' MMM, y G",
                "d/M/y G",
                "{1}, {0}",
                "{1} 'às' {0}",
                "{1} 'às' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            availableFormats{
                MMMMEd{"E, d 'de' MMMM"}
                MMMMd{"d 'de' MMMM"}
                yyyyMMM{"MM/y G"}
                yyyyMMMEEEEd{"EEEE, d/MM/y"}
                yyyyMMMEd{"E, d/MM/y G"}
                yyyyMMMM{"MMMM 'de' y G"}
                yyyyMMMMEd{"E, d 'de' MMMM 'de' y G"}
                yyyyMMMMd{"d 'de' MMMM 'de' y G"}
                yyyyMMMd{"d/MM/y G"}
                yyyyQQQ{"QQQQ 'de' y G"}
                yyyyQQQQ{"QQQQ 'de' y G"}
            }
            intervalFormats{
                MMM{
                    M{"MMM-MMM"}
                }
                MMMEd{
                    d{"E, d 'de' MMM - E, d 'de' MMM"}
                }
                h{
                    a{"h a - h a"}
                    h{"h-h a"}
                }
                hm{
                    h{"h:mm - h:mm a"}
                }
                y{
                    y{"y-y G"}
                }
                yMMMEd{
                    d{"E, d 'de' MMM - E, d 'de' MMM 'de' y G"}
                }
                yMMMM{
                    M{"MMMM - MMMM 'de' y G"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "da manhã",
                "da tarde",
            }
            AmPmMarkersAbbr{
                "a.m.",
                "p.m.",
            }
            AmPmMarkersNarrow{
                "a.m.",
                "p.m.",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'de' MMMM 'de' y",
                "d 'de' MMMM 'de' y",
                "dd/MM/y",
                "dd/MM/yy",
                "{1}, {0}",
                "{1} 'às' {0}",
                "{1} 'às' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            NoonMarkerNarrow{"m.d."}
            availableFormats{
                MMMEd{"E, d/MM"}
                MMMMEd{"E, d 'de' MMMM"}
                MMMMd{"d 'de' MMMM"}
                MMMd{"d/MM"}
                yMMM{"MM/y"}
                yMMMEEEEd{"EEEE, d/MM/y"}
                yMMMEd{"E, d/MM/y"}
                yMMMM{"MMMM 'de' y"}
                yMMMMEd{"E, d 'de' MMMM 'de' y"}
                yMMMMd{"d 'de' MMMM 'de' y"}
                yMMMd{"d/MM/y"}
                yQQQ{"QQQQ 'de' y"}
                yQQQQ{"QQQQ 'de' y"}
            }
            dayNames{
                format{
                    short{
                        "do",
                        "sg",
                        "te",
                        "qu",
                        "qi",
                        "sx",
                        "sb",
                    }
                }
                stand-alone{
                    short{
                        "do",
                        "sg",
                        "te",
                        "qu",
                        "qi",
                        "sx",
                        "sb",
                    }
                }
            }
            eras{
                abbreviated%variant{
                    "a.E.C.",
                    "E.C.",
                }
                wide{
                    "antes de Cristo",
                    "depois de Cristo",
                }
                wide%variant{
                    "antes da Era Comum",
                    "Era Comum",
                }
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hm{
                    H{"HH:mm - HH:mm"}
                    m{"HH:mm - HH:mm"}
                }
                Hmv{
                    H{"HH:mm - HH:mm v"}
                    m{"HH:mm - HH:mm v"}
                }
                Hv{
                    H{"HH - HH v"}
                }
                M{
                    M{"M-M"}
                }
                MMM{
                    M{"MMM-MMM"}
                }
                MMMEd{
                    d{"E, d 'de' MMM - E, d 'de' MMM"}
                }
                MMMd{
                    d{"d-d 'de' MMM"}
                }
                d{
                    d{"d–d"}
                }
                h{
                    a{"h a - h a"}
                    h{"h-h a"}
                }
                hm{
                    a{"h:mm a - h:mm a"}
                    h{"h:mm - h:mm a"}
                    m{"h:mm - h:mm a"}
                }
                hmv{
                    h{"h:mm - h:mm a v"}
                    m{"h:mm - h:mm a v"}
                }
                hv{
                    h{"h - h a v"}
                }
                y{
                    y{"y-y"}
                }
                yMMM{
                    M{"MMM-MMM 'de' y"}
                }
                yMMMEd{
                    d{"E, d 'de' MMM - E, d 'de' MMM 'de' y"}
                }
                yMMMd{
                    d{"d-d 'de' MMM 'de' y"}
                }
            }
            monthNames{
                stand-alone{
                    abbreviated{
                        "Jan",
                        "Fev",
                        "Mar",
                        "Abr",
                        "Mai",
                        "Jun",
                        "Jul",
                        "Ago",
                        "Set",
                        "Out",
                        "Nov",
                        "Dez",
                    }
                    wide{
                        "Janeiro",
                        "Fevereiro",
                        "Março",
                        "Abril",
                        "Maio",
                        "Junho",
                        "Julho",
                        "Agosto",
                        "Setembro",
                        "Outubro",
                        "Novembro",
                        "Dezembro",
                    }
                }
            }
            quarters{
                format{
                    wide{
                        "1.º trimestre",
                        "2.º trimestre",
                        "3.º trimestre",
                        "4.º trimestre",
                    }
                }
                stand-alone{
                    wide{
                        "1.º trimestre",
                        "2.º trimestre",
                        "3.º trimestre",
                        "4.º trimestre",
                    }
                }
            }
        }
        hebrew{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'de' MMMM 'de' y G",
                "d 'de' MMMM 'de' y G",
                "d 'de' MMM, y G",
                "d/M/y G",
                "{1}, {0}",
                "{1} 'às' {0}",
                "{1} 'às' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
        }
        islamic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'de' MMMM 'de' y G",
                "d 'de' MMMM 'de' y G",
                "d 'de' MMM, y G",
                "d/M/y G",
                "{1}, {0}",
                "{1} 'às' {0}",
                "{1} 'às' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
        }
        japanese{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'de' MMMM 'de' y G",
                "d 'de' MMMM 'de' y G",
                "dd/MM/y G",
                "d/M/y G",
                "{1}, {0}",
                "{1} 'às' {0}",
                "{1} 'às' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
        }
        roc{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'de' MMMM 'de' y G",
                "d 'de' MMMM 'de' y G",
                "d 'de' MMM, y G",
                "d/M/y G",
                "{1}, {0}",
                "{1} 'às' {0}",
                "{1} 'às' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
        }
    }
    contextTransforms{
        languages:intvector{
            0,
            1,
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
    fields{
        day{
            relativeTime{
                future{
                    one{"dentro de {0} dia"}
                    other{"dentro de {0} dias"}
                }
                past{
                    one{"há {0} dia"}
                    other{"há {0} dias"}
                }
            }
        }
        day-short{
            relativeTime{
                future{
                    one{"dentro de {0} dia"}
                    other{"dentro de {0} dias"}
                }
                past{
                    one{"há {0} dia"}
                    other{"há {0} dias"}
                }
            }
        }
        dayperiod{
            dn{"Da manhã/da tarde"}
        }
        hour{
            relativeTime{
                future{
                    one{"dentro de {0} hora"}
                    other{"dentro de {0} horas"}
                }
                past{
                    one{"há {0} hora"}
                    other{"há {0} horas"}
                }
            }
        }
        hour-short{
            dn{"h"}
            relativeTime{
                future{
                    one{"dentro de {0} h"}
                    other{"dentro de {0} h"}
                }
                past{
                    one{"há {0} h"}
                    other{"há {0} h"}
                }
            }
        }
        minute{
            relativeTime{
                future{
                    one{"dentro de {0} minuto"}
                    other{"dentro de {0} minutos"}
                }
                past{
                    one{"há {0} minuto"}
                    other{"há {0} minutos"}
                }
            }
        }
        minute-narrow{
            dn{"min"}
            relativeTime{
                future{
                    one{"+{0} min"}
                    other{"+{0} min"}
                }
                past{
                    one{"-{0} min"}
                    other{"-{0} min"}
                }
            }
        }
        minute-short{
            dn{"min"}
            relativeTime{
                future{
                    one{"dentro de {0} min"}
                    other{"dentro de {0} min"}
                }
                past{
                    one{"há {0} min"}
                    other{"há {0} min"}
                }
            }
        }
        month{
            relativeTime{
                future{
                    one{"dentro de {0} mês"}
                    other{"dentro de {0} meses"}
                }
                past{
                    one{"há {0} mês"}
                    other{"há {0} meses"}
                }
            }
        }
        month-short{
            relativeTime{
                future{
                    one{"dentro de {0} mês"}
                    other{"dentro de {0} meses"}
                }
                past{
                    one{"há {0} mês"}
                    other{"há {0} meses"}
                }
            }
        }
        quarter{
            relativeTime{
                future{
                    one{"dentro de {0} trimestre"}
                    other{"dentro de {0} trimestres"}
                }
                past{
                    one{"há {0} trimestre"}
                    other{"há {0} trimestres"}
                }
            }
        }
        quarter-narrow{
            relativeTime{
                future{
                    one{"+{0} trim."}
                    other{"+{0} trim."}
                }
                past{
                    one{"-{0} trim."}
                    other{"-{0} trim."}
                }
            }
        }
        quarter-short{
            relativeTime{
                future{
                    one{"dentro de {0} trim."}
                    other{"dentro de {0} trim."}
                }
                past{
                    one{"há {0} trim."}
                    other{"há {0} trim."}
                }
            }
        }
        second{
            relativeTime{
                future{
                    one{"dentro de {0} segundo"}
                    other{"dentro de {0} segundos"}
                }
                past{
                    one{"há {0} segundo"}
                    other{"há {0} segundos"}
                }
            }
        }
        second-short{
            dn{"s"}
            relativeTime{
                future{
                    one{"dentro de {0} s"}
                    other{"dentro de {0} s"}
                }
                past{
                    one{"há {0} s"}
                    other{"há {0} s"}
                }
            }
        }
        thu-narrow{
            relative{
                "1"{"próxima qui."}
            }
        }
        thu-short{
            relative{
                "1"{"próxima qui."}
            }
        }
        week{
            relativeTime{
                future{
                    one{"dentro de {0} semana"}
                    other{"dentro de {0} semanas"}
                }
                past{
                    one{"há {0} semana"}
                    other{"há {0} semanas"}
                }
            }
        }
        week-short{
            relativeTime{
                future{
                    one{"dentro de {0} sem."}
                    other{"dentro de {0} sem."}
                }
                past{
                    one{"há {0} sem."}
                    other{"há {0} sem."}
                }
            }
        }
        year{
            relativeTime{
                future{
                    one{"dentro de {0} ano"}
                    other{"dentro de {0} anos"}
                }
                past{
                    one{"há {0} ano"}
                    other{"há {0} anos"}
                }
            }
        }
        year-short{
            relativeTime{
                future{
                    one{"dentro de {0} ano"}
                    other{"dentro de {0} anos"}
                }
                past{
                    one{"há {0} ano"}
                    other{"há {0} anos"}
                }
            }
        }
    }
    measurementSystemNames{
        UK{"Reino Unido"}
        US{"Estados Unidos"}
        metric{"Métrico"}
    }
    transformNames{
        x-Accents{"Acentos"}
        x-Fullwidth{"Largura Completa"}
        x-Halfwidth{"Meia Largura"}
    }
}
