###############################################################################
# Copyright (c) 2006, 2013 Wind River Systems 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:
#   Wind River Systems - initial API and implementation
#   IBM Corporation
#   Patrick Chuong (Texas Instruments) - Pin and Clone Supports (331781)
#   Alvaro Sanchez-Leon (Ericsson AB) - Support for Step into selection (bug 244865)
###############################################################################
pluginName=Debugger Services Framework UI
providerName=Eclipse CDT


# disassembly
disassemblyPreferencePage.name = Disassembly
disassemblyView.name= Disassembly

command.gotoPC.name=Go to Program Counter
command.gotoPC.description=Navigate to current program counter
command.gotoAddress.name=Go to Address...
command.gotoAddress.description=Navigate to address
command.gotoSymbol.name=Go to Symbol...
command.gotoSymbol.description=Navigate to symbolic address
command.rulerToggleBreakpoint.name=Toggle Breakpoint
command.rulerToggleBreakpoint.description=Toggle breakpoint in disassembly ruler

commandContext.name= In Disassembly
commandContext.description= When debugging in assembly mode

# actions
action.breakpointProperties.label = Breakpoint Properties...
action.toggleBreakpoint.label = Toggle Breakpoint
action.addBreakpoint.label = Add Breakpoint...

menu.updatePolicy = Update Policy
menu.threadsUpdatePolicy = Threads Update Policy
menu.updateScope = Update Scope

menu.numberFormat = Number Format

preferencePage.name = View Performance

action.expandStack.label = E&xpand Stack

action.refreshAll.name=Refresh Debug Views

action.refresh.label=Refresh

action.jumpToMemory.label=Jump to Memory

popup.addExpression.label=Add Watch Expression...
popup.resumeAtLine.label=Resume At Li&ne
popup.moveToLine.label=&Move To Line\u0020
popup.runToLine.label=Run To &Line

menu.addGroup.label=Add Expression Group
command.addLocals.label=Local Variables
command.addRegisters.label=Registers
command.addLocals.name=Add Expression Group > Local Variables
command.addRegisters.name=Add Expression Group > Registers

command.refreshAll.name=Refresh Debug Views
command.refreshAll.description=Refresh all data in debug views

# jump to memory
command.jumpToMemory.name=Jump to Memory
command.jumpToMemory.description=Open memory view and add memory monitor for address

# Preferences

StaleData.foreground.label=Stale data foreground color\u0020
StaleData.foreground.description=This color is used to indicate that a given element of data in a view is stale.  User should refresh the view to see current data.  The foreground color is used only when the view is showing data in columns.\u0020

StaleData.background.label=Stale data background color\u0020
StaleData.background.description=This color is used to indicate that a given element of data in a view is stale.  User should refresh the view to see current data.  The background color is used only when the view is in no-columns mode.\u0020

debugUpdateModes.label = Debug Update Modes

# Pin & Clone
PinView.name = Pin to Debug Context
OpenNewView.name = Open New View

# Disassembly ruler columns
disassemblyRulerColumn.addresses=Addresses
disassemblyRulerColumn.functionOffsets=Function Offsets
disassemblyRulerColumn.opcodes=Opcodes

# Step into selection
stepIntoSelectionHyperlinkDetector.label = C/C++ Step Into Selection
stepIntoSelectionHyperlinkDetector.description = Performs the step into selection command on demand via a hyperlink



