###############################################################################
#  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
#     Wind River Systems - Ted Williams - [Memory View] Memory View: Workflow Enhancements (Bug 215432)
#     Remy Chi Jian Suen - Make WorkingDirectoryBlock from JDT a Debug API class (Bug 221973)
###############################################################################

DebugUIPlugin_23=Build in Progress
DebugUIPlugin_24=Wait for build to finish?
DebugUIPlugin_25=Launching {0}
DebugUIPlugin_0=\ (waiting for build...)
DebugUIPlugin_Build_error__Check_log_for_details__2=Build error. Check log for details.
DebugUIPlugin_Run_Debug_1=Run/Debug

DefaultLabelProvider__disconnected__1=<disconnected>
DefaultLabelProvider_1=<terminated>
DefaultLabelProvider_0=...
DefaultLabelProvider__unknown__1=<unknown>
DefaultLabelProvider_Breakpoint_1=Breakpoint
DefaultLabelProvider_12=\ (pending)
DefaultLabelProvider_13=\ <error(s)_during_the_evaluation>
DefaultLabelProvider_15=\ (disabled)
DefaultLabelProvider_16=<terminated, exit value: {0}>
MultipleInputDialog_6=&Browse...
MultipleInputDialog_7=Select a file:
MultipleInputDialog_8=Varia&bles...

WorkingDirectoryStatusHandler_Eclipse_Runtime_1=Eclipse Runtime
WorkingDirectoryStatusHandler_0=Eclipse is not able to set the working directory specified by the program being launched as the current runtime does not support working directories.\nContinue launch without setting the working directory?

DebugUITools_3=Launching 
DebugUITools_Error_1=Error
DebugUITools_Exception_occurred_during_launch_2=Exception occurred during launch

InstructionPointerAnnotation_0=Debug Current Instruction Pointer
InstructionPointerAnnotation_1=Debug Call Stack

DefaultLabelProvider_17=\ [line: {0}]

##############################################################
# Action
##############################################################
AddMemoryBlockAction_title=Add Memory Monitor
AddMemoryBlockAction_tooltip=Add Memory Monitor
AddMemoryBlockAction_failed =Add Memory Monitor Failed.
AddMemoryBlockAction_input_invalid = Input is invalid.
AddMemoryRenderingDialog_Memory_Monitor=Memory Monitor
AddMemoryRenderingAction_Add_renderings=Add Rendering(s)
AddMemoryRenderingDialog_Memory_renderings=Memory Rendering(s)
AddMemoryRenderingDialog_Add_memory_rendering=Add Memory Rendering
AddMemoryBlockAction_noMemoryBlock = Failed to get memory monitor.
AddMemoryRenderingDialog_Add_New=Add New...
AddMemoryRenderingDialog_Unknown=Unknown
RemoveMemoryBlockAction_title=Remove Memory Monitor
RemoveMemoryBlockAction_tooltip=Remove Memory Monitor
MemoryViewCellModifier_failure_title = Edit Memory
MemoryViewCellModifier_failed = Edit failed:
MemoryViewCellModifier_data_is_invalid = Data is invalid.
ResetMemoryBlockAction_title = Reset to Base Address
ResetMemoryBlockAction_tootip = Reset to Base Address
ResetMemoryBlockPreferencePage_0=Reset Memory Monitor
ResetMemoryBlockPreferencePage_1=When resetting memory monitor:
ResetMemoryBlockPreferencePage_2=Reset visible renderings
ResetMemoryBlockPreferencePage_3=Reset all renderings
GoToAddressAction_title = Go to Address...
GoToAddressComposite_0=Go to Address:
GoToAddressComposite_1=OK
GoToAddressComposite_2=Cancel
GoToAddressComposite_4=Go to Offset:
GoToAddressComposite_5=Jump Memory Units:
GoToAddressComposite_6=Input as Hex
GoToAddressComposite_7=Unable to calculate address from offset.
GoToAddressAction_Go_to_address_failed = Go To Address Failed
GoToAddressAction_Address_is_invalid = Address is invalid
FormatTableRenderingAction_0=Format...
FormatTableRenderingAction_1=Please specify column and row size.
FormatTableRenderingAction_2=Row Size:
FormatTableRenderingAction_3=unit(s) per row
FormatTableRenderingAction_4=Column Size:
FormatTableRenderingAction_5=unit(s) per column
FormatTableRenderingAction_6=Restore Defaults
FormatTableRenderingAction_7=Preview:
FormatTableRenderingAction_8=Save as Defaults
FormatTableRenderingAction_9=Preview is not available.
FormatTableRenderingDialog_0=Default Row Size:
FormatTableRenderingDialog_1=unit(s) per row
FormatTableRenderingDialog_2=Default Column Size:
FormatTableRenderingDialog_3=unit(s) per column
FormatTableRenderingDialog_4=Failed to Save Settings
FormatTableRenderingDialog_5=Default settings cannot be saved.
CopyViewToClipboardAction_title = Copy To Clipboard
CopyViewToClipboardAction_tooltip = Copy To Clipboard
PrintViewTabAction_title = Print
PrintViewTabAction_tooltip = Print
PrintViewTabAction_jobtitle = Memory for
ReformatAction_title = Resize to Fit

