###############################################################################
# Copyright (c) 2000, 2018 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

AbstractJavaLaunchConfigurationDelegate_Java_project_not_specified_9=Java project not specified
AbstractJavaLaunchConfigurationDelegate_JRE_home_directory_for__0__does_not_exist___1__6=JRE home directory for {0} does not exist: {1}
AbstractJavaLaunchConfigurationDelegate_JRE_home_directory_not_specified_for__0__5=JRE home directory not specified for {0}
AbstractJavaLaunchConfigurationDelegate_Main_type_not_specified_11=Main type not specified
AbstractJavaLaunchConfigurationDelegate_Project_does_not_exist_or_is_not_a_Java_project_10=Project does not exist or is not a Java project
AbstractJavaLaunchConfigurationDelegate_The_specified_JRE_installation_does_not_exist_4=The specified JRE installation does not exist
AbstractJavaLaunchConfigurationDelegate_Working_directory_does_not_exist___0__12=Working directory does not exist: {0}

ClasspathContainerSourceContainerTypeDelegate_5=Missing required <path> attribute in Java classpath container source container memento.
ClasspathContainerSourceContainerTypeDelegate_6=Missing required <classpathContainer> attribute in Java classpath container source container memento.
ClasspathContainerSourceContainerTypeDelegate_7=Invalid format for Java classpath container source container memento.

ClasspathVariableSourceContainerTypeDelegate_5=Missing required <path> attribute in Java classpath variable source container memento.
ClasspathVariableSourceContainerTypeDelegate_6=Missing required <classpathVariable> attribute in Java classpath variable source container memento.
ClasspathVariableSourceContainerTypeDelegate_7=Invalid format for Java classpath variable source container memento.

DefaultProjectClasspathEntry_3=Invalid memento - expecting name attribute
DefaultProjectClasspathEntry_4={0} (default classpath)
DefaultProjectClasspathEntry_2={0} (default classpath - exported entries only)

JavaLocalApplicationLaunchConfigurationDelegate_Verifying_launch_attributes____1=Verifying launch attributes...
JavaLocalApplicationLaunchConfigurationDelegate_Creating_source_locator____2=Creating source locator...
JavaLocalApplicationLaunchConfigurationDelegate_0=JRE {0} does not support debug mode.

JavaProjectSourceContainerTypeDelegate_5=Missing required <name> attribute in Java project source container memento.
JavaProjectSourceContainerTypeDelegate_6=Missing required <javaProject> attribute in Java project source container memento.
JavaProjectSourceContainerTypeDelegate_7=Invalid format for Java project source container memento.

JavaRemoteApplicationLaunchConfigurationDelegate_Connector_not_specified_2=Connector not specified
JavaRemoteApplicationLaunchConfigurationDelegate_Attaching_to__0_____1=Attaching to {0}...
JavaRemoteApplicationLaunchConfigurationDelegate_Verifying_launch_attributes____1=Verifying launch attributes...
JavaRemoteApplicationLaunchConfigurationDelegate_Creating_source_locator____2=Creating source locator...

JavaRuntime_badFormat=Invalid format
JavaRuntime_Specified_VM_install_type_does_not_exist___0__2=Specified VM install type does not exist: {0}
JavaRuntime_Specified_VM_install_not_found__type__0___name__1__2=Specified VM install not found: type {0}, name {1}
JavaRuntime_Launch_configuration__0__references_non_existing_project__1___1=Launch configuration {0} references non-existing project {1}.
JavaRuntime_Could_not_resolve_classpath_container___0__1=Could not resolve classpath container: {0}
JavaRuntime_Classpath_references_non_existant_project___0__3=The project: {0} which is referenced by the classpath, does not exist.
JavaRuntime_Classpath_references_non_existant_archive___0__4=The archive: {0} which is referenced by the classpath, does not exist.
JavaRuntime_24=Failed to create installed JRE
JavaRuntime_26=Referenced classpath provider does not exist: {0}
JavaRuntime_27=Referenced source lookup provider does not exist: {0}
JavaRuntime_28=Launch configuration {0} references closed project {1}
JavaRuntime_25=JRE
JavaRuntime_32=Unable to restore classpath entry.
LaunchingPlugin_32=Unable to create runtime classpath entry for unknown type {0}
LaunchingPlugin_34=Unable to create XML parser.
LaunchingPlugin_35=Build path specifies execution environment {0}. There are no JREs installed in the workspace that are strictly compatible with this environment. 
LaunchingPlugin_36=Build path specifies execution environment {0}. A compatible JRE is available but has been overridden.
LaunchingPlugin_37=Build path
LaunchingPlugin_38=Build path specifies execution environment {0}. There are no compatible JREs installed in the workspace.
LaunchingPlugin_0=Updating build paths
LaunchingPlugin_1=Update Installed JREs

