###############################################################################
# Copyright (c) 2000, 2012 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= Search Support
providerName= Eclipse.org

searchMarker= Search Marker
filteredSearchMarker= Filtered Search Marker

searchPages= Search Pages
searchResultSorters= Search Result Sorters
searchResultViewPages= Search Result View Pages

search= Search

searchMenu.label= Se&arch
openFileSearchPageAction.label= &File...

openSearchDialogAction.label= Se&arch...
openSearchDialogAction.tooltip= Search

textSearchSubMenu.label= Te&xt

action.performTextSearchWorkspace.label= &Workspace
action.performTextSearchWorkspace.tooltip= Search for Text in Workspace
command.performTextSearchWorkspace.name= Find Text in Workspace
command.performTextSearchWorkspace.description= Searches the files in the workspace for specific text.

action.performTextSearchProject.label= &Project
action.performTextSearchProject.tooltip= Search for Text in Project
command.performTextSearchProject.name= Find Text in Project
command.performTextSearchProject.description= Searches the files in the project for specific text.

action.performTextSearchFile.label= &File
action.performTextSearchFile.tooltip= Search for Text in File
command.performTextSearchFile.name= Find Text in File
command.performTextSearchFile.description= Searches the files in the file for specific text.

action.performTextSearchWorkingSet.label= Working &Set...
action.performTextSearchWorkingSet.tooltip= Search for Text in a Working Set
command.performTextSearchWorkingSet.name= Find Text in Working Set
command.performTextSearchWorkingSet.description= Searches the files in the working set for specific text.

fileSearch= File Search
searchResultViewName= Classic Search
newSearchResultViewName= Search
ViewCommand.searchResultView.name= Classic Search
ViewCommand.searchResultView.description=Show the Classic Search view
ViewCommand.searchView.name= Search
ViewCommand.searchView.description=Show the Search view


SearchPreferencePage.label= Search

preferenceKeywords.general=Search potential matches reuse editor


ActionDefinition.openSearchDialog.name= Open Search Dialog
ActionDefinition.openSearchDialog.description= Open the Search dialog

ActionDefinition.openFileSearchPage.name= File Search
ActionDefinition.openFileSearchPage.description= Open the Search dialog\'s file search page

SearchMarkerPreference.label= Search Results
FilteredSearchMarkerPreference.label= Filtered Search Results

searchCategory.name= Search
searchCategory.description= Search command category

textSearchEngine="Text Search Engine"
textSearchQueryProvider="Text Search Query Provider"

match_highlight.label= Match highlight background color
match_highlight.description= The background color used to highlight matches in the Search view when colored labels are enabled.
