###############################################################################
#  Copyright (c) 2000, 2008 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
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

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

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

classpathVariableInitializer.deprecated = Use the JRE System Library instead
