###############################################################################
# Copyright (c) 2000, 2004 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
#     John-Mason P. Shackelford (john-mason.shackelford@pearson.com) - bug 53547
###############################################################################

AntModel.1=\ line: 
AntModel.0=No default target specified
AntModel.43=Default target {0} does not exist in this project
AntModel.44=Target {0} does not exist in this project

AntEditorContentOutlinePage.Open_With_1=Open With

FilterInternalTargetsAction.0=Hide Internal Targets
FilterImportedElementsAction.0=Hide Imported Elements
FilterPropertiesAction.0=Hide Properties

FilterTopLevelAction.0=Hide Top Level Elements

ToggleSortAntOutlineAction.0=Sort

ToggleLinkWithEditorAction.0=Lin&k With Editor
ToggleLinkWithEditorAction.1=Link with Editor
ToggleLinkWithEditorAction.2=Link with active editor