###############################################################################
# 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 WAR Validation project
# 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:
#     CHKJ (IBM WebSphere Validation)
#
# 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/warvalidation.properties
# :End: WebSphere Quality Validation Information :End:
#

# 2-July-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.
#

# --------------------------------
ERROR_WAR_VALIDATION_FAILED=CHKJ3000E: WAR \u9a57\u8b49\u5931\u6557\uff1a{0}
#EXPLANATION None.
#USERACTION None.


# --------------------------------
ERROR_EAR_DUPLICATE_ROLES=CHKJ1002E: \u540d\u7a31 {0} \u7684\u5b89\u5168\u89d2\u8272\u91cd\u8907\u3002
MESSAGE_WAR_VALIDATION_MISSING_JSP=CHKJ3001E: \u907a\u6f0f Servlet \"{1}\" \u7684 JSP \u6a94 {0}\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_SMALL_ICON=CHKJ3002E: \u907a\u6f0f <small-icon> \u6a94\uff0c{0}\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_LARGE_ICON=CHKJ3003E: \u907a\u6f0f <large-icon> \u6a94\uff0c{0}\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_BROKEN_SERVLET_MAPPING=CHKJ3004W: Servlet \u5c0d\u6620 \"{0}\" \u6240\u53c3\u7167\u7684 Servlet \u5c1a\u672a\u5b9a\u7fa9\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_NO_WELCOME_FILE=CHKJ3005E: \u7a7a\u7684\u6b61\u8fce\u4f7f\u7528\u6a94\u6e05\u55ae\u9805\u76ee\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_MISSING_WELCOME_FILE=CHKJ3006E: \u907a\u6f0f\u6b61\u8fce\u4f7f\u7528\u6a94 {0}\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_MISSING_TLD=CHKJ3007E: \u907a\u6f0f\u6a19\u793a\u5eab\u63cf\u8ff0\u5b50 {0} \u6a94\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
ERROR_INVALID_WAR_FILE=CHKJ3008E: WAR \u6a94\u907a\u6f0f\u6216\u7121\u6548\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_BROKEN_FILTER_MAPPING=CHKJ3009E: \u904e\u6ffe\u5668\u5c0d\u6620 \"{0}\" \u6240\u53c3\u7167\u7684\u904e\u6ffe\u5668\u5c1a\u672a\u5b9a\u7fa9\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_INVALID_WELCOME_FILE=CHKJ3010W: \u6b61\u8fce\u4f7f\u7528\u6a94\u7684\u958b\u982d\u6216\u7d50\u5c3e\u4e0d\u80fd\u662f /\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
WAR_DD_PARSE_LINECOL=CHKJ1009E: \u5256\u6790\u932f\u8aa4\uff1a{0}\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
WAR_DD_PARSE_LINE=CHKJ1010E: \u90e8\u7f72\u63cf\u8ff0\u5b50\u5256\u6790\u932f\u8aa4\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
WAR_DD_PARSE_NOINFO=CHKJ1011E: \u90e8\u7f72\u63cf\u8ff0\u5b50\u5256\u6790\u932f\u8aa4\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
WAR_DD_CANNOT_OPEN_DD=CHKJ1012E: \u7121\u6cd5\u958b\u555f\u90e8\u7f72\u63cf\u8ff0\u5b50\u3002\u9a57\u8b49\u7121\u6cd5\u5b8c\u6210\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_INVALID_URL=CHKJ3013E: URL \u5c0d\u6620 \"{0}\" \u7121\u6548\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_INVALID_SEC_ROLE=CHKJ3014E: \u7121\u6548\u7684\u5b89\u5168\u89d2\u8272\u93c8\u7d50\uff1a{0}\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_INVALID_HTTP_CMD=CHKJ3015E: \u7121\u6548\u7684 HTTP \u65b9\u6cd5\uff1a{0}\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_INVALID_TRANSPORT=CHKJ3016E: \u7121\u6548\u7684\u50b3\u8f38\u4fdd\u8b49\u3002\u6709\u6548\u503c\u662f\uff1a\"NONE\"\u3001\"INTEGRAL\" \u6216 \"CONFIDENTIAL\"\u3002

