# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Default localized string information
# Localized para Locale es_ES
jsp.error.compiler = No hay compilador Java disponible
jsp.error.no.scratch.dir = El motor JSP no tiene configurado un directorio de trabajo.\n\
    \ A\u00F1ada "jsp.initparams\=scratchdir\=<dir-name>" \n\
    \ en el fichero servlets.properties para este contexto.
jsp.error.bad.scratch.dir = El directorio de trabajo especificado\: {0} no es utilizable.
jsp.message.scratch.dir.is = El directorio de trabajo para el motor JSP es\: {0}
jsp.message.parent_class_loader_is = El cargador de clases es\: {0}
jsp.message.dont.modify.servlets = IMPORTANTE\: No modifique los servlets generados
jsp.error.unavailable = JSP ha sido marcado como no disponible
jsp.error.usebean.duplicate = useBean\: Nombre de bean duplicado\: {0}
jsp.error.invalid.scope = Valor ilegal de atributo ''scope''\: {0} (debe de ser uno de "page", "request", "session", o "application")
jsp.error.classname = No pude determinar el nombre de clase desde el fichero .class
jsp.error.outputfolder = no hay carpeta de salida
jsp.error.data.file.write = Error mientras escrib\u00EDa el archivo de datos
jsp.error.page.conflict.contenttype = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''contentType'' con valores distintos (viejo\: {0}, nuevo\: {1})
jsp.error.page.conflict.session = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''session'' con valores distintos (viejo\: {0}, nuevo\: {1})
jsp.error.page.invalid.session = Directiva Page\: valor incorrecto para session
jsp.error.page.conflict.buffer = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''buffer'' con valores distintos (viejo\: {0}, nuevo\: {1})
jsp.error.page.invalid.buffer = Directiva Page\: valor incorrecto para b\u00FAfer
jsp.error.page.conflict.autoflush = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''autoFlush'' con valores distintos (viejo\: {0}, nuevo\: {1})
jsp.error.page.conflict.isthreadsafe = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''isThreadSafe'' con valores distintos (viejo\: {0}, nuevo\: {1})
jsp.error.page.invalid.isthreadsafe = \=Directiva Page\: valor incorrecto para isThreadSafe
jsp.error.page.conflict.info = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''info'' con valores distintos (viejo\: {0}, nuevo\: {1})
jsp.error.page.invalid.info = \=Directiva Page\: valor incorrecto para info
jsp.error.page.conflict.iserrorpage = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''isErrorPage'' con valores distintos (viejo\: {0}, nuevo\: {1})
jsp.error.page.invalid.iserrorpage = \=Directiva Page\: valor incorrecto para isErrorPage
jsp.error.page.conflict.errorpage = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''errorPage'' con valores distintos (viejo\: {0}, nuevo\: {1})
jsp.error.page.conflict.language = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''language'' con valores distintos (viejo\: {0}, nuevo\: {1})
jsp.error.tag.conflict.language = Directiva Tag\: es ilegal tener m\u00FAltiples ocurrencias de ''language'' con valores distintos (viejo\: {0}, nuevo\: {1})
jsp.error.page.language.nonjava = Directiva Page\: atributo language incorrecto
jsp.error.tag.language.nonjava = Directiva Tag\: atributo language incorrecto
jsp.error.page.conflict.extends = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''extends'' con valores distintos (viejo\: {0}, nuevo\: {1})
jsp.error.page.conflict.iselignored = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''isELIgnored'' con valores distintos (viejo\: {0}, nuevo\: {1})
jsp.error.tag.conflict.iselignored = Directiva Tag\: es ilegal tener m\u00FAltiples ocurrencias de ''isELIgnored'' con valores distintos (viejo\: {0}, nuevo\: {1})
jsp.error.page.invalid.iselignored = Directiva Page\: valor inv\u00E1lido para isELIgnored
jsp.error.tag.invalid.iselignored = Directiva Tag\: valor incorrecto para isELIgnored
jsp.error.page.multi.pageencoding = La directiva Page no debe de tener m\u00FAltiples ocurrencias de pageencoding
jsp.error.tag.conflict.attr = Directiva Tag\: es ilegal tener m\u00FAltiples ocurrencias del atributo "{0}" con valores distintos (viejo\: {1}, nuevo\: {2})
jsp.error.tag.multi.pageencoding = La directiva Tag no debe de tener m\u00FAltiples ocurrencias de pageencoding
jsp.error.include.exception = No se puede incluir {0}
jsp.error.stream.close.failed = No pude cerrar el flujo
jsp.error.stream.closed = Stream cerrado
jsp.error.invalid.directive = Directiva no v\u00E1lida
jsp.error.invalid.implicit = TLD impl\u00EDcito inv\u00E1lido para fichero de marca en {0}
jsp.error.invalid.implicit.version = Versi\u00F3n inv\u00E1lida de JSP definida en TLD impl\u00EDcito para fichero de marca en {0}
jsp.error.invalid.version = Versi\u00F3n inv\u00E1lida de JSP definida para fichero de marca en {0}
jsp.error.directive.istagfile = La Directiva {0} no puede usarse en archivo de tag
jsp.error.directive.isnottagfile = La Directiva {0} s\u00F3lo se puede usar en un archivo de tag
jsp.error.action.istagfile = La acci\u00F3n {0} no se puede usar en un archivo tag
jsp.error.action.isnottagfile = La acci\u00F3n {0} s\u00F3lo se puede usar en archivos tag
jsp.error.unterminated = Tag {0} no terminado
jsp.error.loadclass.taghandler = No se puede cargar la clase {0}
jsp.error.unable.compile = No se puede compilar la clase para JSP
jsp.error.unable.load = No se puede cargar la clase para JSP
jsp.error.mandatory.attribute = {0}\: Falta atributo obligatorio {1}
jsp.error.flush = Excepci\u00F3n sucedida al vaciar los datos
jsp.engine.info = Motor Jasper JSP 2.3
jsp.error.invalid.expression = "{0}" contiene expresiones incorrectas\: {1}
jsp.error.invalid.attribute = {0}\: Atributo incorrecto, {1}
jsp.error.file.cannot.read = No se puede leer el archivo\: {0}
jsp.error.file.already.registered = El archivo {0} ya se ha visto, \u00BFpodr\u00EDa ser un include recursivo?
jsp.error.file.not.registered = Archivo {0} not visto en include
jsp.error.quotes.unterminated = Comillas no terminadas
jsp.error.attr.quoted = El valor del atributo deber\u00EDa ir entre comillas
jsp.error.beans.nullbean = Se ha intentado una operaci\u00F3n de bean en un objeto nulo
jsp.error.beans.nobeaninfo = No se puede encontrar BeanInfo para el bean  ''{0}'' seguramente la clase no existe
jsp.error.beans.nomethod = No puedo encontrar un m\u00E9todo para leer la propiedad ''{0}'' en un bean del tipo ''{1}''
jsp.error.beans.nomethod.setproperty = No puedo encontrar un m\u00E9todo para escribir la propiedad ''{0}'' en un bean del tipo ''{2}''
jsp.error.beans.noproperty = No puedo encontrar informaci\u00F3n de la propiedad ''{0}'' en un bean del tipo ''{1}''
jsp.error.beans.property.conversion = No puedo convertir cadena "{0}" a clase "{1}" para atributo "{2}"\: {3}
jsp.error.beans.propertyeditor.notregistered = Editor de Propiedades no registrado con el PropertyEditorManager
jsp.error.beans.setproperty.noindexset = No puedo poner la propiedad indexada
jsp.error.include.tag = Tag jsp\:include no v\u00E1lido
jsp.error.attempt_to_clear_flushed_buffer = Error\: Se ha intentado limpiar un buffer que ya hab\u00EDa sido escrito
jsp.error.overflow = Error\:Buffer de JSP desbordado
jsp.error.paramexpected = El tag "param" era esperado con los atributos "name" y "value" despu\u00E9s del tag "params".
jsp.error.param.invalidUse = La acci\u00F3n jsp\:param no debe de ser usada fuera de los elementos jsp\:include, jsp\:forward o jsp\:params
jsp.error.params.invalidUse = jsp\:params debe de ser un hijo directo de jsp\:plugin
jsp.error.fallback.invalidUse = jsp\:fallback debe de ser un hijo directo de jsp\:plugin
jsp.error.namedAttribute.invalidUse = jsp\:attribute debe de ser el subelemento de una acci\u00F3n est\u00E1ndar o de cliente
jsp.error.jspbody.invalidUse = jsp\:body debe de ser el subelemento de una acci\u00F3n est\u00E1ndar o de cliente
jsp.error.params.emptyBody = jsp\:params debe de contener al menos un jsp\:param anidado
jsp.error.plugin.notype = Tipo no declarado en jsp\:plugin
jsp.error.plugin.badtype = Valor ilegal para atributo 'type' en jsp\:plugin\: debe de ser 'bean' o 'applet'
jsp.error.plugin.nocode = C\u00F3digo no declarado en jsp\:plugin
jsp.error.ise_on_clear = Es ilegal usar clear() cuando el tama\u00F1o del buffer es cero
jsp.error.javac = Excepci\u00F3n de Javac
jsp.error.javac.env = Entorno
jsp.error.compilation = Error compilando fichero\: {0} {1}
jsp.error.undeclared_namespace = Se ha encontrado una etiqueta con espacio de nombre [{0}] sin declarar
jsp.warning.keepgen = Aviso\: valor incorrecto para el initParam keepgen. Se usar\u00E1 el valor por defecto de "false"
jsp.warning.xpoweredBy = Aviso\: valor incorrecto para el initParam xpoweredBy. Se usar\u00E1 el valor por defecto de "false"
jsp.warning.enablePooling = Aviso\: valor incorrecto para el initParam enablePooling. Se usar\u00E1 el valor por defecto de "true"
jsp.warning.mappedFile = Aviso\: valor incorrecto para el initParam mappedFile. Se usar\u00E1 el valor por defecto de "false"
jsp.warning.classDebugInfo = Aviso\: valor incorrecto para el initParam classdebuginfo. Se usar\u00E1 el valor por defecto de "false"
jsp.warning.checkInterval = Aviso\: valor incorrecto para el initParam checkInterval. Se usar\u00E1 el valor por defecto de "300" segundos
jsp.warning.modificationTestInterval = Aviso\: valor incorrecto para el initParam modificationTestInterval. Se usar\u00E1 el valor por defecto de "4" segundos
jsp.warning.recompileOnFail = Aviso\: Valor inv\u00E1lido para el initParam recompileOnFail. Usar\u00E9 el valor por defecto de "falso "false"
jsp.warning.development = Aviso\: valor incorrecto para el initParam development. Se usar\u00E1 el valor por defecto de "true"
jsp.warning.fork = Aviso\: valor incorrecto para el initParam fork. Se usar\u00E1 el valor por defecto de "true"
jsp.warning.dumpSmap = Aviso\: valor incorrecto para el initParam dumpSmap. Se usar\u00E1 el valor por defecto de "false"
jsp.warning.genchararray = Aviso\: valor incorrecto para el initParam genStringAsCharArray. Se usar\u00E1 el valor por defecto de "false"
jsp.warning.suppressSmap = Aviso\: valor incorrecto para el initParam suppressSmap. Se usar\u00E1 el valor por defecto de "false"
jsp.warning.displaySourceFragment = Aviso\: valor incorrecto para el initParam displaySourceFragment. Se usar\u00E1 el valor por defecto de "verdadero"
jsp.warning.maxLoadedJsps = Aviso\: Valor inv\u00E1lido para el initParam maxLoadedJsps. Usar\u00E9 el valor por defecto de "-1"
jsp.warning.jspIdleTimeout = Aviso\: Valor inv\u00E1lido para el initParam jspIdleTimeout. Usar\u00E9 el valor por defecto de "-1"
jsp.warning.unknown.element.in.taglib = Elemento desconocido ({0}) en taglib
jsp.warning.unknown.element.in.tag = Elemento desconocido ({0}) en tag
jsp.warning.unknown.element.in.tagfile = Elemento desconocido ({0}) en tag-file
jsp.warning.unknown.element.in.attribute = Elemento desconocido ({0}) en attribute
jsp.warning.unknown.element.in.variable = Elemento desconocido ({0}) en variable
jsp.warning.unknown.element.in.validator = Elemento desconocido ({0}) en validator
jsp.warning.unknown.element.in.initParam = Elemento desconocido ({0}) en init-param de validator
jsp.warning.unknown.element.in.function = Elemento desconocido ({0}) en function
jsp.error.teiclass.instantiation = No se puede cargar la clase TagExtraInfo llamada\: {0}
jsp.error.non_null_tei_and_var_subelems = Tag {0} tiene uno o m\u00E1s subelementos variable y una clase TagExtraInfo que devuelve una o m\u00E1s VariableInfo
jsp.error.parse.error.in.TLD = Error de an\u00E1lisis en el descriptor de biblioteca de tags\: {0}
jsp.error.file.not.found = Archivo JSP "{0}" no encontrado
jsp.error.missing_attribute = De acuerdo con el TLD el atributo {0} es obligatorio para el tag {1}
jsp.error.bad_attribute = El atributo {0} no es v\u00E1lido seg\u00FAn el TLD especificado
jsp.error.tld.unable_to_get_jar = Imposible obtener recurso JAR "{0}" conteniendo TLD\: {1}
jsp.error.tld.missing_jar = Falta recurso JAR "{0}" conteniendo TLD
jsp.error.unable.to_find_method = No se puede encontrar el m\u00E9todo de escritura para el atributo\: {0}
jsp.error.bad_tag = No existe el tag {0} en la biblioteca importada con prefijo {1}
jsp.error.xml.bad_tag = No se ha definido el tag "{0}" en la biblioteca tag asociada con uri "{1}"
jsp.warning.compiler.classfile.delete.fail = No pude borrar el fichero generado de clase [{0}]
jsp.warning.compiler.classfile.delete.fail.unknown = No pude borrar los ficheros generados de clase
jsp.warning.compiler.javafile.delete.fail = No pude borrar el fichero generado de Java [{0}]
jsp.error.jspc.uriroot_not_dir = La opci\u00F3n -uriroot debe de especificar un directorio ya existente
jsp.error.jspc.missingTarget = Falta target\: Debe de especificar -webapp o -uriroot o una o m\u00E1s p\u00E1ginas JSP
jsp.error.jspc.no_uriroot = No se ha especificado uriroot y no puede ser localizado en los archivos JSP especificados
jspc.implicit.uriRoot = uriRoot implicitamente puesto a "{0}"
jspc.usage = Uso\: jspc <opciones> [--] <Archivos JSP>\n\
    donde <Archivos JSP> son\:\n\
    \    -webapp <dir>      Un directorio conteniendo una web-app. Todas las\n\
    \                       p\u00E1ginas jsp ser\u00E1n compiladas recursivamente\n\
    o cualquier n\u00FAmero de\n\
    \    <Archivo>          Un Archivo para ser interpretado como una p\u00E1gina jsp\n\
    y donde <opciones> incluyen\:\n\
    \    -help              Muestra este mensaje de ayuda\n\
    \    -v                 Modo detallado\n\
    \    -d <dir>           Directorio de salida\n\
    \    -l                 Muestra el nombre de la p\u00E1gina JSP al ocurrir un fallo\n\
    \    -s                 Muestra el nombre de la p\u00E1gina JSP al tener \u00E9xito\n\
    \    -p <name>          Nombre del package objetivo\n\
    \                       (por defecto org.apache.jsp)\n\
    \    -c <name>          Nombre de la clase objetivo\n\
    \                       (s\u00F3lo se aplica a la primera p\u00E1gina JSP)\n\
    \    -mapped            Genera llamadas separadas a write() para cada l\u00EDnea de\n\
    \                       HTML en el JSP\n\
    \    -die[\#]            Genera un c\u00F3digo de retorno de error (\#) en errores\n\
    \                       fatales. (por defecto 1).\n\
    \    -uribase <dir>     El directorio uri de donde deben de partir las\n\
    \                       compilaciones. (por defecto "/")\n\
    \    -uriroot <dir>     Igual que -webapp\n\
    \    -compile           Compila los servlets generados\n\
    \    -webinc <file>     Crea unos mapeos parciales de servlet en el archivo\n\
    \    -webxml <file>     Crea un web.xml completo en el archivo.\n\
    \    -ieplugin <clsid>  Java Plugin classid para Internet Explorer\n\
    \    -classpath <path>  Pasa por alto la propiedad de sistema java.class.path\n\
    \    -xpoweredBy        A\u00F1ade cabecera de respuesta  X-Powered-By\n\
    \    -trimSpaces         Remove template text that consists entirely of whitespace\n\
    \    -javaEncoding <enc> Set the encoding charset for Java classes (default UTF-8)\n\
    \    -source <version>   Set the -source argument to the compiler (default 1.7)\n\
    \    -target <version>   Set the -target argument to the compiler (default 1.7)\n
jspc.webxml.header = <?xml version\="1.0" encoding\="ISO-8859-1"?>\n\
    \n\
    <\!DOCTYPE web-app\n\
    \    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"\n\
    \    "http\://java.sun.com/dtd/web-app_2_3.dtd">\n\
    <\!--\n\
    Creado automaticamente mediante Apache Tomcat JspC.\n\
    -->\n\
    <web-app>\n\
    \n
jspc.webxml.footer = \n\
    </web-app>\n\
    \n
jspc.webinc.header = \n\
    <\!--\n\
    Creado automaticamente mediante Apache Tomcat JspC.\n\
    Coloque este fragmento en el fichero web.xml antes de \n\
    todos los elementos\: icon, display-name, description, \n\
    distributable y context-param .\n\
    -->\n
jspc.webinc.footer = \n\
    <\!--\n\
    All session-config, mime-mapping, welcome-file-list, error-page, taglib,\n\
    resource-ref, security-constraint, login-config, security-role,\n\
    env-entry, and ejb-ref elements should follow this fragment.\n\
    -->\n
jspc.webinc.insertEnd = <\!-- Fin de mapeos de servlet JSPC -->
jspc.webinc.insertStart = <\!-- Inicio de mapeos de servlet JSPC -->
jspc.error.generalException = ERROR-el archivo ''{0}'' ha generado la excepci\u00F3n general siguiente\:
jspc.error.fileDoesNotExist = El archivo ''{0}'' utilizado como argumento no existe.
jspc.delete.fail = No pude borrar el fichero [{0}]
jsp.error.library.invalid = La p\u00E1gina JSP es incorrecta de acuerdo a la biblioteca {0}\: {1}
jsp.error.tlvclass.instantiation = No pude cargar o instanciar clase TagLibraryValidator\: {0}
jsp.error.tlv.invalid.page = Mensajes de error de validaci\u00F3n desde TagLibraryValidator para {0} in {1}
jsp.error.tei.invalid.attributes = Mensajes de error de validaci\u00F3n desde TagExtraInfo para {0}
jsp.error.no.more.content = Alcanzado fin de contenido mietras se requer\u00EDa m\u00E1s an\u00E1lisis\: \u00BFerror de anidamiento de tag?
jsp.error.parse.xml = Error de an\u00E1lisis XML en archivo {0}
jsp.error.parse.xml.line = Error de an\u00E1lisis XML en archivo {0}\: (l\u00EDnea {1}, col {2})
jsp.error.parse.xml.scripting.invalid.body = El cuerpo de elemento {0} no debe de contener elementos XML
jsp.error.internal.tldinit = No pude inicializar TldLocationsCache\: {0}
jsp.error.internal.filenotfound = Error Interno\: Archivo {0} no hallado
jsp.error.parse.xml.invalidPublicId = PUBLIC ID incorrecta\: {0}
jsp.error.unsupported.encoding = Codificaci\u00F3n no soportada\: {0}
jsp.error.taglibDirective.absUriCannotBeResolved = La uri absoluta\: {0} no puede resolverse o en web.xml o el los archivos jar desplegados con esta aplicaci\u00F3n
jsp.error.taglibDirective.missing.location = No se ha especificado ni el atributo 'uri' ni el 'tagdir'
jsp.error.taglibDirective.both_uri_and_tagdir = Se han especificado ambos atributos 'uri' y 'tagdir'
jsp.error.invalid.tagdir = El directorio de archivo Tag {0} no comienza con "/WEB-INF/tags"
#jspx.error.templateDataNotInJspCdata=Validation Error: Element &lt;{0}&gt; cannot have template data. Template data must be encapsulated within a &lt;jsp:cdata&gt; element. [JSP1.2 PFD section 5.1.9]\nTemplate data in error: {1}
#Error while processing taglib jar file {0}: {1}
jsp.error.needAlternateJavaEncoding = La codificaci\u00F3n java por defecto {0} es incorrecta en tu plataforma java. Se puede especificar una alternativa v\u00EDa par\u00E1metro ''javaEncoding'' de JspServlet.
#Error when compiling, used for jsp line number error messages
jsp.error.single.line.number = Ha tenido lugar un error en la l\u00EDnea\: {0} en el archivo jsp\: {1}
jsp.error.java.line.number = Ha tenido lugar un error en la l\u00EDnea\: [{0}] en el fichero java generado: [{1}]
jsp.error.location = l\u00EDnea\: {0}, columna\: {1}
jsp.error.corresponding.servlet = Error de servlet generado\:\n
jsp.error.jspbody.required = Se debe de usar jsp\:body para especificar cuerpo tag para {0} si se usa jsp\:attribute.
jsp.error.jspbody.emptybody.only = El tag {0} s\u00F3lo puede tener jsp\:attribute en su cuerpo.
jsp.error.no.scriptlets = Los elementos de Scripting (&lt;%\!, &lt;jsp\:declaration, &lt;%\=, &lt;jsp\:expression, &lt;%, &lt;jsp\:scriptlet ) no est\u00E1n permitidos aqu\u00ED.
jsp.error.tld.fn.invalid.signature = Sint\u00E1xis incorrecta para firma de funci\u00F3n en TLD. Biblioteca de Tag\: {0}, Funci\u00F3n\: {1}
jsp.error.tld.fn.duplicate.name = Nombre duplicado de funci\u00F3n {0} en biblioteca de tag {1}
jsp.error.tld.fn.invalid.signature.parenexpected = Sint\u00E1xis incorrecta para firma de funci\u00F3n en TLD. Se esperaba Par\u00E9ntesis ''(''. Biblioteca de Tag\: {0}, Funci\u00F3n\: {1}.
jsp.error.tld.mandatory.element.missing = Falta o est\u00E1 vac\u00EDo elemento TLD obligatorio\: {0}
jsp.error.dynamic.attributes.not.implemented = El tag {0} declara que acepta atributos din\u00E1micos pero no implementa la interfaz requerida
jsp.error.attribute.noequal = se esperaba s\u00EDmbolo igual
jsp.error.attribute.noquote = se esperaba s\u00EDmbolo comillas
jsp.error.attribute.unterminated = el atributo para {0} no est\u00E1 terminado correctamente
jsp.error.attribute.noescape = El valor de atributo {0} est\u00E1 entrecomillado con {1} que debe de usar escape al usarse dentro del valor
jsp.error.attribute.nowhitespace = La especificaci\u00F3n JSP requiere que un nombre de atributo sea precedido por un espacio en blanco
jsp.error.attribute.duplicate = Los nombre cualificados de atributo deben de ser \u00FAnicos dentro de un elemento
jsp.error.missing.tagInfo = El objeto TagInfo para {0} falta del TLD
jsp.error.deferredmethodsignaturewithoutdeferredmethod = No puedo especificar firma de m\u00E9todo si 'deferredMethod' no es 'verdadero'
jsp.error.deferredvaluetypewithoutdeferredvalue = No puedo especificar un tipo de valor si 'deferredValue' no es 'verdadero'
jsp.error.deferredmethodandvalue = 'deferredValue' y 'deferredMethod' no pueden ser ambos 'verdadero'
jsp.error.fragmentwithtype = No puede especificar ambos atributos 'fragment' y 'type'. Si est\u00E1 presente 'fragment', 'type' se pone como 'javax.servlet.jsp.tagext.JspFragment'
jsp.error.var_and_varReader = S\u00F3lo se puede especificar uno de 'var' o 'varReader'
jsp.error.missing_var_or_varReader = Falta atributo 'var' o 'varReader'
jsp.warning.bad.urlpattern.propertygroup = Valor malo {0} en el subelemento url-pattern en web.xml
jsp.error.literal_with_void = Se especific\u00F3 un valor literal para el atributo {0} que est\u00E1 definido como un m\u00E9todo diferido con un tipo nulo de retorno. JSP.2.3.4 no permite valores de literal en este caso
jsp.error.unknown_attribute_type = Tipo de atributo desconocido ({1}) para atributo {0}.
jsp.error.coerce_to_type = No puedo coaccionar el valor ({2}) a tipo ({1}) para atributo {0}.
jsp.error.jspelement.missing.name = Falta atributo obligatorio XML-style 'name'
jsp.error.could.not.add.taglibraries = No pude a\u00F1adir una o m\u00E1s bibliotecas.
jsp.error.duplicate.name.jspattribute = El atributo {0} especificado en la acci\u00F3n standard o custom tambi\u00E9n aparece como el valor del atributo name en jsp\:attribute
jsp.error.not.in.template = {0} no permitido en una plantilla cuerpo de texto.
jsp.error.badStandardAction = Acci\u00F3n est\u00E1ndar incorrecta
jsp.error.xml.badStandardAction = Acci\u00F3n est\u00E1ndar incorrecta\: {0}
jsp.error.tagdirective.badbodycontent = body-content incorrecto ({0}) en directiva tag
jsp.error.simpletag.badbodycontent = El TLD para la clase {0} especifica un body-content es incorrecto (JSP) para un SimpleTag.
jsp.error.config_pagedir_encoding_mismatch = El Page-encoding especificado en jsp-property-group ({0}) es diferente del especificado en la diectiva page ({1})
jsp.error.prolog_pagedir_encoding_mismatch = El Page-encoding especificado en XML prolog ({0}) difiere del especificado en la directiva page ({1})
jsp.error.prolog_config_encoding_mismatch = El Page-encoding especificado en XML prolog ({0}) difiere del especificado en jsp-property-group ({1})
jsp.error.attribute.custom.non_rt_with_expr = Seg\u00FAn el TLD o la directiva attribute del archivo tag, el atributo {0} no acepta expresiones
jsp.error.attribute.standard.non_rt_with_expr = El atributo {0} de la acci\u00F3n est\u00E1ndar {1} no acepta expresiones
jsp.error.attribute.deferredmix = No puedo sar ambas espresiones EL ${} y \#{} en el mismo valor de atributo
jsp.error.scripting.variable.missing_name = Imposible determinar nombre de variable de scripting desde atributo {0}
jasper.error.emptybodycontent.nonempty = Seg\u00FAn el TLD, el tag {0} debe de estar vac\u00EDo, pero no lo est\u00E1
jsp.error.tagfile.nameNotUnique = El valor de {0} y el valor de {1} en la l\u00EDnea {2} son el mismo.
jsp.error.tagfile.nameFrom.noAttribute = No puedo hallar una directiva attribute con un atributo name con un valor "{0}", el valor de este atributo name-from-attribute.
jsp.error.tagfile.nameFrom.badAttribute = La directiva attribute (declarada en la l\u00EDnea {1} y cuyo atributo name es "{0}", el valor de este atributo name-from-attribute attribute) debe de ser del tipo java.lang.String, es "required" y no un "rtexprvalue".
jsp.error.page.noSession = No puedo acceder al \u00E1mbito de sesi\u00F3n en una p\u00E1gina que no participa en una sesi\u00F3n
jsp.error.usebean.noSession = Es ilegal para useBean el usar \u00E1mbito de sesi\u00F3n cuando la p\u00E1gina JSP declara (v\u00EDa directiva de p\u00E1gina) que no participa en sesiones
jsp.error.xml.encodingByteOrderUnsupported = El orden de byte dado para encoding "{0}" no est\u00E1 soportado
jsp.error.xml.encodingDeclInvalid = Nombre de codificaci\u00F3n "{0}" incorrecto.
jsp.error.xml.encodingDeclRequired = Se necesita la declaraci\u00F3n encoding en la declaraci\u00F3n de texto
jsp.error.xml.morePseudoAttributes = se esperan m\u00E1s pseudo-atributos
jsp.error.xml.noMorePseudoAttributes = no se permiten m\u00E1s pseudo-atributos.
jsp.error.xml.versionInfoRequired = Se requiere la versi\u00F3n en la declaraci\u00F3n XML.
jsp.error.xml.xmlDeclUnterminated = La declaraci\u00F3n XML debe de terminar con "?>".
jsp.error.xml.reservedPITarget = La instrucci\u00F3n de procesamiento que coincide con "[xX][mM][lL]" no est\u00E1 permitida.
jsp.error.xml.spaceRequiredInPI = Se necesita un espacio en blanco entre la instrucci\u00F3n de procesamiento y los datos.
jsp.error.xml.invalidCharInContent = Un car\u00E1cter XML incorrecto (Unicode\: 0x{0}) se hall\u00F3 en el contenido del elemento del documento.
jsp.error.xml.spaceRequiredBeforeStandalone = Se necesita un espacio en blanco antes del pseudo-atributo encoding en la declaraci\u00F3n XML.
jsp.error.xml.sdDeclInvalid = El valor de declaraci\u00F3n de documento standalone debe de ser "yes" o "no", no "{0}".
jsp.error.xml.invalidCharInPI = Se hall\u00F3 un car\u00E1cter XML incorrecto (Unicode\: 0x{0}) en la instrucci\u00F3n de procesamiento
jsp.error.xml.versionNotSupported = No se soporta la versi\u00F3n XML "{0}", s\u00F3lo se soporta XML 1.0
jsp.error.xml.pseudoAttrNameExpected = se esperaba un pseudo-atributo name.
jsp.error.xml.expectedByte = Se esperaba byte {0} de {1}-byte de secuencia UTF-8.
jsp.error.xml.invalidByte = Incorrecto byte {0} de {1}-byte de secuencia UTF-8.
jsp.error.xml.operationNotSupported = La operaci\u00F3n "{0}" no est\u00E1 soportada por lector {1}.
jsp.error.xml.invalidHighSurrogate = Los bits de surrogaci\u00F3n alta en secuencai UTF-8 no deben de exceder 0x10 pero se hall\u00F3 0x{0}.
jsp.error.xml.invalidASCII = El Byte "{0}" no es ASCII de 7-bit.
jsp.error.xml.spaceRequiredBeforeEncodingInXMLDecl = Se necesita espacio en blanco antes del pseudo-atributo encoding en la declaraci\u00F3n XML.
jsp.error.xml.spaceRequiredBeforeEncodingInTextDecl = Se necesita espacio en blanco antes del pseudo-atributo encoding en la declaraci\u00F3n text.
jsp.error.xml.spaceRequiredBeforeVersionInTextDecl = Se necesita espacio en blanco antes del pseudo-atributo version en la declaraci\u00F3n text.
jsp.error.xml.spaceRequiredBeforeVersionInXMLDecl = Se necesita espacio en blanco antes del pseudo-atributo version en la declaraci\u00F3n XML.
jsp.error.xml.eqRequiredInXMLDecl = El car\u00E1cter '' \= '' debe de serguir a "{0}" en la declaraci\u00F3n XML.
jsp.error.xml.eqRequiredInTextDecl = El car\u00E1cter '' \= '' debe de serguir a "{0}" en la declaraci\u00F3n text.
jsp.error.xml.quoteRequiredInTextDecl = El valor que sigue a "{0}" en la declaraci\u00F3n text debe de ser una cadena entre comillas.
jsp.error.xml.quoteRequiredInXMLDecl = El valor que sigue a "{0}" en la declaraci\u00F3n XML debe de ser un cadena entre comillas.
jsp.error.xml.invalidCharInTextDecl = Un car\u00E1cter XML incorrecto (Unicode\: 0x{0}) se hall\u00F3 en la declaraci\u00F3n text
jsp.error.xml.invalidCharInXMLDecl = Un car\u00E1cter XML incorrecto (Unicode\: 0x{0}) se hall\u00F3 en la declaraci\u00F3n XML
jsp.error.xml.closeQuoteMissingInTextDecl = Faltan las comillas de cierre en el valor que sigue a "{0}" en la declaraci\u00F3n text.
jsp.error.xml.closeQuoteMissingInXMLDecl = Faltan las comillas de cierre en el valor que sigue a  "{0}" en la declaraci\u00F3n XML.
jsp.error.multiple.jsp = No puedo tener m\u00FAltiples especificaciones de
jsp.error.jspoutput.conflict = &lt;jsp\:output&gt;\: ilegal tener ocurrencias m\u00FAltiples de "{0}" con diferentes valores (viejo\: {1}, nuevo\: {2})
jsp.error.jspoutput.doctypenamesystem = &lt;jsp\:output&gt;\: atributos 'doctype-root-element' y 'doctype-system' deben de aparecer juntos
jsp.error.jspoutput.doctypepulicsystem = &lt;jsp\:output&gt;\: atributo 'doctype-system' debe de aparecer si aparece atributo 'doctype-public'
jsp.error.jspoutput.nonemptybody = &lt;jsp\:output&gt; no debe de tener un cuerpo
jsp.error.jspoutput.invalidUse = &lt;jsp\:output&gt; no se debe de usar en sint\u00E1xis est\u00E1ndar
jsp.error.attributes.not.allowed = {0} no debe de tener atributos
jsp.error.tagfile.badSuffix = Falta sufijo ".tag" en trayectoria de archivo de tag {0}
jsp.error.tagfile.illegalPath = Trayectoria de archivo de tag\: {0}, debe de comenzar con "/WEB-INF/tags" o "/META-INF/tags"
jsp.error.plugin.wrongRootElement = El nombre del elemento ra\u00EDz en {0} difiere de {1}
jsp.error.attribute.invalidPrefix = El prefijo de atributo {0} no se correponde con ninguna biblioteca importada
jsp.error.nested.jspattribute = Una acci\u00F3n est\u00E1ndar jsp\:attribute no puede estar anidada dentro de otra acci\u00F3n est\u00E1ndar jsp\:attribute
jsp.error.nested.jspbody = Una acci\u00F3n est\u00E1ndar jsp\:body no puede estar anidada dentro de otra acci\u00F3n est\u00E1ndar jsp\:body o jsp\:attribute
jsp.error.variable.either.name = O el atributo name-given o name-from-attribute deben de ser especificados en una directiva variable
jsp.error.variable.both.name = No se puede especificar ambos atributos name-given o name-from-attribute en una directiva variable
jsp.error.variable.alias = Ambos atributos o ninguno de name-from-attribute y alias pueden ser especificados en una directiva variable
jsp.error.attribute.null_name = Nombre de atributo nulo
jsp.error.jsptext.badcontent = '&lt;', cuando aparece en el cuerpo de &lt;jsp\:text&gt;, debe de estar encapsulado dentro de un CDATA
jsp.error.jsproot.version.invalid = N\u00FAmero incorrecto de versi\u00F3n\: "{0}", debe de ser "1.2" o "2.0" o "2.1" o "2.2" o "2.3"
jsp.error.noFunction = La funci\u00F3n {0} no puede ser localizada mediante el prefijo especificado
jsp.error.noFunctionMethod = El m\u00E9todo "{0}" para la funci\u00F3n "{1}" no se pudo hallar en la clase "{2}"
jsp.error.function.classnotfound = La clase {0} especificada en el TLD para la funci\u00F3n {1} no se puede hallar\: {2}
jsp.error.signature.classnotfound = La clase {0} especificada en la firma del m\u00E9todo en el TLD para la funci\u00F3n {1} no se puede hallar. {2}
jsp.error.text.has_subelement = &lt;jsp\:text&gt; no debe de tener subelementos
jsp.error.data.file.read = Error leyendo archivo "{0}"
jsp.error.prefix.refined = Intento de redefinir el prefijo {0} por {1}, cuando ya estaba definido como {2} en el \u00E1mbito en curso.
jsp.error.nested_jsproot = &lt;jsp\:root&gt; anidado
jsp.error.unbalanced.endtag = El tgag final "&lt;/{0}" est\u00E1 desequilibrado
jsp.error.invalid.bean = El valor el atributo de clsae useBean {0} es inv\u00E1lido.
jsp.error.prefix.use_before_dcl = El prefijo {0} especificado en esta directiva de marca ha sido usado previamente mediante un fichero de acci\u00F3n {1} l\u00EDnea {2}.
jsp.error.lastModified = No puedo determinar la \u00FAltima fecha de modificaci\u00F3n para el fichero [{0}]
jsp.exception = Ha sucedido una excepci\u00F3n al procesar la p\u00E1gina JSP {0} en l\u00EDnea {1}
jsp.error.el.template.deferred = \#{..} no est\u00E1 permitido en texto de plantilla
jsp.error.el.parse = {0} \: {1}
jsp.error.page.invalid.deferredsyntaxallowedasliteral = Directiva de p\u00E1gina\: valor inv\u00E1lido para deferredSyntaxAllowedAsLiteral
jsp.error.tag.invalid.deferredsyntaxallowedasliteral = Directiva de marca\: valor inv\u00E1lido para deferredSyntaxAllowedAsLiteral
jsp.error.page.conflict.deferredsyntaxallowedasliteral = Directiva de p\u00E1gina\: es ilegal tener m\u00FAltiples ocurrencias de ''deferredSyntaxAllowedAsLiteral'' con diferentes valores (viejo\: {0}, nuevo\: {1})
jsp.error.tag.conflict.deferredsyntaxallowedasliteral = Directiva de marca\: es ilegal tener m\u00FAltiples ocurrencias de ''deferredSyntaxAllowedAsLiteral'' con diferentes valores (viejo\: {0}, nuevo\: {1})
jsp.error.page.invalid.trimdirectivewhitespaces = Directiva de p\u00E1gina\: valor inv\u00E1lido para trimDirectiveWhitespaces
jsp.error.tag.invalid.trimdirectivewhitespaces = Directiva de marca\: valor inv\u00E1lido para trimDirectiveWhitespaces
jsp.error.page.conflict.trimdirectivewhitespaces = Directiva de p\u00E1gina\: es ilegal tener m\u00FAltiples ocurrencias de ''trimDirectivewhitespaces'' con diferentes valores (viejo\: {0}, nuevo\: {1})
jsp.error.tag.conflict.trimdirectivewhitespaces = Directiva de marca\: es ilegal tener m\u00FAltiples ocurrencias de ''trimDirectivewhitespaces'' con diferentes valores (viejo\: {0}, nuevo\: {1})
jsp.warning.noJarScanner = Aviso\: No se ha puesto org.apache.tomcat.JarScanner en ServletContext. Volviendo a la implementaci\u00F3n por defecto de JarScanner.
jsp.error.bug48498 = No puedo mostrar extracto de JSP. Probablemente debido a un error de analizador XML (ver error 48498 de Tomcat para detalles).
jsp.error.duplicateqname = Se ha hallado un atributo con nombre cualificado duplicado [{0}]. Los nombres de atributos cuallificados deben de se \u00FAnicos dentro de un elemento.
jsp.message.jsp_queue_created = Creada cola jsp con tama\u00F1o {0} para el contexto [{1}]
jsp.message.jsp_added = A\u00F1adiendo JSP para ruta [{0}] a cola de contexto [{1}]
jsp.message.jsp_queue_update = Actuallizando JSP para ruta [{0}] en cola de contexto [{1}]
jsp.message.jsp_removed_excess = Quitando exceso de JSP para ruta [{0}] desde cola de contexto [{1}]
jsp.message.jsp_removed_idle = Quitando JSP ocioso para ruta [{0}] en contexto [{1}] tras {2} segundos");
jsp.message.jsp_unload_check = Revisando JSPs para descaga en contexto [{0}], contador JSP\: {1} tamalo de cola\: {2}
xmlParser.skipBomFail = No pude saltar BOM al analizar flujo de entrada XML
jsp.tldCache.noTldInJar = No se han hallado ficheros TLD en [{0}]. Considera a\u00F1adir el JAR a la propiedad tomcat.util.scan.StandardJarScanFilter.jarsToSkip en el fichero  CATALINA_BASE/conf/catalina.propeperties.
jsp.tldCache.noTldSummary = Al menos un JAR, que se ha explorado buscando TLDs, a\u00FAn no conten\u00EDa TLDs. Activar historial de depuraci\u00F3n para este historiador para una completa lista de los JARs que fueron explorados y de los que nos se hall\u00F3 TLDs. Saltarse JARs no necesarios durante la exploraci\u00F3n puede dar lugar a una mejora de tiempo significativa en el arranque y compilaci\u00F3n de JSP .

#ELInterpreter
jsp.error.el_interpreter_class.instantiation=No se puede cargar la clase ELInterpreter llamada [{0}]