######################################################################
#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:

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

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...

javaProjectPropertyPage.closed=Java information is not available for a closed project.

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

JDKDebugLauncher.Setting_a_working_directory=Eclipse is not able to set the working directory specified by the program being launched as the current runtime does not support working directories.\nContinue launch without setting the working directory?

jdkLauncher.error.timeout=Timeout while waiting for VM to connect. Retry?

MainMethodFinder.description=Searching types with 'main'...

ProcessPropertyPage.cmdLine=Command Line:

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.

WorkingDirectoryStatusHandler.Java_Application_1=Java Application

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_4=Type Selection
JavaApplicationAction.Choose_a_&main_type_to_debug__5=Choose a &main type to debug:
JavaApplicationAction.Choose_a_&main_type_to_run__6=Choose a &main type to run:
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:

VMLibraryBlock.Use_default_system_libraries_1=&Use default system libraries

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

SourceAttachmentBlock.Ar&chive_variable_path__1=Ar&chive variable path:
SourceAttachmentBlock.E&xtension..._2=E&xtension...
SourceAttachmentBlock.&Variable..._3=&Variable...
SourceAttachmentBlock.Ex&tension..._3=Ex&tension...
SourceAttachmentBlock.V&ariable..._4=V&ariable...
SourceAttachmentBlock.R&oot_variable_path__4=R&oot variable path:
SourceAttachmentBlock.Ar&chive__7=Ar&chive:
SourceAttachmentBlock.Browse_&File_System..._8=Browse &File System...
SourceAttachmentBlock.Browse_&Workspace..._9=Browse &Workspace...
SourceAttachmentBlock.R&oot_Path__10=R&oot Path:
SourceAttachmentBlock.&Browse..._11=&Browse...
SourceAttachmentBlock.Select_the_archive_file_(JAR_or_zip)_containing_the_source_for_____{0}______12=Select the archive file (JAR or zip) containing the source for \'\'{0}\'\':
SourceAttachmentBlock.Source_attachments_for_variable_entries_are_defined_by_variable_paths._The_first_segment_of_such_a_path_describes_a_variable_name,_the_rest_is_an_optional_path_extension._13=Source attachments for variable entries are defined by variable paths. The first segment of such a path describes a variable name, the rest is an optional path extension.
SourceAttachmentBlock.Define_the_root_of_the_package_structure_in_the_archive._For_example,_when_the_archive_contains_src/java/lang/Object.java,_the_root_path_would_be___src__._14=Define the root of the package structure in the archive. For example, when the archive contains src/java/lang/Object.java, the root path would be \'src\'.
SourceAttachmentBlock.Root_path_is_not_a_valid_path._15=Root path is not a valid path.
SourceAttachmentBlock.Root_path_variable_must_not_contain_a_device._17=Root path variable must not contain a device.
SourceAttachmentBlock.Root_path_must_not_contain_a_device._18=Root path must not contain a device.
SourceAttachmentBlock.Variable_in_the_archive_path_does_not_exist._22=Variable in the archive path does not exist.
SourceAttachmentBlock.The_archive_path_____{0}_____does_not_exist._24=The archive path \'\'{0}\'\' does not exist.
SourceAttachmentBlock.JAR/ZIP_File_Selection_26=JAR/ZIP File Selection
SourceAttachmentBlock.&Select_JAR/ZIP_file_containing_the_source__28=&Select JAR/ZIP file containing the source:
SourceAttachmentBlock.Package_Structure_Root_Selection_29=Package Structure Root Selection
SourceAttachmentBlock.Problem_While_Opening_31=Problem While Opening

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

UnresolvedJREStatusHandler.Error_1=Error
UnresolvedJREStatusHandler.Unable_to_resolve_system_library._Select_an_alternate_JRE._2=Unable to resolve system library. Select an alternate JRE.

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:

SourceLookupBlock.Source_1=Source
SourceLookupBlock.&Source_Lookup_Path__1=S&ource Lookup Path:

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

VMLibraryBlock.Libraries_cannot_be_empty._1=Libraries cannot be empty.

