###############################################################################
# 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
# 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
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
environment.description.20 = Java Platform, Standard Edition 16

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.