###############################################################################
# Copyright (c) 2004, 2009 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_11=&Select All 
AntBuildfileExportPage_12=&Deselect All
AntBuildfileExportPage_13=&Check projects for Ant compatibility
AntBuildfileExportPage_14=Analyze if source directories have no dependency cycle and are specified in correct order.
AntBuildfileExportPage_15=Create &target to compile project using Eclipse compiler
AntBuildfileExportPage_16=Name for &Ant buildfile:
AntBuildfileExportPage_17=&JUnit output directory:
AntBuildfileExportPage_18=Select one or more projects to export.
AntBuildfileExportPage_19=Build file name is required.
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_20=JUnit output directory name is required.
AntBuildfileExportPage_3=Are you sure you want to overwrite the buildfiles for these projects?
AntBuildfileExportPage_4=Overwrite Buildfiles?
AntBuildfileExportPage_6=A cycle was detected in the build path of project: {0}
AntBuildfileExportPage_creating_build_files=Creating Ant build files...
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_21=Error occurred creating project
AntNewJavaProjectPage_22=Error occurred creating Java project from buildfile
AntNewJavaProjectPage_23=Project name is not a valid: {0}
AntNewJavaProjectPage_24=&Link to the buildfile in the file system
AntNewJavaProjectPage_2=The file selected is not a valid Ant buildfile
AntNewJavaProjectPage_3=&Select javac declaration to use to define project:
BuildFileCreator_generating_buildfile_for=Generating build file for {0}...
JavacTableLabelProvider_0=\"javac\" task found in target \"{0}\"
ProjectCreator_0=Problem setting the classpath of the project from the javac classpath: {0}
SourceAnalyzer_0=There is a build cycle in the source directories of project \"{0}\". The exported Ant buildfile might not compile your sources correctly until you eliminate the cycle: 
SourceAnalyzer_1=Cycle detected
SourceAnalyzer_2=Class path order problem detected
SourceAnalyzer_3=The build class path order of the source directories of project \"{0}\" is not correct. Exported Ant buildfile will not compile your sources correctly until you swap the order of these directories: