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

group_references= Re&ferences
Search_FindDeclarationAction_label= &Workspace
Search_FindDeclarationsInProjectAction_label= &Project
Search_FindDeclarationsInWorkingSetAction_label= Working &Set...
FileSearchPage_limited_format={0} (showing {1} of {2} files)
FileSearchPage_error_marker=Could not create marker
FileSearchPage_sort_by_label=Sort By
OpenWithMenu_label= Open Wit&h

FileLabelProvider_count_format={0} ({1} matches)
FileLabelProvider_removed_resource_label=<removed resource>

FileSearchQuery_label=File Search

# The first argument will be replaced by the pattern, the second by the count and the third by the scope
FileSearchQuery_pluralPattern= ''{0}'' - {1} matches in {2}

# The first argument will be replaced by the pattern, the second by the scope
FileSearchQuery_singularLabel= ''{0}'' - 1 match in {1}

FileSearchQuery_singularLabel_fileNameSearch=1 file name matching ''{0}'' in {1}
FileSearchQuery_pluralPattern_fileNameSearch={1} file names matching ''{0}'' in {2}

TextSearchEngine_statusMessage= Problems encountered during text search.
