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

# CustomizerDialog
LBL_Customizer_Title=Project Properties - {0}

# Configuration node labels
LBL_Config_BuildCategory=Build
LBL_Config_Application=Application
LBL_Config_Libraries=Libraries
LBL_Config_Sources=Sources
LBL_Config_Build=Compiling
LBL_Config_Jar=Packaging
LBL_Config_Javadoc=Documenting
LBL_Config_Run=Run
LBL_Config_License=License Headers

# Panels

# Customize general project properties
LBL_CustomizeGeneral_ProjectFolder_JLabel=Project Folder\:
LBL_CustomizeGeneral_Platform_JLabel=&Java Platform\:
LBL_CustomizeGeneral_Platform_JButton=&Manage Platforms...

#  Customize compilation
LBL_CustomizeCompile_Compiler_Src14_JCheckBox=Accept Assertions (JDK 1.4 Sources)
LBL_CustomizeCompile_Compiler_Deprecation_JCheckBox=Report &Uses of Deprecated APIs
LBL_CustomizeCompile_Compiler_DebugInfo_JCheckBox=&Generate Debugging Info
LBL_CustomizeCompile_Classpath_JLabel=&Classpath for Compiling Sources\:
LBL_CustomizeCompile_Classpath_AddLibrary_JButton=Add &Library...
LBL_CustomizeCompile_Classpath_AddArtifact_JButton=Add &Project...
LBL_CustomizeCompile_Classpath_Edit_JButton=&Edit...
LBL_CustomizeCompile_Classpath_Remove_JButton=&Remove
LBL_CustomizeCompile_Classpath_MoveUp_JButton=Move &Up
LBL_CustomizeCompile_Classpath_MoveDown_JButton=Move &Down
LBL_CustomizeCompile_Classpath_AddJar_JButton=Add &JAR/Folder...
LBL_CustomizeCompile_Build_Subprojects=&Build Dependencies
LBL_CustomizeCompile_Enable_Annotation_Processing=Enable Annotation &Processing
AD_CustomizeCompile_Enable_Annotation_Processing=N/A
LBL_CustomizeCompile_Enable_Editor_Annotation_Processing=Enable Annotation Processing in &Editor
AD_CustomizeCompile_Enable_Editor_Annotation_Processing=N/A
LBL_CustomizeCompile_Annotation_Processors=A&nnotation Processors:
AD_CustomizeCompile_Annotation_Processors=N/A
LBL_CustomizeCompile_Processor_Options=Pr&ocessor Options (-Akey=value):
AD_CustomizeCompile_Processor_Options=N/A
LBL_CustomizeCompile_Processor_Options_Key=Key
LBL_CustomizeCompile_Processor_Options_Value=Value
LBL_CustomizeCompile_Add_Annotation_Processor=&Add
LBL_CustomizeCompile_Add_Annotation_ProcessorOption=A&dd
AD_CustomizeCompile_Add_Annotation_Processor=N/A
LBL_CustomizeCompile_Remove_Annotation_Processors=&Remove
LBL_CustomizeCompile_Remove_Annotation_ProcessorsOption=Remo&ve
AD_CustomizeCompile_Remove_Annotation_Processors=N/A
LBL_CustomizeCompile_Add_Processor_Option=&Add
AD_CustomizeCompile_Add_Processor_Option=N/A
LBL_CustomizeCompile_Remove_Processor_Option=Remo&ve
AD_CustomizeCompile_Remove_Processor_Option=N/A
LBL_AdditionalCompilerOptions=Additiona&l Compiler Options:
AD_AdditionalCompilerOptions=N/A
#{0} - warning message
LBL_AdditionalCompilerOptionsExample=<html>(e.g. -Xlint:unchecked)<br>{0}
MSG_ProjectArtifactFormat={0} - {1}
LBL_AddAnnotationProcessor_Title=Add Annotation Processor
LBL_AnnotationProcessorFQN=&Annotation Processor FQN:
T_ACSN_AnnotationProcessorFQN= Annotation processor FQN
T_ACSD_AnnotationProcessorFQN= Annotation processor FQN
LBL_AddProcessorOption_Title=Add Processor Option
LBL_ProcessorOptionKey=&Key:
T_ACSN_ProcessorOptionKey=Key
T_ACSD_ProcessorOptionKey=Annotation processor option key
LBL_ProcessorOptionValue=&Value:
T_ACSN_ProcessorOptionValue=Value
T_ACSD_ProcessorOptionValue=Annotation processor option value
BTN_ACSN_Add_Project=Add project
BTN_ACSD_Add_Project=Add project to processor-path library
BTN_ACSN_Add_Library=Add library
BTN_ACSD_Add_Library=Add library to processor-path library
BTN_ACSN_Add_Jar=Add jar/folder
BTN_ACSD_Add_Jar=Add jar/folder to processor-path library
BTN_ACSN_Edit=Edit jar references
BTN_ACSD_Edit=Edit jar references
BTN_ACSN_Remove=Remove library
BTN_ACSD_Remove=Remove selected library
BTN_ACSN_MoveUp=Move library up
BTN_ACSD_MoveUp=Move library up
BTN_ACSN_MoveDown=Move library down
BTN_ACSD_MoveDown=Move library down
L_ACSN_ProcesserLibraries=List of processor libraries
L_ACSD_ProcesserLibraries=List of processor-path libraries
BTN_ACSN_AddProcessor=Add annotation processor
BTN_ACSD_AddProcessor=Add annotation processor
BTN_ACSN_RemoveProcessor=Remove annotation processor
BTN_ACSD_RemoveProcessor=Remove selected annotation processor

