###############################################################################
# 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
#     John-Mason P. Shackelford - bug 40255
###############################################################################

## The following messages are used indirectly from text operation actions - DO NOT REMOVE 
TogglePresentation.label=Show Source of Selected Element Only
TogglePresentation.tooltip=Show Source of Selected Element Only

ToggleMarkOccurrencesAction.label= Toggle Ant Mark Occurrences
ToggleMarkOccurrencesAction.tooltip= Toggle Ant Mark Occurrences

ToggleAutoReconcileAction.label= Toggle Auto Reconcile
ToggleAutoReconcileAction.tooltip= Toggle Auto reconcile

Projection.Toggle.label= &Enable Folding
Projection.Toggle.tooltip= Toggles Folding
Projection.Toggle.description= Toggles folding for the current editor

Projection.ExpandAll.label= Expand &All
Projection.ExpandAll.tooltip= Expands All Folded Regions
Projection.ExpandAll.description= Expands any folded regions in the current editor
## end indirect use list

OpenExternalAntDocHandler_open_external_ant_doc=Open External Ant Documentation
RunToLineAdapter.0=Empty editor
RunToLineAdapter.1=Missing document
RunToLineAdapter.2=No file could be found
RunToLineAdapter.3=Unable to locate debug target
RenameInFileAction.0=Re&name In File
RenameInFileAction.1=Renames all references within the same buildfile
RenameInFileAction.2=Renames all references
