###############################################################################
# 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 do EAR

# --------------------------------
ERROR_EAR_VALIDATION_FAILED=CHKJ1000E: Falha na Valida\u00e7\u00e3o de EAR: {0}
#EXPLANATION None.
#USERACTION None.

# --------------------------------
ERROR_EAR_INVALID_EAR_FILE=CHKJ1001E: O projeto EAR {0} \u00e9 inv\u00e1lido.
#EXPLANATION None.
#USERACTION None.

# --------------------------------
ERROR_EAR_DUPLICATE_ROLES=CHKJ1002E: Fun\u00e7\u00e3o de seguran\u00e7a duplicada nomeada {0}.
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_EAR_NO_MODULE_URI=CHKJ1003E: Um m\u00f3dulo foi definido sem URI.
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_EAR_MISSING_URI=CHKJ1004E: O URI, {0}, corresponde a nada no arquivo EAR.
#EXPLANATION None.
#USERACTION None.

# --------------------------------
EAR_DD_PARSE_LINECOL=CHKJ1005E: O descritor de implementa\u00e7\u00e3o n\u00e3o p\u00f4de ser carregado. O in\u00edcio da se\u00e7\u00e3o inv\u00e1lida est\u00e1 na linha {0}, coluna {1}.
#EXPLANATION None.
#USERACTION None.

# --------------------------------
EAR_DD_PARSE_LINE=CHKJ1006E: O descritor de implementa\u00e7\u00e3o n\u00e3o foi carregado. O in\u00edcio da se\u00e7\u00e3o inv\u00e1lida est\u00e1 na linha {0}.
#EXPLANATION None.
#USERACTION None.

# --------------------------------
EAR_DD_PARSE_NOINFO=CHKJ1007E: O descritor de implementa\u00e7\u00e3o n\u00e3o p\u00f4de ser carregado.
#EXPLANATION None.
#USERACTION None.

# --------------------------------
EAR_DD_CANNOT_OPEN_DD=CHKJ1008E: N\u00e3o \u00e9 poss\u00edvel abrir o descritor de implementa\u00e7\u00e3o. A valida\u00e7\u00e3o n\u00e3o pode ser conclu\u00edda.
#EXPLANATION None.
#USERACTION None.

# errors ---------------------------
URI_CONTAINS_SPACES_ERROR_=IWAE0005E A URI {0} cont\u00e9m um espa\u00e7o. Isso n\u00e3o \u00e9 recomend\u00e1vel, porque ela n\u00e3o pode ser referenciada a partir de um arquivo de manifesto.
MESSAGE_EAR_DUPLICATE_URI_ERROR_=IWAE0006E O m\u00f3dulo {0} tem uri duplicada no EAR: {1}.
MESSAGE_EAR_DUPICATE_ROOTCONTEXT_ERROR_=IWAE0007E A mesma raiz de contexto "{0}" existe nos m\u00f3dulos da Web "{1}" e "{2}".
MESSAGE_EMPTY_ALT_DD_ERROR_=IWAE0009E O m\u00f3dulo {0} tem a tag <alt-dd> vazia no EAR {1}. A tag deve ser removida ou o valor deve ser v\u00e1lido.
DUPLICATE_UTILJAR_FOR_PROJECT_NAME_ERROR_=IWAE0010E =O projeto {0} do projeto de Aplicativo Corporativo {1} tem utilit\u00e1rio URI JAR {2} duplicado.
DUPLICATE_MODULE_FOR_PROJECT_NAME_ERROR_=IWAE0011E O projeto {0} do projeto de Aplicativo Corporativo {1} tem nome de m\u00f3dulo {2} duplicado.
MESSAGE_UTIL_URI_NAME_COLLISION_ERROR_=IWAE0012E O m\u00f3dulo {0} no projeto de Aplicativo Corporativo {1} tem o mesmo nome que o utilit\u00e1rio URI JAR.
MESSAGE_UTIL_PROJECT_NAME_COLLISION_ERROR_=IWAE0013E O m\u00f3dulo {0} no projeto de Aplicativo Corporativo {1} tem o mesmo nome que o utilit\u00e1rio projeto JAR.
ERROR_READING_MANIFEST_ERROR_=IWAE0014E Ocorreu um erro ao validar o arquivo MANIFEST.MF no archive {0}.
MANIFEST_LINE_END_ERROR_=IWAE0015E O arquivo MANIFEST.MF no archive {0} n\u00e3o termina com uma nova linha.
MANIFEST_LINE_EXCEEDS_LENGTH_ERROR_=IWAE0016E A linha {0} no arquivo MANIFEST.MF no archive {1} excede o limite de especifica\u00e7\u00e3o de 72 bytes.

INVALID_URI_FOR_MODULE_ERROR_=IWAE0017E O m\u00f3dulo {0} tem uma extens\u00e3o padr\u00e3o errada (.jar para m\u00f3dulos EJB e .war para m\u00f3dulos da Web).
EAR_INVALID_DOC_TYPE_ERROR_=IWAE0018E A vers\u00e3o do tipo do documento "{0}" para application.xml no projeto "{1}" precisa ter a vers\u00e3o "{2}".

MODULE_DD_PARSE_LINECOL_ERROR_=IWAE0019E O descritor de implementa\u00e7\u00e3o do m\u00f3dulo {0} n\u00e3o p\u00f4de ser carregado. A se\u00e7\u00e3o inv\u00e1lida inicia na linha {1}, coluna {2}.
MODULE_DD_PARSE_LINE_ERROR_=IWAE0020E O descritor de implementa\u00e7\u00e3o do m\u00f3dulo {0} n\u00e3o p\u00f4de ser carregado. A se\u00e7\u00e3o inv\u00e1lida inicia na linha {1}
MODULE_DD_PARSE_NOINFO_ERROR_=IWAE0021E O descritor de implementa\u00e7\u00e3o do m\u00f3dulo {0} n\u00e3o p\u00f4de ser carregado.
EJB_BEAN_EJB_LINK_INTEFACE_MISMATCH_ERROR_=IWAE0037E As interfaces do bean corporativo vinculado {0} n\u00e3o correspondem \u00e0s do ref EJB {1} no m\u00f3dulo {2}.