BTN_ACSN_AddProcessorOption=Add annotation processor option
BTN_ACSD_AddProcessorOption=Add annotation processor option
BTN_ACSN_RemoveProcessorOption=Remove selected annotation processor option
BTN_ACSD_RemoveProcessorOption=Remove selected annotation processor option

TBL_ACSN_AnnotationProcesserOptions=Annotation processor options
TBL_ACSD_AnnotationProcesserOptions=Keys/values annotation processor option table
#  Customize test compilation
LBL_CustomizeCompileTests_Classpath_JLabel=&Classpath for Compiling Tests\:
LBL_CustomizeCompileTests_Classpath_AddJar_JButton=Add &JAR/Folder...
LBL_CustomizeCompileTests_Classpath_AddLibrary_JButton=Add &Library...
LBL_CustomizeCompileTests_Classpath_AddArtifact_JButton=Add &Project...
LBL_CustomizeCompileTests_Classpath_Edit_JButton=&Edit...
LBL_CustomizeCompileTests_Classpath_Remove_JButton=&Remove
LBL_CustomizeCompileTests_Classpath_MoveUp_JButton=Move &Up
LBL_CustomizeCompileTests_Classpath_MoveDown_JButton=Move &Down

#Customize jar creation
LBL_CustomizeJar_DistDir_JTextField=&JAR File\:
LBL_CustomizeJar_Excludes_JTextField=&Exclude From JAR File\:
LBL_CustomizeJar_Commpres_JCheckBox=Com&press JAR File