libraryLocation_assert_libraryNotNull=library cannot be null

SocketAttachConnector_Failed_to_connect_to_remote_VM_1=Failed to connect to remote VM
SocketAttachConnector_Socket_attaching_connector_not_available_3=Socket attaching connector not available
SocketAttachConnector_Standard__Socket_Attach__4=Standard (Socket Attach)
SocketAttachConnector_Failed_to_connect_to_remote_VM_because_of_unknown_host____0___1=Failed to connect to remote VM because of unknown host \"{0}"
SocketAttachConnector_Failed_to_connect_to_remote_VM_as_connection_was_refused_2=Failed to connect to remote VM. Connection refused.
SocketAttachConnector_Connecting____1=Connecting...
SocketAttachConnector_0=Failed to connect to remote VM. Connection timed out.
SocketListenConnector_0=Socket listening connector not available
SocketListenConnector_1=Standard (Socket Listen)
SocketListenConnector_2=Initializing listening connector...
SocketListenConnector_3=Starting listening connector on port {0}...
SocketListenConnector_4=Listening for remote VM connection failed
SocketListenConnectorProcess_0=Cannot terminate, process has already been terminated
SocketListenConnectorProcess_1=Waiting for vm to connect at port {0}...
SocketListenConnectorProcess_4=Listening for incoming remote VM connection failed.
SocketListenConnectorProcess_5=Problem stopping the listening connector
SocketAttachConnector_Configuring_connection____1=Configuring connection...
SocketAttachConnector_Establishing_connection____2=Establishing connection...

StandardVMDebugger_Could_not_find_a_free_socket_for_the_debugger_1=Cannot find a free socket for the debugger
StandardVMDebugger_Couldn__t_connect_to_VM_4=Cannot connect to VM
StandardVMDebugger_Couldn__t_connect_to_VM_5=Cannot connect to VM
StandardVMDebugger_Couldn__t_find_an_appropriate_debug_connector_2=Cannot find an appropriate debug connector
StandardVMDebugger_Launching_VM____1=Launching VM...
StandardVMDebugger_Finding_free_socket____2=Finding free socket...
StandardVMDebugger_Constructing_command_line____3=Constructing command line...
StandardVMDebugger_Starting_virtual_machine____4=Starting virtual machine...
StandardVMDebugger_Establishing_debug_connection____5=Establishing debug connection...

StandardVMRunner__0____1___2={0} ({1})
StandardVMRunner__0__at_localhost__1__1={0} at localhost:{1}
StandardVMRunner_Specified_working_directory_does_not_exist_or_is_not_a_directory___0__3=Specified working directory does not exist or is not a directory: {0}
StandardVMRunner_Launching_VM____1=Launching VM...
StandardVMRunner_Constructing_command_line____2=Constructing command line...
StandardVMRunner_Starting_virtual_machine____3=Starting virtual machine...
StandardVMRunner_Unable_to_locate_executable_for__0__1=Unable to locate executable for {0}
StandardVMRunner_Specified_executable__0__does_not_exist_for__1__4=Specified executable {0} does not exist for {1}

StandardVMType_Not_a_JDK_Root__Java_executable_was_not_found_1=Target is not a JDK Root. Java executable was not found
StandardVMType_ok_2=ok
StandardVMType_Standard_VM_3=Standard VM
StandardVMType_Not_a_JDK_root__System_library_was_not_found__1=Target is not a JDK root. System library was not found.

