###############################################################################
# Copyright (c) 2007, 2009 Innoopract Informationssysteme GmbH.
# 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:
#    Innoopract Informationssysteme GmbH - initial API and implementation
#    EclipseSource - ongoing development
################################################################################

# MANIFEST.MF
Bundle-Vendor = Eclipse.org - RAP
Bundle-Name = RAP Launcher Plug-in

# plugin.xml
launchConfigurationType.delegateDescription = The RAP Launcher is used to run or debug a RAP Application
launchConfigurationType.delegateName = RAP Launcher
launchConfigurationType.name = RAP Application
launchConfigurationTabGroup.description = The RAP Launcher is used to run or debug a RAP Application
launchMode.run.description = Create a configuration to launch a RAP Application
launchMode.debug.description = Create a configuration to launch a RAP Application in debug mode
launchShortcut.label = RAP Application
launchShortcut.run.description = Runs a RAP Application
launchShortcut.debug.description = Debugs a RAP Application
pdeLaunchShortcut.run.label = Launch a RAP Application
pdeLaunchShortcut.debug.label = Launch a RAP Application in Debug mode
command.run.description = Run RAP Application
command.run.name = Run RAP Application
command.debug.description = Debug RAP Application
command.debug.name = Debug RAP Application
target.name = RAP Target

junitLaunchConfigurationType.delegateDescription = The RAP JUnit Test Launcher is used to run or debug a RAP JUnit Test
junitLaunchConfigurationType.delegateName = RAP JUnit Test Launcher
junitLaunchConfigurationType.name = RAP JUnit Test
junitLaunchConfigurationTabGroup.description = The RAP JUnit Launcher is used to run or debug a RAP JUnit Test
junitLaunchMode.run.description  = Create a configuration to launch a RAP JUnit Test
junitLaunchMode.debug.description = Create a configuration to launch a RAP JUnit Test in debug mode
junitLaunchShortcut.label = RAP JUnit Test
junitLaunchShortcut.run.description = Runs a RAP JUnit Test
junitLaunchShortcut.debug.description = Debugs a RAP JUnit Test
command.junit.run.description = Run RAP JUnit Test
command.junit.run.name = Run RAP JUnit Test
command.junit.debug.description = Debug RAP JUnit Test
command.junit.debug.name = Debug RAP JUnit Test