﻿// © 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{
            patternsLong{
                decimalFormat{
                    1000000000000{
                        other{"0 billones"}
                    }
                }
            }
            patternsShort{
                currencyFormat{
                    1000{
                        one{"0 k¤"}
                        other{"0 k¤"}
                    }
                    10000{
                        one{"00 k¤"}
                        other{"00 k¤"}
                    }
                    100000{
                        one{"000 k¤"}
                        other{"000 k¤"}
                    }
                    1000000{
                        one{"0 M¤"}
                        other{"0 M¤"}
                    }
                    10000000{
                        one{"00 M¤"}
                        other{"00 M¤"}
                    }
                    100000000{
                        one{"000 M¤"}
                        other{"000 M¤"}
                    }
                    1000000000{
                        one{"0000 M¤"}
                        other{"0000 M¤"}
                    }
                    10000000000{
                        one{"00 MRD ¤"}
                        other{"00 MRD ¤"}
                    }
                    100000000000{
                        one{"000 MRD ¤"}
                        other{"000 MRD ¤"}
                    }
                    1000000000000{
                        one{"0 B¤"}
                        other{"0 B¤"}
                    }
                    10000000000000{
                        one{"00 B¤"}
                        other{"00 B¤"}
                    }
                    100000000000000{
                        one{"000 B¤"}
                        other{"000 B¤"}
                    }
                }
                decimalFormat{
                    1000{
                        one{"0 k"}
                        other{"0 k"}
                    }
                    10000{
                        one{"00 k"}
                        other{"00 k"}
                    }
                    100000{
                        one{"000 k"}
                        other{"000 k"}
                    }
                    1000000000{
                        one{"0000 M"}
                        other{"0000 M"}
                    }
                    10000000000{
                        one{"00 mil M"}
                        other{"00 mil M"}
                    }
                    100000000000{
                        one{"000 mil M"}
                        other{"000 mil M"}
                    }
                }
            }
        }
    }
    Version{"2.1.37.32"}
    calendar{
        generic{
            DateTimePatterns{
                "H:mm:ss zzzz",
                "H:mm:ss z",
                "H:mm:ss",
                "H: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"}
                GyMMMEd{"E, d MMM y G"}
                GyMMMd{"d MMM y G"}
                MMMEd{"E d MMM"}
                MMMMd{"d 'de' MMM"}
                MMMd{"d MMM"}
                h{"hh a"}
                hm{"hh:mm a"}
                hms{"hh:mm:ss a"}
                yyyyMEd{"E, d/M/y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"EEE, d MMM y G"}
                yyyyMMMd{"d MMM y G"}
                yyyyQQQ{"QQQ y G"}
            }
            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{
                "H:mm:ss zzzz",
                "H:mm:ss z",
                "H:mm:ss",
                "H:mm",
                "EEEE, d 'de' MMMM 'de' y",
                "d 'de' MMMM 'de' y",
                "d MMM 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"}
                Hmsv{"H:mm:ss v"}
                Hmv{"H:mm v"}
                MMMEd{"E d 'de' MMM"}
                MMd{"d/MM"}
                MMdd{"dd/MM"}
                yMEd{"E, d/M/y"}
                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"}
                }
                Hm{
                    H{"HH:mm–HH:mm"}
                    m{"HH:mm–HH:mm"}
                }
                Hmv{
                    H{"HH:mm–HH:mm v"}
                    m{"HH:mm–HH:mm v"}
                }
                Hv{
                    H{"HH–HH v"}
                }
                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"}
                }
                hm{
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm 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{
                        "1.er trimestre",
                        "2º. trimestre",
                        "3.er trimestre",
                        "4o. trimestre",
                    }
                }
                stand-alone{
                    abbreviated{
                        "1er. trim.",
                        "2º. trim.",
                        "3er. trim.",
                        "4º trim.",
                    }
                    narrow{
                        "1T",
                        "2T",
                        "3T",
                        "4T",
                    }
                    wide{
                        "1.er trimestre",
                        "2º. trimestre",
                        "3.er trimestre",
                        "4º trimestre",
                    }
                }
            }
        }
    }
    characterLabel{
        animal{"animal"}
        body{"cuerpo"}
        building{"edificio"}
        female{"mujer"}
        flag{"bandera"}
        format_whitespace{"Formato y espacio duro"}
        heart{"corazón"}
        keycap{"tecla"}
        letterlike_symbols{"Símbolos con letras"}
        limited_use{"Uso limitado"}
        male{"hombre"}
        modern_scripts{"Sistemas de escritura modernos"}
        nature{"naturaleza"}
        other{"Otros"}
        person{"persona"}
        phonetic_alphabet{"Alfabeto fonético"}
        place{"lugar"}
        plant{"planta"}
        sign_standard_symbols{"Símbolos de señales/estándar"}
        smiley{"cara sonriente"}
        south_asian_scripts{"Sistemas de escritura de Asia Meridional"}
        southeast_asian_scripts{"Sistemas de escritura de Asia Sudoriental"}
        sport{"deporte"}
        symbols{"Símbolos"}
        tone_marks{"Marcas tonales"}
        travel{"viaje"}
        travel_places{"Viajes y destinos"}
        variant_forms{"Variantes"}
        weather{"tiempo"}
        western_asian_scripts{"Sistemas de escritura de Asia Occidental"}
        whitespace{"Espacio duro"}
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
    fields{
        day{
            relative{
                "-1"{"ayer"}
                "-2"{"anteayer"}
                "0"{"hoy"}
                "1"{"mañana"}
                "2"{"pasado mañana"}
            }
        }
        day-narrow{
            relativeTime{
                future{
                    one{"+{0} día"}
                    other{"+{0} días"}
                }
            }
        }
        day-short{
            relativeTime{
                future{
                    one{"en {0} día"}
                    other{"en {0} días"}
                }
            }
        }
        dayOfYear-narrow{
            dn{"día del a"}
        }
        dayOfYear-short{
            dn{"día del a"}
        }
        dayperiod{
            dn{"a. m./p. m."}
        }
        dayperiod-narrow{
            dn{"a. m./p. m."}
        }
        dayperiod-short{
            dn{"a. m./p. m."}
        }
        fri{
            relative{
                "-1"{"el viernes pasado"}
                "0"{"este viernes"}
                "1"{"el viernes próximo"}
            }
            relativeTime{
                future{
                    other{"dentro de {0} viernes"}
                }
            }
        }
        fri-short{
            relative{
                "-1"{"el vier. pasado"}
                "0"{"este vier."}
                "1"{"el próximo vier."}
            }
            relativeTime{
                future{
                    other{"dentro de {0} vie."}
                }
            }
        }
        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"}
            }
            relativeTime{
                future{
                    one{"dentro de {0} lunes"}
                    other{"dentro de {0} lunes"}
                }
                past{
                    one{"hace {0} lunes"}
                }
            }
        }
        mon-short{
            relativeTime{
                future{
                    one{"dentro de {0} lun."}
                }
            }
        }
        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{"dentro de {0} trimetre"}
                    other{"dentro de {0} trimetres"}
                }
            }
        }
        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"}
            }
            relativeTime{
                future{
                    one{"dentro de {0} sábado"}
                    other{"dentro de {0} sábados"}
                }
            }
        }
        sat-narrow{
            relativeTime{
                future{
                    one{"dentro de {0} SA"}
                }
            }
        }
        second-narrow{
            relativeTime{
                future{
                    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"}
            }
        }
        sun-narrow{
            relativeTime{
                future{
                    other{"dentro de {0} DO"}
                }
            }
        }
        thu{
            relative{
                "-1"{"el jueves pasado"}
                "0"{"este jueves"}
                "1"{"el jueves próximo"}
            }
            relativeTime{
                future{
                    one{"dentro de {0} jueves"}
                }
            }
        }
        thu-narrow{
            relativeTime{
                future{
                    other{"dentro de {0} JU"}
                }
            }
        }
        tue{
            relative{
                "-1"{"el martes pasado"}
                "0"{"este martes"}
                "1"{"el martes próximo"}
            }
            relativeTime{
                future{
                    other{"dentro de {0} martes"}
                }
            }
        }
        wed{
            relative{
                "-1"{"el miércoles pasado"}
                "0"{"este miércoles"}
                "1"{"el miércoles próximo"}
            }
            relativeTime{
                future{
                    one{"dentro de {0} miércoles"}
                }
            }
        }
        wed-narrow{
            relativeTime{
                future{
                    one{"dentro de {0} MI"}
                    other{"dentro de {0} MI"}
                }
            }
        }
        wed-short{
            relative{
                "-1"{"el miér. pasado"}
                "0"{"este miér."}
                "1"{"el próximo miér."}
            }
            relativeTime{
                future{
                    one{"dentro de {0} mié."}
                    other{"dentro de {0} mié."}
                }
            }
        }
        week{
            relative{
                "-1"{"la semana pasada"}
                "0"{"esta semana"}
                "1"{"la semana próxima"}
            }
        }
        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"}
                }
            }
        }
    }
    measurementSystemNames{
        US{"estadounidense"}
    }
}
