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

#System file system
Templates/Project/J2EE/emptyCar.xml=\u4f01\u4e1a\u5e94\u7528\u7a0b\u5e8f\u5ba2\u6237\u7aef
Templates/Project/J2EE/importCar.xml=\u57fa\u4e8e\u73b0\u6709\u6e90\u4ee3\u7801\u7684\u4f01\u4e1a\u5e94\u7528\u7a0b\u5e8f\u5ba2\u6237\u7aef

#FolderList
CTL_AddFolder=\u6dfb\u52a0\u6587\u4ef6\u5939...
CTL_RemoveFolder=\u5220\u9664



#ImportAppClientProjectWizardIterator
LAB_ConfigureSourceRoots=\u73b0\u6709\u6e90\u4ee3\u7801
LBL_IW_ImportTitle=\u540d\u79f0\u548c\u4f4d\u7f6e
LBL_WizardStepsCount={0}/{1}

# NewAppClientProjectWizardIterator progress bar
LBL_NewAppClientProjectWizardIterator_WizardProgress_CreatingProject=<html>\u6b63\u5728\u521b\u5efa\u65b0\u9879\u76ee</html>
LBL_NewAppClientProjectWizardIterator_WizardProgress_PreparingToOpen=<html>\u6b63\u5728\u51c6\u5907\u6253\u5f00\u65b0\u9879\u76ee</html>

#ImportBuildFile
ACS_IW_BuildFileDialog_A11YDesc=\u6784\u5efa\u6587\u4ef6\u5bf9\u8bdd\u6846
LBL_IW_BuildfileDesc_Label=<html>{0}\u4e2d\u5305\u542b\u73b0\u6709\u7684 build.xml\u3002<br>\u5c06\u521b\u5efa\u4ee5\u4e0b ANT \u6784\u5efa\u6587\u4ef6\u4f9b\u9879\u76ee\u4f7f\u7528\u3002</html>

LBL_IW_BuildFilename_Label=\u6784\u5efa\u6587\u4ef6\u540d\u79f0: 

ACS_LBL_IW_BuildFilename_A11YDesc=\u6784\u5efa\u6587\u4ef6\u540d\u79f0
LBL_IW_CreatedFile_Label=\u521b\u5efa\u7684\u6587\u4ef6:

ACS_LBL_IW_CreatedFile_A11YDesc=\u5df2\u521b\u5efa\u7684\u6784\u5efa\u6587\u4ef6\u7684\u4f4d\u7f6e

