###############################################################################
# Copyright (c) 2000, 2004 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
###############################################################################
pluginName=Java Development Tools JUnit support
providerName=Eclipse.org

testRunListeners.name= Test Run Listeners
junitQuickFixProcessor= JUnit Quick Fix Processor

junitLaunchConfigs.name= JUnit Launch Configurations
testRunTabs.name= JUnit Test Run Tabs

View.label= JUnit
Launch.label= JUnit
PreferencePage.label= JUnit

TestWizard.description= Create a JUnit Test Case
SuiteWizard.description= Create a JUnit Test Suite
UpdateSuiteAction.label= Recreate Test Suite...
UpdateSuiteAction.tooltip= Recreate JUnit TestSuite with New Test Classes
Task.name= JUnit Task
WizardCategory.name= JUnit
TestCaseWizard.name= JUnit Test Case
TestSuiteWizard.name= JUnit Test Suite

JUnitShortcut.label= JUnit Test
JUnitShortcut.description.run= Run JUnit Test
JUnitShortcut.description.debug= Debug JUnit Test


searchMenu.label= Se&arch

JUnitTabGroupDescription.debug=Create a configuration that will launch a JUnit test in debug mode.
JUnitTabGroupDescription.run=Create a configuration that will launch a JUnit test.

JUnitActionSet.label= JUnit

GotoTestAction.label= Referring Tests...
GotoTestAction.tooltip= Go to Test Referring to Selection

GotoTestCommand.name= Referring Tests
GotoTestCommand.description= Referring Tests

ViewCommand.junitView.name= JUnit
ViewCommand.junitView.description= JUnit

RenameTypeParticipant.name=JUnit Launch configuration participant
junitRenameParticipant= JUnit Project Rename Participant
