###############################################################################
#  Copyright (c) 2000, 2018 IBM Corporation and others.
#
#  This program and the accompanying materials
#  are made available under the terms of the Eclipse Public License 2.0
#  which accompanies this distribution, and is available at
#  https://www.eclipse.org/legal/epl-2.0/
#
#  SPDX-License-Identifier: EPL-2.0
# 
#  Contributors:
#     IBM Corporation - initial API and implementation
#     BEA - Daniel R Somerfield - Bug 88939
#     Remy Chi Jian Suen - Bug 221973
#     Axel Richard (Obeo) - Bug 41353 - Launch configurations prototypes
###############################################################################

JavaArgumentsTab__Arguments_16=Arguments
JavaArgumentsTab__Program_arguments__5=Program &arguments:
JavaArgumentsTab_Exception_occurred_reading_configuration___15=Exception occurred reading configuration:
JavaArgumentsTab_VM_ar_guments__6=VM ar&guments:
JavaArgumentsTab_AttributeLabel_ProgramArguments=Program arguments
JavaArgumentsTab_AttributeLabel_VMArguments=VM arguments
JavaArgumentsTab_AttributeLabel_UseAtStart=Use at start on 1st thread
JavaArgumentsTab_AttributeLabel_WorkingDirectory=WorkingDirectory

RuntimeClasspathAdvancedDialog_6=Add &Variable String:
RuntimeClasspathAdvancedDialog_7=Va&riables...

VMArgumentsBlock_0=Use the -&XstartOnFirstThread argument when launching with SWT
VMArgumentsBlock_1=Use temporary JAR to speci&fy classpath (to avoid classpath length limitations)
VMArgumentsBlock_VM_Arguments=VM Arguments

JavaConnectTab__Allow_termination_of_remote_VM_6=&Allow termination of remote VM
JavaConnectTab_Conn_ect_20=Connect
JavaConnectTab_Connect_ion_Type__7=Connect&ion Type:
JavaConnectTab_Project_does_not_exist_14=Project does not exist
JavaConnectTab_Connection_Properties_1=Conn&ection Properties:
JavaConnectTab_Unable_to_display_connection_arguments__2=Unable to Display Connection Arguments
JavaConnectTab__is_invalid__5=\ is invalid.

JavaJRETab__JRE_1=JRE
JavaJRETab_7=undefined
JavaJRETab_8=Workspace &default JRE ({0})
JavaJRETab_9=&Project JRE ({0})
JavaJRETab_4=workspace
JavaJRETab_3=project
JavaJRETab_2=JRE
JavaJRETab_1=Execution environment
JavaJRETab_10=Applying JRE Changes
JavaJRETab_11=Related tabs needs be updated due to the change, Go ahead with apply?
JavaJRETab_12=&Apply Now
JavaJRETab_13=Cancel
JavaJRETab_0={0} not compatible with {1} .class file compatibility: {2}
JavaJRETab_5=&Project execution environment ''{0}'' ({1})
JavaJRETab_AttributeLabel_JREContainerPath=JRE container path
JavaJRETab_AttributeLabel_VMAttributes=VM attributes
JavaMainTab_Choose_a_main__type_to_launch__12=Select &type (? = any character, * = any String, TZ = TimeZone):
JavaMainTab_Choose_Main_Type_11=Select Main Type
JavaApplicationLaunchShortcut_0=Select Java Application
JavaApplicationLaunchShortcut_1=Editor does not contain a main type
JavaApplicationLaunchShortcut_2=Selection does not contain a main type
JavaLaunchShortcut_0=Error
JavaLaunchShortcut_1=Launch Error
JavaLaunchShortcut_2=&Select existing configuration:
JavaLaunchShortcut_3=Error

JavaAppletLaunchShortcut_0=Select Java Applet
JavaAppletLaunchShortcut_1=Editor does not contain an applet
JavaAppletLaunchShortcut_2=Selection does not contain an applet
JavaMainTab__Main_19=Main
JavaMainTab_E_xt__jars_6=Includ&e system libraries when searching for a main class
JavaMainTab_Main_cla_ss__4=&Main class:
JavaMainTab_Main_type_not_specified_16=Main type not specified
JavaMainTab_St_op_in_main_1=St&op in main
JavaMainTab_19=Illegal project name: {0}
JavaMainTab_20=Project {0} does not exist
JavaMainTab_21=Project {0} is closed
JavaMainTab_22=Include in&herited mains when searching for a main class
JavaMainTab_missing_project=Project not specified

JavaLauncherTab_AttributeLabel_ProjectName=Project name
SharedJavaMainTab_AttributeLabel_MainTypeName=Main type name
JavaMainTab_AttributeLabel_StopInMain=Stop in main
JavaMainTab_AttributeLabel_IncludeExternalJars= Include external JARs
JavaMainTab_AttributeLabel_InheritedMain=Inherited main

JavaUISourceLocator_askagain_message=Do &not ask again
JavaUISourceLocator_selectprojects_message=The source of the type ''{0}'' could not be shown as the type was not found.
JavaUISourceLocator_selectprojects_title=Debugger Source Lookup

jdkLauncher_error_timeout=Timeout while waiting for VM to connect. Retry?

MainMethodSearchEngine_1=Searching for main types...
MainMethodSearchEngine_2=Searching for main types...
MainMethodLabelProvider_0=(default package)

SourceLookupBlock_Use_defau_lt_source_lookup_path_1=Use default source loo&kup path
SourceLookupBlock_Unable_to_save_source_lookup_path_1=Unable to save source lookup path

VMConnectTimeoutStatusHandler_Java_Application_1=Java Application

JavaClasspathTab_Cla_ss_path_3=Classpath
JavaClasspathTab_0=C&lasspath:
JavaClasspathTab_1=Referenced project [{0}] is not accessible.
JavaClasspathTab_Unable_to_save_classpath_1=Unable to save classpath
JavaClasspathTab_Invalid_runtime_classpath_1=Archive does not exist: {0}
JavaClasspathTab_Exclude_Test_Code=Exclude &test code

JavaClasspathTab_AttributeLabel_DefaultClasspath=Default classpath
JavaClasspathTab_AttributeLabel_Classpath=Classpath

JavaDependenciesTab_0=De&pendencies
JavaDependenciesTab_Dependencies_3=Dependencies

JavaSourceLookupTab_Source_1=Source

SourceLookupBlock_Source_1=Source
SourceLookupBlock__Source_Lookup_Path__1=S&ource Lookup Path:
SourceLookupBlock__Search_for_duplicate_source_files_on_path_1=Searc&h for duplicate source files on path

RuntimeClasspathAdvancedDialog_Advanced_Options_1=Advanced Options
RuntimeClasspathAdvancedDialog_Unable_to_create_new_entry__3=Unable to create new entry
RuntimeClasspathAdvancedDialog_Select_an_advanced_option__1=Select an advanced option:
RuntimeClasspathEntryLabelProvider_Invalid_path=Invalid path: {0}

appletlauncher_argumenttab_widthlabel_text=W&idth:
appletlauncher_argumenttab_heightlabel_text=&Height:
appletlauncher_argumenttab_namelabel_text=Na&me:
appletlauncher_argumenttab_parameterslabel_text=&Parameters:
appletlauncher_argumenttab_parameters_button_add_text=&Add...
appletlauncher_argumenttab_parameters_button_edit_text=&Edit...
appletlauncher_argumenttab_parameters_button_remove_text=Rem&ove
appletlauncher_argumenttab_width_error_notaninteger=Width is not a valid integer
appletlauncher_argumenttab_height_error_notaninteger=Height is not a valid integer
appletlauncher_argumenttab_parameters_dialog_add_title=Add Parameter Variable
appletlauncher_argumenttab_parameters_dialog_add_name_text=&Name:
appletlauncher_argumenttab_parameters_dialog_add_value_text=&Value:
appletlauncher_argumenttab_parameters_dialog_edit_title=Edit Parameter Variable
appletlauncher_argumenttab_parameters_dialog_edit_name_text=&Name
appletlauncher_argumenttab_parameters_dialog_edit_value_text=&Value
appletlauncher_argumenttab_name_defaultvalue=
appletlauncher_argumenttab_parameterscolumn_name_text=Name
appletlauncher_argumenttab_parameterscolumn_value_text=Value
appletlauncher_argumenttab_name=Parameters

appletlauncher_maintab_mainclasslabel_name=&Applet:
appletlauncher_maintab_selection_applet_dialog_title=Choose Applet
appletlauncher_maintab_project_error_doesnotexist=Project does not exist.
appletlauncher_maintab_type_error_doesnotexist=Applet type not specified.
appletlauncher_maintab_name=Main

appletlauncher_utils_error_main_type_not_specified=Applet class not specified
appletlauncher_utils_error_main_type_does_not_exist=Applet class {0} does not exist in project {1}
appletlauncher_search_task_inprogress=Searching applets...

AppletParametersTab__optional_applet_instance_name__1=(optional applet instance name)
AppletMainTab_1=App&let viewer:
AppletMainTab_2=&Use default Applet viewer class
AppletMainTab_3=Applet viewer class must be specified

JREContainerResolution_Select_a_system_library_to_use_when_building__0__2=Select a system library to use when building {0}
JREContainerResolution_Unable_to_update_classpath_1=Unable to update classpath

DefineSystemLibraryQuickFix_Create_a_system_library_definition_2=Create a system library definition

SelectDefaultSystemLibraryQuickFix_Select_Default_System_Library_1=Select Default System Library
SelectDefaultSystemLibraryQuickFix__Select_the_system_library_to_use_by_default_for_building_and_running_Java_projects__2=&Select the system library to use by default for building and running Java projects.
SelectDefaultSystemLibraryQuickFix_Unable_to_update_the_default_system_library__4=Unable to update default system library
SelectDefaultSystemLibraryQuickFix_Select_default_system_library_5=Select default system library
AppletSelectionDialog_Searching____1=Searching...

VMArgumentsBlock_4=Variable&s...
JavaArgumentsTab_5=Var&iables...
JreResolutionGenerator_open_ee_prefs=Open the Execution Environments preference page
JreResolutionGenerator_opens_ee_prefs=Opens the Execution Environments preference page
JreResolutionGenerator_open_cc_props=Open the Compiler Compliance property page
JreResolutionGenerator_opens_cc_props=Opens the Compiler Compliance property page
AbstractJavaMainTab_0=&Project:
AbstractJavaMainTab_1=&Browse...
AbstractJavaMainTab_2=&Search...
AbstractJavaMainTab_4=Project Selection
AbstractJavaMainTab_3=Select a project to constrain your search.
ClasspathTooLongStatusHandler_0=Java Application
ClasspathTooLongStatusHandler_1=Cannot start the Java Virtual Machine because classpath is too long. Do you want to enable classpath-only jar for this launch configuration ?
ExecutionEnvironmentSelector_0=Select Execution Environment
ExecutionEnvironmentSelector_1=Choose an environment (? = any character, * = any string):
ProjectClasspathArugumentSelector_0=Select Java Project
ProjectClasspathArugumentSelector_1=Choose a project (? = any character, * = any string):
