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

LaunchConfigurationParticipant_0=Ant Launch configuration participant
LaunchConfigurationBuildfileChange_0=Rename the Ant launch configuration "{0}" to "{1}", update buildfile location attribute
LaunchConfigurationBuildfileChange_1=Update buildfile of Ant launch configuration "{0}"
LaunchConfigurationBuildfileChange_2=Update Ant launch configuration "{0}"
LaunchConfigurationBuildfileChange_4=The project for the Ant launch configuration "{0}" is no longer "{1}".
LaunchConfigurationBuildfileChange_5=The buildfile location for the Ant launch configuration "{0}" is no longer "{1}".
LaunchConfigurationBuildfileChange_6=The Ant launch configuration "{0}" no longer exists.
LaunchConfigurationBuildfileChange_7=Ant Launch configuration updates