###############################################################################
# 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
###############################################################################
# This properties file hold all the externalised strings for eTools 
# EAR Validation project
#
# Messages should be according to the format at 
#   http://hany.austin.ibm.com/messages/index.html
#
# Briefly:
#     MESSAGE_ID=<ComponentPrefix><MessageNumber><TypeCode>: <MessageText>
#
# The prefix for this component is:
#     CHKW (IBM WebSphere Validation)
#
# Message numbers are four digit numbers, from '0000' to '9999', inclusive.
# Message numbers are filled to the left with '0', to a width of 4.
#
# Valid message type codes are:
#     I (Informational)
#     W (Warning)
#     E (Error)
#
# Note the ": " that appears between the type code and the message text.
#
# :Begin: WebSphere Quality Validation Information :Begin:
#COMPONENTPREFIX CHKJ
#COMPONENTNAMEFOR CHKJ IBM WebSphere Validation
#CMVCPATHNAME ncf/src/java/com/ibm/websphere/validation/earvalidation.properties
# :End: WebSphere Quality Validation Information :End:
#
# 29-June-2001:
#  This file has been tested using the ProcessMsgFile tool, written by 
#  Hany Salem and owned by Dennis Hebert.  Any future changes should 
#  also be verified using this tool.  Please contact Dennis 
#  (hebert@us.ibm.com or T/L 543-2520) for more information.
#
# --------------------------------
#NOTAMSG
validator.name=Validador EAR

# --------------------------------
ERROR_EAR_VALIDATION_FAILED=CHKJ1000E: La validaci\u00f3n de EAR ha fallado: {0}
#EXPLANATION None.
#USERACTION None.

# --------------------------------
ERROR_EAR_INVALID_EAR_FILE=CHKJ1001E: El proyecto EAR {0} no es v\u00e1lido.
#EXPLANATION None.
#USERACTION None.

# --------------------------------
ERROR_EAR_DUPLICATE_ROLES=CHKJ1002E: Cometido de seguridad denominado {0} duplicado.
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_EAR_NO_MODULE_URI=CHKJ1003E: Se ha definido un m\u00f3dulo sin un URI.
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_EAR_MISSING_URI=CHKJ1004E: El URI {0} no coincide con nada del archivo EAR.
#EXPLANATION None.
#USERACTION None.

# --------------------------------
EAR_DD_PARSE_LINECOL=CHKJ1005E: No se ha podido cargar el descriptor de despliegue. La secci\u00f3n err\u00f3nea empieza en la l\u00ednea {0}, columna {1}.
#EXPLANATION None.
#USERACTION None.

# --------------------------------
EAR_DD_PARSE_LINE=CHKJ1006E: No se ha podido cargar el descriptor de despliegue. La secci\u00f3n err\u00f3nea empieza en la l\u00ednea {0}.
#EXPLANATION None.
#USERACTION None.

# --------------------------------
EAR_DD_PARSE_NOINFO=CHKJ1007E: No se ha podido cargar el descriptor de despliegue.
#EXPLANATION None.
#USERACTION None.

# --------------------------------
EAR_DD_CANNOT_OPEN_DD=CHKJ1008E: No se puede abrir el descriptor de despliegue. La validaci\u00f3n no puede completarse.
#EXPLANATION None.
#USERACTION None.

