﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
es_MX{
    %%Parent{"es_419"}
    MoreInformation{"[...]"}
    NumberElements{
        latn{
            patterns{
                percentFormat{"#,##0%"}
            }
        }
    }
    Version{"2.1.28.76"}
    calendar{
        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",
                "dd/MM/yy GGGGG",
                "{1} {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                GyMMM{"MMM y G"}
                GyMMMd{"d MMM y G"}
                MMMEd{"E d MMM"}
                MMMMd{"d 'de' MMM"}
                MMMd{"d MMM"}
            }
            intervalFormats{
                Md{
                    M{"d/M – d/M"}
                    d{"d/M – d/M"}
                }
                fallback{"{0} – {1}"}
                yM{
                    M{"M/y – M/y G"}
                    y{"M/y – M/y G"}
                }
                yMEd{
                    M{"E, d/M/y–E, d/M/y G"}
                    d{"E, d/M/y–E, d/M/y G"}
                    y{"E, d/M/y–E, d/M/y G"}
                }
                yMd{
                    M{"d/M/y – d/M/y G"}
                    d{"d/M/y – d/M/y G"}
                    y{"d/M/y – d/M/y G"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "a. m.",
                "p. m.",
            }
            AmPmMarkersAbbr{
                "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}, {0}",
                "{1}, {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EHm{"E H:mm"}
                EHms{"E H:mm:ss"}
                Ehm{"E h:mm a"}
                Ehms{"E h:mm:ss a"}
                GyMMMd{"d MMM y G"}
                Hm{"H:mm"}
                Hms{"H:mm:ss"}
                MMMEd{"E d 'de' MMM"}
                MMd{"d/MM"}
                MMdd{"dd/MM"}
                yMM{"MM/y"}
                yMMMEd{"EEE, d 'de' MMMM 'de' y"}
                yQQQ{"QQQ y"}
            }
            dayNames{
                format{
                    narrow{
                        "D",
                        "L",
                        "M",
                        "M",
                        "J",
                        "V",
                        "S",
                    }
                    short{
                        "do",
                        "lu",
                        "ma",
                        "mi",
                        "ju",
                        "vi",
                        "sá",
                    }
                }
            }
            dayPeriod{
                format{
                    narrow{
                        evening1{"de la tarde"}
                        morning1{"de la madrugada"}
                        morning2{"mañana"}
                        night1{"de la noche"}
                        noon{"del mediodía"}
                    }
                }
                stand-alone{
                    abbreviated{
                        am{"a. m."}
                        pm{"p. m."}
                    }
                    narrow{
                        am{"a. m."}
                        pm{"p. m."}
                    }
                    wide{
                        am{"a. m."}
                        pm{"p. m."}
                    }
                }
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hv{
                    H{"HH – HH v"}
                }
                MEd{
                    M{"E d/M – E d/M"}
                    d{"E d/M – E d/M"}
                }
                MMMEd{
                    M{"E d 'de' MMM – E d 'de' MMM"}
                    d{"E d 'de' MMM – E d 'de' MMM"}
                }
                MMMd{
                    d{"d–d 'de' MMM"}
                }
                Md{
                    M{"d/M – d/M"}
                    d{"d/M – d/M"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                }
                yM{
                    M{"M/y – M/y"}
                    y{"M/y – M/y"}
                }
                yMEd{
                    M{"E d/M/y – E d/M/y"}
                    d{"E d/M/y – E d/M/y"}
                    y{"E d/M/y – E d/M/y"}
                }
                yMMM{
                    M{"MMM–MMM 'de' y"}
                }
                yMMMEd{
                    M{"E d 'de' MMM – E d 'de' MMM 'de' y"}
                    d{"E d 'de' MMM – E d 'de' MMM 'de' y"}
                    y{"E d 'de' MMM 'de' y – E d 'de' MMM 'de' y"}
                }
                yMMMM{
                    y{"MMMM 'de' y – MMMM 'de' y"}
                }
                yMMMd{
                    M{"d 'de' MMM – d 'de' MMM y"}
                    d{"d–d 'de' MMM 'de' y"}
                }
                yMd{
                    M{"d/M/y – d/M/y"}
                    d{"d/M/y – d/M/y"}
                    y{"d/M/y – d/M/y"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "ene",
                        "feb",
                        "mar",
                        "abr",
                        "may",
                        "jun",
                        "jul",
                        "ago",
                        "sep",
                        "oct",
                        "nov",
                        "dic",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "1er. trim.",
                        "2º. trim.",
                        "3er. trim.",
                        "4º trim.",
                    }
                    narrow{
                        "1T",
                        "2T",
                        "3T",
                        "4T",
                    }
                    wide{
                        "1er. trimestre",
                        "2º. trimestre",
                        "3er. trimestre",
                        "4o. trimestre",
                    }
                }
                stand-alone{
                    abbreviated{
                        "1er. trim.",
                        "2º. trim.",
                        "3er. trim.",
                        "4º trim.",
                    }
                    narrow{
                        "1T",
                        "2T",
                        "3T",
                        "4T",
                    }
                    wide{
                        "1er. trimestre",
                        "2º. trimestre",
                        "3er. trimestre",
                        "4º trimestre",
                    }
                }
            }
        }
    }
    fields{
        day{
            relative{
                "-1"{"ayer"}
                "-2"{"antier"}
                "0"{"hoy"}
                "1"{"mañana"}
                "2"{"pasado mañana"}
            }
        }
        day-narrow{
            relativeTime{
                future{
                    one{"+{0} día"}
                    other{"+{0} días"}
                }
                past{
                    one{"-{0} día"}
                    other{"-{0} días"}
                }
            }
        }
        day-short{
            relativeTime{
                future{
                    one{"en {0} día"}
                    other{"en {0} días"}
                }
            }
        }
        dayperiod{
            dn{"a. m./p. m."}
        }
        fri{
            relative{
                "-1"{"el viernes pasado"}
                "0"{"este viernes"}
                "1"{"el viernes próximo"}
            }
        }
        fri-short{
            relative{
                "-1"{"el vier. pasado"}
                "0"{"este vier."}
                "1"{"el próximo vier."}
            }
        }
        hour-narrow{
            relativeTime{
                future{
                    one{"+{0} h"}
                    other{"+{0} h"}
                }
                past{
                    one{"-{0} h"}
                    other{"-{0} h"}
                }
            }
        }
        hour-short{
            relativeTime{
                future{
                    one{"en {0} h"}
                    other{"en {0} n"}
                }
            }
        }
        minute-narrow{
            relativeTime{
                future{
                    one{"+{0} min"}
                    other{"+{0} min"}
                }
                past{
                    one{"-{0} min"}
                    other{"-{0} min"}
                }
            }
        }
        minute-short{
            relativeTime{
                future{
                    one{"en {0} min"}
                    other{"en {0} min"}
                }
            }
        }
        mon{
            relative{
                "-1"{"el lunes pasado"}
                "0"{"este lunes"}
                "1"{"el lunes próximo"}
            }
        }
        month{
            relative{
                "-1"{"el mes pasado"}
                "0"{"este mes"}
                "1"{"el mes próximo"}
            }
            relativeTime{
                future{
                    one{"en {0} mes"}
                    other{"en {0} meses"}
                }
            }
        }
        month-narrow{
            relativeTime{
                future{
                    one{"+{0} m"}
                    other{"+{0} m"}
                }
                past{
                    one{"-{0} m"}
                    other{"-{0} m"}
                }
            }
        }
        month-short{
            relativeTime{
                future{
                    one{"en {0} m"}
                    other{"en {0} m"}
                }
            }
        }
        quarter{
            relativeTime{
                future{
                    one{"en {0} trimestre"}
                    other{"en {0} trimestres"}
                }
            }
        }
        quarter-narrow{
            relativeTime{
                future{
                    one{"+{0} T"}
                    other{"+{0} T"}
                }
                past{
                    one{"-{0} T"}
                    other{"-{0} T"}
                }
            }
        }
        quarter-short{
            relativeTime{
                future{
                    one{"en {0} trim."}
                    other{"en {0} trim"}
                }
            }
        }
        sat{
            relative{
                "-1"{"el sábado pasado"}
                "0"{"este sábado"}
                "1"{"el sábado próximo"}
            }
        }
        second-narrow{
            relativeTime{
                future{
                    one{"+{0} s"}
                    other{"+{0} s"}
                }
                past{
                    one{"-{0} s"}
                    other{"-{0} s"}
                }
            }
        }
        second-short{
            relativeTime{
                future{
                    one{"en {0} s"}
                    other{"en {0} s"}
                }
            }
        }
        sun{
            relative{
                "-1"{"el domingo pasado"}
                "0"{"este domingo"}
                "1"{"el domingo próximo"}
            }
        }
        thu{
            relative{
                "-1"{"el jueves pasado"}
                "0"{"este jueves"}
                "1"{"el jueves próximo"}
            }
        }
        tue{
            relative{
                "-1"{"el martes pasado"}
                "0"{"este martes"}
                "1"{"el martes próximo"}
            }
        }
        wed{
            relative{
                "-1"{"el miércoles pasado"}
                "0"{"este miércoles"}
                "1"{"el miércoles próximo"}
            }
        }
        wed-short{
            relative{
                "-1"{"el miér. pasado"}
                "0"{"este miér."}
                "1"{"el próximo miér."}
            }
        }
        week{
            relative{
                "-1"{"la semana pasada"}
                "0"{"esta semana"}
                "1"{"la semana próxima"}
            }
        }
        week-narrow{
            relativeTime{
                future{
                    one{"+{0} sem."}
                    other{"+{0} sem."}
                }
                past{
                    one{"-{0} sem."}
                    other{"-{0} sem."}
                }
            }
        }
        week-short{
            relativeTime{
                future{
                    one{"en {0} sem."}
                    other{"en {0} sem."}
                }
            }
        }
        year{
            relative{
                "-1"{"el año pasado"}
                "0"{"este año"}
                "1"{"el año próximo"}
            }
        }
        year-narrow{
            relativeTime{
                future{
                    one{"en {0} a"}
                    other{"en {0} a"}
                }
                past{
                    one{"-{0} a"}
                    other{"-{0} a"}
                }
            }
        }
        year-short{
            relativeTime{
                future{
                    one{"en {0} a"}
                    other{"en {0} a"}
                }
            }
        }
    }
}
