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

javaObjectBrowsers=Java Object Browsers

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

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