##############################################################
# Dialog
##############################################################
MonitorMemoryBlockDialog_EnterExpressionToMonitor = Enter address or expression to monitor:
MonitorMemoryBlockDialog_MonitorMemory = Monitor Memory
MonitorMemoryBlockDialog_NumberOfBytes = Number of bytes:
GoToAddressDialog_Address = Address:
GoToAddressDialog_GoToAddress = Go To Address...

##############################################################
# Launch Groups
##############################################################
GroupLaunch_Cannot_launch=Cannot launch ''{0}'' in the ''{1}'' mode
GroupLaunch_Cycle=Infinite loop detected for ''{0}'' group
GroupLaunch_Error=Error
GroupLaunchConfigurationSelectionDialog_0=The selected launch contains a direct or indirect reference to this group
GroupLaunchConfigurationSelectionDialog_4=&Launch mode:
GroupLaunchConfigurationSelectionDialog_5=Use default mode when launching
GroupLaunchConfigurationSelectionDialog_7=Select a launch configuration
GroupLaunchConfigurationSelectionDialog_8=&Post launch action:
GroupLaunchConfigurationSelectionDialog_9=&Seconds:
GroupLaunchConfigurationSelectionDialog_1=Selected launch mode is not supported for selected launch configuration(s)
GroupLaunchConfigurationSelectionDialog_10=Enter valid number of seconds
GroupLaunchConfigurationSelectionDialog_11=Select only one launch configuration
GroupLaunchConfigurationSelectionDialog_12=Add Launch Configuration
GroupLaunchConfigurationSelectionDialog_13=Edit Launch Configuration
GroupLaunchConfigurationSelectionDialog_14=Add one or more launch configurations to the launch group
GroupLaunchConfigurationSelectionDialog_15=Edit an existing entry in the launch group
GroupLaunchConfigurationSelectionDialog_adoptText=&Adopt launch if already running
GroupLaunchConfigurationSelectionDialog_adoptTooltip=Instead of launching a new process, adds the running launch to the group.
GroupLaunchConfigurationSelectionDialog_errorNoRegexp=Enter a regular expression to wait for
GroupLaunchConfigurationSelectionDialog_regexp=&Regular Expression:
GroupLaunchConfigurationTabGroup_0=Wait for output matching "{0}"
GroupLaunchConfigurationTabGroup_1=&Up
GroupLaunchConfigurationTabGroup_2=Do&wn
GroupLaunchConfigurationTabGroup_3=&Edit...
GroupLaunchConfigurationTabGroup_4=&Add...
GroupLaunchConfigurationTabGroup_5=Re&move
GroupLaunchConfigurationTabGroup_6=Name
GroupLaunchConfigurationTabGroup_7=Mode
GroupLaunchConfigurationTabGroup_10=&Launches
GroupLaunchConfigurationTabGroup_12=Action
GroupLaunchConfigurationTabGroup_13=Delay {0} seconds
GroupLaunchConfigurationTabGroup_14=Launch {0} does not exist.
GroupLaunchConfigurationTabGroup_15=Launch {0} is filtered.
GroupLaunchConfigurationTabGroup_16=Must have at least one valid enabled launch.
GroupLaunchConfigurationTabGroup_lblAdopt=\ (adopt if running)

CodePagesPrefDialog_1=Select Codepages
CodePagesPrefDialog_2=Memory to ASCII strings:
CodePagesPrefDialog_4=Memory to EBCDIC strings:
CodePagesPrefDialog_6=Invalid codepage
CodePagesPrefDialog_7=ASCII codepage entered is invalid.
CodePagesPrefDialog_8=Invalid codepage
CodePagesPrefDialog_9=EBCDIC codepage entered is invalid.
CodePagesPrefDialog_0=The codepage is not supported.

##############################################################
# View Tab
##############################################################
MemoryView_Memory_monitors=Monitors
MemoryBlocksTreeViewPane_0=Remove All Memory Monitors
MemoryBlocksTreeViewPane_1=Are you sure you want to remove all memory monitors?
MemoryBlocksTreeViewPane_2=Remove All
MemoryView_Memory_renderings=Renderings
MemoryViewContentProvider_Unable_to_retrieve_content = Unable to retrieve content.

##############################################################
# Views
##############################################################
RemoveMemoryRenderingAction_Remove_rendering=Remove Rendering
EmptyViewTab_Unable_to_create=Unable to create
CreateRenderingTab_Memory_monitor=Memory Monitor:
CreateRenderingTab_label=New Renderings...
CreateRenderingTab_Select_renderings_to_create=Select rendering(s) to create:
CreateRenderingTab_Add_renderings=Add Rendering(s)
CreateRenderingTab_0=No rendering is selected.
CreateRenderingTab_1=Add Rendering Failed
CreateRenderingTab_2=No rendering is selected.
CreateRendering_0=Add Memory Rendering Failed
CreateRendering_1=Unable to add the selected rendering.
CreateRendering_2=Pending