# --------------------------------
MESSAGE_WAR_VALIDATION_INVALID_JSPFILE_REF=CHKJ3018E: Servlet {1} \u6240\u53c3\u7167\u7684 jsp \u6a94 \"{0}\" \u5fc5\u9808\u662f\u4e00\u500b\u5b8c\u6574\u7684\u7d55\u5c0d\u8def\u5f91\u3002


# --------------------------------
ERROR_EAR_INVALID_CONTEXT_ROOT=CHKJ3017E: Web \u5c08\u6848 {0} \u6240\u5c0d\u6620\u7684\u662f EAR \u5c08\u6848 {2} \u4e2d\u7684\u7121\u6548\u74b0\u5883\u5b9a\u7fa9\u6839 {1}\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_INVALID_ERROR_PAGE=IWAE0001E CHKJ3019E: \u932f\u8aa4\u9801\u9762\u4f4d\u7f6e\u7684\u958b\u982d\u5fc5\u9808\u662f /\u3002
#EXPLANATION None.
#USERACTION None.

MESSAGE_WAR_VALIDATION_INVALID_SEC_ROLE_NAME=CHKJ3020E: \u7121\u6548\u7684\u5b89\u5168\u89d2\u8272\u540d\u7a31\uff1a{0}\u3002
#EXPLANATION None.
#USERACTION None.

MESSAGE_WAR_VALIDATION_INVALID_AUTH_METHOD=CHKJ3021E: auth \u65b9\u6cd5\u7121\u6548\u3002\u6709\u6548\u503c\u5982\u4e0b\uff1a\"BASIC\"\u3001\"DIGEST\"\u3001\"FORM\" \u6216 \"CLIENT-CERT\"\u3002
#EXPLANATION None.
#USERACTION None.

MESSAGE_WAR_VALIDATION_IGNORE_FORM_LOGIN=CHKJ3022E:  \u9451\u5225\u65b9\u6cd5\u662f {0}\u3002\u9664\u975e\u4f7f\u7528 FORM \u9451\u5225\u65b9\u6cd5\uff0c\u5426\u5247\uff0c\u6703\u5ffd\u7565 form-login-config \u503c\u3002
#EXPLANATION None.
#USERACTION None.

MESSAGE_WAR_VALIDATION_RES_AUTH_REQUIRED_22=CHKJ3023E:  \u8cc7\u6e90\u53c3\u7167 {0} \u5fc5\u9808\u542b\u6709 "SERVLET" \u6216 "CONTAINER" \u7684 res-auth\u3002
MESSAGE_WAR_VALIDATION_RES_AUTH_REQUIRED_23=CHKJ3024E:  \u8cc7\u6e90\u53c3\u7167 {0} \u5fc5\u9808\u5305\u542b "Application" \u6216 "Container" \u7684 res-auth\u3002
MESSAGE_WAR_VALIDATION_RES_AUTH_INVALID_22=CHKJ3025E:  \"Application\" \u4e0d\u662f 2.2 \u5c64\u6b21\u90e8\u7f72\u63cf\u8ff0\u5b50\u4e2d res-auth \u7684\u6709\u6548\u503c\u3002\u8acb\u6539\u7528 \"SERVLET\"\u3002
MESSAGE_WAR_VALIDATION_RES_AUTH_INVALID_23=CHKJ3026E:  \"SERVLET\" \u4e0d\u662f 2.2 \u5c64\u6b21\u90e8\u7f72\u63cf\u8ff0\u5b50\u4e2d res-auth \u7684\u6709\u6548\u503c\u3002\u8acb\u6539\u7528 \"Application\"\u3002

MESSAGE_WAR_VALIDATION_INVALID_EXCEPTION_TYPE=CHKJ3027E: \u7570\u5e38\u72c0\u6cc1\u985e\u578b\u7121\u6548 {0}\u3002\u7570\u5e38\u72c0\u6cc1\u985e\u578b\u5fc5\u9808\u5305\u542b Java \u7570\u5e38\u72c0\u6cc1\u985e\u578b\u7684\u5b8c\u6574\u985e\u5225\u540d\u7a31\u3002
#EXPLANATION None.
#USERACTION None.



