﻿// © 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.47.96"}
    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' MMMM"}
                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 HH:mm"}
                EHms{"E HH: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{"HH:mm:ss v"}
                Hmsvvvv{"HH:mm:ss (vvvv)"}
                Hmv{"HH: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",
                    }
                }
            }
            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{
                GyMMM{
                    G{"MMM 'de' y G – MMM 'de' y G"}
                    M{"MMM–MMM 'de' y G"}
                    y{"MMM 'de' y – MMM 'de' y G"}
                }
                GyMMMEd{
                    G{"E d 'de' MMM 'de' y G – E d 'de' MMM 'de' y G"}
                    M{"E d 'de' MMM – E d 'de' MMM 'de' y G"}
                    d{"E d 'de' MMM – E d 'de' MMM 'de' y G"}
                    y{"E d 'de' MMM 'de' y – E d 'de' MMM 'de' y G"}
                }
                GyMMMd{
                    G{"d 'de' MMM 'de' y G – d 'de' MMM 'de' y G"}
                    M{"d 'de' MMM – d 'de' MMM 'de' y G"}
                    d{"d–d 'de' MMM 'de' y G"}
                    y{"d 'de' MMM 'de' y – d 'de' MMM 'de' y G"}
                }
                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, M/d–E, M/d"}
                    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"}
                }
            }
            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{
        female{"mujer"}
        format_whitespace{"Formato y espacio duro"}
        keycap{"tecla"}
        letterlike_symbols{"Símbolos con letras"}
        limited_use{"Uso limitado"}
        male{"hombre"}
        modern_scripts{"Sistemas de escritura modernos"}
        other{"Otros"}
        phonetic_alphabet{"Alfabeto fonético"}
        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"}
        symbols{"Símbolos"}
        tone_marks{"Marcas tonales"}
        travel_places{"Viajes y destinos"}
        variant_forms{"Variantes"}
        weather{"tiempo"}
        western_asian_scripts{"Sistemas de escritura de Asia Occidental"}
        whitespace{"Espacio duro"}
    }
    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-narrow{
            relativeTime{
                past{
                    one{"hace {0} VI"}
                    other{"hace {0} VI"}
                }
            }
        }
        fri-short{
            relative{
                "-1"{"el vier. pasado"}
                "0"{"este vier."}
                "1"{"el próximo vier."}
            }
            relativeTime{
                future{
                    other{"dentro de {0} vie."}
                }
                past{
                    one{"hace {0} vie."}
                    other{"hace {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-narrow{
            relativeTime{
                future{
                    one{"dentro de {0} LU"}
                    other{"dentro de {0} LU"}
                }
                past{
                    one{"hace {0} LU"}
                    other{"hace {0} LU"}
                }
            }
        }
        mon-short{
            relativeTime{
                future{
                    one{"dentro de {0} lun."}
                }
                past{
                    one{"hace {0} lun."}
                    other{"hace {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"}
                }
                past{
                    one{"hace {0} SA"}
                    other{"hace {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"}
            }
            relativeTime{
                future{
                    one{"dentro de {0} domingo"}
                    other{"dentro de {0} domingos"}
                }
            }
        }
        sun-narrow{
            relativeTime{
                future{
                    other{"dentro de {0} DO"}
                }
                past{
                    one{"hace {0} DO"}
                    other{"hace {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"}
                }
                past{
                    one{"hace {0} MI"}
                    other{"hace {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é."}
                }
                past{
                    one{"hace {0} mié."}
                    other{"hace {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."}
                }
            }
        }
        weekOfMonth-narrow{
            dn{"sem. de m"}
        }
        weekOfMonth-short{
            dn{"sem. de m"}
        }
        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{
        UK{"imperial"}
        US{"estadounidense"}
    }
}