vmInstall_assert_idNotNull=id cannot be null
vmInstall_assert_typeNotNull=VM type cannot be null
vmInstall_could_not_determine_java_Version=Could not determine Java version for location {0}.

vmInstallType_duplicateVM=Duplicate VM: {0}

vmRunnerConfig_assert_classNotNull=classToLaunch cannot be null
vmRunnerConfig_assert_classPathNotNull=classPath cannot be null
vmRunnerConfig_assert_programArgsNotNull=args cannot be null
vmRunnerConfig_assert_vmArgsNotNull=args cannot be null

RuntimeClasspathEntry_Unable_to_recover_runtime_class_path_entry_type_2=Unable to recover runtime class path entry type
RuntimeClasspathEntry_Unable_to_recover_runtime_class_path_entry_location_3=Unable to recover runtime class path entry location
RuntimeClasspathEntry_Unable_to_recover_runtime_class_path_entry___missing_project_name_4=Unable to recover runtime class path entry - missing project name
RuntimeClasspathEntry_Unable_to_recover_runtime_class_path_entry___missing_archive_path_5=Unable to recover runtime class path entry - missing archive path
RuntimeClasspathEntry_Unable_to_recover_runtime_class_path_entry___missing_variable_name_6=Unable to recover runtime class path entry - missing variable name
RuntimeClasspathEntry_Illegal_classpath_entry__0__1=Illegal classpath entry {0}

JREContainer_JRE_System_Library_1=JRE System Library [{0}]

SocketAttachConnector_Port_unspecified_for_remote_connection__2=Port unspecified for remote connection.
SocketAttachConnector_Hostname_unspecified_for_remote_connection__4=Hostname unspecified for remote connection.

JREContainerInitializer_JRE_referenced_by_classpath_container__0__does_not_exist__1=JRE referenced by classpath container {0} does not exist.
JREContainerInitializer_Classpath_entry__0__does_not_refer_to_an_existing_library__2=Classpath entry {0} does not refer to an existing library.
JREContainerInitializer_Classpath_entry__0__does_not_refer_to_a_library__3=Classpath entry {0} does not refer to a library.
JREContainerInitializer_Default_System_Library_1=Default System Library

ArchiveSourceLocation_Unable_to_initialize_source_location___missing_archive_path__3=Unable to initialize source location - missing archive path.
ArchiveSourceLocation_Exception_occurred_initializing_source_location__5=Exception occurred initializing source location.
ArchiveSourceLocation_Unable_to_locate_source_element_in_archive__0__1=Unable to locate source element in archive {0}
ArchiveSourceLocation_Exception_occurred_while_detecting_root_source_directory_in_archive__0__1=Exception occurred while detecting root source directory in archive {0}
ArchiveSourceLocation_Exception_occurred_while_detecting_root_source_directory_in_archive__0__2=Exception occurred while detecting root source directory in archive {0}

DirectorySourceLocation_Unable_to_initialize_source_location___missing_directory_path_3=Unable to initialize source location - missing directory path
DirectorySourceLocation_Unable_to_initialize_source_location___directory_does_not_exist___0__4=Unable to initialize source location - directory does not exist: {0}
DirectorySourceLocation_Exception_occurred_initializing_source_location__5=Exception occurred initializing source location.

JavaProjectSourceLocation_Unable_to_initialize_source_location___missing_project_name_3=Unable to initialize source location - missing project name
JavaProjectSourceLocation_Exception_occurred_initializing_source_location__4=Exception occurred initializing source location.

