###############################################################################
# Copyright (c) 2001, 2004 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################
# To avoid name collisions, each extension point should preface their property names with an identifier.
#
#     *************************************************************************
#     * Code oriented instructions:
#     *
#     * In the string, you may see the following special sequences:
#     * a) {n}  where n is a number. These are replaceable parameters.
#     * b) ''  In .properties files, in order to see one apostrophe (') in the final
#     *    string, sometimes two apostrophes must be entered in the string. In the translated
#     *    string, if there is at least one {n} in the string, then to show one apostrophe
#     *    to the user, put two apostrophes in the string. If there are no {n} in the string,
#     *    then put one apostrophe.
#     *    For example, say that you want the user to read "George's file". 
#     *        GEORGE=George's file was on the desk.
#     *        GEORGE2=George''s file and {0} were on the desk.
#     *    GEORGE uses one apostrophe because there are no {n} and GEORGE2
#     *    uses two apostrophes because there is a {n}.
#     * c) '' text '' where text can be any word(s). The text between the double
#     *    apostrophes should not be translated. 
#     * d) <text> where text can be any word(s). The text between the angle
#     *    brackets should NOT be translated.
#     * e) "text" where text can be any word(s). The text between the quotation 
#     *    marks should NOT be translated.
#     *    
#     *************************************************************************
#     * Other instructions
#     * a) Do not translate any text that is on a line which begins with a comment 
#     *    symbol (#).
#     * b) Do not translate these words: 
#     *        schema, EJB, RDB, JAR, RMI, BMP, CMP, OOSQL
#     * c) Please return the .properties files using the same directory structure.
#     *    This is necessary because two of the files have the same name.
#     *
#     *************************************************************************
# Any other comments to the translators are on lines which start like this:  # 2TC:
#
# Version 1.14
#
#
# ID:
#    VBF - Validation Builder Framework
#       VBF_EXC=Exception or error text
#       VBF_STATUS=Status message
#       VBF_TASK=Task list message
#

# 
# Begin Validation Builder Framework Strings
#
# IDs:
#    VBF_EXC=Exception or error text
#    VBF_STATUS=Status message
#    VBF_TASK=Task list message
#
VBF_EXC_CANNOT_ADD_MARKER=IWAE0001E No puede a\u00f1adirse el marcador al recurso {0} de la lista de tareas.
VBF_EXC_CANNOT_REMOVE_MARKER=IWAE0002E No puede eliminarse el marcador del recurso {0} de la lista de tareas.

VBF_EXC_HELPER_MISSING=IWAE0003E No se ha podido cargar {0} porque no especificaba un <helper>. Cada validador debe identificar la clase de ayudante (helper) que carga su modelo MOF.
VBF_EXC_HELPER_CANNOTLOAD=IWAE0004E No se ha podido cargar {0} porque fue imposible cargar su <helper>, {1}. Aseg\u00farese de que el nombre del archivo se ha escrito correctamente respetando las may\u00fasculas y min\u00fasculas.

VBF_EXC_INTERNAL=IWAE0005E Se ha producido un error interno durante la validaci\u00f3n. La validaci\u00f3n se estaba ejecutando en el proyecto {0} con el validador {1}. El mensaje lanzado ha sido {2}.

# 2TC: In the following string, "type" is a noun
VBF_EXC_INVALID_TYPE_FILTER=IWAE0006E Filtro no v\u00e1lido para el tipo; {0} debe ser una instancia de {1}.
VBF_EXC_INVALID_RESOURCE=IWAE0007E No puede a\u00f1adirse el mensaje "{0}" con el objeto destino "{1}" porque no puede encontrarse ning\u00fan archivo, carpeta o proyecto con el que asociar el mensaje.

VBF_EXC_MISSING_VALIDATOR_EP=IWAE0008E No se ha podido iniciar la infraestructura del validador. Ha sido imposible encontrar el punto de extensi\u00f3n llamado \"{0}\". Guarde todos los archivos de anotaciones y p\u00f3ngase en contacto con el representante de IBM.
VBF_EXC_MISSING_PROJECTNATURE_ID=IWAE0009E Un projectNature debe tener un ID asociado. La validaci\u00f3n pasa por alto este c\u00f3digo y contin\u00faa.