# Customize javadoc creation
LBL_CustomizeJavadoc_Package_JLabel=Package\:
LBL_CustomizeJavadoc_Package_JButton=&Select...
LBL_CustomizeJavadoc_Subpackages_JCheckBox=Include Subpackages 
LBL_CustomizeJavadoc_Private_JCheckBox=Include Private and Package Private &Members
LBL_CustomizeJavadoc_Generate_JLabel=Generate\:
LBL_CustomizeJavadoc_Tree_JCheckBox=Class Hierarchy &Tree
LBL_CustomizeJavadoc_Usages_JCheckBox=Class and Package &Usage Pages
LBL_CustomizeJavadoc_Navigation_JCheckBox=&Navigation Bar
LBL_CustomizeJavadoc_Index_JCheckBox=&Index
LBL_CustomizeJavadoc_SplitIndex_JCheckBox=Separate Index per &Letter
LBL_CustomizeJavadoc_HTML5_JCheckBox=&HTML 5
LBL_CustomizeJavadoc_Tags_JLabel=Document Additional Tags\:
LBL_CustomizeJavadoc_Author_JCheckBox=@&author
LBL_CustomizeJavadoc_Version_JCheckBox=@&version
LBL_CustomizeJavadoc_WinTitle_JLabel=&Browser Window Title\:
LBL_CustomizeJavadoc_Encoding_JLabel=Encoding\:
LBL_CustomizeJavadoc_Preview_JCheckBox=Preview &Generated Javadoc

#  Customize run
#   Run tab
LBL_CustomizeRun_Run_Tab=Run
LBL_CustomizeRun_Run_MainClass_JLabel=&Main Class\:
LBL_CustomizeRun_Run_MainClass_JButton=&Browse...
LBL_CustomizeRun_Run_Args_JLabel=&Arguments\:
LBL_CustomizeRun_RunClasspath_JLabel=&Classpath for Running Project\:
LBL_CustomizeRun_Run_Working_Directory=&Working Directory:
LBL_CustomizeRun_Run_Working_Directory_Browse=Brow&se...
LBL_CustomizeRun_Run_Working_Directory_Browse_Title=Browse Working Directory
LBL_CustomizeRun_Run_VM_Options=&VM Options:
LBL_CustomizeRun_Run_VM_Options_Example=(e.g. -Xms10m)
LBL_CustomizeRun_Run_VM_Options_JButton=C&ustomize...
LBL_ChooseMainClass_OK=Select Main Class
LBL_ChooseMainClass_Title=Browse Main Classes

AN_CustomizeRun_Run_VM_Options_JButton=N/A
TXT_ActivePlatform=Project Platform
LBL_RuntimePlatform=Runtime &Platform:
LBL_ManagePlatforms=Manage Pla&tforms...
TXT_DefaultConfigPlatformChange=Runtime Platform can't be changed in default configuration. Please create a new configuration.

#   Classpath tab
LBL_CustomizeRun_Classpath_Tab=Classpath

#Dialog for adding JARS
LBL_AddJar_DialogTitle=Add JAR/Folder
LBL_ZipJarFolderFilter=Classpath Entry (folder, ZIP or JAR file)

