###############################################################################
# Copyright (c) 2000, 2003 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
###############################################################################

find_replace_action.label=&Find/Replace...@Ctrl+F
find_replace_action.tooltip=Find/Replace
find_replace_action.image=
find_replace_action.description=Find/Replace

ObjectBrowserManager.2=Class {0} is not an instance of org.eclipse.debug.ui.IObjectBrowser

VariablesView.&Copy_8=&Copy
VariablesView.&Paste_14=&Paste
VariablesView.<error_occurred_retrieving_value>_18=<error occurred retrieving value>
VariablesView.Co&ntent_Assist_3=Co&ntent Assist
VariablesView.Cu&t_11=Cu&t
VariablesView.Error_1=Error
VariablesView.Select_&All_5=Select &All
VariablesView.Unable_to_configure_variable_details_area._2=Unable to configure variable details area.
VariablesView.44=Details

ToggleObjectBrowsersAction.1=Show Object Browsers
VariablesView.41=Variables View Only
ExpressionView.4=Expressions View Only
