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

pluginName = Ant UI
providerName = Eclipse.org

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

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

ActionDefinition.antContentAssistProposals.name=Ant Content Assist
ActionDefinition.antContentAssistProposals.description=Content Assist in the Ant Editor

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

templatesName = Ant Templates Definitions

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

antDocumentFactory.name= Ant Document Factory
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.format.name= Format
ActionDefinition.format.description= Formats Ant buildfiles
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

antCategory.name= Source
antCategory.description= Ant command category

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

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

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
