﻿// ***************************************************************************
// *
// * Copyright (C) 2010 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/pt.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/pt.xml
 */
pt{
    AuxExemplarCharacters{"[ă å ä ā æ è ĕ ë ē ì ĭ î ï ī ñ ŏ ö ø ō œ ù ŭ û ü ū ÿ]"}
    ExemplarCharacters{
        "[a á à â ã b c ç d e é ê f g h i í j k l m n o ó ò ô õ p q r s t u ú v w x y"
        " z]"
    }
    ExemplarCharactersCurrency{"[a b c č d e f g h i j k l ł m n o p q r s t u v w x y z]"}
    ExemplarCharactersIndex{"[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"¤#,##0.00;(¤#,##0.00)"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{"."}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.51.59"}
    calendar{
        buddhist{
            DateTimePatterns{
                "HH'h'mm'min'ss's' zzzz",
                "HH'h'mm'min'ss's' z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'de' MMMM 'de' y G",
                "d 'de' MMMM 'de' y G",
                "d 'de' MMMM 'de' y G",
                "d/M/yyyy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"EEE, d"}
                HHmm{"HH'h'mm"}
                HHmmss{"HH'h'mm'min'ss's'"}
                Hm{"HH'h'mm"}
                M{"L"}
                MEd{"EEE, dd/MM"}
                MMM{"LLL"}
                MMMEd{"EEE, d 'de' MMM"}
                MMMd{"d 'de' MMM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d"}
                ms{"mm'min'ss's'"}
                y{"y G"}
                yM{"MM/y G"}
                yMEd{"EEE, dd/MM/yyyy G"}
                yMMM{"MMM 'de' y G"}
                yMMMEd{"EEE, d 'de' MMM 'de' y G"}
                yQ{"G y Q"}
                yQQQ{"G y QQQ"}
                yyMM{"MM/yy G"}
                yyMMM{"MMM 'de' yy G"}
                yyMMMEEEd{"EEE, d 'de' MMM 'de' yy G"}
                yyMMMd{"d 'de' MMM 'de' yy G"}
                yyQ{"Q yy G"}
                yyyyMM{"MM/y G"}
                yyyyMMM{"MMM 'de' y G"}
            }
        }
        gregorian{
            DateTimePatterns{
                "HH'h'mm'min'ss's' zzzz",
                "HH'h'mm'min'ss's' z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'de' MMMM 'de' y",
                "d 'de' MMMM 'de' y",
                "dd/MM/yyyy",
                "dd/MM/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"EEE, d"}
                HHmm{"HH'h'mm"}
                HHmmss{"HH'h'mm'min'ss's'"}
                Hm{"HH'h'mm"}
                M{"L"}
                MEd{"EEE, dd/MM"}
                MMM{"LLL"}
                MMMEd{"EEE, d 'de' MMM"}
                MMMd{"d 'de' MMM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d"}
                ms{"mm'min'ss's'"}
                y{"y"}
                yM{"MM/yyyy"}
                yMEd{"EEE, dd/MM/yyyy"}
                yMMM{"MMM 'de' y"}
                yMMMEd{"EEE, d 'de' MMM 'de' y"}
                yQ{"yyyy Q"}
                yQQQ{"y QQQ"}
                yyMM{"MM/yy"}
                yyMMM{"MMM 'de' yy"}
                yyMMMEEEd{"EEE, d 'de' MMM 'de' yy"}
                yyMMMd{"d 'de' MMM 'de' yy"}
                yyQ{"Q yy"}
                yyyyMM{"MM/yyyy"}
                yyyyMMM{"MMM 'de' y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "dom",
                        "seg",
                        "ter",
                        "qua",
                        "qui",
                        "sex",
                        "sáb",
                    }
                    wide{
                        "domingo",
                        "segunda-feira",
                        "terça-feira",
                        "quarta-feira",
                        "quinta-feira",
                        "sexta-feira",
                        "sábado",
                    }
                }
                stand-alone{
                    narrow{
                        "D",
                        "S",
                        "T",
                        "Q",
                        "Q",
                        "S",
                        "S",
                    }
                }
            }
            eras{
                abbreviated{
                    "a.C.",
                    "d.C.",
                }
                wide{
                    "Antes de Cristo",
                    "Ano do Senhor",
                }
            }
            fields{
                day{
                    dn{"Dia"}
                    relative{
                        "-1"{"Ontem"}
                        "-2"{"Anteontem"}
                        "-3"{"Há três dias"}
                        "0"{"Hoje"}
                        "1"{"Amanhã"}
                        "2"{"Depois de amanhã"}
                        "3"{"Daqui a três dias"}
                    }
                }
                dayperiod{
                    dn{"Período do dia"}
                }
                era{
                    dn{"Era"}
                }
                hour{
                    dn{"Hora"}
                }
                minute{
                    dn{"Minuto"}
                }
                month{
                    dn{"Mês"}
                }
                second{
                    dn{"Segundo"}
                }
                week{
                    dn{"Semana"}
                }
                weekday{
                    dn{"Dia da semana"}
                }
                year{
                    dn{"Ano"}
                }
                zone{
                    dn{"Fuso"}
                }
            }
            intervalFormats{
                H{
                    H{"HH'h' - HH'h'"}
                    a{"HH'h' - HH'h'"}
                }
                Hm{
                    H{"HH'h'mm - HH'h'mm"}
                    a{"HH'h'mm - HH'h'mm"}
                    m{"HH'h'mm - HH'h'mm"}
                }
                Hmv{
                    H{"HH'h'mm - HH'h'mm v"}
                    a{"HH'h'mm - HH'h'mm v"}
                    m{"HH'h'mm - HH'h'mm v"}
                }
                Hv{
                    H{"HH'h'mm - HH'h'mm v"}
                    a{"HH'h'mm - HH'h'mm v"}
                }
                M{
                    M{"M-M"}
                }
                MEd{
                    M{"E, dd/MM - E, dd/MM"}
                    d{"E, dd/MM - E, dd/MM"}
                }
                MMM{
                    M{"MMM - MMM"}
                }
                MMMEd{
                    M{"E, d 'de' MMM - E, d 'de' MMM"}
                    d{"E, d - E, d 'de' MMM"}
                }
                MMMM{
                    M{"LLLL - LLLL"}
                }
                MMMd{
                    M{"d 'de' MMM - d 'de' MMM"}
                    d{"d-d 'de' MMM"}
                }
                Md{
                    M{"dd/MM - dd/MM"}
                    d{"dd/MM - dd/MM"}
                }
                d{
                    d{"d-d"}
                }
                fallback{"{0} - {1}"}
                h{
                    a{"h'h' a - h'h' a"}
                    h{"h'h' - h'h' a"}
                }
                hm{
                    a{"h'h'mm a - h'h'mm a"}
                    h{"h'h'mm - h'h'mm a"}
                    m{"h'h'mm - h'h'mm a"}
                }
                hmv{
                    a{"h'h'mm a - h'h'mm a v"}
                    h{"h'h'mm - h'h'mm a v"}
                    m{"h'h'mm - h'h'mm a v"}
                }
                hv{
                    a{"h'h'mm a - h'h'mm a v"}
                    h{"h'h'mm - h'h'mm a v"}
                }
                y{
                    y{"y - y"}
                }
                yM{
                    M{"MM/yy - MM/yy"}
                    y{"MM/yy - MM/yy"}
                }
                yMEd{
                    M{"E, dd/MM/yy - E, dd/MM/yy"}
                    d{"E, dd/MM/yy - E, dd/MM/yy"}
                    y{"E, dd/MM/yy - E, dd/MM/yy"}
                }
                yMMM{
                    M{"MMM-MMM 'de' y"}
                    y{"MMM 'de' y - MMM 'de' y"}
                }
                yMMMEd{
                    M{"E, d 'de' MMM - E, d 'de' MMM 'de' y"}
                    d{"E, d - E, d 'de' MMM 'de' y"}
                    y{"E, d 'de' MMM 'de' y - E, d 'de' MMM 'de' y"}
                }
                yMMMM{
                    M{"MMMM-MMMM 'de' y"}
                    y{"MMMM 'de' y - MMMM 'de' y"}
                }
                yMMMd{
                    M{"d 'de' MMM - d 'de' MMM 'de' y"}
                    d{"d-d 'de' MMM 'de' y"}
                    y{"d 'de' MMM 'de' y - d 'de' MMM 'de' y"}
                }
                yMd{
                    M{"dd/MM/yy - dd/MM/yy"}
                    d{"dd/MM/yy - dd/MM/yy"}
                    y{"dd/MM/yy - dd/MM/yy"}
                }
            }
            monthNames{
                format{
                    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",
                    }
                }
                stand-alone{
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "T1",
                        "T2",
                        "T3",
                        "T4",
                    }
                    wide{
                        "1º trimestre",
                        "2º trimestre",
                        "3º trimestre",
                        "4º trimestre",
                    }
                }
            }
        }
        islamic{
            DateTimePatterns{
                "HH'h'mm'min'ss's' zzzz",
                "HH'h'mm'min'ss's' z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'de' MMMM 'de' y G",
                "d 'de' MMMM 'de' y G",
                "d 'de' MMMM 'de' y G",
                "d/M/yyyy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"EEE, d"}
                HHmm{"HH'h'mm"}
                HHmmss{"HH'h'mm'min'ss's'"}
                Hm{"HH'h'mm"}
                M{"L"}
                MEd{"EEE, dd/MM"}
                MMM{"LLL"}
                MMMEd{"EEE, d 'de' MMM"}
                MMMd{"d 'de' MMM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d"}
                ms{"mm'min'ss's'"}
                yyMM{"MM/yy G"}
                yyMMM{"MMM 'de' yy G"}
                yyMMMEEEd{"EEE, d 'de' MMM 'de' yy G"}
                yyMMMd{"d 'de' MMM 'de' yy G"}
                yyQ{"Q yy G"}
                yyyy{"y G"}
                yyyyM{"MM/y G"}
                yyyyMEd{"EEE, dd/MM/yyyy G"}
                yyyyMM{"MM/y G"}
                yyyyMMM{"MMM 'de' y G"}
                yyyyMMMEd{"EEE, d 'de' MMM 'de' y G"}
                yyyyQ{"G y Q"}
                yyyyQQQ{"G y QQQ"}
            }
            eras{
                abbreviated{
                    "AH",
                }
                narrow:alias{"/LOCALE/calendar/islamic/eras/abbreviated"}
                wide:alias{"/LOCALE/calendar/islamic/eras/abbreviated"}
            }
            monthNames{
                default{"format"}
                format{
                    abbreviated{
                        "Muh.",
                        "Saf.",
                        "Rab. I",
                        "Rab. II",
                        "Jum. I",
                        "Jum. II",
                        "Raj.",
                        "Sha.",
                        "Ram.",
                        "Shaw.",
                        "Dhuʻl-Q.",
                        "Dhuʻl-H.",
                    }
                    default{"wide"}
                    narrow:alias{"/LOCALE/calendar/islamic/monthNames/stand-alone/narrow"}
                    wide{
                        "Muharram",
                        "Safar",
                        "Rabiʻ I",
                        "Rabiʻ II",
                        "Jumada I",
                        "Jumada II",
                        "Rajab",
                        "Shaʻban",
                        "Ramadan",
                        "Shawwal",
                        "Dhuʻl-Qiʻdah",
                        "Dhuʻl-Hijjah",
                    }
                }
                stand-alone{
                    abbreviated:alias{"/LOCALE/calendar/islamic/monthNames/format/abbreviated"}
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                    wide:alias{"/LOCALE/calendar/islamic/monthNames/format/wide"}
                }
            }
        }
        japanese{
            DateTimePatterns{
                "HH'h'mm'min'ss's' zzzz",
                "HH'h'mm'min'ss's' z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d MMMM y G",
                "d 'de' MMMM 'de' y G",
                "d MMM y G",
                "d/M/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"EEE, d"}
                HHmm{"HH'h'mm"}
                HHmmss{"HH'h'mm'min'ss's'"}
                Hm{"HH'h'mm"}
                M{"L"}
                MEd{"EEE, dd/MM"}
                MMM{"LLL"}
                MMMEd{"EEE, d 'de' MMM"}
                MMMd{"d 'de' MMM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d"}
                ms{"mm'min'ss's'"}
                yyMM{"MM/yy G"}
                yyMMM{"MMM 'de' yy G"}
                yyMMMEEEd{"EEE, d 'de' MMM 'de' yy G"}
                yyMMMd{"d 'de' MMM 'de' yy G"}
                yyQ{"Q yy G"}
                yyyy{"y G"}
                yyyyM{"MM/y G"}
                yyyyMEd{"EEE, dd/MM/yyyy G"}
                yyyyMM{"MM/y G"}
                yyyyMMM{"MMM 'de' y G"}
                yyyyMMMEd{"EEE, d 'de' MMM 'de' y G"}
                yyyyQ{"G y Q"}
                yyyyQQQ{"G y QQQ"}
            }
        }
        roc{
            DateTimePatterns{
                "HH'h'mm'min'ss's' zzzz",
                "HH'h'mm'min'ss's' z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'de' MMMM 'de' y G",
                "d 'de' MMMM 'de' y G",
                "d 'de' MMMM 'de' y G",
                "d/M/yyyy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"EEE, d"}
                HHmm{"HH'h'mm"}
                HHmmss{"HH'h'mm'min'ss's'"}
                Hm{"HH'h'mm"}
                M{"L"}
                MEd{"EEE, dd/MM"}
                MMM{"LLL"}
                MMMEd{"EEE, d 'de' MMM"}
                MMMd{"d 'de' MMM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d"}
                ms{"mm'min'ss's'"}
                yyMM{"MM/yy G"}
                yyMMM{"MMM 'de' yy G"}
                yyMMMEEEd{"EEE, d 'de' MMM 'de' yy G"}
                yyMMMd{"d 'de' MMM 'de' yy G"}
                yyQ{"Q yy G"}
                yyyy{"y G"}
                yyyyM{"MM/y G"}
                yyyyMEd{"EEE, dd/MM/yyyy G"}
                yyyyMM{"MM/y G"}
                yyyyMMM{"MMM 'de' y G"}
                yyyyMMMEd{"EEE, d 'de' MMM 'de' y G"}
                yyyyQ{"G y Q"}
                yyyyQQQ{"G y QQQ"}
            }
            eras{
                abbreviated{
                    "Antes de R.O.C.",
                    "R.O.C.",
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    listPattern{
        standard{
            2{"{0} e {1}"}
            end{"{0} e {1}"}
        }
    }
    measurementSystemNames{
        US{"americano"}
        metric{"métrico"}
    }
    units{
        day{
            one{"{0} dia"}
            other{"{0} dias"}
        }
        hour{
            one{"{0} hora"}
            other{"{0} horas"}
        }
        minute{
            one{"{0} minuto"}
            other{"{0} minutos"}
        }
        month{
            one{"{0} mês"}
            other{"{0} meses"}
        }
        second{
            one{"{0} segundo"}
            other{"{0} segundos"}
        }
        week{
            one{"{0} semana"}
            other{"{0} semanas"}
        }
        year{
            one{"{0} ano"}
            other{"{0} anos"}
        }
    }
    unitsShort{
        day{
            one{"{0} dia"}
            other{"{0} dias"}
        }
        hour{
            one{"{0} h"}
            other{"{0} h"}
        }
        minute{
            one{"{0} min"}
            other{"{0} min"}
        }
        month{
            one{"{0} m."}
        }
        second{
            one{"{0} seg"}
            other{"{0} seg"}
        }
        week{
            one{"{0} sem."}
            other{"{0} sem."}
        }
        year{
            one{"{0} ano"}
            other{"{0} anos"}
        }
    }
}
