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

pluginName = Ant UI
providerName = Eclipse.org

AntBuild = Ant Build
AntBuilder.name=Ant Builder
AntLaunchShortcut.label = Ant Build
AntLaunchShortcutWithDialog.label = Ant Build...
antLaunchConfigurationTabGroup.description=Run an Ant build file.
antBuilderLaunchConfigurationTabGroup.description=Create a configuration that will run an Ant build file during a build.

AntLaunchDelegate.name=Eclipse Ant Launcher
AntLaunchDelegate.description=The Eclipse Ant Launcher supports running and debugging Ant build files.
AntBuilderLaunchDelegate.name= Eclipse Ant Builder Launcher
AntBuilderLaunchDelegate.description=The Eclipse Ant Builder Launcher supports running Ant build files.

AntEditor.name=Ant Editor
AddBookmark.label=Add Boo&kmark...
AddBookmark.tooltip=Add Bookmark...
AddTask.label=Add &Task...
AddTask.tooltip=Add Task...

CategoryView.antViews = Ant

View.antView = Ant
ViewCommand.antView.name = Ant
ViewCommand.antView.description = Show the Ant view

PreferencePage.antPreferences = Ant
PreferencePage.antRuntimePreferences = Runtime
PreferencePage.antEditorPreferences = Editor
PreferencePage.antCodeFormatterPreferences = Formatter
PreferencePage.antTemplatePreferences = Templates
PreferencePage.antCodeAssistPreferences = Content Assist

buildFile.contextType.name= Ant
task.contextType.name= Ant Task
target.contextType.name= Ant Target

antDocumentSetupParticipant.name= Ant Document Setup Participant

ant.resolvers.src= Source Fileset
ant.resolvers.src.description= A source fileset
ant.resolvers.dst= Destination Fileset
ant.resolvers.dst.description= An output fileset

Ant.marker.label = Ant Buildfile Problem

antNewJavaProjectWizard.name= Java Project from Existing Ant Buildfile
antNewJavaProjectWizard.description= Create a Java project from an existing Ant buildfile on the file system.

antExportWizard.name= Ant Buildfiles
antExportWizard.description= Generates Ant Buildfiles for Eclipse Java projects.

Folding.label= F&olding

ActionDefinition.showTooltip.name= Show Tooltip Description
ActionDefinition.showTooltip.description= Shows Tooltip description
ActionDefinition.openExternalDoc.name= Open External Documentation
ActionDefinition.openExternalDoc.description= Open the External documentation for the current task in the Ant editor
ActionDefinition.renameInFile.name= Rename In File
ActionDefinition.renameInFile.description= Renames all references within the same buildfile


context.editingAnt.name= Editing Ant Buildfiles
context.editingAnt.description= Editing Ant Buildfiles Context

antBreakpointGroupName= Ant Breakpoints
AddBreakpoint.label=Toggle &Breakpoint
EnableBreakpoint.label=&Enable Breakpoint

AntShortcut.description.debug=Debug Ant Build
AntShortcut.description.run=Run Ant Build

antSourceLookupDirector.name=Ant Source Lookup Director

Dummy.label

runToLineAction.label= Run to Line

antEditorPresentationActionSet.label= Ant Editor Presentation
toggleMarkOccurrences.label= Toggle Ant Mark Occurrences
toggleMarkOccurrences.tooltip= Toggle Ant Mark Occurrences
toggleMarkOccurrences.description= Toggles mark occurrences in Ant editors

toggleAutoReconcile.label= Toggle Ant Editor Auto Reconcile
toggleAutoReconcile.tooltip= Toggle Ant Editor Auto Reconcile

preferenceKeywords.general=Ant buildfile color
preferenceKeywords.runtime=ant runtime classpath tasks types properties property
preferenceKeywords.editor=ant buildfile appearance syntax problems error warning folding color
preferenceKeywords.formatter=ant format formatter
preferenceKeywords.codeAssist=ant content complete color
preferenceKeywords.template=ant templates snippets macros

AntRenameParticipant.name= Ant launch configuration rename participant
