﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/es.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/es.xml
 */
es{
    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]"}
    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]"}
    ExemplarCharactersPunctuation{
        "[\\- ‐ – — , ; \\: ! ¡ ? ¿ . … ' ‘ ’ \u0022 “ ” « » ( ) \\[ \\] § @ * / "
        "\\\\ \\& # † ‡ ′ ″]"
    }
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 mil"}
                        other{"0 mil"}
                    }
                    10000{
                        one{"00 mil"}
                        other{"00 mil"}
                    }
                    100000{
                        one{"000 mil"}
                        other{"000 mil"}
                    }
                    1000000{
                        one{"0 millón"}
                        other{"0 millones"}
                    }
                    10000000{
                        one{"00 millones"}
                        other{"00 millones"}
                    }
                    100000000{
                        one{"000 millones"}
                        other{"000 millones"}
                    }
                    1000000000{
                        one{"0 millardo"}
                        other{"0 millardos"}
                    }
                    10000000000{
                        one{"00 millardos"}
                        other{"00 millardos"}
                    }
                    100000000000{
                        one{"000 millardos"}
                        other{"000 millardos"}
                    }
                    1000000000000{
                        one{"0 billón"}
                        other{"0 billones"}
                    }
                    10000000000000{
                        one{"00 billones"}
                        other{"00 billones"}
                    }
                    100000000000000{
                        one{"000 billones"}
                        other{"000 billones"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    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 K M"}
                        other{"00 K M"}
                    }
                    100000000000{
                        one{"000 K M"}
                        other{"000 K M"}
                    }
                    1000000000000{
                        one{"0 B"}
                        other{"0 B"}
                    }
                    10000000000000{
                        one{"00 B"}
                        other{"00 B"}
                    }
                    100000000000000{
                        one{"000 B"}
                        other{"000 B"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{"."}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.85.93"}
    calendar{
        buddhist{
            eras{
                abbreviated{
                    "BE",
                }
            }
        }
        chinese{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d-M-y",
                "d-M-y",
                "d-M-y",
                "d-M-y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d"}
                Gy{"y"}
                GyMMM{"M-y"}
                GyMMMEd{"E, d-M-y"}
                GyMMMd{"d-M-y"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d-M"}
                MMM{"L"}
                MMMEd{"E d-M"}
                MMMd{"d-M"}
                Md{"d-M"}
                d{"d"}
                h{"hh a"}
                hm{"hh:mm a"}
                hms{"hh:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yyyy{"y"}
                yyyyM{"M-y"}
                yyyyMEd{"E, d-M-y"}
                yyyyMMM{"M-y"}
                yyyyMMMEd{"E, d-M-y"}
                yyyyMMMM{"M-y"}
                yyyyMMMd{"d-M-y"}
                yyyyMd{"d-M-y"}
                yyyyQQQ{"QQQ y"}
                yyyyQQQQ{"QQQQ y"}
            }
        }
        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",
                "dd/MM/y G",
                "dd/MM/yy GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d 'de' MMMM 'de' y G"}
                GyMMMd{"d MMM y G"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMd{"d 'de' MMMM"}
                MMMd{"d MMM"}
                MMMdd{"dd-MMM"}
                Md{"d/M"}
                d{"d"}
                h{"hh a"}
                hm{"hh:mm a"}
                hms{"hh:mm:ss a"}
                ms{"mm:ss"}
                y{"y G"}
                yyyy{"y G"}
                yyyyM{"M/y GGGGG"}
                yyyyMEd{"E, d/M/y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, d 'de' MMMM 'de' y G"}
                yyyyMMMM{"MMMM 'de' y G"}
                yyyyMMMd{"d MMM y G"}
                yyyyMd{"d/M/y GGGGG"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"QQQQ 'de' y G"}
            }
            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"}
                }
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E d/M – E d/M"}
                    d{"E d/M – E d/M"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E d MMM – E d MMM"}
                    d{"E d MMM – E d MMM"}
                }
                MMMd{
                    M{"d MMM – d MMM"}
                    d{"d–d MMM"}
                }
                Md{
                    M{"d/M – d/M"}
                    d{"d/M – d/M"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm – h:mm a"}
                    m{"h:mm – h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm – h:mm a v"}
                    m{"h:mm – h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y G"}
                }
                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"}
                }
                yMMM{
                    M{"MMM–MMM y G"}
                    y{"MMM y – MMM y G"}
                }
                yMMMEd{
                    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"}
                }
                yMMMM{
                    M{"MMMM–MMMM y G"}
                    y{"MMMM y – MMMM y G"}
                }
                yMMMd{
                    M{"d MMM – d MMM y G"}
                    d{"d–d MMM y G"}
                    y{"d MMM y – d MMM 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.",
            }
            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{
                Ed{"E d"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d 'de' MMMM 'de' y G"}
                GyMMMd{"d MMM y G"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMd{"d 'de' MMMM"}
                MMMd{"d MMM"}
                MMMdd{"dd-MMM"}
                MMd{"d/MM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d"}
                h{"hh a"}
                hm{"hh:mm a"}
                hms{"hh:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"EEE, d/M/y"}
                yMM{"MM/y"}
                yMMM{"MMM y"}
                yMMMEd{"EEE, d 'de' MMMM 'de' y"}
                yMMMM{"MMMM 'de' y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ 'de' y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "dom",
                        "lun",
                        "mar",
                        "mié",
                        "jue",
                        "vie",
                        "sáb",
                    }
                    short{
                        "D",
                        "L",
                        "M",
                        "X",
                        "J",
                        "V",
                        "S",
                    }
                    wide{
                        "domingo",
                        "lunes",
                        "martes",
                        "miércoles",
                        "jueves",
                        "viernes",
                        "sábado",
                    }
                }
                stand-alone{
                    narrow{
                        "D",
                        "L",
                        "M",
                        "X",
                        "J",
                        "V",
                        "S",
                    }
                    short{
                        "D",
                        "L",
                        "M",
                        "X",
                        "J",
                        "V",
                        "S",
                    }
                }
            }
            eras{
                abbreviated{
                    "a.C.",
                    "d.C.",
                }
                wide{
                    "antes de Cristo",
                    "anno Dómini",
                }
            }
            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"}
                }
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E d/M – E d/M"}
                    d{"E d/M – E d/M"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E d MMM – E d MMM"}
                    d{"E d MMM – E d MMM"}
                }
                MMMd{
                    M{"d MMM – d MMM"}
                    d{"d–d MMM"}
                }
                Md{
                    M{"d/M – d/M"}
                    d{"d/M – d/M"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm – h:mm a"}
                    m{"h:mm – h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm – h:mm a v"}
                    m{"h:mm – h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y"}
                }
                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 y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E d MMM – E d MMM y"}
                    d{"E d MMM – E d MMM y"}
                    y{"E d MMM y – E d MMM y"}
                }
                yMMMM{
                    M{"MMMM–MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"d MMM – d MMM y"}
                    d{"d–d MMM y"}
                    y{"d MMM y – d MMM 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",
                    }
                    wide{
                        "enero",
                        "febrero",
                        "marzo",
                        "abril",
                        "mayo",
                        "junio",
                        "julio",
                        "agosto",
                        "septiembre",
                        "octubre",
                        "noviembre",
                        "diciembre",
                    }
                }
                stand-alone{
                    abbreviated{
                        "ene",
                        "feb",
                        "mar",
                        "abr",
                        "mayo",
                        "jun",
                        "jul",
                        "ago",
                        "sep",
                        "oct",
                        "nov",
                        "dic",
                    }
                    narrow{
                        "E",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "T1",
                        "T2",
                        "T3",
                        "T4",
                    }
                    narrow{
                        "1T",
                        "2T",
                        "3T",
                        "4T",
                    }
                    wide{
                        "1er trimestre",
                        "2º trimestre",
                        "3er trimestre",
                        "4º trimestre",
                    }
                }
                stand-alone{
                    narrow{
                        "1T",
                        "2T",
                        "3T",
                        "4T",
                    }
                    wide{
                        "1.er trimestre",
                        "2.º trimestre",
                        "3.er trimestre",
                        "4.º trimestre",
                    }
                }
            }
        }
        hebrew{
            eras{
                abbreviated{
                    "AM",
                }
            }
        }
        islamic{
            eras{
                abbreviated{
                    "AH",
                }
            }
        }
        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",
                "dd/MM/yy GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        roc{
            eras{
                abbreviated{
                    "antes de R.O.C.",
                    "R.O.C.",
                }
            }
        }
    }
    contextTransforms{
        day-format-except-narrow:intvector{
            1,
            1,
        }
        day-standalone-except-narrow:intvector{
            1,
            1,
        }
        languages:intvector{
            1,
            1,
        }
        month-format-except-narrow:intvector{
            1,
            1,
        }
        month-standalone-except-narrow:intvector{
            1,
            1,
        }
    }
    delimiters{
        alternateQuotationEnd{"»"}
        alternateQuotationStart{"«"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    fields{
        day{
            dn{"día"}
            relative{
                "-1"{"ayer"}
                "-2"{"antes de ayer"}
                "0"{"hoy"}
                "1"{"mañana"}
                "2"{"pasado mañana"}
            }
        }
        dayperiod{
            dn{"periodo del día"}
        }
        era{
            dn{"era"}
        }
        hour{
            dn{"hora"}
        }
        minute{
            dn{"minuto"}
        }
        month{
            dn{"mes"}
            relative{
                "-1"{"el mes pasado"}
                "0"{"este mes"}
                "1"{"el próximo mes"}
            }
        }
        second{
            dn{"segundo"}
        }
        week{
            dn{"semana"}
            relative{
                "-1"{"la semana pasada"}
                "0"{"esta semana"}
                "1"{"la próxima semana"}
            }
        }
        weekday{
            dn{"día de la semana"}
        }
        year{
            dn{"año"}
            relative{
                "-1"{"el año pasado"}
                "0"{"este año"}
                "1"{"el próximo año"}
            }
        }
        zone{
            dn{"zona"}
        }
    }
    listPattern{
        standard{
            2{"{0} y {1}"}
            end{"{0} y {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"británico"}
        US{"estadounidense"}
        metric{"métrico"}
    }
    units{
        duration{
            day{
                one{"{0} día"}
                other{"{0} días"}
            }
            day-future{
                one{"Dentro de {0} día"}
                other{"Dentro de {0} días"}
            }
            day-past{
                one{"Hace {0} día"}
                other{"Hace {0} días"}
            }
            hour{
                one{"{0} hora"}
                other{"{0} horas"}
            }
            hour-future{
                one{"Dentro de {0} hora"}
                other{"Dentro de {0} horas"}
            }
            hour-past{
                one{"Hace {0} hora"}
                other{"Hace {0} horas"}
            }
            minute{
                one{"{0} minuto"}
                other{"{0} minutos"}
            }
            minute-future{
                one{"Dentro de {0} minuto"}
                other{"Dentro de {0} minutos"}
            }
            minute-past{
                one{"Hace {0} minuto"}
                other{"Hace {0} minutos"}
            }
            month{
                one{"{0} mes"}
                other{"{0} meses"}
            }
            month-future{
                one{"Dentro de {0} mes"}
                other{"Dentro de {0} meses"}
            }
            month-past{
                one{"Hace {0} mes"}
                other{"Hace {0} meses"}
            }
            second{
                one{"{0} segundo"}
                other{"{0} segundos"}
            }
            second-future{
                one{"Dentro de {0} segundo"}
                other{"Dentro de {0} segundos"}
            }
            second-past{
                one{"Hace {0} segundo"}
                other{"Hace {0} segundos"}
            }
            week{
                one{"{0} semana"}
                other{"{0} semanas"}
            }
            week-future{
                one{"Dentro de {0} semana"}
                other{"Dentro de {0} semanas"}
            }
            week-past{
                one{"Hace {0} semana"}
                other{"Hace {0} semanas"}
            }
            year{
                one{"{0} año"}
                other{"{0} años"}
            }
            year-future{
                one{"Dentro de {0} año"}
                other{"Dentro de {0} años"}
            }
            year-past{
                one{"Hace {0} año"}
                other{"Hace {0} años"}
            }
        }
    }
    unitsShort{
        duration{
            day{
                one{"{0} día"}
                other{"{0} días"}
            }
            hour{
                one{"{0} h"}
                other{"{0} h"}
            }
            minute{
                one{"{0} min"}
                other{"{0} min"}
            }
            month{
                one{"{0} mes"}
                other{"{0} meses"}
            }
            second{
                one{"{0} s"}
                other{"{0} s"}
            }
            week{
                one{"{0} semana"}
                other{"{0} semanas"}
            }
            year{
                one{"{0} año"}
                other{"{0} años"}
            }
        }
    }
}
