###############################################################################
# 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
###############################################################################
ExportLaunchConfigurationsWizard_0=Export Launch Configurations
ExportLaunchConfigurationsWizardPage_0=Brows&e...
ExportLaunchConfigurationsWizardPage_1=&Overwrite existing file(s) without warning
ExportLaunchConfigurationsWizardPage_10=Exporting Launch Configurations
ExportLaunchConfigurationsWizardPage_11=Overwrite?
ExportLaunchConfigurationsWizardPage_12=Would you like overwrite {0}?
ExportLaunchConfigurationsWizardPage_13=Yes
ExportLaunchConfigurationsWizardPage_14=Yes to All
ExportLaunchConfigurationsWizardPage_15=No
ExportLaunchConfigurationsWizardPage_16=No to All
ExportLaunchConfigurationsWizardPage_17=Cancel
ExportLaunchConfigurationsWizardPage_18=Launch configuration export failed
ExportLaunchConfigurationsWizardPage_19=Launch configuration does not exist: {0}
ExportLaunchConfigurationsWizardPage_2=Specified export location is not a directory
ExportLaunchConfigurationsWizardPage_3=&Launch Configurations:
ExportLaunchConfigurationsWizardPage_4=Location:
ExportLaunchConfigurationsWizardPage_5=Please select at least one launch configuration to export
ExportLaunchConfigurationsWizardPage_6=Please specify a path to export the launch configurations to
ExportLaunchConfigurationsWizardPage_7=Select launch configurations to export
ExportLaunchConfigurationsWizardPage_8=&Select All
ExportLaunchConfigurationsWizardPage_9=&Deselect All
ImportLaunchConfigurationsWizard_0=Import Launch Configurations
ImportLaunchConfigurationsWizardPage_0=Import Launch Configurations
ImportLaunchConfigurationsWizardPage_1=&Overwrite existing launch configurations without warning.
ImportLaunchConfigurationsWizardPage_3=You must select a root folder
ImportLaunchConfigurationsWizardPage_4=You must select at least one configuration to import
ImportLaunchConfigurationsWizardPage_5=Import launch configurations from the local file system
ImportLaunchConfigurationsWizardPage_6=From &Directory:
ImportLaunchConfigurationsWizardPage_7=Brows&e...
