###############################################################################
# Copyright (c) 2000, 2004 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
#     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
###############################################################################

pluginName=Debug UI

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

BreakpointActionSet.label=Breakpoints
CollapseAll.label=Collapse All
CollapseAll.tooltip= Collapse Al
CopyToClipboardAction.label=&Copy Stack
CopyVariablesToClipboardAction.label=Copy &Variables
DebugActionSet.label=Debug
DebugConfigurations.label=D&ebug...
debugCurrentInstructionPointer=Debug Current Instruction Pointer
debugCallStack=Debug Call Stack
DebugDropDownAction.label=Debug
DebugHistoryMenuAction.label=Debug &History
DebugLastAction.label=&Debug Last Launched
DebugLaunchGroup.label=Debu&g
DebugLaunchGroup.title=Select or configure an application to debug
DebugModelPresentationExtensionName=Debug Model Presentation
DebugPerspective.name=Debug
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
DisableBreakpointsAction.label=&Disable
DisconnectAction.label=Disconn&ect
DisconnectAction.tooltip=Disconnect
EnableBreakpointsAction.label=&Enable
ExpandAll.label=Expand All
ExpandAll.tooltip=Expand All
ExpressionView.name=Expressions
GroupBy.label=S&how
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 
LaunchConfigurationTypePropertyPage.name=Launch Configuration Type
LaunchConfigurationTypesPreferencePage.name=Launch Configuration Types
LauncherPropertyPage.name=Launcher
LaunchGroupsExtensionName=Launch Groups
modificationAction.label=&Modification
OpenDebugConfigurations.label=De&bug...
OpenRunConfigurations.label=Ru&n...
OpenProfileConfigurations.label=&Profile...
processPropertyPageName=Process Information
ProcessesView.name=Processes
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
ResumeAction.tooltip=Resume
RunDropDownAction.label=&Run
RunMenu.label=&Run
RunLastAction.label=&Run Last Launched
RunLaunchGroup.label=Ru&n
RunLaunchGroup.title=Select or configure an application to run
RunConfigurations.label=R&un Configurations...
RunHistoryMenuAction.label=Run His&tory
RunWithConfigurationAction.label=R&un As
RunToLine.label=Run to &Line
SelectAll.label=Select &All
FindVariable.label=&Find Variable...
StepWithFiltersAction.label=Use Step &Filters
StepWithFiltersAction.tooltip=Use Step Filters/Step Debug
StepIntoAction.label=Step &Into
StepIntoAction.tooltip=Step Into
StepOverAction.label=Step &Over
StepOverAction.tooltip=Step Over
StepReturnAction.label=Step Ret&urn
StepReturnAction.tooltip=Step Return
StringVariablePresentationsName=String Variable Presentations
SuspendAction.label=&Suspend
SuspendAction.tooltip=Suspend
TerminateAction.label=&Terminate
TerminateAction.tooltip=Terminate
TerminateAllAction.label=Termi&nate All
TerminateAndRemoveAction.label=Terminate and Remo&ve
ToggleBreakpointAction.label=Toggle Line Brea&kpoint
ToggleMethodBreakpointAction.label=Toggle &Method Breakpoint
ToggleWatchpointAction.label=Toggle &Watchpoint
VariablesView.name=Variables
StringVariablePreferencePage.name=String Substitution
ToggleMemoryMonitorsPaneAction.name = Toggle Memory Monitors Pane
ToggleSplitPaneAction.name = Toggle Split Pane
LinkRenderingPanesAction.name = Link Memory Rendering Panes
AddRemoveRenderingMenu.name = Add/Remove Rendering
AddRenderingAction.name = Add Rendering
RemoveRenderingAction.name = Remove Rendering

#string subtitution 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 ':'.
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 ':'.
container_loc.description=Returns the absolute file system path of a resource's container. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
container_path.description=Returns the workspace relative path of a resource's container. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
container_name.description=Returns the name of a resource's container. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
project_loc.description=Returns the absolute file system path of a resource's project. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
project_path.description=Returns the workspace relative path of a resource's project. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
project_name.description=Returns the name of a resource's project. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
resource_loc.description=Returns the absolute file system path of a resource. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
resource_path.description=Returns the workspace relative path of a resource. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
resource_name.description=Returns the name of a resource. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
workspace_loc.description=Returns the absolute file system path of the workspace root. When an argument is specified, the absolute file system path of the resource identified by a workspace relative path is returned.
selected_text.description=Returns the text currently selected in the active editor.

providerName=Eclipse.org

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

NoSourceFoundEditor.name= No Source Found

DetailPaneWordWrapAction.label=&Wrap Text in Details Pane
DetailPaneWordWrapAction.tooltip=Wrap text in the Details pane

Context.debugging.description= Debugging Programs
Context.debugging.name= Debugging

Context.console.description= In Console
Context.console.name= In Console

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

ActionDefinition.toggleStepFilters.name= Toggle 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.resume.name=Resume
ActionDefinition.resume.description=Resume

ActionDefinition.resumeAllThreads.name=Resume All Thrads
ActionDefinition.resumeAllThreads.description=Resumes all suspended threads

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.toggleBreakpoint.name=Toggle Line Breakpoint
ActionDefinition.toggleBreakpoint.description=Creates or removes a line breakpoint

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

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.followHyperlink.name= Follow Hyperlink
ActionDefinition.followHyperlink.description= Follow a hyperlink in the debug console

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

ViewCommand.debugView.name=Debug
ViewCommand.debugView.description=Show the Debug view

ViewCommand.breakpointView.name=Breakpoints
ViewCommand.breakpointView.description=Show the Breakpoints view

ViewCommand.variableView.name=Variables
ViewCommand.variableView.description=Show the Variables view

ViewCommand.expressionView.name=Expressions
ViewCommand.expressionView.description=Show the Expressions view

ViewCommand.registerView.name=Registers
ViewCommand.registerView.description=Show the Registers view

ViewCommand.memoryView.name=Memory
ViewCommand.memoryView.description=Show the Memory view

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
LaunchMenuNoneApplicable.label=(None Applicable)

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

debugPresentation.label= Debug

MemoryViewName = Memory
MemoryRenderingViewName = Memory Rendering

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

RawHex = Hex
Renderings = Renderings
ASCIIName = ASCII
SignedIntegerName = Signed Integer
UnsignedIntegerName = Unsigned Integer
Endianess = Endianess
BigEndianActionName = Big Endian
LittleEndianActionName = Little Endian

ViewManagementAction.label=&View Management...

setDefaultGroup.label=&Select Default Working Set...
setDefaultGroup.tooltip=Setlect 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

renderingExtensionPointName=Memory Rendering Types
memoryRenderingsExtensionPointName=Memory Renderings
