###############################################################################
# Copyright (c) 2000, 2012 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# 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)
#     Abeer Bagul (Tensilica) - Working set support for Expressions view (Bug 372181)
###############################################################################

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
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 is designed to support application debugging.  It incorporates views for displaying the debug stack, variables and breakpoint management.

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
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
RemoveBreakpointAction.tooltip=Remove Selected Breakpoints
RemoveExpressionAction.tooltip=Remove Selected Expressions
ResumeAction.label=Resu&me
RunDropDownAction.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
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
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
assignWatchExpressionToWorkingSet.label=Assign Working Sets
assignWatchExpressionToWorkingSet.tooltip=Assign selected watch expressions to a working set
Watch.label=Wa&tch
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

# Expression working set
expressionWorkingSet.name=Expression
expressionWorkingSet.description=A working set that contains expressions
expressionWorkingSet.manageAction.label=&Working Sets...
expressionWorkingSet.manageAction.tooltip=Manage Working Sets
expressionWorkingSet.autoSelectAction.label=&Auto Select Working Sets
expressionWorkingSet.autoSelectAction.tooltip=Automatically select Working Sets based on view input 