# warnings ----------------------------
WARNING_METAFOLDER_MISSING=IWAJ0000W: A pasta meta {0} deve existir no projeto {1}.
WARNING_FILE_MISSING=IWAJ0001W: {0} deve existir no projeto {1}.
MESSAGE_INVALID_ALT_DD_WARN_=IWAE0022W O m\u00f3dulo {0} tem alt-dd {1}, mas o recurso n\u00e3o existe no EAR {2}.
INVALID_MANIFEST_CLASSPATH_ONE_WARN_=IWAE0023W O Classpath do Manifesto no archive {0} cont\u00e9m uma entrada que n\u00e3o pode ser resolvida no EAR: {1}.
INVALID_MANIFEST_CLASSPATH_TWO_WARN_=IWAE0024W O Classpath do Manifesto no archive {0} cont\u00e9m uma entrada, {1}, que n\u00e3o pode ser resolvida em um arquivo ou m\u00f3dulo no Aplicativo Corporativo: {2}.
INVALID_MANIFEST_CLASSPATH_DEPENDENCY_WARN_=IWA@0025W O Classpath do Manifesto no m\u00f3dulo {0} cont\u00e9m uma entrada, {1}, que resolve no archive {2}. Essa depend\u00eancia n\u00e3o \u00e9 compat\u00edvel com a especifica\u00e7\u00e3o J2EE.
PROJECT_IS_CLOSED_WARN_=IWAE0026W A Valida\u00e7\u00e3o do EAR n\u00e3o pode ser executada em projeto fechado: {0}. Abra o projeto e tente novamente.
PROJECT_DOES_NOT_EXIST_WARN_=IWAE0027W O projeto {0} para o m\u00f3dulo ou utilit\u00e1rio JAR {1} no projeto de Aplicativo Corporativo {2} n\u00e3o existe no espa\u00e7o de trabalho.
MISSING_WEBNATURE_FORMODULE_WARN_=IWAE0028W O m\u00f3dulo da Web {0} no projeto de Aplicativo Corporativo {1} n\u00e3o \u00e9 um projeto da Web J2EE.
DEPRECATED_ABSPATHS_WARN_=IWAE0029W O arquivo de extens\u00f5es IBM no projeto de Aplicativo Corporativo {0} cont\u00e9m caminhos absolutos reprovados. Utilize o editor do aplicativo para limpar o arquivo.
INVALID_CONTEXTROOT_WEBMODULE_WARN_=IWAE0030W A raiz de contexto do m\u00f3dulo da Web: {0} no projeto de Aplicativo Corporativo: {1} n\u00e3o corresponde \u00e0 raiz de contexto nas defini\u00e7\u00f5es do projeto da Web {2}.
MISSING_CLIENTNATURE_FORMODULE_WARN_=IWAE0031W O m\u00f3dulo de cliente do aplicativo {0} do projeto de Aplicativo Corporativo: {1} n\u00e3o \u00e9 um projeto de cliente do aplicativo.
MISSING_EJBNATURE_FORMODULE_WARN_=IWAE0032W O m\u00f3dulo EJB {0} no projeto de Aplicativo Corporativo {1} n\u00e3o \u00e9 um projeto EJB.
MISSING_PROJECT_FORMODULE_WARN_=IWAE0033W O m\u00f3dulo {0} no projeto de Aplicativo Corporativo {1} n\u00e3o est\u00e1 mapeado para um projeto do workbench. Utilize o editor do aplicativo para corre\u00e7\u00e3o.
INVALID_CASE_FOR_MANIFEST_ERROR_=IWAE0038E As letras mai\u00fasculas e min\u00fasculas do nome do arquivo manifest "{0}" no archive {1} est\u00e3o incorretas. O nome do arquivo deve ser "META-INF/MANIFEST.MF", fazendo distin\u00e7\u00e3o entre mai\u00fasculas e min\u00fasculas.
URI_ALREADY_EXISTS_IN_EAR_WARN_=IWAE0039W O utilit\u00e1rio URI JAR do projeto {0} colide com um arquivo existente no projeto {1}.
MISSING_MODULE_EXTENSION_ERROR_=IWAE0040E A extens\u00e3o do aplicativo no projeto EAR: {0} n\u00e3o tem a extens\u00e3o do m\u00f3dulo para o projeto do m\u00f3dulo: {1}.
PROJECT_SERVER_TARGET_DOES_NOT_MATCH_EAR=O servidor de destino do projeto do m\u00f3dulo "{0}" n\u00e3o corresponde ao servidor de destino do projeto de Aplicativo Corporativo contido "{1}"
NO_SERVER_TARGET_MODULE_IN_EAR_WITH_SERVER_TARGET=O projeto do m\u00f3dulo "{0}" sem servidor de destino pertence a um projeto de Aplicativo Corporativo "{1}" que possui um servidor de destino
NO_SERVER_TARGET_ON_EAR_WITH_MODULE_SERVER_TARGETS=O projeto ear "{0}" sem servidor de destino possui projeto do m\u00f3dulo "{1}" que possui um servidor de destino
INVALID_EAR_SERVER_TARGET_FOR_14_SPEC_LEVEL=O projeto EAR de especifica\u00e7\u00e3o J2EE 1.4 "{0}" possui um servidor de destino incompat\u00edvel "{1}"
INVALID_MODULE_SERVER_TARGET_FOR_14_SPEC_LEVEL=O projeto de m\u00f3dulo de especifica\u00e7\u00e3o J2EE 1.4 "{0}" possui um servidor de destino incompat\u00edvel "{1}".
MESSAGE_INCOMPATIBLE_SPEC_WARNING_=IWAE0008E O m\u00f3dulo "{0}" est\u00e1 em um n\u00edvel de especifica\u00e7\u00e3o do J2EE incompat\u00edvel com aquele do "{1}" Enterprise Application.
EAR_VALIDATION_INTERNAL_ERROR_UI_=IWAE0053E Ocorreu um erro interno ao executar a valida\u00e7\u00e3o no projeto:{0}, verifique o arquivo de log, para obter detalhes.
