###############################################################################
# Copyright (c) 2000, 2020 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
# 
# SPDX-License-Identifier: EPL-2.0
#
# 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

jreComplilerComplianceMarkerProblemName=JRE Compiler Compliance 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
environment.description.15 = Java Platform, Standard Edition 11
environment.description.16 = Java Platform, Standard Edition 12
environment.description.17 = Java Platform, Standard Edition 13
environment.description.18 = Java Platform, Standard Edition 14
environment.description.19 = Java Platform, Standard Edition 15

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.