###############################################################################
# Copyright (c) 2000, 2020 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
#     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
#     Wind River Systems - Pawel Piech - Added Modules view (bug 211158)
#     Wind River Systems - Ted Williams -[Memory View] Memory View: Workflow Enhancements (bug 215432)
#     Patrick Chuong (Texas Instruments) - Move debug toolbar actions to main window (Bug 332784)
#     Axel Richard (Obeo) - Bug 41353 - Launch configurations prototypes
###############################################################################

pluginName=Debug UI

accessAction.label=&Access
BreakpointsView.name=Breakpoints
ConsoleColorProvidersExtensionName= Console Color Providers
ConsoleFont.description= The font used by the debug console.
ConsoleFont.label= Console font
ConsoleLineTrackersExtensionName= Console Line Trackers
LaunchingPreferencePage.name=Launching
LaunchDelegatesPreferencePage.name=Default Launchers
ViewManagementPreferencePage.name=View Management
ConsolePreferencePage.name=Console
DebugModelContextBindingsName=Debug Model Context Bindings
ContextViewBindingsName=Context View Bindings
BreakpointOrganizersName=Breakpoint Organizers
VariableValueEditorsName=Variable Value Editors

ContextLaunchingRunMenu.name=&Run
ContextLaunchingRunMenu.tooltip=Run the selected item

ContextLaunchingDebugMenu.name=&Debug
ContextLaunchingDebugMenu.tooltip=Debug the selected item

ContextLaunchingProfileMenu.name=&Profile
ContextLaunchingProfileMenu.tooltip=Profile the selected item

ContextualLaunchingPrefPage.name=Contextual Launching

DefaultLaunchConfigurationsPropPage.name=Run/Debug Settings

Copy.label=&Copy
BreakpointActionSet.label=Breakpoints
CollapseAll.label=Collapse All
CollapseAll.tooltip= Collapse All
CopyToClipboardAction.label=&Copy Stack
CopyVariablesToClipboardAction.label=Copy &Variables
CopyExpressionsToClipboardAction.label=Copy &Expressions
CopyRegistersToClipboardAction.label=Copy &Registers
DebugActionSet.label=Debug
DebugToolbarActionSet.label=Debug Toolbar
debugCurrentInstructionPointer=Debug Current Instruction Pointer
debugCallStack=Debug Call Stack
DebugDropDownAction.label=Debug
DebugQuickAccess.label=Debug
DebugHistoryMenuAction.label=Debug &History
DebugLastAction.label=&Debug Last Launched
DebugLaunchGroup.label=De&bug
DebugLaunchGroup.title=Select or configure an application to debug
DebugModelPresentationExtensionName=Debug Model Presentation

LaunchConfigurationTabsExtension.name=Launch Configuration Tabs

DebugPerspective.name=Debug
DebugPerspective.description=This Debug perspective supports application debugging by providing views for displaying the debug stack, variables and breakpoints.

command.openDebugPerspective.description = Open the debug perspective
DebugPreferencePage.name=Run/Debug
DebugView.name=Debug
DebugViewsCategory.name=Debug
DebugWithConfigurationAction.label=Debu&g As
DetailPaneFontDefinition.label=Detail pane text font
DetailPaneFontDefinition.description=The detail pane text font is used in the detail panes of debug views.
DetailPaneFactoriesExtension.name=Detail Pane Factories
DisableBreakpointsAction.label=&Disable
EnableBreakpointsAction.label=&Enable
ExpandAll.label=Expand All
ExpandAll.tooltip=Expand All
ExpressionView.name=Expressions
GroupBy.label=&Group By
GroupBy.tooltip=Show
LinkWithDebugView.label=Link with Debug View
LinkWithDebugView.tooltip=Link with Debug View
LaunchActionSet.label=Launch
LaunchConfigurationTabGroupExtensionName=Launch Configuration Tab Group
LaunchShortcutsName=Launch Shortcut
LaunchConfigurationTypeImageExtensionName=Launch Configuration Type Image 
LaunchGroupsExtensionName=Launch Groups
modificationAction.label=&Modification
ModulesView.name=Modules
OpenDebugConfigurations.label=De&bug Configurations...
OpenRunConfigurations.label=Ru&n Configurations...
OpenProfileConfigurations.label=&Profile Configurations...
processPropertyPageName=Process Information
ProfileLaunchGroup.label=&Profile
ProfileLaunchGroup.title=Select or configure an application to profile
ProfileDropDownAction.label=Profile
ProfileWithConfigurationAction.label=Pro&file As
ProfileHistoryMenuAction.label=Profile Histor&y
ProfileLastAction.label=Profi&le Last Launched
ProfileActionSet.label=Profile
RegistersView.name=Registers
RelaunchAction.label=Re&launch
RemoveAction.label=Rem&ove
RemoveAllAction.label=Remove A&ll
RemoveAllTriggerpoints.label=Remove All &Triggers
RemoveAllBreakpointsAction.label=Remo&ve All Breakpoints
RemoveAllBreakpointsAction.tooltip=Remove All Breakpoints
RemoveAllExpressionsAction.tooltip=Remove All Expressions
RemoveAllTerminatedAction.label=Remove &All Terminated
RemoveAllTerminatedAction.tooltip=Remove All Terminated Launches
CollapseAllAction.label=Collapse All
CollapseAllAction.tooltip=Collapse All
RemoveBreakpointAction.tooltip=Remove Selected Breakpoints
RemoveExpressionAction.tooltip=Remove Selected Expressions
ResumeAction.label=Resu&me
RunDropDownAction.label=Run
RunQuickAccess.label=Run
RunMenu.label=&Run
RunLastAction.label=&Run Last Launched
RunLaunchGroup.label=Ru&n
RunLaunchGroup.title=Select or configure an application to run
RunHistoryMenuAction.label=Run His&tory
RunWithConfigurationAction.label=Run A&s
RunToLine.label=Run to &Line
SelectAll.label=Select &All
SortBy.label=Sor&t By
SortBy.tooltip=Sort By
StepWithFiltersAction.label=Use Step &Filters
StepWithFiltersAction.tooltip=Use Step Filters/Step Debug
StepIntoAction.label=Step &Into
StepOverAction.label=Step &Over
StepReturnAction.label=Step Ret&urn
StringVariablePresentationsName=String Variable Presentations
SuspendAction.label=&Suspend
TerminateAction.label=&Terminate
DropToFrame.label=Drop To Frame
Disconnect.label=Disconnect
ToggleBreakpointAction.label=Toggle Brea&kpoint
ToggleBreakpointsTargetFactoriesExtension.name=Toggle Breakpoints Target Factories
ToggleLineBreakpointAction.label=Toggle &Line Breakpoint
ToggleMethodBreakpointAction.label=Toggle &Method Breakpoint
ToggleWatchpointAction.label=Toggle &Watchpoint
TerminateAllAction.label=Termi&nate/Disconnect All
TerminateAllAction.tooltip=Terminate/Disconnect All
BreakpointTypesMenu.label=B&reakpoint Types
VariablesView.name=Variables
VariableTextFontDefinition.label=Variable text font
VariableTextFontDefinition.description=Font to use for the label text of entries in the Variables, Registers and Expression views as well as the Inspect Popup Dialog.
StringVariablePreferencePage.name=String Substitution
ToggleMemoryMonitorsPaneAction.name = &Toggle Memory Monitors Pane
ToggleMemoryMonitorsPaneAction.tooltip = Toggle Memory Monitors Pane
ToggleSplitPaneAction.name = Toggle &Split Pane
ToggleSplitPaneAction.tooltip = Toggle Split Pane
LinkRenderingPanesAction.name = &Link Memory Rendering Panes
LinkRenderingPanesAction.tooltip = Link Memory Rendering Panes
AddRemoveRenderingMenu.name = Add/Remove Rendering
AddRenderingAction.name = Add Rendering
RemoveRenderingAction.name = Remove Rendering
PerspectivePreferencePage.name = Perspectives
LaunchConfigurationsPage.name = Launch Configurations

#string substitution variables
string_prompt.description=Returns the text value entered into a prompt dialog. When one argument is provided, it is used as a prompt hint on the input dialog. When a second argument is provided, it is used as an initial value in the input dialog. The first and second arguments must be separated with a ':'.
password_prompt.description=Returns the text value entered into a password prompt dialog. When one argument is provided, it is used as a prompt hint on the input dialog. When a second argument is provided, it is used as an initial value in the input dialog. The first and second arguments must be separated with a ':'.
file_prompt.description=Returns the absolute file system path of a file chosen in a file selection dialog. When one argument is provided, it is used a prompt hint on the dialog title. When a second argument is provided, it is used as an initial value for the file selection dialog. The first and second arguments must be separated with a ':'.
folder_prompt.description=Returns the absolute file system path of a directory chosen in a directory selection dialog. When one argument is provided, it is used a prompt hint on the dialog title. When a second argument is provided, it is used as an initial value for the directory selection dialog. The first and second arguments must be separated with a ':'.
selected_text.description=Returns the text currently selected in the active editor.
selected_resource_loc.description=Returns the absolute file system path of the selected resource.
selected_resource_path.description=Returns the workspace relative path of the selected resource.
selected_resource_name.description=Returns the name of the selected resource.

providerName=Eclipse.org

