# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

TXT_ProjectFolderList=ProjectFolderList

LBL_ZipJarFolderFilter=Classpath Entry (folder, ZIP or JAR file)

#Sharable visual panel
PanelSharabilityVisual.label=Sharability

#Sharable panel
PanelSharability.licenseWarning.text=There may be legal considerations when sharing server JAR files. Be sure to check the license for your server to make sure you can distribute server JAR files to other developers.
PanelSharability.relativePathWarning.text=Please make sure the relative path to library definitions is always accessible in the same way.
PanelSharability.absolutePathWarning.text=Please make sure the absolute path to library definitions is always accessible in the same way.

LBL_Browse_Libraries_Title=Select shared libraries folder
PanelSharabilityVisual.browseLibraries.text=B&rowse...
PanelSharabilityVisual.sharableProject.text=&Project Shared With Other Users
PanelSharabilityVisual.librariesLabel.text=&Sharable Libraries Location:
PanelSharabilityVisual.sharableCheckBox.text=Check Whether This Project Should be Sharable.
PanelSharabilityVisual.serverLibraryCheckbox.text=&Use dedicated library folder for server JAR files
PanelSharabilityVisual.cdiCheckbox.text=&Enable Contexts and Dependency Injection

# ProjectLocationPanel
LBL_NWP1_ProjectTitleName=Name and Location
LBL_NWP1_ProjectName_Label=Project Name:
LBL_NWP1_ProjectLocation_Label=Project Location:
LBL_NWP1_BrowseLocation_Button=Browse...
LBL_NWP1_CreatedProjectFolder_Label=Project Folder:
LBL_NWP1_ProjectName_LabelMnemonic=N
LBL_NWP1_ProjectLocation_LabelMnemonic=L
LBL_NWP1_CreatedProjectFolder_LabelMnemonic=F
LBL_NWP1_Browse_LabelMnemonic=R
ACS_LBL_NWP1_ProjectName_A11YDesc=Project Name
ACS_LBL_NPW1_ProjectLocation_A11YDesc=Project Location
ACS_LBL_NWP1_BrowseLocation_A11YDesc=Browse Project Location
ACS_LBL_NWP1_CreatedProjectFolder_A11YDesc=Project Folder
LBL_NWP1_SelectProjectLocation=Select Project Location
MSG_IllegalProjectName=Project Name is not a valid folder name.
MSG_ProjectFolderExists=Project Folder already exists and is not empty.
MSG_ProjectLocationRO=Project Location is read only.
MSG_IllegalProjectLocation=Project Location is not valid path.
MSG_IllegalDisk=At least disk roots must be mounted!
MSG_CreateDir=Folder does not exist. Do you want to create it?
MSG_ProjectFolderReadOnly=Project Folder is read-only.
MSG_ProjectFolderHasDeletedProject=Project Folder was just in use. Please restart the IDE to reuse folder.
MSG_ProjectFolderHasNbProject=Project folder already contains a NetBeans project.
LBL_SelectProjectDirectoryTitle=Select Project Folder
ACSN_PanelProjectLocationVisual=N/A
ACSD_PanelProjectLocationVisual=N/A
ACSN_projectNameLabel=Project name
ACSD_projectNameLabel=Name of new project
ACSN_projectLocationLabel=Project Location\:
ACSD_projectLocationLabel=Location of the project's root folder
ACSN_browseButton=Browse
ACSD_browseButton=Click the Browse button to open the project location chooser.
ACSN_createdFolderLabel=N/A
ACSD_createdFolderLabel=N/A
ProjectLocationPanel.sharableProject.text=Use &Dedicated Folder for Storing Libraries 
ProjectLocationPanel.librariesLabel.text=Libraries Folder:

#PanelServerPanel
LBL_NWP1_J2EESpecLevel_Label=&Java EE Version\:
LBL_NWP1_ContextPath_Label=Context &Path:
LBL_NWP1_AddToEnterprise_Label=&Add to Enterprise Application:
LBL_PanelOptions_Browse_Button=Browse...
LBL_PanelOptions_SharableProject_Checkbox=Project Shared With Other Users
LBL_PanelOptions_Location_Label=Sharable Libraries Location:
LBL_Browse_Libraries_AcceptedFiles=*.properties files
ACS_LBL_NPW1_J2EESpecLevel_A11YDesc=Java EE Version Combo Box
ACS_LBL_NWP1_ContextPath_A11YDesc=Context Path
ACS_LBL_NWP1_AddToEnterpriseCheckBox_A11YDesc=Add to Enterprise Application Check Box
LBL_NWP1_Server=&Server\:
MSG_NoServer=<html>No servers are registered in the IDE. To register a server, click the "Add..." button.
ACS_NWP1_Server_ComboBox_A11YDesc=Server Combo Box
ACS_IW_J2EESpecLevel_A11YDesc=Java EE Version Combo Box
ACS_IWP_Server_ComboBox_A11YDesc=Server Combo Box
ASCN_AddServer=Add Server
ASCD_AddServer=Add Server
LBL_AddServer=A&dd...
LBL_NWP1_MainClass_Label=Main &Class\:
LBL_NEAP_CreateEjbModule=Create &EJB Module\:
LBL_NEAP_CreatWebAppModule=Create &Web Application Module\:
LBL_NEAP_CreateCarModule=Create Application Clie&nt Module\:
MSG_NoWARName=Web Application must have a name.
MSG_NoJARName=EJB module must have a name.
MSG_NoCARName=Application client must have a name.
MSG_JARNameNotBlueprints=EJB module name is not BluePrints compliant, it should end with \"-ejb\".
MSG_WARNameNotBlueprints=Web application name is not BluePrints compliant, it should end with \"-war\".
MSG_CARNameNotBlueprints=Application client name not BluePrints compliant, it should end with \"-app-client\".
LBL_NWP1_AddToEnterprise_None=<None>
ProjectServerPanel.title=Server and Settings
MSG_EjbJarXmlCorrupted=The EJB module deployment descriptor is corrupted.
MSG_EjbJarXMLNotSupported=<html>You have set the J2EE Version to 1.4 but the EJB module you are importing uses J2EE 1.3 or older. The deployment descriptor will be updated for J2EE 1.4.</html>
TXT_DefaultPackageName=mypkg
ERROR_IllegalMainClassName=Main Class name is not valid.
ERROR_EnterpriseLevelOfYourServerIsNotSupported=EE level of the server you have selected (probably lower than Java EE 5) is not supported anymore. Please use newer version of application server for creating new projects.
#NOI18N
TXT_ClassName={0}.Main
#NOI18N
TXT_PackageNameSuffix={0}pkg
#NOI18N
TXT_WebAppProjectName={0}-war
#NOI18N
TXT_AppClientProjectName={0}-app-client
#NOI18N
TXT_EJBProjectName={0}-ejb


#J2eeVersionWarningPanel
MSG_RecommendationSetJdk15=<html>Note: JDK 1.5 will be used for Java EE 5 projects.
MSG_RecommendationSetSourceLevel15=<html>Note: Source Level 1.5 will be set for Java EE 5 projects.

MSG_RecommendationSetJdk6=<html>Note: JDK 6 will be used for Java EE 6 projects.
MSG_RecommendationSetSourceLevel6=<html>Note: Source Level 6 will be set for Java EE 6 projects.
MSG_RecommendationJDK6=<html>Recommendation: JDK 6 should be used for Java EE 6 projects.

MSG_RecommendationSetJdk7=<html>Note: JDK 7 will be used for Java EE 7 projects.
MSG_RecommendationSetSourceLevel7=<html>Note: Source Level 7 will be set for Java EE 7 project.
MSG_RecommendationJDK7=<html>Recommendation: JDK 7 should be used for Java EE 7 projects.

MSG_RecommendationSetJdk8=<html>Note: JDK 8 will be used for Java EE 8, Jakarta EE 8 and Jakarta EE 9 projects.
MSG_RecommendationSetSourceLevel8=<html>Note: Source Level 8 will be set for Java EE 8, Jakarta EE 8 and Jakarta EE 9 project.
MSG_RecommendationJDK8=<html>Recommendation: JDK 8 should be used for Java EE 8, Jakarta EE 8 and Jakarta EE 9 projects.