# errors ---------------------------
URI_CONTAINS_SPACES_ERROR_=IWAE0005E El URI {0} contiene un espacio. No conviene que lo tenga porque no se podr\u00e1 hacer referencia a \u00e9l desde un archivo de manifiesto.
MESSAGE_EAR_DUPLICATE_URI_ERROR_=IWAE0006E El m\u00f3dulo {0} tiene un URI duplicado en el EAR: {1}.
MESSAGE_EAR_DUPICATE_ROOTCONTEXT_ERROR_=IWAE0007E La ra\u00edz de contexto "{0}" existe en los m\u00f3dulos Web "{1}" y "{2}".
MESSAGE_EMPTY_ALT_DD_ERROR_=IWAE0009E El m\u00f3dulo {0} tiene un c\u00f3digo <alt-dd> vac\u00edo en EAR {1}.  Hay que quitar el c\u00f3digo o bien darle un valor v\u00e1lido.
DUPLICATE_UTILJAR_FOR_PROJECT_NAME_ERROR_=IWAE0010E El proyecto {0} del proyecto de aplicaci\u00f3n de empresa {1} tiene un URI de JAR de utilidades duplicado {2}.
DUPLICATE_MODULE_FOR_PROJECT_NAME_ERROR_=IWAE0011E El proyecto {0} del proyecto de aplicaci\u00f3n de empresa {1} tiene un nombre de m\u00f3dulo duplicado {2}.
MESSAGE_UTIL_URI_NAME_COLLISION_ERROR_=IWAE0012E El m\u00f3dulo {0} del proyecto de aplicaci\u00f3n de empresa {1} tiene el mismo nombre que el URI del JAR de utilidades.
MESSAGE_UTIL_PROJECT_NAME_COLLISION_ERROR_=IWAE0013E El m\u00f3dulo {0} del proyecto de aplicaci\u00f3n de empresa {1} tiene el mismo nombre que el proyecto de JAR de utilidades.
ERROR_READING_MANIFEST_ERROR_=IWAE0014E Se produjo un error al validar el archivo MANIFEST.MF en el archivador {0}.
MANIFEST_LINE_END_ERROR_=IWAE0015E El archivo MANIFEST.MF del archivador {0} no acaba en un car\u00e1cter de nueva l\u00ednea.
MANIFEST_LINE_EXCEEDS_LENGTH_ERROR_=IWAE0016E La l\u00ednea {0} del archivo MANIFEST.MF del archivador {1} tiene m\u00e1s de 72 bytes, que es el l\u00edmite de la especificaci\u00f3n.

INVALID_URI_FOR_MODULE_ERROR_=IWAE0017E La extensi\u00f3n predeterminada del m\u00f3dulo {0} es incorrecta (.jar para m\u00f3dulos EJB y .war para m\u00f3dulos Web).
EAR_INVALID_DOC_TYPE_ERROR_=IWAE0018E La versi\u00f3n de tipo de documento "{0}" del archivo application.xml del proyecto "{1}" tiene que ser de la versi\u00f3n "{2}".

MODULE_DD_PARSE_LINECOL_ERROR_=IWAE0019E No se ha podido cargar el descriptor de despliegue del m\u00f3dulo {0}. La secci\u00f3n err\u00f3nea empieza en la l\u00ednea {1}, columna {2}.
MODULE_DD_PARSE_LINE_ERROR_=IWAE0020E No se ha podido cargar el descriptor de despliegue del m\u00f3dulo {0}. La secci\u00f3n err\u00f3nea empieza en la l\u00ednea {1}.
MODULE_DD_PARSE_NOINFO_ERROR_=IWAE0021E No se ha podido cargar el descriptor de despliegue del m\u00f3dulo {0}.
EJB_BEAN_EJB_LINK_INTEFACE_MISMATCH_ERROR_=IWAE0037E Las interfaces del bean de empresa enlazado {0} no coinciden con las de la referencia EJB {1} del m\u00f3dulo {2}.

