###############################################################################
# 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
#
# This is an implementation of an early-draft specification developed under the Java
# Community Process (JCP) and is made available for testing and evaluation purposes
# only. The code is not compatible with any specification of the JCP.
 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

localJavaApplication = Java Application
eclipseJDTLauncher.name=Eclipse JDT Launcher
localJavaApplicationDelegate.description=The Eclipse JDT Java Application Launcher supports running and debugging local Java applications.
pluginName = Java Development Tools Launching Support
remoteJavaApplication = Remote Java Application
remoteJavaApplicationDelegate.description=The Eclipse JDT Java Remote Launcher supports attaching to and debugging remote Java applications.
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

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

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.