# --------------------------------
MESSAGE_WAR_VALIDATION_DUPLICATE_MAPPING=CHKJ4010W: URL \u5c0d\u6620 {0} \u91cd\u8907\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_DUPLICATE_SERVLET=CHKJ4011W: Servlet \u9805\u76ee {0} \u91cd\u8907\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_SESSION_TIMEOUT=CHKJ4012W: Session \u903e\u6642\u503c\u7121\u6548\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_DUPLICATE_ENTRY=CHKJ4013W: \u9805\u76ee {0} \u91cd\u8907\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_EMPTY_ENTRY=CHKJ4014W: \u9805\u76ee {0} \u70ba\u7a7a\u7684\u3002

# --------------------------------
MESSAGE_WAR_VALIDATION_DUPLICATE_FILTER=CHKJ4015W: \u904e\u6ffe\u5668\u9805\u76ee {0} \u91cd\u8907\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_DUPLICATE_EJB_REF=CHKJ4016W: \u540d\u70ba {0} \u7684 ejb-ref \u5143\u7d20\u91cd\u8907\u3002
#EXPLANATION None.
#USERACTION None.

# This was missing.  It's defined in constants...
ERROR_EAR_UNCONTAINED_MODULE_FILE_EXCEPTION=CHKJ4017W: \u767c\u751f\u932f\u8aa4\uff1bEAR \u672a\u5305\u542b\u6a21\u7d44\u6a94\u7570\u5e38\u72c0\u6cc1

# --------------------------------
MESSAGE_WAR_VALIDATION_INVALID_ERROR_CODE=IWAE0036E CHKJ4018W: \u932f\u8aa4\u78bc\u4e0d\u660e\uff1a{0}\u3002\u932f\u8aa4\u78bc\u5fc5\u9808\u5305\u542b\u6709\u6548\u7684 HTTP \u72c0\u614b\u78bc\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
MESSAGE_WAR_VALIDATION_INVALID_RES_SHARING_SCOPE=CHKJ4019W: res-sharing-scope \u7121\u6548\uff1b\u6709\u6548\u503c\u70ba \"Shareable\" \u6216 \"Unshareable\"\u3002
#USERACTION None.

MESSAGE_WAR_VALIDATION_INVALID_ENV_ENTRY=CHKJ4020W: \u74b0\u5883\u9805\u76ee\u985e\u578b\u7121\u6548\u3002\u6709\u6548\u503c\u70ba\"java.lang.TYPE\"\uff0c\u5176\u4e2d TYPE \u662f\u4e0b\u5217\u5176\u4e2d\u4e00\u9805\uff1aBoolean\u3001Byte\u3001Character\u3001String\u3001Short\u3001Integer\u3001Long\u3001Float \u6216 Double\u3002
#USERACTION None.

MESSAGE_WAR_VALIDATION_MISSING_WLP_PROJECT=CHKJ4021W: \u907a\u6f0f Web \u7a0b\u5f0f\u5eab\u5c08\u6848 ({0})\u3002\u8acb\u6aa2\u67e5\u9019\u500b\u5c08\u6848\u7684\u5167\u5bb9\uff0c\u4ee5\u4fee\u6b63\u9019\u500b\u554f\u984c\u3002
MESSAGE_WAR_VALIDATION_CONFLICTING_WLP_PROJECT=CHKJ4022W: Web \u7a0b\u5f0f\u5eab\u5c08\u6848 JAR ({0}) \u548c WEB-INF/lib \u76ee\u9304\u4e2d\u7684\u5be6\u969b JAR \u885d\u7a81\u3002
MSG_SERVER_TARGET_MISMATCH=CHKJ4023W: Web \u7a0b\u5f0f\u5eab\u5c08\u6848 ({1}) \u7684\u76ee\u6a19\u4f3a\u670d\u5668\u4e0d\u7b26\u5408\u9019\u500b Web \u5c08\u6848 ({0}) \u7684\u76ee\u6a19\u4f3a\u670d\u5668\u3002\u5982\u679c\u60a8\u8a8d\u70ba\u4e0d\u662f\u5982\u6b64\uff0c\u8acb\u5728 Web \u5c08\u6848\u4e0a\u57f7\u884c\u9a57\u8b49\u3002
MESSAGE_URL_PATTERN_END_WITH_CARRAIGE_RETURN=Servlet {1} \u7684 URL \u578b\u6a23\u5b57\u4e32 "{0}" \u7d50\u5c3e\u662f\u7121\u6548\u7684\u56de\u8eca

# --------------------------------
MESSAGE_WAR_VALIDATION_INVALID_EJB_REF_TYPE=CHKJ4023W: ejb-ref-type \u5fc5\u9808\u662f 'Entity' \u6216 'Session'\u3002
#EXPLANATION None.
#USERACTION None.

# --------------------------------
ERROR_EAR_MISSING_EJB_ROLE=CHKJ2827W: ''security-role-ref'' \u5143\u7d20 {0} \u662f\u7528\u4f86\u5b9a\u7fa9 ''role-link'' \u5143\u7d20\uff0c\u4f46\u662f\u61c9\u7528\u7a0b\u5f0f\u63cf\u8ff0\u5b50\u4e2d\u6c92\u6709 ''security-role'' \u5143\u7d20\u3002
#EXPLANATION None.
#USERACTION None.

of_Type_Security_Role_Name_6=\u985e\u578b\u5b89\u5168\u89d2\u8272\u540d\u7a31\u7684
Web_Archive_Validator_8=Web \u4fdd\u5b58\u9a57\u8b49\u5668
of_Type_Role_Name_19=\u985e\u578b\u89d2\u8272\u540d\u7a31\u7684
of_Type_Parameter_Name_25=\u985e\u578b\u53c3\u6578\u540d\u7a31\u7684
of_Type_Parameter_Value_26=\u985e\u578b\u53c3\u6578\u503c\u7684
of_Type_Parameter_Name_32=\u985e\u578b\u53c3\u6578\u540d\u7a31\u7684
of_Type_Parameter_Value_33=\u985e\u578b\u53c3\u6578\u503c\u7684
of_Type_Parameter_Name_39=\u985e\u578b\u53c3\u6578\u540d\u7a31\u7684
of_Type_Parameter_Value_40=\u985e\u578b\u53c3\u6578\u503c\u7684
of_Type_ejb-ref-name_44=\u985e\u578b ejb-ref-name \u7684
of_Type_Error_Location_47=\u985e\u578b\u932f\u8aa4\u4f4d\u7f6e\u7684
of_Type_Error_Location_49=\u985e\u578b\u932f\u8aa4\u4f4d\u7f6e\u7684
of_Type_Mime_Extension_54=\u985e\u578b Mime \u5ef6\u4f38\u7684
of_Type_Mime_Type_55=\u985e\u578b Mime \u985e\u578b\u7684
of_Type_Mime_Extension___56=\u985e\u578b Mime \u5ef6\u4f38\u7684\uff1a
of_Type_Web_Resource_Collection_64=\u985e\u578b Web \u8cc7\u6e90\u96c6\u5408\u7684
of_Type_Filter_Name_66=\u985e\u578b\u904e\u6ffe\u5668\u540d\u7a31\u7684
Invalid_URL_70=\u7121\u6548\u7684 URL
Invalid_URL_75=\u7121\u6548\u7684 URL
of_Type_Servlet_Name_77=\u985e\u578b Servlet \u540d\u7a31\u7684
of_Type_Taglib_80=\u985e\u578b Taglib \u7684
of_Type_TagLib___81=\u985e\u578b TagLib \u7684\uff1a
of_Type_Web_Resource_Name_84=\u985e\u578b Web \u8cc7\u6e90\u540d\u7a31\u7684
of_Type_Welcome_File_Name__87=\u985e\u578b\u6b61\u8fce\u4f7f\u7528\u6a94\u540d\u7684
of_Type_Env_Entry_Name___88=\u985e\u578b\u74b0\u5883\u9805\u76ee\u540d\u7a31\u7684
