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

LaunchView_Error_1=Error
LaunchView_Exception_occurred_opening_editor_for_debugger__2=Exception occurred opening editor for debugger.
LaunchView_Terminate_and_Remove_1=Terminate and Remove
LaunchView_Terminate_and_remove_selected__2=Terminate and remove selected?

SourceNotFoundEditorInput_Source_Not_Found_1=Source Not Found
SourceNotFoundEditorInput_Source_not_found_for__0__2=Source not found for {0}

BreakpointsView_12=Breakpoints View &Only
BreakpointWorkingSetPage_0=Breakpoint Working Set
BreakpointWorkingSetPage_1=Enter a working set name and select breakpoints.
BreakpointWorkingSetPage_2=&Working set name:
BreakpointWorkingSetPage_3=Brea&kpoints:
BreakpointWorkingSetPage_4=The name must not have leading or trailing whitespace
BreakpointWorkingSetPage_5=The name must not be empty
BreakpointWorkingSetPage_6=A working set with that name already exists
BreakpointWorkingSetPage_selectAll_label=Select &All
BreakpointWorkingSetPage_selectAll_toolTip=Select all of the breakpoints for this working set.
BreakpointWorkingSetPage_deselectAll_label=Dese&lect All
BreakpointWorkingSetPage_deselectAll_toolTip=Deselect all of the breakpoints for this working set.
OtherBreakpointOrganizer_0=Others
WorkingSetCategory_0=\ (default)
InspectPopupDialog_0=Move to Expressions View
InspectPopupDialog_1=Press {0} to {1}
