###############################################################################
# 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 via text operation actions - DO NOT REMOVE
ContentAssistProposal.label=Content &Assist@Ctrl+Space
ContentAssistProposal.tooltip=Content Assist
ContentAssistProposal.image=
ContentAssistProposal.description=Content Assist

ContentFormat.label=&Format
ContentFormat.tooltip=Format build file source
ContentFormat.image=
ContentFormat.description=Format build file source
# end indirect use list

AntEditorCompletionProcessor.Required___4=Required:
AntEditorCompletionProcessor.28=No attribute completions available
AntEditorCompletionProcessor.29=No task completions available
AntEditorCompletionProcessor.30=No task closing completions available
AntEditorCompletionProcessor.31=No attribute value completions available
AntEditorCompletionProcessor.32=No property completions available
AntEditorCompletionProcessor.33=No completions available
AntEditorCompletionProcessor.39=Closing tag
AntEditorCompletionProcessor.59=Default: {0}
AntEditorCompletionProcessor.60=No Template Proposals
AntEditorCompletionProcessor.61=Template Proposals
AntEditorCompletionProcessor.62=No Default Proposals
AntEditorCompletionProcessor.63=Press ''{0}'' to show {1}
AntEditorCompletionProcessor.64=Click to show {0}
AntEditorCompletionProcessor.1=Not required
AntEditorCompletionProcessor.2=Required
AntEditorCompletionProcessor.0=Default Proposals

AntAnnotationHover.multipleMarkersAtThisLine=Multiple markers at this line

AntEditor.3=Current text selection does not resolve to an Ant reference