ACS_NWP1_NamePanel_A11YDesc=\u9879\u76ee\u540d\u79f0\u548c\u4f4d\u7f6e\u9762\u677f
#LBL_IW_ImportTitle=Name and Location
TXT_ImportAppClientModule=\u57fa\u4e8e\u73b0\u6709\u6e90\u4ee3\u7801\u7684\u4f01\u4e1a\u5e94\u7528\u7a0b\u5e8f\u5ba2\u6237\u7aef
LBL_IW_LocationSrcDesc=<html>\u9009\u62e9\u5305\u542b\u5e94\u7528\u7a0b\u5e8f\u5ba2\u6237\u7aef\u6a21\u5757\u6240\u6709\u6e90\u4ee3\u7801\u7684\u6587\u4ef6\u5939\u3002</html>
LBL_IW_LocationSrc_Label=\u4f4d\u7f6e(&L):
ACS_LBL_IW_Location_A11Desc=\u73b0\u6709\u5e94\u7528\u7a0b\u5e8f\u5ba2\u6237\u7aef\u6a21\u5757\u6e90\u4ee3\u7801\u7684\u4f4d\u7f6e
ACS_LBL_IW_ImportLocation_A11YDesc=\u5305\u542b\u5e94\u7528\u7a0b\u5e8f\u5ba2\u6237\u7aef\u6a21\u5757\u7684\u6240\u6709\u6e90\u4ee3\u7801\u7684\u76ee\u5f55
LBL_NWP1_BrowseLocation_Button_w=\u6d4f\u89c8(&W)...
ACS_LBL_IW_ImportLocationBrowse_A11YDesc=\u6d4f\u89c8\u73b0\u6709\u5e94\u7528\u7a0b\u5e8f\u5ba2\u6237\u7aef\u6a21\u5757\u6e90\u4ee3\u7801\u7684\u4f4d\u7f6e
LBL_IW_LocationPrjDesc=<html>\u6307\u5b9a\u65b0\u9879\u76ee\u7684\u540d\u79f0\u548c\u4f4d\u7f6e\u3002</html>
LBL_NWP1_ProjectName_Label=\u9879\u76ee\u540d\u79f0(&N):
ACS_LBL_IW_ProjectName_A11Desc=\u9879\u76ee\u540d\u79f0
ACS_LBL_IW_ProjectFolder_A11Desc=\u9879\u76ee\u4f4d\u7f6e
ACS_LBL_NWP1_ProjectName_A11YDesc=\u9879\u76ee\u540d\u79f0
LBL_NWP1_CreatedProjectFolder_Label=\u9879\u76ee\u6587\u4ef6\u5939(&F):
ACS_LBL_NPW1_ProjectLocation_A11YDesc=\u9879\u76ee\u4f4d\u7f6e
LBL_NWP1_BrowseLocation_Button=\u6d4f\u89c8(&O)...
ACS_LBL_NWP1_BrowseLocation_A11YDesc=\u6d4f\u89c8\u9879\u76ee\u4f4d\u7f6e
LBL_IW_SetAsMainProject_CheckBox=\u8bbe\u7f6e\u4e3a\u4e3b\u9879\u76ee(&M)
ACS_LBL_IW_SetAsMainProject_A11YDesc=\u8bbe\u7f6e\u4e3a\u4e3b\u9879\u76ee
LBL_IW_Server=\u670d\u52a1\u5668(&S):
ACS_LBL_IW_SelectServerInstance_A11YDesc=\u9009\u62e9\u670d\u52a1\u5668\u5b9e\u4f8b

LBL_IW_J2EESpecLevel_Label=Java EE \u7248\u672c:
LBL_NWP1_J2EESpecLevel_Label=Java EE \u7248\u672c(&J):
ACS_LBL_IW_SelectJ2EEVersion_A11YDesc=\u9009\u62e9 Java EE \u7248\u672c
LBL_NWP1_AddToEApp_CheckBox=\u6dfb\u52a0\u5230\u4f01\u4e1a\u5e94\u7528\u7a0b\u5e8f(&A):
LBL_SelectExistingLocation=\u6d4f\u89c8\u73b0\u6709\u6e90\u4ee3\u7801\u7684\u4f4d\u7f6e
LBL_SelectNewLocation=\u6d4f\u89c8\u9879\u76ee\u6587\u4ef6\u5939
MSG_NoServer=\u5fc5\u987b\u9009\u62e9\u670d\u52a1\u5668
MSG_ProvideExistingSourcesLocation=\u63d0\u4f9b\u73b0\u6709\u6e90\u4ee3\u7801\u7684\u4f4d\u7f6e\u3002
MSG_NoAppClientModule=\u4f4d\u7f6e\u6587\u4ef6\u5939\u4e0d\u5305\u542b application-client.xml \u6587\u4ef6\u548c Java \u6e90\u4ee3\u7801\u3002
MSG_ProvideProjectName=\u63d0\u4f9b\u9879\u76ee\u540d\u79f0\u3002
MSG_IllegalProjectLocation=\u9879\u76ee\u6587\u4ef6\u5939\u4e0d\u662f\u6709\u6548\u7684\u8def\u5f84\u3002
MSG_ProjectFolderReadOnly=\u65e0\u6cd5\u521b\u5efa\u9879\u76ee\u6587\u4ef6\u5939\u3002
MSG_ProjectFolderInvalid=\u4e0d\u80fd\u5c06\u9879\u76ee\u653e\u5728\u5df2\u5305\u542b{0}\u7684\u9879\u76ee\u6587\u4ef6\u5939\u4e2d\u3002
# #47611: old project metadata was deleted, but the IDE still has a "live" project there
# (should not be an error in the future: see #42422)
MSG_ProjectFolderHasDeletedProject=\u521a\u624d\u6b63\u5728\u4f7f\u7528\u9879\u76ee\u6587\u4ef6\u5939\u3002\u8bf7\u91cd\u65b0\u542f\u52a8 IDE \u4ee5\u91cd\u7528\u8be5\u6587\u4ef6\u5939\u3002
TXT_NetBeansProject=NetBeans \u9879\u76ee
TXT_BuildXML="build.xml" \u6587\u4ef6
TXT_BuildFolder="build" \u6587\u4ef6\u5939
TXT_DistFolder="dist" \u6587\u4ef6\u5939
TXT_Manifest="manifest.mf" \u6587\u4ef6
LBL_IW_Buildfile_OK=\u786e\u5b9a
ACS_IW_BuildFileDialog_OKButton_LabelMnemonic=\u786e\u5b9a

LBL_IW_Buildfile_Cancel=\u53d6\u6d88
ACS_IW_BuildFileDialog_CancelButton_LabelMnemonic=\u53d6\u6d88

LBL_IW_Buildfile_CancelConfirmation=\u53d6\u6d88\u5b83\u5c06\u9000\u51fa\u201c\u65b0\u5efa\u9879\u76ee\u201d\u5411\u5bfc\u3002\u662f\u5426\u786e\u5b9e\u8981\u53d6\u6d88? 
LBL_IW_BuildfileTitle=\u9879\u76ee\u6784\u5efa\u6587\u4ef6
LBL_NWP1_AddToEApp_None=<\u65e0>
MSG_AppClientXmlCorrupted=\u5e94\u7528\u7a0b\u5e8f\u5ba2\u6237\u7aef\u6a21\u5757\u7684\u90e8\u7f72\u63cf\u8ff0\u7b26\u5df2\u635f\u574f\u3002

#J2eeVersionWarningPanel
MSG_RecommendationSetJdk15=\u5efa\u8bae: \u5728 Java EE 5 \u9879\u76ee\u4e2d\u5e94\u4f7f\u7528 JDK 1.5 \u548c\u6e90\u4ee3\u7801\u7ea7\u522b 1.5\u3002
CTL_AgreeSetJdk15=\u4f7f\u7528 JDK 1.5 \u5e76\u5c06\u6e90\u4ee3\u7801\u7ea7\u522b\u8bbe\u7f6e\u4e3a 1.5

ACS_AgreeSetJdk15=\u201c\u4f7f\u7528 JDK 1.5 \u5e76\u5c06\u6e90\u4ee3\u7801\u7ea7\u522b\u8bbe\u7f6e\u4e3a 1.5\u201d\u590d\u9009\u6846
MSG_RecommendationSetSourceLevel15=\u5efa\u8bae: \u5728 Java EE 5 \u9879\u76ee\u4e2d\u5e94\u4f7f\u7528\u6e90\u4ee3\u7801\u7ea7\u522b 1.5\u3002
CTL_AgreeSetSourceLevel15=\u5c06\u6e90\u4ee3\u7801\u7ea7\u522b\u8bbe\u7f6e\u4e3a 1.5

ACS_AgreeSetSourceLevel15=\u201c\u5c06\u6e90\u4ee3\u7801\u7ea7\u522b\u8bbe\u7f6e\u4e3a 1.5\u201d\u590d\u9009\u6846
MSG_RecommendationSetJdk14=\u5efa\u8bae: \u5728 J2EE 1.4 \u9879\u76ee\u4e2d\u5e94\u4f7f\u7528 JDK 1.4 \u548c\u6e90\u4ee3\u7801\u7ea7\u522b 1.4\u3002
CTL_AgreeSetJdk14=\u4f7f\u7528 JDK 1.4 \u5e76\u5c06\u6e90\u4ee3\u7801\u7ea7\u522b\u8bbe\u7f6e\u4e3a 1.4

ACS_AgreeSetJdk14=\u201c\u4f7f\u7528 JDK 1.4 \u5e76\u5c06\u6e90\u4ee3\u7801\u7ea7\u522b\u8bbe\u7f6e\u4e3a 1.4\u201d\u590d\u9009\u6846
MSG_RecommendationSetSourceLevel14=\u5efa\u8bae: \u5728 J2EE 1.4 \u9879\u76ee\u4e2d\u5e94\u4f7f\u7528\u6e90\u4ee3\u7801\u7ea7\u522b 1.4\u3002
CTL_AgreeSetSourceLevel14=\u5c06\u6e90\u4ee3\u7801\u7ea7\u522b\u8bbe\u7f6e\u4e3a 1.4

ACS_AgreeSetSourceLevel14=\u201c\u5c06\u6e90\u4ee3\u7801\u7ea7\u522b\u8bbe\u7f6e\u4e3a 1.4\u201d\u590d\u9009\u6846

#NewAppClientProjectWizardIterator
LAB_ConfigureProject=\u540d\u79f0\u548c\u4f4d\u7f6e
LAB_IteratorName={0}/{1}


#PanelConfigureProjectVisual
TXT_NameAndLoc=\u540d\u79f0\u548c\u4f4d\u7f6e
TXT_NewAppClient=\u4f01\u4e1a\u5e94\u7528\u7a0b\u5e8f\u5ba2\u6237\u7aef
ACSD_NewAppClient=\u521b\u5efa\u65b0\u7684\u4f01\u4e1a\u5e94\u7528\u7a0b\u5e8f\u5ba2\u6237\u7aef\u9879\u76ee





#PanelOptionsVisual




LBL_setAsMainCheckBox=\u8bbe\u7f6e\u4e3a\u4e3b\u9879\u76ee(&M)
ACSN_setAsMainCheckBox=\u8bbe\u7f6e\u4e3a\u4e3b\u9879\u76ee


ASCN_mainClassTextField=\u6307\u5b9a\u9879\u76ee\u4e3b\u7c7b\u7684\u540d\u79f0\u3002
#LBL_NWP1_AddToEApp_CheckBox=Add to Enterprise &Application\:
LBL_NWP1_Server_Label=\u670d\u52a1\u5668(&S):
#ACS_LBL_IW_SelectServerInstance_A11YDesc=Select server instance
LBL_NWP1_MainClass_Label=\u4e3b\u7c7b(&C):


ERROR_IllegalMainClassName=\u4e3b\u7c7b\u540d\u65e0\u6548\u3002

#PanelProjectLocationVisual
ACSN_projectNameLabel=\u9879\u76ee\u540d\u79f0
ACSD_projectNameLabel=\u65b0\u9879\u76ee\u7684\u540d\u79f0
LBL_NWP1_ProjectLocation_Label=\u9879\u76ee\u4f4d\u7f6e(&L):
ACSN_projectLocationLabel=\u9879\u76ee\u4f4d\u7f6e:
ACSD_projectLocationLabel=\u9879\u76ee\u6839\u6587\u4ef6\u5939\u7684\u4f4d\u7f6e
ACSN_browseButton=\u6d4f\u89c8
ACSD_browseButton=\u5355\u51fb\u201c\u6d4f\u89c8\u201d\u6309\u94ae\u53ef\u4ee5\u6253\u5f00\u9879\u76ee\u4f4d\u7f6e\u9009\u62e9\u5668\u3002




LBL_NWP1_SelectProjectLocation=\u9009\u62e9\u9879\u76ee\u4f4d\u7f6e
MSG_IllegalProjectName=\u9879\u76ee\u540d\u79f0\u4e0d\u662f\u6709\u6548\u7684\u6587\u4ef6\u5939\u540d\u79f0\u3002
MSG_ProjectFolderExists=\u9879\u76ee\u6587\u4ef6\u5939\u5df2\u5b58\u5728\u4e14\u4e0d\u4e3a\u7a7a\u3002



#PanelSourceFolders


MSG_BlankConfigurationFilesFolder=\u914d\u7f6e\u6587\u4ef6\u7684\u6587\u4ef6\u5939\u4e0d\u80fd\u4e3a\u7a7a\u3002
MSG_IllegalConfigurationFilesFolder=\u914d\u7f6e\u6587\u4ef6\u7684\u6587\u4ef6\u5939\u4e0d\u5b58\u5728\u3002
MSG_IllegalSources=\u6e90\u5305\u6587\u4ef6\u5939 {0} \u4e0d\u5b58\u5728\u3002
MSG_IllegalTests=\u6d4b\u8bd5\u5305\u6587\u4ef6\u5939 {0} \u4e0d\u5b58\u5728\u3002
MSG_IllegalProjectFolder=\u9879\u76ee\u6587\u4ef6\u5939\u5fc5\u987b\u4f4d\u4e8e\u5305\u6240\u5728\u7684\u6587\u4ef6\u5939\u4e4b\u5916\u3002
TXT_DeleteOption=\u5220\u9664
TXT_KeepOption=\u5ffd\u7565
TXT_CancelOption=\u53d6\u6d88
MSG_FoundClassFiles=<html><p><strong>\u6307\u5b9a\u7684\u5305\u6587\u4ef6\u5939\u4e2d\u5305\u542b\u7f16\u8bd1\u7684\u7c7b\u6587\u4ef6 (*.class)\u3002</strong></p><br><p>\u7531\u4e8e IDE \u8981\u5728 "build" \u6587\u4ef6\u5939\u4e2d\u6784\u5efa\u7f16\u8bd1\u7684\u7c7b\u6587\u4ef6, </p><p>\u56e0\u6b64, \u5efa\u8bae\u60a8\u5220\u9664</p><p>\u5df2\u7f16\u8bd1\u7684\u73b0\u6709\u7c7b\u6587\u4ef6\u3002</p><br><p>\u662f\u5426\u8981\u7acb\u5373\u5220\u9664\u8fd9\u4e9b\u7c7b\u6587\u4ef6? </p></html>
MSG_FoundClassFiles_Title=\u65b0\u5efa\u57fa\u4e8e\u73b0\u6709\u6e90\u4ee3\u7801\u7684 Java \u9879\u76ee
CTL_SourceRoots=\u6e90\u5305\u6587\u4ef6\u5939:


CTL_AddSourceRoot=\u6d4f\u89c8\u6e90\u5305\u6587\u4ef6\u5939




CTL_TestRoots=\u6d4b\u8bd5\u5305\u6587\u4ef6\u5939:


CTL_AddTestRoot=\u6d4f\u89c8\u6d4b\u8bd5\u5305\u6587\u4ef6\u5939




LBL_SourceDirectoriesLabel=<html>\u6307\u5b9a\u5305\u542b\u6e90\u5305\u548c JUnit \u6d4b\u8bd5\u5305\u7684\u6587\u4ef6\u5939\u3002
ACSN_jLabel3=\u9009\u62e9\u5305\u542b\u73b0\u6709 Java \u5305\u7684\u6587\u4ef6\u5939\u3002

LBL_IW_ConfigFilesFolder_Label=\u914d\u7f6e\u6587\u4ef6\u7684\u6587\u4ef6\u5939(&C):
LBL_IW_LibrariesLocation_Label=\u5e93\u6587\u4ef6\u5939(&L):

LBL_AddServer=\u6dfb\u52a0(&D)...

ASCN_AddServer=\u6dfb\u52a0\u670d\u52a1\u5668

ASCD_AddServer=\u6dfb\u52a0\u670d\u52a1\u5668

NewAppClientProjectWizardIterator.secondStep=\u670d\u52a1\u5668\u548c\u8bbe\u7f6e
LBL_IW_DragAndDrop=<html>\u60a8\u53ef\u4ee5\u5c06\u6e90\u5305\u548c\u6d4b\u8bd5\u5305\u4ece\u4e00\u4e2a\u5217\u8868\u62d6\u653e\u81f3\u53e6\u4e00\u4e2a\u5217\u8868\u4e2d\u3002




# Usage Logging
# when an Application Client is created.
# {0} server name
# {1} JavaEE version
USG_PROJECT_CREATE_APPCLIENT=\u5df2\u521b\u5efa\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f [\u76ee\u6807\u670d\u52a1\u5668: {0}, JavaEE \u7248\u672c: {1}]\u3002