##############################################################
# Managers
##############################################################
ShowAddressColumnAction_0=Hide Address Column
ShowAddressColumnAction_1=Show Address Column
ImageDescriptorRegistry_0=Allocating image for wrong display
ErrorRendering_0=Reason:\n
AbstractTableRendering_1=Unable to get the base address from the memory block.
AbstractTableRendering_2=Address
AbstractTableRendering_3=Error occurred:\n
AbstractTableRendering_8=Unknown
AbstractTableRendering_4=Next Page
AbstractTableRendering_6=Previous Page
AbstractTableRendering_10=Unable to get base address.
AbstractTableRendering_11=Address is out of range.
AbstractTableRendering_12=Reset Failed.
AbstractTableRendering_13=Unable to reset to the base address.
AbstractTableRendering_20=Default format is invalid:
AbstractTableRendering_16=Please specify row and column sizes to use.
AbstractTableRendering_18=Save these settings to avoid this problem in the future.
AbstractAsyncTableRendering_1=Pending...
AbstractAsyncTableRendering_2=Create Table Rendering
SetPaddedStringDialog_0=Padded String
SetPaddedStringDialog_1=Enter string to show unretrievable memory.
SetPaddedStringPreferencePage_0=Padded String:
TableRenderingPropertiesPage_1=Rendering:
TableRenderingPropertiesPage_2=Selected Address:
TableRenderingPropertiesPage_3=units
TableRenderingPropertiesPage_4=Length:
TableRenderingPropertiesPage_5=Selected Content:
TableRenderingPropertiesPage_6=Addressable Size:
TableRenderingPropertiesPage_8=bits
TableRenderingPropertiesPage_9=Changed:
TableRenderingPropertiesPage_10=Changed:
TableRenderingPropertiesPage_11=Unknown
TableRenderingPropertiesPage_12=Unknown
TableRenderingPropertiesPage_13=Big Endian
TableRenderingPropertiesPage_14=Little Endian
TableRenderingPropertiesPage_15=Unknown
TableRenderingPropertiesPage_16=Data Endianess:
TableRenderingPropertiesPage_17=Unknown
TableRenderingPropertiesPage_18=Big Endian
TableRenderingPropertiesPage_19=Little Endian
TableRenderingPropertiesPage_20=Unknown
TableRenderingPropertiesPage_21=Display Endianess:
TableRenderingPropertiesPage_22=Readable:
TableRenderingPropertiesPage_23=Writable:
TableRenderingPropertiesPage_25=Line Address:
TableRenderingPropertiesPage_26=Units Per Line:
TableRenderingContentProvider_0=Unable to load memory from the specified address: 0x
TableRenderingContentProvider_1=Buffer start and end address are invalid.
TableRenderingContentProvider_2=Buffer start and end address are invalid.
TableRenderingPreferencePage_10=Select memory loading mode when rendering is scrolled to end of buffer:
TableRenderingPreferencePage_2=Number of lines per page:
TableRenderingPreferencePage_3=Page size cannot be less than 1.
TableRenderingPreferencePage_4=Sizes specified are invalid.
TableRenderingPreferencePage_0=Automatic
TableRenderingPreferencePage_5=Number of lines to preload
TableRenderingPreferencePage_6=Before visible region:
TableRenderingPreferencePage_7=After visible region:
TableRenderingPreferencePage_8=Manual
TableRenderingPreferencePage_9=Minimum number of lines to preload is 1.
TableRenderingPrefAction_0=Table Renderings
SwitchMemoryBlockAction_0=Unknown
SwitchMemoryBlockAction_4=Pending
FormatTableRenderingAction_11=Format specified is invalid.
FormatTableRenderingAction_13=Column size cannot be larger than the row size.
FormatTableRenderingAction_15=<Address>
FormatTableRenderingAction_16=&Format...
ViewPaneOrientationAction_0=Horizontal Orientation
ViewPaneOrientationAction_1=Horizontal Orientation
ViewPaneOrientationAction_2=Vertical Orientation
ViewPaneOrientationAction_3=Vertical Orientation
AbstractDebugCheckboxSelectionDialog_0=&Select All
AbstractDebugCheckboxSelectionDialog_1=&Deselect All

##############################################################
# Blocks
##############################################################

WorkingDirectoryBlock_4=Select a &workspace relative working directory:
WorkingDirectoryBlock_7=Select a working directory for the launch configuration:
WorkingDirectoryBlock_0=W&orkspace...
WorkingDirectoryBlock_Working_Directory_8=Working Directory
WorkingDirectoryBlock_10=Working directory does not exist
WorkingDirectoryBlock_12=Working directory:
WorkingDirectoryBlock_17=Variabl&es...
WorkingDirectoryBlock_18=Defa&ult:
WorkingDirectoryBlock_19=Ot&her:
WorkingDirectoryBlock_20=Working directory not specified
WorkingDirectoryBlock_1=&File System...
WorkingDirectoryBlock_Exception_occurred_reading_configuration___15=Exception occurred reading configuration:

##############################################################
# Elements
##############################################################
ExpressionManagerContentProvider_1=Add new expression
