###############################################################################
# Copyright (c) 2000, 2022 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
###############################################################################

pluginName=JDI Debug UI
vmInstallTypePage=VM Install Type UI Page
vmInstallPage=VM Install Page
vmCapabilitiesPageName=VM Capabilities
AddBreakpoint.label=Toggle &Breakpoint
AddTracepoint.label=Toggle &Tracepoint
AddLambdaEntryBreakpoint.label=Toggle &Lambda Entry Breakpoint

addTypeStepFilterAction.label=&Filter Type
addTypeStepFilterAction.tooltip=Filter the selected type(s)
addPackageStepFilterAction.label=Filter Pac&kage
addPackageStepFilterAction.tooltip=Filter the selected package(s)
descriptionSWTComposite=Children
JavaLaunchShortcut.description=Launches a local Java application
RunJavaLaunchShortcut.description=Runs a local Java application
DebugJavaLaunchShortcut.description=Debugs a local Java application
AppletLaunchShortcut.description=Launches a Java applet
RunAppletLaunchShortcut.description=Runs a Java applet
DebugAppletLaunchShortcut.description=Debugs a Java applet

caughtAction.label=&Caught

VariablesViewJavaSubmenu.label=&Java
ExpressionViewJavaSubmenu.label=&Java
LaunchViewJavaSubmenu.label=&Java

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

editStepFiltersAction.label=Edit Ste&p Filters...
editStepFiltersAction.tooltip=Manage the set of defined step filters

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

ForceReturn.label=&Force Return

displayViewName=Debug Shell

filteringPage.label=Filtering
commonPage.label=Common

#breakpoints property page names
breakpointPropertiesPage.label=Breakpoint Properties

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

EnableBreakpoint.label=Toggl&e Breakpoint Enablement

entryAction.label=Entr&y

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

classPrepareAction.label=Add Class Load Break&point...


exitAction.label=E&xit

hitCount.label=&Hit Count...
triggerPoint.label=Toggle Tri&gger
triggerPoint.tooltip=Toggles the trigger point property of the selected breakpoint
activateTriggerPoint.label=Toggle Acti&vate Trigger
activateTriggerPoint.tooltip=Toggles the activation of trigger point property of the selected breakpoint

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

installJREPageName=Installed JREs
JreProfilesPage.name=Execution Environments
heapwalkingPage.name=Heap Walking
snippetEditorPageName=Scrapbook Runtime

JavaBreakpointProperties.label=Breakpoint P&roperties...
RunToLineRuler.label=Run to &Line

javaDebugPrefName=Debug
javaPrimitivesPrefName=Primitive Display Options

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
manageMethodBreakpointAction.label=Toggle &Method Breakpoint
manageWatchpointAction.label=Toggle &Watchpoint

toggleClassPrepareAction.label=Toggle Class Load Break&point

instanceFiltersAction.label=&Instance Breakpoints...

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

openDeclTypeHierarchy.label=Open Declared Type &Hierarchy
openDeclTypeHierarchy.tooltip=Open the Declared 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 Act&ual Type
openConcreteVarType.tooltip=Open the Variable's Actual Implementation Type

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

openFieldDeclaration.label=Open &Field Declaration
openFieldDeclaration.tooltip=Open the Declaration of the Field

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

openRecTypeHierarchy.label=Open Actual Type Hier&archy
openRecTypeHierarchy.tooltip=Open the Actual 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

removeDetailFormatter.label=&Remove Detail Formatter
removeDetailFormatter.tooltip=Remove the Detail Formatter Associated with this Type

setObjectLabel.label=Set Object &Label...
setObjectLabel.tooltip=Set the Label of the Object

RunMenu.label=&Run

runToLineAction.label=Run to &Line


showThreadGroupsAction.label=Show &Thread Groups
showThreadGroupsAction.tooltip=Show Thread Groups

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

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

showConstantsAction.label=Show &Constants

showStratumAction.label=S&how Source

showSystemThreads.label=Show &System Threads
showSystemThreads.tooltip=Show System Threads

showRunningThreads.label=Show &Running Threads
showRunningThreads.tooltip=Show Running Threads

showMonitorThreadInfo.label=Show &Monitors
showMonitorThreadInfo.tooltip=Show the Thread & Monitor Information

