###############################################################################
# Copyright (c) 2004, 2005 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
###############################################################################

AntNewJavaProjectWizard_0=New Java Project
AntBuildfileExportWizard_0=Export
AntBuildfileExportPage_0=Generate Ant Buildfiles
AntBuildfileExportPage_10=Buildfile export failed: {0}. See the error log for more details.
AntBuildfileExportPage_1=Generates Ant buildfiles based on the configuration of the Java projects
AntBuildfileExportPage_2=Select the projects to use to generate the Ant buildfiles:
AntBuildfileExportPage_3=Overwrite existing buildfiles for following projects:
AntBuildfileExportPage_4=Confirm Overwrite
AntBuildfileExportPage_5=build.xml and build-user.xml files created for following projects: {0}
AntBuildfileExportPage_6=A cycle was detected in the build path of project: {0}
AntBuildfileExportPage_7=Created Ant buildfiles might not compile correctly. Please fix all build path errors.
AntBuildfileExportPage_8=Then try again.
AntBuildfileExportPage_9=Cycle detected
AntNewJavaProjectPage_9=Create a Java Project from an Ant Buildfile
AntNewJavaProjectPage_0=Specified buildfile does not exist
AntNewJavaProjectPage_10=Create a new Java project based on the specification of a javac task in the Ant buildfile. This does not copy the source contents to the workspace.
AntNewJavaProjectPage_11=&Ant Buildfile:
AntNewJavaProjectPage_12=&Project Name:
AntNewJavaProjectPage_13=B&rowse...
AntNewJavaProjectPage_14=Ant Project
AntNewJavaProjectPage_15=No buildfile selected
AntNewJavaProjectPage_16=Location error
AntNewJavaProjectPage_17=Specified buildfile could not be parsed successfully
AntNewJavaProjectPage_18=Project name must be specified
AntNewJavaProjectPage_19=A project with the specified name already exists
AntNewJavaProjectPage_1=Specified buildfile does not contain a javac task
AntNewJavaProjectPage_20=Currently only supports creating a project from a single javac declaration
AntNewJavaProjectPage_21=Error occurred creating project
AntNewJavaProjectPage_22=Error occurred creating Java project from buildfile
AntNewJavaProjectPage_2=The file selected is not a valid Ant buildfile
AntNewJavaProjectPage_3=&Select javac declaration to use to define project:
JavacTableLabelProvider_0=\"javac\" task found in target \"{0}\"
ProjectCreator_0=Problem setting the classpath of the project from the javac classpath: {0}
BuildFileCreator_0=Error generating buildfile launch configuration targets