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

localJavaApplication = Java Application
eclipseJDTLauncher.name=Eclipse JDT Launcher
localAdvancedJavaApplication.name=Eclipse JDT Advanced
localJavaApplicationDelegate.description=The Eclipse JDT Java Application Launcher supports running and debugging local Java applications.
localAdvancedJavaApplicationDelegate.description=The Eclipse JDT Advanced Java Application Launcher supports running and debugging local Java applications.
pluginName = Java Development Tools Launching Support
remoteJavaApplication = Remote Java Application
remoteAdvancedJavaApplication.name = Advanced Remote Java Application
remoteJavaApplicationDelegate.description=The Eclipse JDT Java Remote Launcher supports attaching to and debugging remote Java applications.
remoteAdvancedJavaApplicationDelegate.description=The Eclipse JDT Java Remote Launcher with advanced source code lookup.
vmConnectors = VM Connectors
vmInstallTypes = VM Install Types
vmInstalls = VM Installs
runtimeClasspathEntryResolvers = Runtime Classpath Entry Resolvers
runtimeClasspathEntries = Runtime Classpath Entries
classpathProviders = Runtime Classpath Providers
javaSourceLocatorName = Basic Java Source Locator
executionEnvironments = Execution Environments
libraryLocationResolvers = Library Location Resolvers
projectSourceDescribers = Project Source Describers
sourceContainerResolvers = Source Container Resolvers

providerName=Eclipse.org

jreContainerMarkerProblemName=JRE System Library Problem

appletLabel= Java Applet
javaAppletDelegate.description=The Eclipse JDT Java Applet Launcher supports running and debugging Java applets.

javaSourceLookupDirector.name= Java Source Locator
javaAdvancedSourceLookupDirector.name= Java Advanced Source Locator

launchingTrace.name = JDT Launching

javaProjectSourceContainerType.name= Java Project
javaProjectSourceContainerType.description = Source folders in a Java Project
packageFragmentRootSourceContainerType.name= Package Fragment Root
packageFragmentRootSourceContainerType.description= Java source folder or source attached to an archive 
classpathVariableSourceContainerType.name= Java Classpath Variable
classpathVariableSourceContainerType.description= Workspace folder, local directory, or archive referenced by a variable path
classpathContainerSourceContainerType.name= Java Library
classpathContainerSourceContainerType.description= A collection of binary archives with attached source

environment.description.0 = Minimum environment to run the OSGi framework 1.0
environment.description.1 = Minimum environment to run the OSGi framework 1.1
environment.description.10 = Minimum environment to run the OSGi framework 1.2
environment.description.2 = Java Runtime Environment 1.1
environment.description.3 = Java 2 Platform, Standard Edition 1.2
environment.description.4 = Java 2 Platform, Standard Edition 1.3
environment.description.5 = Java 2 Platform, Standard Edition 1.4
environment.description.6 = Java 2 Platform, Standard Edition 5.0
environment.description.7 = CDC 1.0, Foundation 1.0
environment.description.8 = CDC 1.1, Foundation 1.1
environment.description.9 = Java Platform, Standard Edition 6.0
environment.description.11 = Java Platform, Standard Edition 7.0
environment.description.12 = Java Platform, Standard Edition 8.0
environment.description.13 = Java Platform, Standard Edition 9
environment.description.14 = Java Platform, Standard Edition 10

classpathVariableInitializer.deprecated = Use the JRE System Library instead

ee.home.description = Returns the absolute file system path of the JRE home directory corresponding to the specified execution environment. An execution environment identifier must be provided as an argument.
project.classpath.description = Returns the resolved class path of a project. A project name can be provided as an argument. If no argument is provided, the target project is the project of the selected resource.
sourcelookup.javaagent.description = Returns absolute filesystem path of source lookup java agent.