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

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

junitLaunchConfigs.name= JUnit Launch Configurations
testKinds.name= JUnit Test Kinds

preferenceKeywords.general=Java JUnit filter stack trace stacktrace

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

testKind.junit3 = JUnit 3
testKind.junit4 = JUnit 4

JUnitContainerName = JUnit