runCategory.name= Run/Debug
runCategory.description= Run/Debug command category

NoSourceFoundEditor.name= No Source Found

Context.debugging.description= Debugging programs
Context.debugging.name= Debugging

Context.console.description= In I/O console
Context.console.name= In I/O Console

Context.memoryview.description = In memory view
Context.memoryview.name = In Memory View

ActionContext.breakpointsview.name=In Breakpoints View
ActionContext.breakpointsview.description=The breakpoints view context

ActionDefinition.eof.name= EOF
ActionDefinition.eof.description= Send end of file

ActionDefinition.addMemoryBlock.name= Add Memory Block
ActionDefinition.addMemoryBlock.description=Add memory block

ActionDefinition.toggleStepFilters.name= Use Step Filters
ActionDefinition.toggleStepFilters.description= Toggles enablement of debug step filters

ActionDefinition.stepInto.name= Step Into
ActionDefinition.stepInto.description= Step into

ActionDefinition.stepOver.name= Step Over
ActionDefinition.stepOver.description= Step over

ActionDefinition.stepReturn.name= Step Return
ActionDefinition.stepReturn.description= Step return

ActionDefinition.restart.name=Restart
ActionDefinition.restart.description=Restart a process or debug target without terminating and re-launching

ActionDefinition.resume.name=Resume
ActionDefinition.resume.description=Resume

ActionDefinition.runToLine.name=Run to Line
ActionDefinition.runToLine.description=Resume and break when execution reaches the current line

ActionDefinition.terminate.name=Terminate
ActionDefinition.terminate.description=Terminate

ActionDefinition.terminateAndRelaunch.name=Terminate and Relaunch
ActionDefinition.terminateAndRelaunch.description=Terminate and Relaunch

ActionDefinition.toggleBreakpoint.name=Toggle Breakpoint
ActionDefinition.toggleBreakpoint.description=Creates or removes a breakpoint
ActionDefinition.toggleLineBreakpoint.name=Toggle Line Breakpoint
ActionDefinition.toggleLineBreakpoint.description=Creates or removes a line breakpoint

ActionDefinition.suspend.name=Suspend
ActionDefinition.suspend.description=Suspend

ActionDefinition.dropToFrame.name=Drop to Frame
ActionDefinition.dropToFrame.description=Drop to Frame

ActionDefinition.disconnect.name=Disconnect
ActionDefinition.disconnect.description=Disconnect

ActionDefinition.openProfile.name=Profile...
ActionDefinition.openProfile.description=Open profile launch configuration dialog

ActionDefinition.profileLast.name=Profile
ActionDefinition.profileLast.description=Launch in profile mode

ActionDefinition.openRun.name=Run...
ActionDefinition.openRun.description=Open run launch configuration dialog

ActionDefinition.debugLast.name=Debug
ActionDefinition.debugLast.description=Launch in debug mode

ActionDefinition.runLast.name=Run
ActionDefinition.runLast.description=Launch in run mode

ActionDefinition.openDebug.name=Debug...
ActionDefinition.openDebug.description=Open debug launch configuration dialog


ActionDefinition.toggleWatchpoint.name=Toggle Watchpoint
ActionDefinition.toggleWatchpoint.description=Creates or removes a watchpoint

ActionDefinition.toggleMethodBreakpoint.name=Toggle Method Breakpoint
ActionDefinition.toggleMethodBreakpoint.description=Creates or removes a method breakpoint

ActionDefinition.removeAllBreakpoints.name=Remove All Breakpoints
ActionDefinition.removeAllBreakpoints.description=Removes all breakpoints

ActionDefinition.skipAllBreakpoints.name=Skip All Breakpoints
ActionDefinition.skipAllBreakpoints.description=Sets whether or not any breakpoint should suspend execution

SkipAllBreakpointsAction.label=S&kip All Breakpoints
SkipAllBreakpointsAction.tooltip=Skip All Breakpoints
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 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
Watch.label=Wa&tch
Watch.name=Watch
Watch.description=Create a watch expression from the current selection and add it to the Expressions view

enableWatchExpressionAction.label=Enable
enableWatchExpressionAction.tooltip=Enable watch expression

disableWatchExpressionAction.label=Disable
disableWatchExpressionAction.tooltip=Disable watch expression

BreakpointMarkerPreference.label= Breakpoints

SourceContainerPresentationsName = Source Container Presentations

DebugContextMenu.label=&Debug As
RunContextMenu.label=&Run As
ProfileContextMenu.label=&Profile As

containerName.workingSet = Working set
sourceNotFoundEditorName=Source Not Found Editor

debugPresentation.label= Debug

MemoryViewName = Memory

MemoryViewTableFontDefinition.label=Memory view table font
MemoryViewTableFontDefinition.description=The font used in the table of the memory view.

RawHex = Hex
ASCIIName = ASCII
SignedIntegerName = Signed Integer
UnsignedIntegerName = Unsigned Integer
Endianess = Endianess
BigEndianActionName = Big Endian
LittleEndianActionName = Little Endian
RestoreDefEndianessActionName = Restore Default
HexIntegerName = Hex Integer

ViewManagementAction.label=&View Management...

setDefaultGroup.label=&Select Default Working Set...
setDefaultGroup.tooltip=Select Default Working Set
clearDefaultGroup.label=&Deselect Default Working Set
clearDefaultGroup.tooltip=Deselect Default Working Set
workingSets.label=&Working Sets...
workingSets.tooltip=Manage Working Sets

editGroup.label=&Edit Working Set...
ToggleDefault.label=Defaul&t Working Set

Project.label=Projects
Project.others=Others (no project)
File.label=Files
File.others=Others (no file)
BreakpointType.label=Breakpoint Types
BreakpointType.others=Others (type unspecified)
WorkingSet.label=Resource Working Sets
WorkingSet.others=Others (no working set)
BreakpointWorkingSet.label=Breakpoint Working Sets
BreakpointWorkingSet.others=Others (no working set)
BreakpointWorkingSet.name=Breakpoint
BreakpointWorkingSet.description=Breakpoint workingsets contain listings of workspace breakpoints
memoryRenderingsExtensionPointName = Memory Renderings
TableRenderingPrefActionName = &Table Renderings Preferences...


NewMemoryViewAction.label=&New Memory View
NewMemoryViewAction.tooltip=New Memory View
PinMemoryBlockAction.label=&Pin Memory Monitor
PinMemoryBlockAction.tooltip=Pin Memory Monitor
TableRenderingInfo.label = Rendering Selection

preferenceKeywords.general=run debug breakpoints variables color editor source code conditional workbench expression confirmation memory reuse
preferenceKeywords.console=run debug console stdout stderr color process fixed width character write standard program background in out error
preferenceKeywords.launching=run debug launching build required dirty editor build wait workspace continue project error remove terminate launch history context previous selected resource
preferenceKeywords.stringSubstitution=run debug variables string substitution launch
preferenceKeywords.viewManagement=run debug views launch open close automatic mode
preferenceKeywords.perspective=perspectives switching assign automatic run debug associated suspend mode
preferenceKeywords.launchConfigurations=filters launch migration configurations run debug closed missing projects working set type migrate delete resource
preferenceKeywords.launchDelegates=launch delegate duplicate run debug profile mode configuration launchers launcher modes
preferenceKeywords.contextLaunching=run debug profile launch contextual delegate configuration execute default preferred mode type

exportBreakpoints.label=E&xport Breakpoints...
importBreakpoints.label=I&mport Breakpoints...
exportBreakpoints.name=Breakpoints
importBreakpoints.description=Import breakpoints from the local file system.
exportBreakpoints.description=Export breakpoints to the local file system.

importLaunchConfigurations.name=Launch Configurations
importLaunchConfigurations.description=Import launch configurations from the local file system.
exportLaunchConfigurations.description=Export launch configurations to the local file system.

switchMemoryBlock.label = Switch &Memory Monitor
switchMemoryBlock.tooltip = Switch Memory Monitor
toggleMemoryMonitorsPane.label = Toggle Memory Monitors Pane
toggleMemoryMonitorsPane.description = Toggle visibility of the Memory Monitors Pane
nextMemoryBlockCommand.label = Next Memory Monitor
nextMemoryBlockCommand.description = Show renderings from next memory monitor.
newRenderingCommand.label = New Rendering
newRenderingCommand.description = Add a new rendering.
closeRenderingCommand.label = Close Rendering
closeRenderingCommand.description = Close the selected rendering.
memoryViewPrefAction.label = &Preferences...
resetMemoryMonitorAction.label = &Reset

ConsolePreferencesAction.label = &Preferences...
ConsolePreferencesAction.tooltip = Opens the console's Preferences Page

command.description.0 = Go to Address
command.name.0 = Go to Address
context.description.0 = In Table Memory Rendering
context.name.0 = In Table Memory Rendering
command.description.1 = Load next page of memory
command.name.1 = Next Page of Memory
command.description.2 = Load previous page of memory
command.name.2 = Previous Page of Memory

console.background.label= Process console background
console.out.label= Standard out
console.in.label= Standard in
console.err.label= Standard error
debug.ui.component.label = Platform Debug UI 
debug.core.component.label = Platform Debug Core
GroupLaunch.description=Launch several other configurations sequentially

prototype.decorator.label = Prototype Decorator