﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/es.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/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]"}
    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]"}
    ExemplarCharactersPunctuation{
        "[\- ‐ – — , ; \: ! ¡ ? ¿ . … ' ‘ ’ \" “ ” « » ( ) \[ \] @ * / \\ \& # † ‡ ′ "
        "″ §]"
    }
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"¤ #,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{"."}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.58.79"}
    calendar{
        buddhist{
            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/y G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"EEE d"}
                Gy{"y G"}
                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"}
                Md{"d/M"}
                d{"d"}
                h{"hh a"}
                hm{"hh:mm a"}
                hms{"hh:mm:ss a"}
                ms{"mm:ss"}
                y{"y G"}
                yM{"M/y G"}
                yMEd{"EEE d/M/y G"}
                yMMM{"MMM y G"}
                yMMMEd{"EEE, d MMM y G"}
                yMMMM{"MMMM 'de' y G"}
                yMMMd{"d MMM y G"}
                yMd{"d/M/y G"}
                yQ{"Q y G"}
                yQQQ{"QQQ y G"}
                yyMM{"MM/y G"}
                yyMMM{"MMM-y G"}
                yyQ{"Q y G"}
                yyQQQQ{"QQQQ 'de' y G"}
                yyyyMM{"MM/y G"}
            }
        }
        chinese{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d-Ml-y'x'G",
                "d-Ml-y'x'G",
                "d-Ml-y'x'G",
                "d-Ml-y'x'G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        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/yyyy",
                "dd/MM/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"EEE d"}
                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"}
                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"}
                yMMM{"MMM y"}
                yMMMEd{"EEE, d MMM y"}
                yMMMM{"MMMM 'de' y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/y"}
                yQ{"Q y"}
                yQQQ{"QQQ y"}
                yyMM{"MM/yy"}
                yyMMM{"MMM-yy"}
                yyQ{"Q yy"}
                yyQQQQ{"QQQQ 'de' yy"}
                yyyyMM{"MM/yyyy"}
            }
            dayNames{
                format{
                    abbreviated{
                        "dom",
                        "lun",
                        "mar",
                        "mié",
                        "jue",
                        "vie",
                        "sáb",
                    }
                    wide{
                        "domingo",
                        "lunes",
                        "martes",
                        "miércoles",
                        "jueves",
                        "viernes",
                        "sábado",
                    }
                }
                stand-alone{
                    narrow{
                        "D",
                        "L",
                        "M",
                        "M",
                        "J",
                        "V",
                        "S",
                    }
                }
            }
            eras{
                abbreviated{
                    "a.C.",
                    "d.C.",
                }
                wide{
                    "antes de Cristo",
                    "anno Dómini",
                }
            }
            fields{
                day{
                    dn{"día"}
                    relative{
                        "-1"{"ayer"}
                        "-2"{"antes de ayer"}
                        "-3"{"hace tres días"}
                        "0"{"hoy"}
                        "1"{"mañana"}
                        "2"{"pasado mañana"}
                        "3"{"dentro de tres días"}
                    }
                }
                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"}
                }
            }
            intervalFormats{
                Hm{
                    H{"HH:mm – HH:mm"}
                    a{"HH:mm – HH:mm"}
                    m{"HH:mm – HH:mm"}
                }
                Hmv{
                    H{"HH:mm – HH:mm v"}
                    a{"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/yy – M/yy"}
                    y{"M/yy – M/yy"}
                }
                yMEd{
                    M{"E d/M/yy – E d/M/yy"}
                    d{"E d/M/yy – E d/M/yy"}
                    y{"E d/M/yy – E d/M/yy"}
                }
                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/yy – d/M/yy"}
                    d{"M/d/yy – M/d/yy"}
                    y{"d/M/yy – d/M/yy"}
                }
            }
            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",
                    }
                }
            }
        }
        islamic{
            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/y G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"EEE d"}
                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"}
                Md{"d/M"}
                d{"d"}
                h{"hh a"}
                hm{"hh:mm a"}
                hms{"hh:mm:ss a"}
                ms{"mm:ss"}
                yMMMEd{"EEE d MMM y"}
                yyMM{"MM/y G"}
                yyMMM{"MMM-y G"}
                yyQ{"Q y G"}
                yyQQQQ{"QQQQ 'de' y G"}
                yyyy{"y G"}
                yyyyM{"M/y G"}
                yyyyMEd{"EEE d/M/y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"EEE, d MMM y G"}
                yyyyMMMM{"MMMM 'de' y G"}
                yyyyMMMd{"d MMM y G"}
                yyyyMd{"d/M/y G"}
                yyyyQ{"Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
            eras{
                abbreviated{
                    "AH",
                }
            }
            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"}
                    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{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                }
            }
        }
        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/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"EEE d"}
                Gy{"y G"}
                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"}
                Md{"d/M"}
                d{"d"}
                h{"hh a"}
                hm{"hh:mm a"}
                hms{"hh:mm:ss a"}
                ms{"mm:ss"}
                y{"y G"}
                yyMM{"MM/y GGGGG"}
                yyMMM{"MMM-y G"}
                yyQ{"Q y G"}
                yyQQQQ{"QQQQ 'de' y G"}
                yyyy{"y G"}
                yyyyM{"M/y GGGGG"}
                yyyyMEd{"EEE d/M/y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"EEE, d MMM y G"}
                yyyyMMMM{"MMMM 'de' y G"}
                yyyyMMMd{"d MMM y G"}
                yyyyMd{"d/M/y GGGGG"}
                yyyyQ{"Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
        }
        roc{
            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/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"EEE d"}
                Gy{"y G"}
                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"}
                Md{"d/M"}
                d{"d"}
                h{"hh a"}
                hm{"hh:mm a"}
                hms{"hh:mm:ss a"}
                ms{"mm:ss"}
                y{"y G"}
                yyMM{"MM/y GGGGG"}
                yyMMM{"MMM-y G"}
                yyQ{"Q y G"}
                yyQQQQ{"QQQQ 'de' y G"}
                yyyy{"y G"}
                yyyyM{"M/y GGGGG"}
                yyyyMEd{"EEE d/M/y GGGGG"}
                yyyyMM{"MM/y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"EEE, d MMM y G"}
                yyyyMMMM{"MMMM 'de' y G"}
                yyyyMMMd{"d MMM y G"}
                yyyyMd{"d/M/y GGGGG"}
                yyyyQ{"Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
            eras{
                abbreviated{
                    "antes de R.O.C.",
                    "R.O.C.",
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"’"}
        quotationStart{"‘"}
    }
    listPattern{
        standard{
            2{"{0} y {1}"}
            end{"{0} y {1}"}
        }
    }
    measurementSystemNames{
        UK{"británico"}
        US{"estadounidense"}
        metric{"métrico"}
    }
    units{
        day{
            one{"{0} día"}
            other{"{0} días"}
        }
        day-future{
            0{"Dentro de 0 días"}
            1{"Dentro de 1 día"}
            one{"Dentro de {0} día"}
            other{"Dentro de {0} días"}
        }
        day-past{
            0{"Hace 0 días"}
            1{"Hace 1 día"}
            one{"Hace {0} día"}
            other{"Hace {0} días"}
        }
        hour{
            one{"{0} hora"}
            other{"{0} horas"}
        }
        hour-future{
            0{"Dentro de 0 horas"}
            1{"Dentro de 1 hora"}
            one{"Dentro de {0} hora"}
            other{"Dentro de {0} horas"}
        }
        hour-past{
            0{"Hace 0 horas"}
            1{"Hace 1 hora"}
            one{"Hace {0} hora"}
            other{"Hace {0} horas"}
        }
        minute{
            one{"{0} minuto"}
            other{"{0} minutos"}
        }
        minute-future{
            0{"Dentro de 0 minutos"}
            1{"Dentro de 1 minuto"}
            one{"Dentro de {0} minuto"}
            other{"Dentro de {0} minutos"}
        }
        minute-past{
            0{"Hace 0 minutos"}
            1{"Hace 1 minuto"}
            one{"Hace {0} minuto"}
            other{"Hace {0} minutos"}
        }
        month{
            one{"{0} mes"}
            other{"{0} meses"}
        }
        month-future{
            0{"Dentro de 0 meses"}
            1{"Dentro de 1 mes"}
            one{"Dentro de {0} mes"}
            other{"Dentro de {0} meses"}
        }
        month-past{
            0{"Hace 0 meses"}
            1{"Hace 1 mes"}
            one{"Hace {0} mes"}
            other{"Hace {0} meses"}
        }
        second{
            one{"{0} segundo"}
            other{"{0} segundos"}
        }
        second-future{
            0{"Dentro de 0 segundos"}
            1{"Dentro de 1 segundo"}
            one{"Dentro de {0} segundo"}
            other{"Dentro de {0} segundos"}
        }
        second-past{
            0{"Hace 0 segundos"}
            1{"Hace 1 segundo"}
            one{"Hace {0} segundo"}
            other{"Hace {0} segundos"}
        }
        week{
            one{"{0} semana"}
            other{"{0} semanas"}
        }
        week-future{
            0{"Dentro de 0 semanas"}
            1{"Dentro de 1 semana"}
            one{"Dentro de {0} semana"}
            other{"Dentro de {0} semanas"}
        }
        week-past{
            0{"Hace 0 semanas"}
            1{"Hace 1 semana"}
            one{"Hace {0} semana"}
            other{"Hace {0} semanas"}
        }
        year{
            one{"{0} año"}
            other{"{0} años"}
        }
        year-future{
            0{"Dentro de 0 años"}
            1{"Dentro de 1 año"}
            one{"Dentro de {0} año"}
            other{"Dentro de {0} años"}
        }
        year-past{
            0{"Hace 0 años"}
            1{"Hace 1 año"}
            one{"Hace {0} año"}
            other{"Hace {0} años"}
        }
    }
    unitsShort{
        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"}
        }
    }
}
