# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
#
# Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
#
# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
# Other names may be trademarks of their respective owners.
#
# The contents of this file are subject to the terms of either the GNU
# General Public License Version 2 only ("GPL") or the Common
# Development and Distribution License("CDDL") (collectively, the
# "License"). You may not use this file except in compliance with the
# License. You can obtain a copy of the License at
# http://www.netbeans.org/cddl-gplv2.html
# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
# specific language governing permissions and limitations under the
# License.  When distributing the software, include this License Header
# Notice in each file and include the License file at
# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the GPL Version 2 section of the License file that
# accompanied this code. If applicable, add the following below the
# License Header, with the fields enclosed by brackets [] replaced by
# your own identifying information:
# "Portions Copyrighted [year] [name of copyright owner]"
#
# Contributor(s):
#
# The Original Software is NetBeans. The Initial Developer of the Original
# Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
# Microsystems, Inc. All Rights Reserved.
#
# If you wish your version of this file to be governed by only the CDDL
# or only the GPL Version 2, indicate your decision by adding
# "[Contributor] elects to include this software in this distribution
# under the [CDDL or GPL Version 2] license." If you do not indicate a
# single choice of license, a recipient has the option to distribute
# your version of this file under either the CDDL, the GPL Version 2 or
# to extend the choice of license to its licensees as provided above.
# However, if you add GPL Version 2 code and therefore, elected the GPL
# Version 2 license, then the option applies only if the new code is
# made subject to such option by the copyright holder.

MSG_ExceptionOccurred=\u51fa\u73b0\u5f02\u5e38\u9519\u8bef
MSG_UnsupportedLogger=\u65e0\u6cd5\u663e\u793a\u65e5\u5fd7\u6587\u4ef6, \u56e0\u4e3a\u4e0d\u652f\u6301\u6307\u5b9a\u7684\u65e5\u5fd7\u8bb0\u5f55\u7a0b\u5e8f{0}\u3002\u8bf7\u6539\u7528\u9ed8\u8ba4\u7684 org.apache.catalina.logger.FileLogger\u3002
LBL_DefaultDisplayName=Tomcat
TXT_JuliLogDisplayName={0}\u65e5\u5fd7
MSG_WSSERVLET11=**************************************\u8b66\u544a***************************************\n\u8981\u5c06 JAX-WS 2.1 \u4e0e JDK 6 \u914d\u5408\u4f7f\u7528, \u5219\u65b0\u7248\u672c API \u7684 Jar \u6587\u4ef6\u5e94\u8be5\u5728 bootclasspath \u4e2d\u5217\u51fa\u4e14\u4f4d\u4e8e rt.jar \u4e4b\u524d\u3002\n\u60a8\u53ef\u4ee5\u4f7f\u7528 Java \u652f\u6301\u7684\u673a\u5236\u6765\u8986\u76d6 Java \u5e73\u53f0\u4e2d\u7684\u8fd9\u4e00\u53d8\u91cf\u3002\n\u6700\u7b80\u4fbf\u7684\u65b9\u6cd5\u662f\u5c06 \n{0} \u548c \n{1} \u6587\u4ef6\u5939\u4e2d\u7684\u6240\u6709 jar \u590d\u5236\u5230 \n{2} \u4e2d\u3002\n************************************************************************************\n
MSG_WSSERVLET11_NOJAR=**************************************\u8b66\u544a***************************************\n\u8981\u5c06 JAX-WS 2.1 \u4e0e JDK 6 \u914d\u5408\u4f7f\u7528, \u5219\u65b0\u7248\u672c API \u7684 Jar \u6587\u4ef6\u5e94\u8be5\u5728 bootclasspath \u4e2d\u5217\u51fa\u4e14\u4f4d\u4e8e rt.jar \u4e4b\u524d\u3002\n\u60a8\u53ef\u4ee5\u4f7f\u7528 Java \u652f\u6301\u7684\u673a\u5236\u6765\u8986\u76d6 Java \u5e73\u53f0\u4e2d\u7684\u8fd9\u4e00\u53d8\u91cf\u3002\n\u6700\u7b80\u4fbf\u7684\u65b9\u6cd5\u662f\u5c06 JAX-WS 2.1 \u548c JAXB 2.1 API jar \u653e\u5230 \n{0} \u6587\u4ef6\u5939\u4e2d\u3002\n************************************************************************************\n
MSG_FileNotFound=\u672a\u627e\u5230{0}\u6587\u4ef6\u3002
MSG_NBLibReadmeContent=\u6b64\u76ee\u5f55\u7531 NetBeans HTTP \u76d1\u89c6\u5668\u6a21\u5757\u4f7f\u7528\u3002Tomcat \u901a\u7528\u7c7b\u52a0\u8f7d\u5668\n\u5c06\u52a0\u8f7d HTTP \u76d1\u89c6\u5668 jar \u6587\u4ef6\u3002\n\n\u8bf7\u4e0d\u8981\u4fee\u6539\u6b64\u76ee\u5f55\u7684\u5185\u5bb9\u3002