showNullEntriesAction.label=Show &Null Array Entries
showNullEntriesAction.tooltip=Show Null Array Entries

stepIntoSelectionHyperlinkDetector.label=Step Into Selection
stepIntoSelectionHyperlinkDetector.description=Performs the step into selection command on demand via a hyperlink

suspendPolicy.label=&Suspend VM
suspendPolicy.tooltip=Changes the suspend policy of the selected breakpoint(s)

Watch.label=Wa&tch
Watch.tooltip=Create a Watch Expression from the Selected Text

uncaughtAction.label=&Uncaught

JavaApplicationShortcut.label=Java Application
JavaApplicationShortcut.description.debug=Debug Java Application
JavaApplicationShortcut.description.run=Run Java Application

jreSystemLibrary.name=JRE System Library

variablePreferences.label=Java &Preferences...
variablePreferences.tooltip=Opens preferences for Java variables

providerName=Eclipse.org

JavaSourceLocator.name=Prompting Java Source Locator

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

AppletShortcut.label=Java Applet
AppletShortcut.description.debug=Debug Java Applet
AppletShortcut.description.run=Run Java Applet

ActionDefinition.addClassPrepareBreakpoint.name=Add Class Load Breakpoint
ActionDefinition.addClassPrepareBreakpoint.description=Add a class load breakpoint
ActionDefinition.addException.name=Add Java Exception Breakpoint
ActionDefinition.addException.description=Add a Java exception breakpoint
ActionDefinition.stepIntoSelection.name=Step Into Selection
ActionDefinition.stepIntoSelection.description=Step into the current selected statement
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
ActionDefinition.forceReturn.name=Force Return
ActionDefinition.forceReturn.description=Forces return from method with value of selected expression 
ActionDefinition.watch.description=Create new watch expression
ActionDefinition.watch.name=Watch
ActionDefinition.allReferences.name=All References
ActionDefinition.allReferences.description=Inspect all references to the selected object
ActionDefinition.allInstances.name=All Instances
ActionDefinition.allInstances.description=View all instances of the selected type loaded in the target VM
ActionDefinition.instanceCount.name=Instance Count
ActionDefinition.instanceCount.description=View the instance count of the selected type loaded in the target VM
ActionDefinition.breakpointproperties.name=Breakpoint P&roperties
ActionDefinition.breakpointproperties.description=View and edit the properties for a given Java breakpoint
CommandDefinition.breakpointproperties.name=Java Breakpoint Properties

ToggleTracepointAction.label=Toggle Tra&cepoint
ToggleTracepointCommand.label=Toggle Tracepoint
ToggleTracepointCommand.description=Creates or removes a tracepoint

ToggleLambdaEntryBreakpointAction.label=Toggle Lambda Entry Breakpoint
ToggleLambdaEntryBreakpointCommand.label=Toggle &Lambda Entry Breakpoint
ToggleLambdaEntryBreakpointCommand.description=Creates or removes a lambda entry breakpoint  

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

localJavaApplicationTabGroupDescription.debug=Debug a Java application
localJavaApplicationTabGroupDescription.run=Run a Java application
remoteJavaApplicationTabGroupDescription=Attach to a Java virtual machine accepting debug connections
appletTabGroupDescription.debug=Debug a Java applet
appletTabGroupDescription.run=Run a Java applet

java_type_name.description=Returns the fully qualified Java type name of the primary type in the selected resource.

javaLikeExtensions.description=Regular expression matching registered Java-like file extensions 

Context.javaDebugging.name= Debugging Java
Context.javaDebugging.description= Debugging Java programs

newWizardCategoryName=Java Run/Debug
NewJavaScrapbookPage.label= Scrapbook Page
NewJavaScrapbookPage.description=Create a Java scrapbook page file


