###############################################################################
# Copyright (c) 2000, 2013 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

pluginName = Ant UI
providerName = Eclipse.org

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.

AntBuild...Shortcut.description=Launches an Ant build and allows it to be configured 
AntBuildShortcut.description=Launches an Ant build with default settings

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

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.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

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 auto activation trigger
preferenceKeywords.template=ant templates snippets macros

AntRenameParticipant.name= Ant launch configuration rename participant

AntElementHyperlinkDetector.description= A hyperlink detector for Ant buildfile elements
AntElementHyperlinkDetector.label= Ant Element
AntEditorHyperlinkTarget.name= Ant Editor

OpenDeclarationCommand.label=Open Declaration
OpenDeclarationCommand.description=Opens the Ant editor on the referenced element
