###############################################################################
# Copyright (c) 2000, 2012 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# 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.