JavaMethodBreakpointIMethodRenameParticipant.name=Method breakpoint participant
JavaWatchpointIFieldRenameParticipant.name=Watchpoint participant
LaunchConfigurationIJavaProjectRenameParticipant.name=Launch configuration participant
LaunchConfigurationIPackageFragmentRenameParticipant.name=Launch configuration participant
LaunchConfigurationITypeRenameParticipant.name=Launch configuration participant
LaunchConfigurationITypeMoveParticipant.name=Launch configuration participant
LaunchConfigurationIPackageFragmentMoveParticipant.name=Launch configuration participant
LaunchConfigurationIModuleDescriptionRenameParticipant.name=Launch configuration participant
JavaBreakpointITypeRenameParticipant.name=Breakpoint participant
JavaBreakpointIJavaProjectRenameParticipant.name=Breakpoint participant
JavaBreakpointIPackageFragmentRenameParticipant.name=Breakpoint participant
JavaBreakpointIPackageFragmentMoveParticipant.name=Breakpoint participant
JavaBreakpointITypeMoveParticipant.name=Breakpoint participant
showConstantsAction.tooltip=Show Constants

snippetDocumentSetupParticipant.name= Java Snippet Document Setup Participant

InDeadlockColorDefinition.label=Deadlocked threads and monitors
InDeadlockColorDefinition.description=The color used to render deadlocked threads and monitors in the Debug view.

LabeledObjectColorDefinition.label=Labeled objects
LabeledObjectColorDefinition.description=The color used to render labeled objects in debug views.

javaStackTraceConsole.label= Java Stack Trace Console
FormatStackTraceActionDelegate.name= Format
FormatStackTraceActionDelegate.tooltip= Format

javaLogicalStruturePref.name=Logical Structures

allInstances.label=All Ins&tances...
allInstances.tooltip=Displays a popup window showing all live instances of the selected type in the current running VM

instanceCount.label=Instance Co&unt...
instanceCount.tooltip=Displays the number of live instances of the selected type in the current running VM

allReferences.label=All &References...
allReferences.tooltip=Inspect references to the selected object
allReferencesInView.label=Show &References
allReferencesInView.tooltip=Shows references to each object in the variables view as an array of objects.

preferenceKeywords.general=java debug suspend hot hcr timeout breakpoints code execution exceptions conditional evaluations source lookup
preferenceKeywords.jres= debug java jdk 1.5 5.0 1.4 1.6 6.0 1.7 7.0 jres vms javadoc libraries source attachment
preferenceKeywords.detailFormatters= debug java details toString variables pane
preferenceKeywords.logicalStructures=debug java logical structures variables details pane
preferenceKeywords.stepFilters=debug java stepping filters through setter getter synthetic static initializer constructor
preferenceKeywords.executionEnvironments=debug java jres vms execution environments JDK ee J2SE JavaSE CDC OSGi Foundation Minimum 1.5 5.0 1.4 1.6 6.0 1.7 7.0
preferenceKeywords.primitiveOptions=debug java variables primitives display hexadecimal unsigned ASCII
preferenceKeywords.heapWalking=debug java heap walking jdk 6.0 1.6 7.0 1.7 JavaSE SE all instances references

preference.transfer.jres=Installed JREs
preference.transfer.jres.description=Preferences related to system libraries used to build, run, and debug Java applications.
preference.transfer.logicalStructures=Java Logical Structures
preference.transfer.logicalStructures.description=Preferences related to logical structures used for debugging Java applications.
preference.transfer.detail_formatters=Java Detail Formatters
preference.transfer.detail_formatters.description=Preferences related to variable detail formatters used for debugging Java applications.

LaunchConfigurationQueryParticipant.name = Java Launch Configuration

JavaLineBPmarkerTypeCategory.name = Java Line Breakpoints
JavaExceptionBPmarkerTypeCategory.name = Java Exception Breakpoints
JavaMethodBPmarkerTypeCategory.name = Java Method Breakpoints
JavaClassBPmarkerTypeCategory.name = Java Class Load Breakpoints
JavaWPmarkerTypeCategory.name = Java Watchpoints
JavaPatternmarkerTypeCategory.name = Java Pattern Breakpoints
BreakpointsmarkerTypeCategory.name = Breakpoints
OpenFromClipboardAction.label = Open from Clipboar&d
OpenFromClipboardAction.tooltip = Opens a Java element or Java Stack Trace from Clipboard
OpenFromClipboardAction.description = Opens a Java element or a Java stack trace from clipboard
OpenFromClipboardAction.name = Open from Clipboard

VariablesView.name = Variables