# warnings ----------------------------
WARNING_METAFOLDER_MISSING=IWAJ0000W: La metacarpeta {0} debe existir en el proyecto {1}.
WARNING_FILE_MISSING=IWAJ0001W: {0} debe existir en el proyecto {1}.
MESSAGE_INVALID_ALT_DD_WARN_=IWAE0022W El m\u00f3dulo {0} tiene alt-dd {1}, pero el recurso no existe en EAR {2}.
INVALID_MANIFEST_CLASSPATH_ONE_WARN_=IWAE0023W La v\u00eda de acceso de clases del archivador {0} contiene una entrada que no puede resolverse en el EAR {1}.
INVALID_MANIFEST_CLASSPATH_TWO_WARN_=IWAE0024W La v\u00eda de acceso de clases del manifiesto del archivador {0} contiene una entrada, {1}, que no puede resolverse en un archivo o en un m\u00f3dulo del Enterprise {2}.
INVALID_MANIFEST_CLASSPATH_DEPENDENCY_WARN_=IWAE0025W La v\u00eda de clases del manifiesto del m\u00f3dulo {0} contiene una entrada, {1}, que se resuelve en el archivador {2}.  Esta dependencia no cumple la especificaci\u00f3n J2EE.
PROJECT_IS_CLOSED_WARN_=IWAE0026W La validaci\u00f3n de EAR no se puede ejecutar en un proyecto cerrado: {0}. Abra el proyecto y vuelva a intentarlo.
PROJECT_DOES_NOT_EXIST_WARN_=IWAE0027W El proyecto {0} del m\u00f3dulo o JAR de utilidades {1} del proyecto de aplicaci\u00f3n de empresa {2} no existe en el \u00e1rea de trabajo.
MISSING_WEBNATURE_FORMODULE_WARN_=IWAE0028W El m\u00f3dulo Web {0} del proyecto de aplicaci\u00f3n de empresa {1} no es un proyecto Web J2EE.
DEPRECATED_ABSPATHS_WARN_=IWAE0029W El archivo de extensiones IBM del proyecto de aplicaci\u00f3n de empresa {0} contiene v\u00edas absolutas obsoletas.  Utilice el editor de aplicaciones para hacer limpieza del archivo.
INVALID_CONTEXTROOT_WEBMODULE_WARN_=IWAE0030W La ra\u00edz del contexto para el m\u00f3dulo Web {0} del proyecto de aplicaci\u00f3n de empresa {1} no coincide con la ra\u00edz del contexto de los valores del proyecto Web de {2}.
MISSING_CLIENTNATURE_FORMODULE_WARN_=IWAE0031W El m\u00f3dulo del cliente de aplicaciones {0} del proyecto de aplicaci\u00f3n de empresa {1} no es un proyecto de cliente de aplicaciones.
MISSING_EJBNATURE_FORMODULE_WARN_=IWAE0032W El m\u00f3dulo EJB {0} del proyecto de aplicaci\u00f3n de empresa {1} no es un proyecto EJB.
MISSING_PROJECT_FORMODULE_WARN_=IWAE0033W El m\u00f3dulo {0} del proyecto de aplicaci\u00f3n de empresa {1} no est\u00e1 correlacionado con un proyecto del entorno de trabajo.  Utilice el editor de aplicaciones para corregir esta situaci\u00f3n.
INVALID_CASE_FOR_MANIFEST_ERROR_=IWAE0038E Las may\u00fasculas/min\u00fasculas del nombre de archivo de manifiesto "{0}" en el archivador {1} son incorrectas.  El nombre del archivo debe escribirse con may\u00fasculas: META-INF/MANIFEST.MF.
URI_ALREADY_EXISTS_IN_EAR_WARN_=IWAE0039W El URI del JAR de utilidades del proyecto {0} est\u00e1 en conflicto con un archivo existente en el proyecto {1}.
MISSING_MODULE_EXTENSION_ERROR_=IWAE0040E En la extensi\u00f3n de aplicaci\u00f3n del proyecto EAR {0} falta una extensi\u00f3n de m\u00f3dulo para el proyecto de m\u00f3dulo {1}.
PROJECT_SERVER_TARGET_DOES_NOT_MATCH_EAR=El servidor destino del proyecto de m\u00f3dulo "{0}" no coincide con el servidor destino del proyecto de aplicaci\u00f3n de empresa "{1}" que lo contiene.
NO_SERVER_TARGET_MODULE_IN_EAR_WITH_SERVER_TARGET=El proyecto de m\u00f3dulo "{0}" sin servidor destino pertenece a un proyecto de aplicaci\u00f3n de empresa "{1}" que tiene un servidor destino.
NO_SERVER_TARGET_ON_EAR_WITH_MODULE_SERVER_TARGETS=El proyecto ear "{0}" sin servidor destino tiene el m\u00f3dulo de proyecto "{1}" que posee un servidor destino
INVALID_EAR_SERVER_TARGET_FOR_14_SPEC_LEVEL=El proyecto EAR con especificaci\u00f3n J2EE 1.4 "{0}" tiene un servidor destino incompatible "{1}"
INVALID_MODULE_SERVER_TARGET_FOR_14_SPEC_LEVEL=El proyecto de m\u00f3dulo con especificaci\u00f3n J2EE 1.4 "{0}" tiene un servidor destino incompatible "{1}".
MESSAGE_INCOMPATIBLE_SPEC_WARNING_=IWAE0008E El m\u00f3dulo "{0}" est\u00e1 en un nivel de especificaci\u00f3n J2EE incompatible con el nivel de la aplicaci\u00f3n de empresa "{1}".
EAR_VALIDATION_INTERNAL_ERROR_UI_=IWAE0053E Se ha producido un error interno al ejecutar la validaci\u00f3n en el proyecto:{0}, consulte el archivo de anotaciones para conocer los detalles
