﻿// ***************************************************************************
// *
// * Copyright (C) 2012 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.67.6"}
    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{
                Ed{"E 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{"E d/M/y G"}
                yMMM{"MMM y G"}
                yMMMEd{"E, 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-M-y",
                "d-M-y",
                "d-M-y",
                "d-M-y",
                "{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{
                Ed{"E 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{"E d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, 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",
                        "X",
                        "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"}
                        "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"}
                }
            }
            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{
                Ed{"E 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{"E 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{"E d/M/y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, 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"}
            }
        }
        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{
                Ed{"E 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{"E d/M/y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, 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{
                Ed{"E 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{"E d/M/y GGGGG"}
                yyyyMM{"MM/y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, 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.",
                }
            }
        }
    }
    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{"“"}
    }
    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"}
        }
    }
}
