######################################################################
# Copyright (c) 2000, 2002 IBM Corp. and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Common Public License v0.5
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v05.html
#
# Contributors:
#    IBM Corporation - Initial implementation
######################################################################

pluginName=JDI Debug UI

accessAction.label=&Access

AddBreakpoint.label=Add/Remove &Breakpoint

breakpointPropertiesAction.label=P&roperties...

caughtAction.label=&Caught

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

debugSourcePageName=Debugger Source Lookup

Display.label=Displa&y@Ctrl+D
Display.tooltip=Display Result of Evaluating 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@Ctrl+Q
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
javaDebugAppearancePrefName=Appearance

JDTDebugActionSet.label=Java Debug

LauncherPropertyPage.name=Launcher

ManageBreakpointAction.label=Add/Remove Brea&kpoint@Ctrl+Shift+B

manageMethodBreakpointAction.label=Add/Remove &Method Breakpoint

manageWatchpointAction.label=Add/Remove &Watchpoint

manageInstanceWatchpointAction.label=Add/Remove &Instance Watchpoint

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

openOnConsoleTypeAction.label=&Open Declaration
openOnConsoleTypeAction.tooltip=Open the Type

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

processInfoPageName=Process Info

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

RunMenu.label=&Run

RunSnippet.label=Run Sni&ppet@Ctrl+U

runToLineAction.label=Run to &Line@Ctrl+R

scrapbookLauncher.label=Java Scrapbook Page

showFinalAction.label=Show &Final Fields
showFinalAction.tooltip=Show Final Fields

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

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

suspendPolicy.label=&Suspend VM

toggleStepFilterAction.label=Use Step &Filters
toggleStepFilterAction.tooltip=Toggle Enabled State of All Step Filters

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