VBF_EXC_RUNTIME=IWAE0010E Se ha producido una excepci\u00f3n de tiempo de ejecuci\u00f3n {0} durante la validaci\u00f3n. El validador que se estaba ejecutando era {1} y el mensaje lanzado ha sido {2}.

VBF_EXC_SYNTAX_NULL_NAME=IWAE0011E No se puede a\u00f1adir el recurso {0} a la lista de archivos porque IHelper.getPortableName() devuelve nulo. Este recurso no ser\u00e1 validado por el validador llamado {1}.
VBF_EXC_SYNTAX_NO_HELPER=IWAE0012E No se ha especificado ning\u00fan elemento <helper> en el archivo plugin.xml del validador {0}. Como no se puede crear el ayudante (helper), no se cargar\u00e1 el validador.
VBF_EXC_SYNTAX_NO_HELPER_CLASS=IWAE0013E No hay ning\u00fan atributo "class" del elemento <helper> en el archivo plugin.xml del archivo {0}. No puede crearse el ayudante sin el nombre de la clase que lo implementa. Como no se puede crear el ayudante (helper), no se cargar\u00e1 el validador.
VBF_EXC_SYNTAX_NO_HELPER_THROWABLE=IWAE0014E No se puede crear el ayudante {0} porque se ha capturado una excepci\u00f3n Throwable.
VBF_EXC_SYNTAX_NO_VAL_RUN=IWAE0015E No se puede crear el validador porque no se ha especificado ning\u00fan elemento <run> en el archivo plugin.xml del validador denominado {0}. No se puede crear un validador a menos que exista un elemento <run> que especifique el atributo "class". El valor del atributo "class" debe ser el nombre de la clase que implementa la interfaz IWorkbenchHelper.
VBF_EXC_SYNTAX_NO_VAL_CLASS=IWAE0016E No se puede crear el validador porque no se ha especificado ning\u00fan atributo "class" del elemento <run> en el archivo plugin.xml del validador denominado {0}. No se puede crear un validador a menos que exista un elemento <run> que especifique el atributo "class". El valor del atributo "class" debe ser el nombre de la clase que implementa la interfaz IWorkbenchHelper.
VBF_EXC_SYNTAX_NO_VAL_THROWABLE=IWAE0017E No se puede crear el validador {0} porque se ha capturado un Throwable.
VBF_EXC_SYNTAX_NO_VAL_NULL=IWAE0018E No se ha podido crear la clase de validador {0}. IConfigurationElement.createExecutableExtension(String) ha devuelto nulo.

VBF_EXC_DISABLEV=IWAE0019E No se puede crear una instancia del validador {0}. Se est\u00e1 inhabilitando el validador; encontrar\u00e1 los detalles en el archivo de anotaciones.
VBF_EXC_DISABLEH=IWAE0020E No se puede crear una instancia del m\u00e9todo de ayuda {0}. Se est\u00e1 inhabilitando el validador {1}; encontrar\u00e1 los detalles en el archivo de anotaciones.
VBF_EXC_ORPHAN_IVALIDATOR=IWAE0021E No se pueden localizar los metadatos del validador {0}.

VBF_EXC_VALIDATORNAME_IS_NULL=IWAE0022E El conector (plugin) con el ID {0} se ha inhabilitado porque su m\u00e9todo getName() devuelve nulo. El m\u00e9todo debe devolver un valor.

