###############################################################################
# Copyright (c) 2005, 2008 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
###############################################################################
WizardImportBreakpoints_0=Import Breakpoints
WizardImportBreakpointsPage_0=Import Breakpoints
WizardImportBreakpointsPage_1=File does not exist: {0}
WizardImportBreakpointsPage_2=Import breakpoints from local file system.
WizardImportBreakpointsPage_3=&Update existing breakpoints
WizardImportBreakpointsPage_4=F&rom file:
WizardImportBreakpointsPage_5=Create breakpoint &working sets
WizardImportBreakpointsPage_6=Please specify a file to import.
WizardExportBreakpoints_0=Export Breakpoints
WizardExportBreakpointsPage_0=Please specify a destination file.
WizardExportBreakpointsPage_1=Select one or more breakpoints to export.
WizardExportBreakpointsPage_2=&Breakpoints:
WizardExportBreakpointsPage_3=The destination directory does not exist.
WizardBreakpointsPage_0=Breakpoint Files
WizardBreakpointsPage_1=&Select All
WizardBreakpointsPage_2=&Deselect All
WizardBreakpointsPage_3=org.eclipse.debug.ui.BreakpointView
WizardBreakpointsPage_4=Export breakpoints to the local file system.
WizardBreakpointsPage_6=&Overwrite existing file without warning
WizardBreakpointsPage_7=&To file:
WizardBreakpointsPage_8=Brows&e...
WizardBreakpointsPage_12=Overwrite?
ImportExportOperations_0=Do you want to overwrite: {0} ?
ImportExportOperations_1=Overwrite Breakpoint?
ImportExportOperations_2=Overwrite {0}, {1}?
ImportExportOperations_3=Overwrite all without prompt.
ImportOperation_0=Importing Breakpoints
ExportOperation_0=Exporting Breakpoints
