###############################################################################
# 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
###############################################################################

pluginName=JDI Debug UI

accessAction.label=&Access

AddBreakpoint.label=Add/Remove &Breakpoint

addTypeStepFilterAction.label=&Filter Type
addTypeStepFilterAction.tooltip=Filter the selected type(s)
addPackageStepFilterAction.label=Filter Pac&kage
addPackageStepFilterAction.tooltip=Filter the selected package(s)

breakpointPropertiesAction.label=P&roperties...

caughtAction.label=&Caught

debugAction.label=&Debug...
debugAction.tooltip=Debug

debugSourcePageName=Debugger Source Lookup

Display.label=Displa&y
Display.tooltip=Display Result of Evaluating Selected Text

Execute.label=E&xecute
Execute.tooltip=Evaluate the Selected Text

displayViewName=Display

dropFrameAction.label=&Drop to Frame
dropFrameAction.tooltip=Drop Current Stack Frame

terminateEvaluationAction.label=&Terminate Evaluation
terminateEvaluationAction.tooltip=Terminate Current Evaluation

EnableBreakpoint.label=T&oggle Breakpoint

entryAction.label=Entr&y

exceptionAction.label=Add Java Exception Breakpoint
exceptionAction.accel.label=Add Java E&xception Breakpoint
exceptionAction.tooltip=Add Java Exception Breakpoint

execArgPageName=Execution Arguments

exitAction.label=E&xit

hitCount.label=&Hit Count

Inspect.label=Insp&ect
Inspect.tooltip=Inspect Result of Evaluating Selected Text

installJREPageName=Installed JREs

snippetEditorPageName=Scrapbook Runtime

JavaBreakpointProperties.label=Breakpoint P&roperties...

javaDebugPrefName=Debug

JavaSnippetEditor.label= Scrapbook

javaStepFilterPrefName=Step Filtering
javaDetailFormattersPrefName=Detail Formatters

javaVariableHoverLabel=Variable Values
javaVariableHoverDescription=Shows the value of the selected variable when debugging.

JDTDebugActionSet.label=Java Debug

LauncherPropertyPage.name=Launcher

ManageBreakpointAction.label=Add/Remove Brea&kpoint

manageMethodBreakpointAction.label=Add/Remove &Method Breakpoint

manageWatchpointAction.label=Add/Remove &Watchpoint

instanceFiltersAction.label=&Instance Breakpoints...

modificationAction.label=&Modification

openDeclType.label=O&pen Declaring Type
openDeclType.tooltip=Open the Declaring Type

openDeclTypeHierarchy.label=Open Declaring Type &Hierarchy
openDeclTypeHierarchy.tooltip=Open the Declaring Type's Hierarchy

openDeclVarType.label=&Open Declared Type
openDeclVarType.tooltip=Open the Variable's Declared Type

openDeclVarTypeHierarchy.label=Open Declared Type &Hierarchy
openDeclVarTypeHierarchy.tooltip=Open the Variable's Declared Type Hierarchy

openConcreteVarType.label=Open Conc&rete Type
openConcreteVarType.tooltip=Open the Variable's Concrete Implementation Type

openConcreteVarTypeHierarchy.label=Open Concrete Type Hierarch&y
openConcreteVarTypeHierarchy.tooltip=Open the Variable's Concrete Implementation Type Hierarchy

openRecType.label=Open Receiving T&ype
openRecType.tooltip=Open the Receiving Type

openRecTypeHierarchy.label=Open Receiving Type Hier&archy
openRecTypeHierarchy.tooltip=Open the Receiving Type's Hierarchy

newDetailFormatter.label=Ne&w Detail Formatter
newDetailFormatter.tooltip=Associate a Detail Formatter with this Type

editDetailFormatter.label=Edit Detai&l Formatter
editDetailFormatter.tooltip=Edit the Detail Formatter Associated with this Type

runAction.label=&Run...
runAction.tooltip=Run

RunMenu.label=&Run

runToLineAction.label=Run to &Line

scrapbookLauncher.label=Java Scrapbook Page

showQualifiedAction.label=Show &Qualified Names
showQualifiedAction.tooltip=Show Qualified Names