VBF_EXC_NULLCREATE=IWAE0023E No se puede crear una configuraci\u00f3n de validaci\u00f3n en un recurso nulo.
VBF_EXC_NULLSAVE=IWAE0024E No se puede guardar una configuraci\u00f3n de validaci\u00f3n en un recurso nulo.
VBF_EXC_SAVE=IWAE0025E No se ha podido guardar la configuraci\u00f3n de validaci\u00f3n en el recurso {0}.
VBF_EXC_NULLRETRIEVE=IWAE0026E No se puede recuperar la configuraci\u00f3n de validaci\u00f3n porque el recurso es nulo.
VBF_EXC_RETRIEVE=IWAE0027E No se ha podido recuperar la configuraci\u00f3n de validaci\u00f3n para el recurso {0}.

VBF_EXC_BADVMD=IWAE0028E ValidatorMetaData[] no debe ser nulo ni estar vac\u00edo.
VBF_EXC_OPENPRJ=IWAE0029E El proyecto {0} tiene que estar abierto.
VBF_EXC_EXISTPRJ=IWAE0030E El proyecto {0} tiene que existir.
VBF_EXC_BADPRJ=IWAE0031E El proyecto {0} tiene que ser el proyecto que contenga los recursos en IResource[].
VBF_EXC_MULTIPRJ=IWAE0032E Todas las instancias de IResource en IResource[] tienen que ser parte de la misma instancia de IProject. Los recursos proceden de los proyectos siguientes: {0}.
VBF_EXC_BADVAL=IWAE0033E El validador {0} tiene que estar configurado en {1};

VBF_STATUS_INITIALIZING=Se est\u00e1 inicializando {0}.

VBF_STATUS_VALIDATOR_CLEANUP=Se est\u00e1 efectuando el borrado en {0} antes de la terminaci\u00f3n.

VBF_STATUS_PROGRESSMONITOR_TITLE=Validando
VBF_STATUS_NULL_DELTA=No se ha podido recuperar el \u00faltimo estado de construcci\u00f3n de {0}. Realizando una validaci\u00f3n completa.

VBF_STATUS_VALIDATOR_TERMINATED=Se ha cancelado la validaci\u00f3n de {0} utilizando {1}.

VBF_STATUS_START_REMOVING_OLD_MESSAGES=La eliminaci\u00f3n de mensajes {0} en {1} se ha iniciado...
VBF_STATUS_FINISH_REMOVING_OLD_MESSAGES=Mensajes eliminados.

VBF_STATUS_STARTING_VALIDATION=La validaci\u00f3n de {0} mediante {1} se ha iniciado...
VBF_STATUS_ENDING_VALIDATION=La validaci\u00f3n de {0} mediante {1} se ha completado. Se ha informado de todos los problemas conocidos.
VBF_STATUS_ENDING_VALIDATION_ABNORMALLY=La validaci\u00f3n de {0} mediante {1} ha finalizado de forma an\u00f3mala. La lista de problemas puede estar incompleta. Vea si en los mensajes informativos se indica la causa de la terminaci\u00f3n an\u00f3mala.

VBF_STATUS_LOOKING=Buscando mensajes de validaci\u00f3n propiedad de validadores no instalados...
VBF_STATUS_LOOKINGDONE=Buscando mensajes de validaci\u00f3n propiedad de validadores no instalados... Hecho.
VBF_STATUS_REMOVING=Eliminando mensajes de validaci\u00f3n propiedad de validadores no instalados...
VBF_STATUS_REMOVINGDONE=Eliminando mensajes de validaci\u00f3n propiedad de validadores no instalados... Hecho.

# The following message will be deleted soon.
VBF_TASK_WARN_MESSAGE_LIMIT_ABORT=IWAE0034W IWAD3000I: {1} ha interrumpido la validaci\u00f3n de {0} porque el n\u00famero de mensajes de los que se ha informado ha llegado al m\u00e1ximo. Pueden faltar algunos mensajes.

VBF_TASK_WARN_MESSAGE_LIMIT_VAL=IWAE0035W IWAD3000I: Puede que falten algunos mensajes, pues se ha alcanzado el n\u00famero m\u00e1ximo de mensajes. Aumente el n\u00famero m\u00e1ximo de mensajes y vuelva a intentarlo.

#
# End Validation Builder Framework Strings
#

