﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml
pt_PT{
    Ellipsis{
        final{"{0}…"}
        initial{"…{0}"}
        medial{"{0}…{1}"}
        word-initial{"… {0}"}
        word-medial{"{0} … {1}"}
    }
    ExemplarCharactersNumbers{"[  \\- ‑ , % ‰ + 0 1 2 3 4 5 6 7 8 9]"}
    ExemplarCharactersPunctuation{
        "[\\- ‐ ‑ – — , ; \\: ! ? . … ' \u0022 “ ” « » ( ) \\[ \\] § @ * / \\& # † ‡ "
        "′ ″]"
    }
    MoreInformation{"?"}
    NumberElements{
        arab{
            miscPatterns{
                range{"{0} - {1}"}
            }
        }
        default{"latn"}
        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{
                    1000{
                        one{"0 mil ¤"}
                        other{"0 mil ¤"}
                    }
                    10000{
                        one{"00 mil ¤"}
                        other{"00 mil ¤"}
                    }
                    100000{
                        one{"000 mil ¤"}
                        other{"000 mil ¤"}
                    }
                    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{
                approximatelySign{"~"}
                group{" "}
            }
        }
        minimalPairs{
            ordinal{
                other{"{0}.º lugar"}
            }
        }
        minimumGroupingDigits{"2"}
        native{"latn"}
    }
    Version{"38"}
    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 MMM y G",
                "d/M/y G",
                "{1}, {0}",
                "{1} 'às' {0}",
                "{1} 'às' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            eras{
                narrow{
                    "BE",
                }
                wide{
                    "BE",
                }
            }
        }
        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 MMM 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{
                Gy{
                    G{"y G – y G"}
                    y{"y – y G"}
                }
                GyM{
                    G{"MM/y GGGGG – MM/y GGGGG"}
                    M{"MM/y – MM/y GGGGG"}
                    y{"MM/y – MM/y GGGGG"}
                }
                GyMEd{
                    G{"E, d/MM/y GGGGG – E, d/MM/y GGGGG"}
                    M{"E, d/MM/y – E, d/MM/y GGGGG"}
                    d{"E, d/MM/y – E, d/MM/y GGGGG"}
                    y{"E, d/MM/y – E, d/MM/y GGGGG"}
                }
                GyMMM{
                    G{"MMM y G – MMM y G"}
                    M{"MMM – MMM y G"}
                    y{"MMM y – MMM y G"}
                }
                GyMMMEd{
                    G{"E, d 'de' MMMM, y G – E, d 'de' MMMM, y G"}
                    M{"E, d 'de' MMMM – E, d 'de' MMMM, y G"}
                    d{"E, d 'de' MMMM – E, d 'de' MMMM, y G"}
                    y{"E, d 'de' MMMM, y – E, d 'de' MMMM, y G"}
                }
                GyMMMd{
                    G{"d 'de' MMMM, y G – d 'de' MMMM, y G"}
                    M{"d 'de' MMMM – d 'de' MMMM, y G"}
                    d{"d – d 'de' MMMM, y G"}
                    y{"d 'de' MMMM, y – d 'de' MMMM, y G"}
                }
                GyMd{
                    G{"d/MM/y GGGGG – d/MM/y GGGGG"}
                    M{"d/MM/y – d/MM/y GGGGG"}
                    d{"d/MM/y – d/MM/y GGGGG"}
                    y{"d/MM/y – d/MM/y GGGGG"}
                }
                M{
                    M{"MM–MM"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    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{
                    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"}
                MMMMW{
                    one{"W.'ª' 'semana' 'de' MMMM"}
                    other{"W.'ª' 'semana' '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"}
                yw{
                    one{"w.'ª' 'semana' 'de' Y"}
                    other{"w.'ª' 'semana' 'de' Y"}
                }
            }
            dayNames{
                format{
                    abbreviated{
                        "domingo",
                        "segunda",
                        "terça",
                        "quarta",
                        "quinta",
                        "sexta",
                        "sábado",
                    }
                    narrow{
                        "D",
                        "S",
                        "T",
                        "Q",
                        "Q",
                        "S",
                        "S",
                    }
                    short{
                        "dom.",
                        "seg.",
                        "ter.",
                        "qua.",
                        "qui.",
                        "sex.",
                        "sáb.",
                    }
                }
                stand-alone{
                    abbreviated{
                        "domingo",
                        "segunda",
                        "terça",
                        "quarta",
                        "quinta",
                        "sexta",
                        "sábado",
                    }
                    narrow{
                        "D",
                        "S",
                        "T",
                        "Q",
                        "Q",
                        "S",
                        "S",
                    }
                }
            }
            dayPeriod{
                format{
                    narrow{
                        afternoon1{"tarde"}
                        evening1{"noite"}
                        midnight{"meia-noite"}
                        morning1{"manhã"}
                        night1{"madrugada"}
                        noon{"meio-dia"}
                    }
                }
                stand-alone{
                    abbreviated{
                        am{"a.m."}
                        pm{"p.m."}
                    }
                    narrow{
                        am{"a.m."}
                        pm{"p.m."}
                    }
                    wide{
                        am{"manhã"}
                        pm{"tarde"}
                    }
                }
            }
            eras{
                abbreviated%variant{
                    "a.E.C.",
                    "E.C.",
                }
            }
            intervalFormats{
                GyMEd{
                    G{"E, d/M/y GGGGG – E, d/M/y GGGGG"}
                    M{"E, d/M/y – E, d/M/y GGGGG"}
                    d{"E, d/M/y – E, d/M/y GGGGG"}
                    y{"E, d/M/y – E, d/M/y GGGGG"}
                }
                GyMMMEd{
                    G{"E, d MMM y G – E, d MMM y G"}
                    M{"E, d MMM – E, d MMM y G"}
                    d{"E, d MMM – E, d MMM y G"}
                    y{"E, d MMM y – E, d MMM y G"}
                }
                GyMMMd{
                    G{"d MMM y G – d MMM y G"}
                    M{"d MMM – d MMM y G"}
                    d{"d – d MMM y G"}
                    y{"d MMM y – d MMM y G"}
                }
                GyMd{
                    G{"d/M/y GGGGG – d/M/y GGGGG"}
                    M{"d/M/y – d/M/y GGGGG"}
                    d{"d/M/y – d/M/y GGGGG"}
                    y{"d/M/y – d/M/y GGGGG"}
                }
                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{
                    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{
                    d{"E, dd/MM – 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",
                "d 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 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 MMM y G",
                "d/M/y G",
                "{1}, {0}",
                "{1} 'às' {0}",
                "{1} 'às' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
        }
    }
    characterLabel{
        box_drawing{"desenho enquadrado"}
        bullets_stars{"ponto ou estrela"}
        consonantal_jamo{"jamo consoante"}
        dash_connector{"travessão ou elemento de ligação"}
        divination_symbols{"símbolo de divinação"}
        east_asian_scripts{"escrita leste-asiática"}
        food_drink{"comida e bebida"}
        han_characters{"carácter Han"}
        hanzi_simplified{"hanzi (simplificado)"}
        hanzi_traditional{"hanzi (tradicional)"}
        ideographic_desc_characters{"carácter de descrição ideográfica"}
        letterlike_symbols{"símbolo parecido com uma letra"}
        limited_use{"de uso limitado"}
        middle_eastern_scripts{"escrita médio-oriental"}
        other{"outro"}
        south_asian_scripts{"escrita sul-asiática"}
        southeast_asian_scripts{"escrita sudeste-asiática"}
        sport{"desporto"}
        travel{"viagens"}
        vocalic_jamo{"jamo vogal"}
        weather{"meteorologia"}
        western_asian_scripts{"escrita oeste-asiática"}
    }
    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-narrow{
            relative{
                "-1"{"ontem"}
                "0"{"hoje"}
                "1"{"amanhã"}
            }
            relativeTime{
                future{
                    one{"+{0} dia"}
                    other{"+{0} dias"}
                }
                past{
                    one{"-{0} dia"}
                    other{"-{0} dias"}
                }
            }
        }
        day-short{
            relative{
                "-1"{"ontem"}
                "0"{"hoje"}
                "1"{"amanhã"}
            }
            relativeTime{
                future{
                    one{"dentro de {0} dia"}
                    other{"dentro de {0} dias"}
                }
            }
        }
        dayperiod{
            dn{"am/pm"}
        }
        dayperiod-narrow{
            dn{"am/pm"}
        }
        dayperiod-short{
            dn{"am/pm"}
        }
        fri{
            relativeTime{
                future{
                    one{"dentro de {0} sexta-feira"}
                    other{"dentro de {0} sextas-feiras"}
                }
            }
        }
        fri-narrow{
            relativeTime{
                future{
                    one{"dentro de {0} sex."}
                    other{"dentro de {0} sex."}
                }
            }
        }
        fri-short{
            relative{
                "-1"{"sexta passada"}
                "0"{"esta sexta"}
                "1"{"próxima sexta"}
            }
            relativeTime{
                future{
                    one{"dentro de {0} sexta"}
                    other{"dentro de {0} sextas"}
                }
                past{
                    one{"há {0} sexta"}
                    other{"há {0} sextas"}
                }
            }
        }
        hour{
            relativeTime{
                future{
                    one{"dentro de {0} hora"}
                    other{"dentro de {0} horas"}
                }
            }
        }
        hour-narrow{
            relativeTime{
                future{
                    one{"+{0} h"}
                    other{"+{0} h"}
                }
                past{
                    one{"-{0} h"}
                    other{"-{0} h"}
                }
            }
        }
        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{
            relativeTime{
                future{
                    one{"dentro de {0} segunda-feira"}
                    other{"dentro de {0} segundas-feiras"}
                }
            }
        }
        mon-narrow{
            relativeTime{
                future{
                    one{"dentro de {0} seg."}
                    other{"dentro de {0} seg."}
                }
            }
        }
        mon-short{
            relative{
                "-1"{"segunda passada"}
                "0"{"esta segunda"}
                "1"{"próxima segunda"}
            }
            relativeTime{
                future{
                    one{"dentro de {0} segunda"}
                    other{"dentro de {0} segundas"}
                }
                past{
                    one{"há {0} segunda"}
                    other{"há {0} segundas"}
                }
            }
        }
        month{
            relativeTime{
                future{
                    one{"dentro de {0} mês"}
                    other{"dentro de {0} meses"}
                }
            }
        }
        month-narrow{
            relativeTime{
                future{
                    one{"+{0} mês"}
                    other{"+{0} meses"}
                }
                past{
                    one{"-{0} mês"}
                    other{"-{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."}
                }
            }
        }
        sat{
            relativeTime{
                future{
                    one{"dentro de {0} sábado"}
                    other{"dentro de {0} sábados"}
                }
            }
        }
        sat-narrow{
            relativeTime{
                future{
                    one{"dentro de {0} sáb."}
                    other{"dentro de {0} sáb."}
                }
            }
        }
        sat-short{
            relative{
                "-1"{"sábado passado"}
                "0"{"este sábado"}
                "1"{"próximo sábado"}
            }
            relativeTime{
                future{
                    one{"dentro de {0} sábado"}
                    other{"dentro de {0} sábados"}
                }
                past{
                    one{"há {0} sábado"}
                    other{"há {0} sábados"}
                }
            }
        }
        second{
            relativeTime{
                future{
                    one{"dentro de {0} segundo"}
                    other{"dentro de {0} segundos"}
                }
            }
        }
        second-narrow{
            dn{"s"}
            relativeTime{
                future{
                    one{"+{0} s"}
                    other{"+{0} s"}
                }
                past{
                    one{"-{0} s"}
                    other{"-{0} s"}
                }
            }
        }
        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"}
                }
            }
        }
        sun{
            relativeTime{
                future{
                    one{"dentro de {0} domingo"}
                    other{"dentro de {0} domingos"}
                }
                past{
                    one{"há {0} domingo"}
                    other{"há {0} domingos"}
                }
            }
        }
        sun-narrow{
            relativeTime{
                future{
                    one{"dentro de {0} dom."}
                    other{"dentro de {0} dom."}
                }
            }
        }
        sun-short{
            relative{
                "-1"{"domingo passado"}
                "0"{"este domingo"}
                "1"{"próximo domingo"}
            }
            relativeTime{
                future{
                    one{"dentro de {0} domingo"}
                    other{"dentro de {0} domingos"}
                }
            }
        }
        thu{
            relativeTime{
                future{
                    one{"dentro de {0} quinta-feira"}
                    other{"dentro de {0} quintas-feiras"}
                }
            }
        }
        thu-narrow{
            relativeTime{
                future{
                    one{"dentro de {0} qui."}
                    other{"dentro de {0} qui."}
                }
            }
        }
        thu-short{
            relative{
                "-1"{"quinta passada"}
                "0"{"esta quinta"}
                "1"{"próxima quinta"}
            }
            relativeTime{
                future{
                    one{"dentro de {0} quinta"}
                    other{"dentro de {0} quintas"}
                }
                past{
                    one{"há {0} quinta"}
                    other{"há {0} quintas"}
                }
            }
        }
        tue{
            relativeTime{
                future{
                    one{"dentro de {0} terça-feira"}
                    other{"dentro de {0} terças-feiras"}
                }
            }
        }
        tue-narrow{
            relativeTime{
                future{
                    one{"dentro de {0} ter."}
                    other{"dentro de {0} ter."}
                }
            }
        }
        tue-short{
            relative{
                "-1"{"terça passada"}
                "0"{"esta terça"}
                "1"{"próxima terça"}
            }
            relativeTime{
                future{
                    one{"dentro de {0} terça"}
                    other{"dentro de {0} terças"}
                }
                past{
                    one{"há {0} terça"}
                    other{"há {0} terças"}
                }
            }
        }
        wed{
            relativeTime{
                future{
                    one{"dentro de {0} quarta-feira"}
                    other{"dentro de {0} quartas-feiras"}
                }
            }
        }
        wed-narrow{
            relativeTime{
                future{
                    one{"dentro de {0} qua."}
                    other{"dentro de {0} qua."}
                }
            }
        }
        wed-short{
            relative{
                "-1"{"quarta passada"}
                "0"{"esta quarta"}
                "1"{"próxima quarta"}
            }
            relativeTime{
                future{
                    one{"dentro de {0} quarta"}
                    other{"dentro de {0} quartas"}
                }
                past{
                    one{"há {0} quarta"}
                    other{"há {0} quartas"}
                }
            }
        }
        week{
            relativeTime{
                future{
                    one{"dentro de {0} semana"}
                    other{"dentro de {0} semanas"}
                }
            }
        }
        week-narrow{
            relativeTime{
                future{
                    one{"+{0} sem."}
                    other{"+{0} sem."}
                }
                past{
                    one{"-{0} sem."}
                    other{"-{0} sem."}
                }
            }
        }
        week-short{
            relativePeriod{"a sem. de {0}"}
            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-narrow{
            relativeTime{
                future{
                    one{"+{0} ano"}
                    other{"+{0} anos"}
                }
                past{
                    one{"-{0} ano"}
                    other{"-{0} anos"}
                }
            }
        }
        year-short{
            relativeTime{
                future{
                    one{"dentro de {0} ano"}
                    other{"dentro de {0} anos"}
                }
            }
        }
        zone-narrow{
            dn{"fuso horário"}
        }
        zone-short{
            dn{"fuso horário"}
        }
    }
    listPattern{
        standard{
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-narrow{
            2{"{0} e {1}"}
            end{"{0} e {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-short{
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
}