showStaticAction.label=Show &Static Variables
showStaticAction.tooltip=Show Static Variables

showConstantsAction.label=Show &Constants
showConstatnsAction.tooltip=Show Static Final Variables

stepIntoSelectionAction.label=Step &into Selection
stepIntoSelectionAction.tooltip=Step into the selected method

suspendPolicy.label=&Suspend VM

Watch.label=Wa&tch

primitiveOptionsAction.label=&Java Primitives...
primitiveOptionsAction.tooltip=Set display options for Java primitives

uncaughtAction.label=&Uncaught

vmPageName=Runtime JRE

JavaApplicationShortcut.label=Java Application

jreSystemLibrary.name=JRE System Library

JDTLaunchActionSet.label=Java Launch

providerName=Eclipse.org

JavaSourceLocator.name=Prompting Java Source Locator
JavaDebugActionGroup.name=Java Debug

excludeExceptionLocationAction.label=E&xclude Exception Location
excludeExceptionLocationAction.tooltip=Excludes the Exception Location from Consideration in the Exception Breakpoint

MonitorsView.name= Threads and Monitors
MonitorTraceAction.label=&Suspend All Non-system Threads
MonitorTraceAction.tooltip=Suspend All Non-system Threads for Selected Debug Target
MonitorQuitAction.label=&Resume All Non-system Threads
MonitorQuitAction.tooltip=Resume All Non-system Threads for Selected Debug Target
DeadlockView.label=Deadlock View
DeadlockView.tooltip=Switch to Deadlock View
MonitorView.label=Monitor View
MonitorView.tooltip=Switch to Monitor View
ThreadView.label=Thread View
ThreadView.tooltip=Switch to Thread View

editWatchExpressionAction.label=&Edit Watch Expression
editWatchExpressionAction.tooltip=Edit the selected watch expression
reevaluateWatchExpressionAction.label=&Reevaluate Watch Expression
reevaluateWatchExpressionAction.tooltip=Reevaluate the watch expression in the selected stack frame
addWatchExpressionAction.label=&Add Java Watch Expression
addWatchExpressionAction.tooltip=Create a new watch expression
convertToWatchExpressionAction.label=Convert to &Watch Expression
convertToWatchExpressionAction.tooltip=Convert an inspect expression to a watch expression

AppletShortcut.label=Java Applet

ActionDefinition.localJavaShortcut.name=Run as Java Application
ActionDefinition.localJavaShortcut.description=Attempts to run the currently selected element as a Java application
ActionDefinition.javaAppletShortcut.name=Run as Java Applet
ActionDefinition.javaAppletShortcut.description=Attempts to run the currently selected element as a Java applet
ActionDefinition.manageWatchpoint.name= Add/Remove Watchpoint
ActionDefinition.manageWatchpoint.description=Add or remove a Java watchpoint
ActionDefinition.manageMethodBreakpoint.name= Add/Remove Method Breakpoint
ActionDefinition.manageMethodBreakpoint.description=Add or remove a Java method breakpoint
ActionDefinition.addException.name=Add Java Exception Breakpoint
ActionDefinition.addException.description=Add a Java exception breakpoint
ActionDefinition.manageBreakpoint.name= Add/Remove Breakpoint
ActionDefinition.manageBreakpoint.description=Add or remove a Java Breakpoint
ActionDefinition.stepIntoSelection.name=Step Into Selection
ActionDefinition.stepIntoSelection.description=Step into the current selected statement
ActionDefinition.runToLine.name=Run to Line
ActionDefinition.runToLine.description=Resume and break if the execution reaches the current line
ActionDefinition.execute.name=Execute
ActionDefinition.execute.description=Evaluate selected text
ActionDefinition.display.name=Display
ActionDefinition.display.description=Display result of evaluating selected text
ActionDefinition.inspect.name=Inspect
ActionDefinition.inspect.description=Inspect result of evaluating selected text

AddBookmark.label=Add Boo&kmark...
AddBookmark.tooltip=Add Bookmark...
AddTask.label=Add &Task...
AddTask.tooltip=Add Task...
