###############################################################################
# Copyright (c) 2003, 2019 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
BreakpointConditionEditor_1=Enter a condition
ExceptionBreakpointEditor_1=&Caught locations
ExceptionBreakpointEditor_2=&Uncaught locations
ExceptionBreakpointEditor_3=Subclasses of this e&xception
ExceptionBreakpointEditor_recurrence_label=Suspend on &recurrence per instance:
ExceptionBreakpointEditor_recurrence_always=always
ExceptionBreakpointEditor_recurrence_onlyOnce=only once
ExceptionBreakpointEditor_recurrence_unconfigured=unconfigured
ExceptionFilterEditor_5=Re&strict to Selected Location(s):\nChecked locations are inclusive (stop in the specified location)\nUnchecked locations are exclusive (do not stop in the specified location)
ExceptionFilterEditor_6=&Add
ExceptionFilterEditor_7=Add a fully qualified type name or package name expression as a filter pattern for this breakpoint
ExceptionFilterEditor_8=Add &Class...
ExceptionFilterEditor_9=Choose a Java Class to Add to the Breakpoint Scope
ExceptionFilterEditor_10=Add &Package...
ExceptionFilterEditor_11=Choose a Package to Add to the Breakpoint Scope
ExceptionFilterEditor_12=R&emove
ExceptionFilterEditor_13=Remove all selected scoping elements
ExceptionFilterEditor_14=Invalid expression. Return to continue; escape to exit
ExceptionFilterEditor_15=Add Package to Scope
ExceptionFilterEditor_16=Could not open package selection dialog for scope definition
ExceptionFilterEditor_18=&Select a package to add to the scope of the breakpoint:
ExceptionFilterEditor_19=Add Class to Scope
ExceptionFilterEditor_20=Could not open class selection dialog for scope definition
ExceptionFilterEditor_22=&Select a class to add to the scope of the breakpoint:
JavaBreakpointConditionEditor_0=Co&nditional
JavaBreakpointConditionEditor_1=Suspend when \'tr&ue\'
JavaBreakpointConditionEditor_2=Suspend &when value changes
JavaBreakpointConditionEditor_choosePreviousCondition=<Choose a previously entered condition>
JavaBreakpointConditionEditor_historySeparator=Global history
JavaBreakpointPage_0=Hit count must be a positive integer
JavaBreakpointPage_10=Create Breakpoint for {0}
JavaBreakpointPage_11=Class Prepare Breakpoint
JavaBreakpointPage_12=T&rigger Point
JavaBreakpointPage_13=Active Trigger
JavaBreakpointPage_3=&Type:
JavaBreakpointPage_4=&Hit count:
JavaBreakpointPage_5=&Enabled
JavaBreakpointPage_7=&Suspend thread
JavaBreakpointPage_8=Suspend &VM
JavaBreakpointPage_9=Unable to cancel breakpoint creation
JavaExceptionBreakpointPage_5=Java Exception Breakpoint
JavaLineBreakpointPage_2=&Line Number:
JavaLineBreakpointPage_3=&Member:
JavaLineBreakpointPage_4=&Method:
JavaLineBreakpointPage_5=&Field:
JavaLineBreakpointPage_7=&Access
JavaLineBreakpointPage_8=&Modification
JavaLineBreakpointPage_10=Entr&y
JavaLineBreakpointPage_11=E&xit
JavaLineBreakpointPage_18=Line Breakpoint
JavaLineBreakpointPage_19=Watchpoint
JavaLineBreakpointPage_20=Method Breakpoint
JavaVariableDetailsPane_choosePreviousExpression=<Choose a previously entered expression>
JavaVariableDetailsPane_description=Java Variable Detail Pane Viewer
JavaVariableDetailsPane_name=Java Variable Detail Pane Viewer
JavaVariableDetailsPane_settings=Java Variable Detail Pane Settings
ThreadFilterEditor_1=&Restrict to Selected Thread(s):
ThreadFilterEditor_2=Must select a thread in selected targets
InstanceFilterEditor_0=Restricted to Selected Ob&ject(s)
VMCapabilitiesPropertyPage_0=The selected debug element does not allow access to the underlying virtual machine.
VMCapabilitiesPropertyPage_1=&Virtual Machine: 
VMCapabilitiesPropertyPage_3=Supports synthetic method step filter
VMCapabilitiesPropertyPage_4=Instance specific breakpoints
VMCapabilitiesPropertyPage_6=Deadlock detection
VMCapabilitiesPropertyPage_9=Field modification watchpoints
VMCapabilitiesPropertyPage_10=Field access watchpoints
VMCapabilitiesPropertyPage_12=Method addition
VMCapabilitiesPropertyPage_14=Drop to frame
VMCapabilitiesPropertyPage_15=Hot code replace
VMCapabilitiesPropertyPage_16=Arbitrary class redefinition
VMCapabilitiesPropertyPage_18=JSR045: stepping and breakpoints in non-Java source
VMCapabilitiesPropertyPage_21=Force early return from a method
VMCapabilitiesPropertyPage_24=Return value on method exit breakpoint
VMCapabilitiesPropertyPage_25=Monitor acquisition and release
VMCapabilitiesPropertyPage_26=Heap walking
VMCapabilitiesPropertyPage_27=&Breakpoints
VMCapabilitiesPropertyPage_28=&Hot Code Replace
VMCapabilitiesPropertyPage_29=&Stepping
VMCapabilitiesPropertyPage_30=&General
VMCapabilitiesPropertyPage_31=This page displays optional debug capabilities that may be supported by the selected VM.
