###############################################################################
# Copyright (c) 2003, 2005 QNX Software Systems 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:
#     QNX Software Systems - initial API and implementation
###############################################################################

pdi.Common.No_answer=No answer
pdi.Common.Not_implemented=Not Implemented
pdi.SourceManager.Unknown_type=Unknown type
pdi.RegisterManager.Wrong_register_type=Wrong register type
pdi.BreakpointManager.Not_a_PTP_breakpoint=Not a PTP breakpoint
pdi.BreakpointManager.Not_Supported=Not Supported
pdi.BreakpointManager.Parsing_Error=Parsing Error
pdi.RuntimeOptions.Unable_to_set_args_target_not_responding=Unable to set arguments: target is not responding
pdi.RuntimeOptions.Unable_to_set_args=Unable to set arguments: 
pdi.RuntimeOptions.Unable_to_set_args=Unable to set environment: 
pdi.RuntimeOptions.Unable_to_set_working_dir=Unable to set working directory: 
pdi.Session.Unknown_target=Unkown target
pdi.VariableManager.Unknown_type=Unknown type
pdi.VariableManager.Wrong_variable_type=Wrong variable type
pdi.VariableManager.Unknown_variable_object=Unknown variable object
pdi.model.VariableObject.Target_not_responding=Target is not responding
pdi.model.Target.Unknown_thread=Unknown thread
pdi.model.Target.Target_not_responding=Target is not responding
pdi.model.Target.Cannot_switch_to_thread=Can not switch to thread 
pdi.model.Target.Inferior_already_running=Inferior is already running
pdi.model.MemoryBlock.Bad_Offset=Bad Offset
pdi.mode.Target.Bad_location=Bad location
