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

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.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 Last Launched
ActionDefinition.profileLast.description=Profile the last launch in profile mode

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

ActionDefinition.debugLast.name=Debug Last Launched
ActionDefinition.debugLast.description=Debug the last launch in debug mode

ActionDefinition.runLast.name=Run Last Launched
ActionDefinition.runLast.description=Relaunch the last 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
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

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
preferenceKeywords.console=console stdout stderr color
preferenceKeywords.launching=launching build
preferenceKeywords.stringSubstitution=variables
preferenceKeywords.viewManagement=views
preferenceKeywords.perspective=perspectives switching assign automatic run debug
preferenceKeywords.launchConfigurations=filters launch migration configurations run debug
preferenceKeywords.launchDelegates=launch delegate duplicate run debug profile mode configuration launchers launcher modes
preferenceKeywords.contextLaunching=run debug profile launch contextual delegate configuration execute

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