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

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