#Known classpath display names
LBL_JavacClasspath_DisplayName=Classpath for Compiling Sources
LBL_JavacTestClasspath_DisplayName=Classpath for Compiling Tests
LBL_RunClasspath_DisplayName=Classpath for Running Project`
LBL_RunTestClasspath_DisplayName=Classpath for Running Tests
LBL_BuildClassesDir_DisplayName=Compiled Sources
LBL_BuildTestClassesDir_DisplayName=Compiled Tests

LBL_CustomizerCompile_NewPlatform=Create...


# VisualClassPathItem
LBL_MISSING_LIBRARY=Missing library: {0}
LBL_MISSING_PROJECT=Missing project: {0}
LBL_MISSING_FILE=Broken reference: {0}

#CustomizerSources
CTL_ProjectFolder=Project Folder\:
TITLE_InvalidRoot=Add Package Folder
MSG_InvalidRoot=<html><b>Package Folder Already Used in Project</b></html>\n\
    Following folders you selected are already used in this or another\n\
    project. One package folder can only be used in one project in one\n\
    package folder list (source packages or test packages).
LBL_InvalidRoot=Package folders already in use:
MNE_InvalidRoot=A
MSG_InvalidRoot2=Those folders cannot be added to the project.
AD_InvalidRoot=N/A
AD_InvalidRootDlg=N/A
CTL_J2SESourceRootsUi_Close=Close
AD_J2SESourceRootsUi_Close=N/A
CTL_ChangePlatform=Change Platform
AD_ChangePlatform=N/A
TXT_ChangePlatform=<html><b>Incompatible Source Level Value {0}</b></html>\n\
    The source level version for this project ({0}) is higher than the\n\
    Java Platform version you just selected ({1}). Changing the Java\n\
    Platform will update the project''s source level to version {1}.\n\n\
    Do you want to change the Java Platform and update the source level\n\
    version?
TXT_ChangePlatformTitle=Change Java Platform
CustomizerSources.includeExcludeButton=&Includes/Excludes...
CustomizerSources.title.includeExclude=Configure Includes & Excludes
MSG_EncodingWarning=Changing project encoding might result in some characters in existing files not being read and written correctly.

#VisualSourceRootsSupport
LBL_SourceFolder_DialogTitle=Add Source Folder
LBL_TestFolder_DialogTitle=Add Test Folder
TXT_RootOwnedByProject={0} (owned by {1})

#PlatformUiSupport
#{0} - Platform Name
TXT_BrokenPlatformFmt=Missing platform: {0}
#{0} - Source Level 
TXT_InvalidSourceLevel=Illegal Source Level: {0}

#{0} - JDK version
LBL_JDK=JDK {0}

#LibrariesChooser
TITLE_InvalidProjectLibrariesFolder=Invalid project libraries folder
ERR_InvalidProjectLibrariesFolder=The folder does not contain libraries definition file.
MSG_LibraryAlreadyIncluded=The library is already included in the project.

LBL_ChooseMainClass_WARMUP_MESSAGE=Initializing view, please wait ...
LBL_ChooseMainClass_SCANNING_MESSAGE=Scanning in progress, please wait ...

ACSD_CustomizerGeneral_jLabelProjectFolder=N/A

ACSD_CustomizerGeneral_jLabelTarget=N/A

ACSD_CustomizerGeneral_jButton1=Opens the Java Platform Manager.

ACSD_CustomizerGeneral_jLabelReqPrj=List of the projects that this project depends on.

ACSD_CustomizerGeneral_jCheckBoxReqPrj=N/A

ACSD_CustomizerCompile_jCheckBoxDebugInfo=N/A

ACSD_CustomizerCompile_jCheckBoxDeprecation=N/A

ACSD_CustomizerLibraries_jLabelClasspathC=Lists all of the items on the Classpath for Compiling Sources.
ACSD_CustomizerLibraries_jLabelClasspathCT=Lists all of the items on the Classpath for Compiling Tests.
ACSD_CustomizerLibraries_jLabelClasspathR=Lists all of the items on the Classpath for Running the Project.
ACSD_CustomizerLibraries_jLabelClasspathRT=Lists all of the items on the Classpath for Running Tests.

ACSD_CustomizerLibraries_jButtonAddArtifact=Opens the Project chooser, where you can add a project to the classpath.

ACSD_CustomizerLibraries_jButtonAddLibrary=Open Add Library Dialog

ACSD_CustomizerLibraries_jButtonAddJar=Opens the JAR file chooser, where you can add a JAR file to the classpath.

ACSD_CustomizerLibraries_jButtonRemove=Removes the selected item from the classpath.

ACSD_CustomizerLibraries_jButtonMoveUp=Moves the selected item forward in the list of classpath items.

ACSD_CustomizerLibraries_jButtonMoveDown=Moves the selected item back in the list of classpath items.

ACSN_J2SECustomizer=Project Properties
ACSD_J2SECustomizer=Opens a dialog box where you can configure important project properties.

ACSN_J2SECustomizer_categoryPanel=Project categories

ACSD_J2SECustomizer_categoryPanel=The list of project property categories.

AD_jTextFieldPackage=N/A

AD_jButtonPackage=N/A

AD_jCheckBoxSubpackages=N/A

AD_jCheckBoxPrivate=N/A

AD_jLabelGenerate=N/A

AD_jCheckBoxTree=N/A

AD_jCheckBoxUsages=N/A

AD_jCheckBoxNavigation=N/A

AD_jCheckBoxIndex=N/A

AD_jCheckBoxSplitIndex=N/A

AD_jLabelTags=N/A

AD_jCheckBoxAuthor=N/A

AD_jCheckBoxVersion=N/A

AD_jTextFieldWinTitle=N/A

AD_jTextFieldEncoding=N/A

AD_jCheckBoxPreview=N/A

AD_jTextFieldDistDir=N/A

AD_jTextFieldExcludes=N/A

AD_jCheckBoxCompress=N/A

AD_jTextFieldMainClass=N/A

AD_jButtonMainClass=N/A

AD_jTextFieldArgs=N/A

AD_jButtonAddArtifact=N/A

AD_jButtonAddLibrary=N/A

AD_jButtonAddJar=N/A

AD_jButtonEdit=N/A

AD_jButtonRemove=N/A

AD_jButtonMoveUp=N/A

AD_jButtonMoveDown=N/A

AD_jListClasspath=N/A

AN_BeanTreeViewCategories=Properties Category

AD_BeanTreeViewCategories=N/A

AD_J2SECustomizer=N/A

AD_jButtonManageLibraries=N/A

AD_AddLibrary=N/A


LBL_CustomizeRunTest_RunClasspath_JLabel=&Classpath for Running Tests\:

CTL_PackageFolders=Package Folder
CTL_PackageLabels=Label

CTL_AddSourceRoot=Add Folder...

CTL_RemoveSourceRoot=Remove

CTL_UpSourceRoot=Move Up

CTL_DownSourceRoot=Move Down

CTL_SourceRoots=Source Module Folders:

CTL_TestRoots=Test Module Folders:

CTL_AddTestRoot=Add Folder...

CTL_RemoveTestRoot=Remove

CTL_UpTestRoot=Move Up

CTL_DownTestRoot=Move Down

MNE_ProjectFolder=F

MNE_SourceRoots=S

MNE_TestRoots=T

MNE_AddSourceRoot=A

MNE_RemoveSourceRoot=R

MNE_UpSourceRoot=U

MNE_DownSourceRoot=D

MNE_AddTestRoot=o

MNE_RemoveTestRoot=m

MNE_UpTestRoot=p

MNE_DownTestRoot=w

LBL_CustomizeLibraries_Modulepath_Tab=Modulepath
LBL_CustomizeLibraries_Classpath_Tab=Classpath

LBL_CustomizeLibraries_LibrariesTab=Compile

LBL_CustomizeLibraries_TestLibrariesTab=Compile Tests

LBL_CustomizeLibraries_AddProject_JButton=Add &Project...

LBL_CustomizeLibraries_AddLibary_JButton=Add &Library...

LBL_CustomizeLibraries_AddJar_JButton=Add JAR/&Folder

LBL_CustomizeLibraries_Edit_JButton=&Edit

LBL_CustomizeLibraries_Remove_JButton=Remo&ve

LBL_CustomizeLibraries_MoveUp_JButton=Move &Up

LBL_CustomizeLibraries_MoveDown_JButton=Move &Down

LBL_CustomizeLibraries_RtOnlyDesc_JLabel=<HTML>RT Only - select if the library item is used during runtime only.<BR>The project sources are not compiled against these library items.</HTML>

LBL_CustomizeLibraries_LibrariesM_JLabel=Compile-&time Modules:
LBL_CustomizeLibraries_LibrariesC_JLabel=Compile-&time Libraries\:
LBL_CustomizeLibraries_LibrariesMP_JLabel=Pr&ocessor-path Modules\:
LBL_CustomizeLibraries_LibrariesP_JLabel=Pr&ocessor-path Libraries\:
LBL_CustomizeLibraries_LibrariesMR_JLabel=Run-&time Modules\:
LBL_CustomizeLibraries_LibrariesR_JLabel=Run-&time Libraries\:
LBL_CustomizeLibraries_LibrariesMT_JLabel=Compile-&time Test Modules\:
LBL_CustomizeLibraries_LibrariesCT_JLabel=Compile-&time Test Libraries\:
LBL_CustomizeLibraries_LibrariesMRT_JLabel=Run-&time Test Modules\:
LBL_CustomizeLibraries_LibrariesRT_JLabel=Run-&time Test Libraries\:
LBL_CustomizeLibraries_Libraries_Error=Some library items cannot be located. Use the Reference Problems dialog.

LBL_CustomizeLibraries_Processors_Tab=Processor

LBL_CustomizeLibraries_Run_Tab=Run

LBL_CustomizeLibraries_RunTests_Tab=Run Tests

LBL_CustomizeLibraries_Build_Subprojects=&Build Dependencies

LBL_CustomizeJavadoc_AddOptions_JLabel=Additional Javadoc &Options\:

LBL_CustomizeJavadoc_AddOptionsInfo_JLabel=(e.g. -overview <file> or -header "Some header")

LBL_CustomizeRun_Run_TestVM_Options=&Test VM Options\:

TXT_SourceLevel=Source/&Binary Format:

AD_SourceLevel=N/A

AN_SourceLevel=N/A



AD_CustomizeRun_Run_Working_Directory\ =N/A

AD_CustomizeRun_Run_Working_Directory_Browse=N/A

AD_CustomizeRun_Run_VM_Options=N/A

AD_CustomizeRun_Run_VM_Options_Customize=N/A

AD_CustomizerSources_addSourceRoot=N/A

AD_CustomizerSources_testRoots=N/A

AD_CustomizerSources_sourceRoots=N/A

AD_CustomizerSources_downTestRoot=N/A

AD_CustomizerSources_upTestRoot=N/A

AD_CustomizerSources_removeTestRoot=N/A

AD_CustomizerSources_addTestRoot=N/A

AD_CustomizerSources_downSourceRoot=N/A

AD_CustomizerSources_upSourceRoot=N/A

AD_CustomizerSources_removeSourceRoot=N/A


AD_CustomizerSources_projectLocation=N/A

AD_AACH_ProjectJarFiles_JLabel=N/A

AD_AACH_ProjectName_JLabel=N/A

AD_AACH_SelectProject=N/A

AD_ChooseMainClass_OK=N/A

ACSD_CustomizerLibraries_JTabbedPane=N/A

ACSN_CustomizerLibraries_JTabbedPane=N/A

AN_CustomizerLibraries_jListClasspathRT=N/A

AN_CustomizerLibraries_jListClasspathCT=N/A

AN_CustomizerLibraries_jListClasspathC=N/A

AN_CustomizerLibraries_jListClasspathR=N/A

AD_CheckBoxBuildSubprojects=N/A

AN_Javadoc_AdditionalOptions=N/A

AD_Javadoc_AdditionalOptions=N/A

LBL_CustomizerJar_ExcludeMessage=(cannot exclude class files)

MSG_CustomizerLibraries_ModuleCpMessage=Compile-time modules are propagated to all library categories.

MSG_CustomizerLibraries_CompileCpMessage=Compile-time libraries are propagated to all library categories.

CustomizerRun.configLabel=&Configuration:
CustomizerRun.configNew=&New...
CustomizerRun.configDelete=&Delete
CustomizerRun.input.prompt=Configuration &Name:
CustomizerRun.input.title=Create New Configuration
# {0} - name of configuration
CustomizerRun.input.duplicate=Configuration {0} already exists.
CustomizerRun.input.empty=Configuration name cannot be empty.

TXT_Encoding=&Encoding\:
LBL_Select_Splash_Image=Select Splash Image
TXT_SplashImageFiles=Splash image files

ACSN_CommonAppProps_Title=Common Application Properties

ACSN_Title_Label=Title

ACSN_CommonAppProps_Label=Common Application Properties

ACSD_CommonAppProps_Label=Common Application Properties
ACSD_Title_Label=Application Title
ACSN_Title_TextField=Title

ACSD_Title_TextField=Application Title

ACSN_Vendor_Label=Vendor

ACSD_Vendor_Label=Application Vendor

ACSN_Vendor_TextField=Vendor

ACSD_Vendor_TextField=Application Vendor

ACSN_Description_Label=Description

ACSD_Description_Label=Application Description

ACSN_Description_TextField=Description

ACSD_Description_TextField=Application Description

ACSN_Homepage_Label=Homepage

ACSD_Homepage_Label=Application homepage

ACSN_Homepage_TextField=Homepage

ACSD_Homepage_TextField=Application homepage

ACSN_SplashScreen_Label=Splash Screen

ACSD_SplashScreen_Label=Application Splash Screen

ACSD_SplashScreen_TextField=Application Splash Screen

ACSN_Description_TextArea=Description

ACSD_Description_TextArea=Application Description

ACSN_SplashScreen_TextField=Splash Screen

ACSN_Browse_Button=Browse

ACSD_Browse_Button=Browse Splash Screen
AD_CustomizerRun_NewCfg=N/A
AD_CustomizerRun_DeleteCfg=N/A
AD_CustomizerRun_Cfg=N/A
AD_CustomizerSources_Include=N/A
AD_CustomizerSources_Encoding=N/A
CustomizerCompile.doDependCheckBox=&Track Java Dependencies
CustomizerJar.doJarCheckBox=&Build JAR after Compiling
LBL_CustomizeGeneral_SharedLibraries=Libr&aries Folder:
LBL_CustomizerLibraries_Browse_JButton=Bro&wse...
LBL_PanelOptions_Location_Label=Libraries Folder:
ACSD_librariesBrowse=Browse for new location of library definition folder.

LBL_MakeSharable=B&rowse...
ACSD_MakeSharable=N/A

ACSD_doDependCheckBox=Track Java Dependencies
ACSD_librariesLocation=Folder containing location of the library definition files.
ACSD_jButtonEdit=Edit classpath items
ACSD_BuildJarAfterCompile=Build JAR after compiling option
LBL_CustomizeRun_Enable_Quick_Run=Enable Quick Run
CustomizerCompile.CompileOnSave=Compile on &Save (requires nb-javac plugin)
AD_CustomizerCompile.CompileOnSave=If selected, files are compiled when you save them. This option saves you time when you run or debug your application in the IDE.
LBL_CompileOnSaveDescription=<html>If selected, files are compiled when you save them.<br>\
    This option saves you time when you run or debug your application in the IDE.<br>\
    If selected, Additional Compiler Options are not used for running files or project.
AddProcessorOption.valueTextField.text=
TXT_CopyLibraries=Copy Dependent &Libraries
LBL_Profile=&Profile:
AN_Profile=Profile:
AD_Profile=JDK 8 Compact Profile
CustomizerApplication.panelDescLabel.text=Common Application Properties
CustomizerApplication.titleLabel.text=&Title:
CustomizerApplication.vendorLabel.text=&Vendor:
CustomizerApplication.descLabel.text=&Description:
CustomizerApplication.homepageLabel.text=Homepa&ge:
CustomizerApplication.titleTextField.text=
CustomizerApplication.vendorTextField.text=
CustomizerApplication.homepageTextField.text=
MNE_DowngradeSourceLevel=
TXT_RunInSeparateVM=Run Compilation in External &VM
TXT_DefaultPlatformWarning="-J" options cannot be used with Default Java Platform.
TXT_Jar_JLink=Create J&LINK distribution
TXT_Jar_JLinkStrip=&Strip Debug Information
TXT_Jar_JLink_CreateLaucher=Create La&uncher
TXT_Jar_JLink_LaucherName=Laucher &Name:
