###############################################################################
# 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

BreakpointsView.name=Breakpoints
commonTabName=&Common
ConsoleColorProvidersExtensionName= Console Color Providers
ConsoleFontDefinition.description= The debug console text font is used by the debug console
ConsoleFontDefinition.label= Debug Console Text Font
ConsoleLineTrackersExtensionName= Console Line Trackers
LaunchingPreferencePage.name=Launching
ViewManagementPreferencePage.name=View Management
ConsolePreferencePage.name=Console
DebugModelContextBindingsName=Debug Model Context Bindings
DebugModelActivityBindingsName=Debug Model Activity Bindings
ContextViewBindingsName=Context View Bindings

BreakpoingActionSet.label=Breakpoints
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
DebugPreferencePage.name=Run/Debug
DebugView.name=Debug
DebugViewsCategory.name=Debug
DebugWithConfigurationAction.label=De&bug
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
ExpressionView.name=Expressions
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
OpenDebugConfigurations.label=Debu&g...
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
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.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
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
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
WorkInProgressPreferencePage.name=Work In Progress

#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

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.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
RunContextMenu.label=&Run
ProfileContextMenu.label=&Profile
LaunchMenuNoneApplicable.label=(None Applicable)

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

debugPresentation.label= Debug

MemoryViewName = Memory
MemoryRenderingViewName = Memory Rendering

MemoryViewTableFontDefinition.label=Memory views table Font
MemoryViewTableFontDefinition.description=The font used in memory views tables.

RawHex = Hex
rawHexMemoryRendering.name= Raw Hex Memory Rendering

ViewManagementAction.label=&View Management...