﻿// ***************************************************************************
// *
// * Copyright (C) 2015 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{
                currencyFormat{
                    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 B"}
                        other{"¤0 B"}
                    }
                    10000000000000{
                        one{"¤00 B"}
                        other{"¤00 B"}
                    }
                    100000000000000{
                        one{"¤000 B"}
                        other{"¤000 B"}
                    }
                }
                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{" "}
            }
        }
        minimumGroupingDigits{"2"}
    }
    Version{"2.1.19.79"}
    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",
                "dd/MM/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",
                "dd/MM/y G",
                "d/M/y G",
                "{1}, {0}",
                "{1} 'às' {0}",
                "{1} 'às' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            availableFormats{
                yyyyMMM{"MM/y G"}
                yyyyMMMEEEEd{"EEEE, d/MM/y"}
                yyyyMMMEd{"E, d/MM/y G"}
                yyyyMMMd{"d/MM/y G"}
                yyyyQQQ{"QQQQ 'de' y G"}
                yyyyQQQQ{"QQQQ 'de' y G"}
            }
            intervalFormats{
                M{
                    M{"MM–MM"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"ccc, dd/MM – ccc, dd/MM"}
                    d{"ccc, dd/MM – ccc, dd/MM"}
                }
                MMMMEd{
                    M{"ccc, d 'de' MMMM – ccc, d 'de' MMMM"}
                    d{"ccc, d 'de' MMMM – ccc, d 'de' MMMM"}
                }
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    h{"h:mm – h:mm a"}
                }
                y{
                    y{"y–y G"}
                }
                yMMMEd{
                    M{"E, dd/MM – E, dd/MM/y G"}
                    d{"E, dd/MM – E, dd/MM/y G"}
                    y{"E, dd/MM/y – E, dd/MM/y G"}
                }
                yMMMM{
                    M{"MMMM – MMMM 'de' y G"}
                }
                yMMMMEd{
                    M{"E, d 'de' MMMM – E, d 'de' MMMM 'de' y G"}
                    d{"E, d 'de' MMMM – E, d 'de' MMMM 'de' y G"}
                    y{"E, d 'de' MMMM 'de' y – E, d 'de' 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}",
            }
            availableFormats{
                MMMEd{"E, d/MM"}
                MMMMEd{"ccc, d 'de' MMMM"}
                MMMd{"d/MM"}
                Md{"dd/MM"}
                yMMM{"MM/y"}
                yMMMEEEEd{"EEEE, d/MM/y"}
                yMMMEd{"E, d/MM/y"}
                yMMMMEd{"ccc, d 'de' MMMM 'de' y"}
                yMMMd{"d/MM/y"}
                yQQQ{"QQQQ 'de' y"}
                yQQQQ{"QQQQ 'de' y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "domingo",
                        "segunda",
                        "terça",
                        "quarta",
                        "quinta",
                        "sexta",
                        "sábado",
                    }
                }
                stand-alone{
                    abbreviated{
                        "domingo",
                        "segunda",
                        "terça",
                        "quarta",
                        "quinta",
                        "sexta",
                        "sábado",
                    }
                }
            }
            dayPeriod{
                format{
                    abbreviated{
                        noon{"meio-dia"}
                    }
                    narrow{
                        afternoon1{"tarde"}
                        evening1{"noite"}
                        midnight{"meia-noite"}
                        morning1{"manhã"}
                        night1{"madrugada"}
                        noon{"meio-dia"}
                    }
                    wide{
                        afternoon1{"da tarde"}
                        evening1{"da noite"}
                        morning1{"da manhã"}
                        noon{"meio-dia"}
                    }
                }
                stand-alone{
                    abbreviated{
                        am{"a.m."}
                        pm{"p.m."}
                    }
                    narrow{
                        afternoon1{"tarde"}
                        am{"a.m."}
                        morning1{"manhã"}
                        pm{"p.m."}
                    }
                    wide{
                        am{"manhã"}
                        pm{"tarde"}
                    }
                }
            }
            eras{
                abbreviated%variant{
                    "a.E.C.",
                    "E.C.",
                }
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"ccc, dd/MM – ccc, dd/MM"}
                    d{"ccc, dd/MM – ccc, dd/MM"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"ccc, dd/MM – ccc, dd/MM"}
                    d{"ccc, dd/MM – ccc, dd/MM"}
                }
                MMMMEd{
                    M{"ccc, d 'de' MMMM – ccc, d 'de' MMMM"}
                    d{"ccc, d 'de' MMMM – ccc, d 'de' MMMM"}
                }
                MMMd{
                    d{"d–d 'de' MMM"}
                }
                d{
                    d{"d–d"}
                }
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hv{
                    h{"h–h a v"}
                }
                y{
                    y{"y–y"}
                }
                yMEd{
                    M{"ccc, dd/MM/y – ccc, dd/MM/y"}
                    d{"ccc, dd/MM/y – ccc, dd/MM/y"}
                    y{"ccc, dd/MM/y – ccc, dd/MM/y"}
                }
                yMMM{
                    M{"MMM–MMM 'de' y"}
                }
                yMMMEd{
                    M{"E, dd/MM – E, dd/MM/y"}
                    d{"E, dd/MM – E, dd/MM/y"}
                    y{"E, dd/MM/y – E, dd/MM/y"}
                }
                yMMMMEd{
                    M{"E, d 'de' MMMM – E, d 'de' MMMM 'de' y"}
                    d{"E, d 'de' MMMM – E, d 'de' MMMM 'de' y"}
                    y{"E, d 'de' MMMM 'de' y – E, d 'de' MMMM 'de' y"}
                }
                yMMMd{
                    d{"d–d 'de' MMM 'de' y"}
                }
            }
            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",
                "dd/MM/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",
                "dd/MM/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",
                "dd/MM/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"}
                }
            }
        }
        day-short{
            relativeTime{
                future{
                    one{"dentro de {0} dia"}
                    other{"dentro de {0} dias"}
                }
            }
        }
        fri-short{
            relative{
                "-1"{"sexta passada"}
                "0"{"esta sexta"}
                "1"{"próxima sexta"}
            }
        }
        hour{
            relativeTime{
                future{
                    one{"dentro de {0} hora"}
                    other{"dentro de {0} horas"}
                }
            }
        }
        hour-short{
            relativeTime{
                future{
                    one{"dentro de {0} h"}
                    other{"dentro de {0} h"}
                }
            }
        }
        minute{
            relativeTime{
                future{
                    one{"dentro de {0} minuto"}
                    other{"dentro de {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"}
                }
            }
        }
        mon-short{
            relative{
                "-1"{"segunda passada"}
                "0"{"esta segunda"}
                "1"{"próxima segunda"}
            }
        }
        month{
            relativeTime{
                future{
                    one{"dentro de {0} mês"}
                    other{"dentro de {0} meses"}
                }
            }
        }
        month-short{
            relativeTime{
                future{
                    one{"dentro de {0} mês"}
                    other{"dentro de {0} meses"}
                }
            }
        }
        quarter{
            relative{
                "-1"{"trimestre passado"}
                "0"{"este trimestre"}
                "1"{"próximo trimestre"}
            }
            relativeTime{
                future{
                    one{"dentro de {0} trimestre"}
                    other{"dentro de {0} trimestres"}
                }
            }
        }
        quarter-narrow{
            relative{
                "-1"{"trim. passado"}
                "0"{"este trim."}
                "1"{"próximo trim."}
            }
            relativeTime{
                future{
                    one{"+{0} trim."}
                    other{"+{0} trim."}
                }
                past{
                    one{"-{0} trim."}
                    other{"-{0} trim."}
                }
            }
        }
        quarter-short{
            relative{
                "-1"{"trim. passado"}
                "0"{"este trim."}
                "1"{"próximo trim."}
            }
            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"}
                }
            }
        }
        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"{"quinta passada"}
                "0"{"esta quinta"}
                "1"{"próxima quinta"}
            }
        }
        tue-short{
            relative{
                "-1"{"terça passada"}
                "0"{"esta terça"}
                "1"{"próxima terça"}
            }
        }
        wed-short{
            relative{
                "-1"{"quarta passada"}
                "0"{"esta quarta"}
                "1"{"próxima quarta"}
            }
        }
        week{
            relativeTime{
                future{
                    one{"dentro de {0} semana"}
                    other{"dentro de {0} semanas"}
                }
            }
        }
        week-short{
            relativeTime{
                future{
                    one{"dentro de {0} sem."}
                    other{"dentro de {0} sem."}
                }
            }
        }
        year{
            relativeTime{
                future{
                    one{"dentro de {0} ano"}
                    other{"dentro de {0} anos"}
                }
            }
        }
        year-short{
            relativeTime{
                future{
                    one{"dentro de {0} ano"}
                    other{"dentro de {0} anos"}
                }
            }
        }
    }
    transformNames{
        x-Accents{"Acentos"}
        x-Fullwidth{"Largura completa"}
        x-Halfwidth{"Meia largura"}
    }
}
