###############################################################################
# Copyright (c) 2000, 2003 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

localJavaApplication = Java Application
pluginName = Java Development Tools Launching Support
remoteJavaApplication = Remote Java Application
vmConnectors = VM Connectors
vmInstallTypes = VM Install Types
runtimeClasspathEntryResolvers = Runtime Classpath Entry Resolvers
classpathProviders = Runtime Classpath Providers
javaSourceLocatorName = Basic Java Source Locator

providerName=Eclipse.org
appletLabel= Java Applet