MSG_RecommendationSetJdk11=<html>Note: JDK 11 will be used for Jakarta EE 9.1 projects.
MSG_RecommendationSetSourceLevel11=<html>Note: Source Level 11 will be set for Jakarta EE 9.1 project.
MSG_RecommendationJDK11=<html>Recommendation: JDK 11 should be used for Jakarta EE 9.1 projects.

#Import wizard - existing sources
LBL_IW_ImportTitle=Add Existing Sources
LBL_IW_LocationSrcDesc=<html>Select the folder that contains all the sources for your application.</html>
LBL_IW_LocationSrc_Label=Location:
LBL_IW_LocationPrjDesc=<html>Specify a name and location for the new project.</html>
LBL_IW_BrowseExistingSource=Browse Existing Source Location
LBL_IW_BrowseProjectFolder=Browse Project Folder
LBL_IW_ImportLocation_LabelMnemonic=O
ACS_LBL_IW_ImportLocation_A11YDesc=Directory that contains all the sources for the application
ACS_LBL_IW_ImportLocationBrowse_A11YDesc=Browse Existing Application Sources Location
MSG_ProvideExistingSourcesLocation=Provide the location of the existing sources.
MSG_ProvideProjectName=Provide a project name.
MSG_ProvideProjectFolder=Provide a project folder.
MSG_ProjectFolderInvalid=Project Folder already contains {0}.
TXT_NetBeansProject=a NetBeans project
TXT_BuildFolder="build" folder
TXT_WebInfFolder="WEB-INF" folder
TXT_DistFolder="dist" folder
TXT_Manifest="manifest.mf"
TXT_BuildXML="build.xml" file
MSG_IllegalSources=Source Packages Folder {0} does not exist.
LBL_IW_BrowseProjectLocation_Button=Browse...
LBL_BrowseLocation_MNE=R
LBL_BrowseProjectFolder_MNE=E
LBL_WebPagesFolder_MNE=O
ACS_NWP1_NamePanel_A11YDesc=Project Name and Location Panel
ACS_IW_SourcesPanel_A11YDesc=Add Existing Sources Panel
MSG_NoAppClientModule=The Location folder does not contain an application-client.xml file and Java sources.
MSG_AppClientXmlCorrupted=Application Client module deployment descriptor is corrupted.


#Import buildfile
LBL_IW_BuildfileTitle=Project Buildfile
LBL_IW_BuildfileDesc_Label=<html>There is an existing Ant build script at {0}.<br>\
Enter a new name of the Ant build script that will be created for use by the project.<br>\
The file must not exist in project folder.</html>
LBL_IW_BuildFilename_Label=BuildfileName:
LBL_IW_CreatedFile_Label=Created File:
LBL_IW_ProposedName_TextField=nbbuild.xml
LBL_IW_Buildfile_OK=OK
LBL_IW_Buildfile_Cancel=Cancel
LBL_IW_Buildfile_CancelConfirmation=Cancelling this will exit the new project wizard. Do you really want to cancel?
LBL_IW_BuildFilename_LabelMnemonic=B
LBL_IW_CreatedFile_LabelMnemonic=F
LBL_IW_BuildFileDialog_OK_LabelMnemonic=O
LBL_IW_BuildFileDialog_Cancel_LabelMnemonic=C
ACS_LBL_IW_BuildFilename_A11YDesc=Buildfile name
ACS_LBL_IW_CreatedFile_A11YDesc=Location of the created build script
ACS_IW_BuildFileDialog_A11YDesc=Buildfile dialog
ACS_IW_BuildFileDialog_OKButton_LabelMnemonic=OK
ACS_IW_BuildFileDialog_CancelButton_LabelMnemonic=Cancel
HINT_LibrariesFolder=<html>Different users and projects can share the same compilation libraries (see Help for details).
ACSD_ProjectServerPanel_NA=N/A
ACSD_ProjectLocationPanel_NA=N/A
ACSD_ProjectImportLocationPanel_NA=N/A