JavaSourceLocator_Illegal_to_have_a_container_resolved_to_a_container_1=A container cannot resolve to another container
JavaSourceLocator_Unable_to_restore_Java_source_locator___invalid_format__6=Unable to restore Java source locator - invalid format.
JavaSourceLocator_Unable_to_restore_Java_source_locator___invalid_format__10=Unable to restore Java source locator - invalid format.
JavaSourceLocator_Unable_to_restore_source_location___class_not_found___0__11=Unable to restore source location - class not found: {0}
JavaSourceLocator_Unable_to_restore_source_location__12=Unable to restore source location.
JavaSourceLocator_Unable_to_restore_Java_source_locator___invalid_format__14=Unable to restore Java source locator - invalid format.
JavaSourceLocator_Exception_occurred_initializing_source_locator__15=Exception occurred initializing source locator.

Standard11xVMType_Standard_1_1_x_VM_1=Standard 1.1.x VM

PackageFragmentRootSourceLocation_Unable_to_initialize_source_location___missing_handle_identifier_for_package_fragment_root__6=Unable to initialize source location - missing handle identifier for package fragment root.
PackageFragmentRootSourceLocation_Unable_to_initialize_source_location___package_fragment_root_does_not_exist__7=Unable to initialize source location - package fragment root does not exist.
PackageFragmentRootSourceLocation_Exception_occurred_initializing_source_location__8=Exception occurred initializing source location.
JavaAppletLaunchConfigurationDelegate_Could_not_build_HTML_file_for_applet_launch_1=Could not build HTML file for applet launch
AbstractVMRunner_0=An IProcess could not be created for the launch
AbstractVMInstall_0=Unable to retrieve system properties: {0}
AbstractVMInstall_1=Evaluating system properties
AbstractVMInstall_3=Reading system properties
AbstractVMInstall_4=Exception retrieving system properties: {0}
AbstractJavaLaunchConfigurationDelegate_20=Building prerequisite project list

PackageFragmentRootSourceContainerTypeDelegate_6=Missing required <handle> attribute
PackageFragmentRootSourceContainerTypeDelegate_7=Unable to restore package fragment root source container
PackageFragmentRootSourceContainerTypeDelegate_8=Missing required <packageFragmentRoot> attribute
ProjectClasspathVariableResolver_1=Specified Java project ''{0}'' does not exist.
ProjectClasspathVariableResolver_2=Unable to resolve project for: ${project_classpath}
ProjectClasspathVariableResolver_3=Variable references empty selection: ${project_classpath}
EEVMType_1=Description is missing required property ''{0}''
EEVMType_2=Execution Environment Description
EEVMType_3=Install location (-Djava.home) does not exist: {0}
EEVMType_4=Unable to validate install location
EEVMType_5=Problem with EE file -Dee.source.map property. Wildcards in source location do not match wildcards in library location. Entry was: {0}
EEVMType_6=Problem with EE file -Dee.source.map property. Library location and source location must be separated by a ''='' character. Entry was: {0}
ExecutionEnvironmentDescription_0=Description file not found {0}
ExecutionEnvironmentDescription_1=Error reading description file {0}
MacInstalledJREs_0=Parsing installed VM information
MacInstalledJREs_1=Found installed JRE: {0} ({1})
VMDefinitionsContainer_0=Installed JRE ''{0}'' removed due to missing VM type extension.
VMDefinitionsContainer_2=Installed JRE of type ''{0}'' removed due to missing VM type extension.
VMDefinitionsContainer_3=Installed JRE of type ''{0}'' removed due to missing install path and name.
VMDefinitionsContainer_4=Installed JRE ''{0}'' removed due to missing name.
VMDefinitionsContainer_5=Installed JRE ''{0}'' removed due to missing install path.
VMDefinitionsContainer_6=Unable to restore Javadoc location for installed JRE ''{0}''.
VMDefinitionsContainer_7=Installed JRE ''{0}'' removed due to missing id.
VMDefinitionsContainer_9=Installed JRE of type ''{0}'' removed due to missing install path, name, and id.
VMDefinitionsContainer_10=Installed JREs
RunnerBootpathError=Xbootclasspath option have been removed as not supported beyond Java 8.
RunnerBootpathPError=Xbootclasspath/p option have been removed as not supported beyond Java 8.
VMLogging_1=Restoring vm library location:
VMLogging_2=Creating Library with Java Install path:
VMLogging_3=Default Install retrieved: