######################################################################
#Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
#This file is made available under the terms of the Common Public License v1.0
#which accompanies this distribution, and is available at
#http://www.eclipse.org/legal/cpl-v10.html
######################################################################

addVMDialog.browse1=&Browse...
addVMDialog.duplicateName=The name is already used.
addVMDialog.enterLocation=Enter the location of the JRE.
addVMDialog.enterName=Enter a name for the JRE.
addVMDialog.jreHome=&JRE home directory:
addVMDialog.jreName=JRE &name:
addVMDialog.jreType=JRE &type:
addVMDialog.locationNotExists=The location does not exist.
addVMDialog.pickJRERootDialog.message=&Select the root directory of the JRE installation:
AddVMDialog.JRE_system_libraries__1=JRE s&ystem libraries:
AddVMDialog.Java&doc_URL__1=Ja&vadoc URL:
AddVMDialog.Bro&wse..._2=Bro&wse...
AddVMDialog.Select_Javadoc_location__3=Select Javadoc location:
AddVMDialog.JRE_name_must_be_a_valid_file_name__{0}_1=JRE name must be a valid file name: {0}
AddVMDialog.Invalid_URL_syntax_specified_for_Javadoc_location._1=Invalid URL syntax specified for Javadoc location.

JavaArgumentsTab.&Arguments_16=Arguments
JavaArgumentsTab.&Browse_3=&Browse...
JavaArgumentsTab.&Program_arguments__5=Program &arguments:
JavaArgumentsTab.Exception_occurred_reading_configuration___15=Exception occurred reading configuration: 
JavaArgumentsTab.Select_a_&working_directory_for_the_launch_configuration__7=Select a &working directory for the launch configuration:
JavaArgumentsTab.Use_de&fault_working_directory_4=Use &default working directory
JavaArgumentsTab.VM_ar&guments__6=VM ar&guments:
JavaArgumentsTab.Wor&king_directory__2=Working directory:
JavaArgumentsTab.Working_directory_does_not_exist_10=Working directory does not exist
JavaArgumentsTab.Working_directory_is_not_a_directory_11=Working directory is not a directory

VMArgumentsBlock.VM_Arguments=VM Arguments

JavaConnectTab.&Allow_termination_of_remote_VM_6=&Allow termination of remote VM
JavaConnectTab.&Browse_3=&Browse...

JavaConnectTab.&Project__2=&Project:
JavaConnectTab.Choose_a_project_to_constrain_the_search_for_main_types_11=Choose a &project to constrain the search for main types:
JavaConnectTab.Conn&ect_20=Connect
JavaConnectTab.Connect&ion_Type__7=Connect&ion Type:

JavaConnectTab.Project_does_not_exist_14=Project does not exist
JavaConnectTab.Project_selection_10=Project selection
JavaConnectTab.Connection_Properties_1=Connection Properties
JavaConnectTab.Unable_to_display_connection_arguments._2=Unable to display connection arguments.
JavaConnectTab._is_invalid._5=\ is invalid.

JavaEnvironmentTab.Use_defau&lt_classpath_10=Use default class pat&h

JavaJRETab.JRE_home_directory_does_not_exist_37=JRE home directory does not exist
JavaJRETab.JRE_home_directory_not_specified_36=JRE home directory not specified
JavaJRETab.JRE_not_specified_38=JRE not specified
JavaJRETab.&JRE_1=JRE
JavaJRETab.Add=&Add...
JavaJRETab.Run_with_JRE__1=&JRE:
JavaJRETab.Default_1=Default
JavaJRETab.Unable_to_initialize_defaults_for_selected_JRE_1=Unable to initialize defaults for selected JRE
JavaJRETab.Configuration_specifies_undefined_JRE_-_{0}_1=Configuration specifies undefined JRE - {0}

JavaMainTab.&Browse_3=&Browse...
JavaMainTab.&Main_19=Main
JavaMainTab.&Project__2=&Project:
JavaMainTab.Choose_a_&project_to_constrain_the_search_for_main_types__14=Choose a &project to constrain the search for main types:
JavaMainTab.Choose_a_main_&type_to_launch__12=Choose a main &type to launch:
JavaMainTab.Choose_Main_Type_11=Choose Main Type
JavaMainTab.E&xt._jars_6=Include e&xternal jars when searching for a main class
JavaMainTab.Main_cla&ss__4=&Main class:
JavaMainTab.Main_type_not_specified_16=Main type not specified
JavaMainTab.Project_does_not_exist_15=Project does not exist
JavaMainTab.Project_Selection_13=Project Selection
JavaMainTab.Searc&h_5=&Search...
JavaMainTab.St&op_in_main_1=St&op in 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?

MainMethodFinder.description=Searching types with 'main'...

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

vmPreferencePage.add=&Add...
vmPreferencePage.addJRE.title=Add JRE
VMPreferencePage.Could_not_set_classpath_variables._2=Could not set classpath variables.
vmPreferencePage.edit=&Edit...
vmPreferencePage.editJRE.title=Edit JRE
vmPreferencePage.error.exception=An exception occurred while saving configuration data
vmPreferencePage.error.title=JRE Configuration
VMPreferencePage.Installed_JRE_location_no_longer_exists.__JRE_will_be_removed_2=Installed JRE location no longer exists.  JRE will be removed
VMPreferencePage.Installed_JREs_1=Installed JREs
VMPreferencePage.JRE_removed_3=JRE removed
vmPreferencePage.jreLocation=Location
vmPreferencePage.jreName=Name
vmPreferencePage.jreType=JRE Type
vmPreferencePage.message=Create, remove or edit JRE definitions.\nThe &checked JRE will be used by default to build and run Java programs.
vmPreferencePage.remove=&Remove
vmPreferencePage.title=Installed Java Runtime Environments
VMPreferencePage.Build_failed._1=Build failed.
VMPreferencePage.&Search..._1=&Search...
VMPreferencePage.Select_a_directory_to_search_in._2=Select a directory to search in.
VMPreferencePage.Directory_Selection_3=Directory Selection
VMPreferencePage.Searching..._4=Searching...
VMPreferencePage.Found__{0}_-_Searching_{1}_7=Found: {0} - Searching {1}
VMPreferencePage.Information_1=Information
VMPreferencePage.No_JREs_found_in_{0}_2=No JREs found in {0}
VMPreferencePage.JRE_Settings_Changed_1=JRE Settings Changed
VMPreferencePage.The_JRE_settings_have_changed._A_full_build_is_required_to_make_the_changes_effective._Do_the_full_build_now__2=The JRE settings have changed. A full build is required to make the changes effective. Do the full build now?
VMPreferencePage.&Yes_3=&Yes
VMPreferencePage.&No_4=&No
VMPreferencePage.&Cancel_1=&Cancel

JavaClasspathTab.Us&er_classes_1=User c&lasses
JavaClasspathTab.&Bootstrap_classes_2=&Bootstrap classes
JavaClasspathTab.Cla&ss_path_3=Classpath
JavaClasspathTab.Unable_to_save_classpath_1=Unable to save classpath

JavaSourceLookupTab.Source_1=Source

JavaApplicationAction.Launch_failed__no_main_type_found_1=Launch failed: no main type found
JavaApplicationAction.Type_Selection_Debug=Debug Type
JavaApplicationAction.Type_Selection_Run=Run Type
JavaApplicationAction.Launch_failed_7=Launch failed
JavaApplicationAction.Launch_Configuration_Selection_1=Launch Configuration Selection
JavaApplicationAction.Choose_a_launch_configuration_to_debug_2=Choose a launch configuration to deb&ug:
JavaApplicationAction.Choose_a_launch_configuration_to_run_3=Choose a launch configuration to r&un:

MainTypeSelectionDialog.Choose_a_type=&Choose a type (? = any character, * = any string):
MainTypeSelectionDialog.Matching_types=&Matching types:
MainTypeSelectionDialog.Qualifier=&Qualifier:

VMLibraryBlock.Use_default_system_libraries_1=&Use default system libraries
VMLibraryBlock.Libraries_cannot_be_empty._1=Libraries cannot be empty.
VMLibraryBlock.Default_libraries_do_not_exist._1=Default libraries do not exist.

WorkingDirectoryBlock.&Local_directory__1=&Local directory:
WorkingDirectoryBlock.Works&pace__2=Works&pace:
WorkingDirectoryBlock.B&rowse..._3=B&rowse...
WorkingDirectoryBlock.Select_a_&workspace_relative_working_directory__4=Select a &workspace relative working directory:
WorkingDirectoryBlock.Specified_project_or_folder_does_not_exist._5=Specified project or folder does not exist.
WorkingDirectoryBlock.Working_Directory_8=Working Directory

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

JREContainerWizardPage.JRE_System_Library_1=JRE System Library
JREContainerWizardPage.Unable_to_set_JRE_for_project._2=Unable to set JRE for project.
JREContainerWizardPage.Select_the_JRE_used_to_build_this_project._4=Select a JRE to add to the classpath.
JREContainerWizardPage.Unable_to_retrieve_existing_JREs_6=Unable to retrieve existing JREs

RuntimeClasspathAdvancedDialog.Advanced_Options_1=Advanced Options
RuntimeClasspathAdvancedDialog.Add_&Container__1=Add &Container:
RuntimeClasspathAdvancedDialog.Select_Container_2=Select Container
RuntimeClasspathAdvancedDialog.Unable_to_create_new_entry._3=Unable to create new entry.
RuntimeClasspathAdvancedDialog.Select_an_advanced_option__1=Select an advanced option:

AbstractJavaCommandTab.Name_of_Java_e&xecutable__1=Name of Java e&xecutable:
AbstractJavaCommandTab.Use_de&fault_Java_executable_2=U&se default Java executable
AbstractJavaCommandTab.Standard_VM_Java_Command_3=Standard VM Java Command
AbstractJavaCommandTab._4=
AbstractJavaCommandTab.Java_executable_must_be_specified_5=Java executable must be specified

RuntimeClasspathEntryLabelProvider.JRE_System_Library_[{0}]_2=JRE System Library [{0}]

appletlauncher.argumenttab.widthlabel.text=Wi&dth:
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=Ed&it...
appletlauncher.argumenttab.parameters.button.remove.text=Rem&ove
appletlauncher.argumenttab.width.error.notaninteger=Width is not an integer
appletlauncher.argumenttab.height.error.notaninteger=Height is not an 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.projectlabel.name=&Project:
appletlauncher.maintab.browselabel.name=&Browse...
appletlauncher.maintab.mainclasslabel.name=&Applet class:
appletlauncher.maintab.searchlabel.name=Searc&h...
appletlauncher.maintab.selection.applet.dialog.title=Choose Applet
appletlauncher.maintab.selection.applet.dialog.message=Choose an applet to launch:
appletlauncher.maintab.selection.project.dialog.title=Project Selection
appletlauncher.maintab.selection.project.dialog.message=Choose a &project to constrain the search for applet types:
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 type not specified
appletlauncher.utils.error.main_type_does_not_exist=Applet type does not exist
appletlauncher.appletconfiguration.error.not_an_applet=The applet type is not a subclass of java.applet.Applet.
appletlauncher.appletconfiguration.error.no_vm_runner=Internal error: JRE {0} does not specify a VM Runner.

appletlauncher.search.dialog.title=Applet Launch
appletlauncher.search.dialog.error.noapplets=No applets found.
appletlauncher.search.task.inprogress=Searching applets...

appletlauncher.launching.error.failure=Java applet launch failed

appletlauncher.selection.type.dialog.title=Applet selection
appletlauncher.selection.type.dialog.message.debug=Select applet to debug
appletlauncher.selection.type.dialog.message.run=Select applet to run
appletlauncher.selection.configuration.dialog.title=Select an applet Configuration
appletlauncher.selection.configuration.dialog.message.debug=Select an Applet configuration to debug
appletlauncher.selection.configuration.dialog.message.run=Select an Applet configuration to run

AppletParametersTab.(optional_applet_instance_name)_1=(optional applet instance name)
AppletMainTab.Name_of_appletviewer_class__1=Name of appletviewer class:
AppletMainTab.Use_default_appletviewer_class_2=Use default appletviewer class
AppletMainTab.Appletviewer_class_must_be_specified_3=Appletviewer class must be specified

JREContainerResolution.An_exception_occurred_while_updating_the_classpath._1=An exception occurred while updating the classpath.
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

JREResolution.Select_System_Library_1=Select System Library
JREResolution.Select_a_system_library_to_use_when_building_{0}_2=Select a system library to use when building {0}

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.An_exception_occurred_while_updating_the_default_system_library._3=An exception occurred while updating the default system library.
SelectDefaultSystemLibraryQuickFix.Unable_to_update_the_default_system_library._4=Unable to update the default system library.
SelectDefaultSystemLibraryQuickFix.Select_default_system_library_5=Select default system library
