###############################################################################
# Copyright (c) 2000, 2017 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
#     Christian Walther (Indel AG) - Bug 399094: Add whole word option to file search
#     Marco Descher <marco@descher.at> - Open Search dialog with previous page instead of using the current selection to detect the page - http://bugs.eclipse.org/33710
#     Lucas Bullen (Red Hat Inc.) - [Bug 526453] disambiguate "Selected Resources"
#     Kit Lo - Bug 572433 - Duplicate mnemonics on Search preference page
###############################################################################

SearchDialog_title= Search
SearchDialog_searchAction= &Search
SearchDialog_replaceAction= &Replace...
SearchDialog_customize= Customi&ze...
SearchDialog_noSearchExtension= No Search Extensions plugged into workbench or all search pages disabled.

SearchPageSelectionDialog_title= Search Page Selection
SearchPageSelectionDialog_message= S&elect from the pages shown in the dialog:

SearchManager_resourceChangedWarning= Changed Resources
SearchManager_resourceChanged= Some resources have changed. The positions of matches may have changed.
SearchManager_resourceDeleted= Some resources no longer exist. Corresponding matches have been removed from the search results.
SearchManager_updating= Updating...

SearchResultView_title=
SearchResultView_titleWithDescription= {0}
SearchResultView_matches= matches
SearchResultView_removed_resource= <removed resource>
SearchResultView_removeAllResults_text= Remove &All Matches
SearchResultView_removeAllResults_tooltip= Remove All Matches
SearchResultView_removeAllSearches_text= &Clear History
SearchResultView_removeAllSearches_tooltip= Clear the Search Result History
SearchResultView_searchAgain_text= &Search Again
SearchResultView_searchAgain_tooltip= Search Again
SearchResultView_previousSearches_text= Previous Search Results
SearchResultView_previousSearches_tooltip= Previous Search Results
SearchResultView_removeEntry_text= &Remove Selected Match
SearchResultView_removeEntry_tooltip= Remove Selected Match
SearchResultView_removeEntries_text= &Remove Selected Matches
SearchResultView_removeEntries_tooltip= Remove Selected Matches
SearchResultView_removeMatch_text= Remove Current &Match
SearchResultView_removeMatch_tooltip= Remove Current Match
SearchResultView_gotoMarker_text= &Go to File
SearchResultView_gotoMarker_tooltip= Go to File
SearchResultView_showNext_text= Next Match
SearchResultView_showNext_tooltip= Show Next Match
SearchResultView_showPrev_text= Previous Match
SearchResultView_showPrev_tooltip= Show Previous Match

SearchDialogClosingDialog_title= Search Dialog Closing
SearchDialogClosingDialog_message= Dialog cannot be closed due to an active operation. You must cancel the operation before you can close the dialog.
SearchDialog_error_pageCreationFailed=The creation of the page ''{0}'' failed.
SearchPlugin_internal_error= Internal Error

Search_Error_search_title= Search Error
Search_Error_search_message= An error occurred during the search operation.

Search_Error_setDescription_title= Search Error
Search_Error_setDescription_message= Cannot save workspace description

Search_Error_openResultView_title= Search Error
Search_Error_openResultView_message= Could not open the search results view

Search_Error_deleteMarkers_title= Search Error
Search_Error_deleteMarkers_message= An error occurred while deleting search markers.

Search_Error_createMarker_title= Search Error
Search_Error_createMarker_message= Could not create a search marker

Search_Error_markerAttributeAccess_title= Search Error
Search_Error_markerAttributeAccess_message= An error occurred while accessing a marker attribute.

Search_Error_switchSearch_title= Search Error
Search_Error_switchSearch_message= An error occurred while switching to a previous search result.

Search_Error_createSearchPage_title=Search Dialog Problem
Search_Error_createSearchPage_message=An error occurred while creating the search page ''{0}''.
Search_Error_createSorter_title= Search Error
Search_Error_createSorter_message= An error occurred while creating a sorter.

SearchPage_containingText_text= Containing &text:
SearchPage_containingText_hint= (* = any string, ? = any character, \\ = escape for literals: * ? \\)
SearchPage_browse= Ch&oose...
SearchPage_fileNamePatterns_text= File name &patterns (separated by comma):
SearchPage_fileNamePatterns_hint= (* = any string, ? = any character, !x = excluding x)
SearchPage_caseSensitive= &Case sensitive
SearchPage_regularExpression= Regular e&xpression
SearchPage_wholeWord= Who&le word

TextSearchEngine_statusMessage= Problems encountered during text search.

TextSearchPage_searchIn_label=Search In
TextSearchPage_searchDerived_label=Deri&ved resources
TextSearchPage_searchBinary_label=&Binary files

TextSearchVisitor_scanning= Scanning file {1} of {2}: {0}
TextSearchVisitor_error= File ''{1}'' has been skipped, problem while reading: (''{0}'').
TextSearchVisitor_canceled= Operation Canceled
TextSearchVisitor_unsupportedcharset=File ''{1}'' has been skipped: Unsupported encoding ''{0}''.
TextSearchVisitor_patterntoocomplex0=Search pattern is too complex. Search canceled.
TextSearchVisitor_progress_updating_job=Search progress polling
TextSearchVisitor_filesearch_task_label=Searching for files...
TextSearchVisitor_textsearch_task_label=Searching for pattern ''{0}''...
TextSearchVisitor_illegalcharset=File ''{1}'' has been skipped: Illegal encoding ''{0}''.

SortDropDownAction_label= S&ort By
SortDropDownAction_tooltip= Sort By

ShowOtherSearchesAction_label= &Other...
ShowOtherSearchesAction_tooltip= Open Other Searches Dialog

OtherSearchesDialog_title= Other Searches
OtherSearchesDialog_message= &Select one of the searches

PatternConstructor_error_escape_sequence=Illegal control escape sequence {0}
PatternConstructor_error_hex_escape_sequence=Illegal hexadecimal escape sequence {0}
PatternConstructor_error_line_delim_position=Illegal position for \\R
PatternConstructor_error_unicode_escape_sequence=Illegal Unicode escape sequence {0}
PreviousSearchesDialog_title= Previous Searches
PreviousSearchesDialog_message= &Select one of the previous searches

TextSearchPage_replace_searchproblems_title=Replace
TextSearchPage_replace_runproblem_message=The search could not be initialized.
TextSearchPage_replace_searchproblems_message=Problems occurred while searching. The affected files will be skipped.
TextSearchPage_replace_querycreationproblem_message=The search could not be initialized.
TextSearchEngineRegistry_defaulttextsearch_label=Default Text Search


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}

# The first argument will be replaced by the pattern, the second by the count and the third by the scope, last by file name patterns
FileSearchQuery_pluralPatternWithFileExt= ''{0}'' - {1} matches in {2} ({3})

# The first argument will be replaced by the pattern, the second by the scope, last by file name patterns
FileSearchQuery_singularPatternWithFileExt= ''{0}'' - 1 match in {1} ({2})


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

OpenSearchDialogAction_label= Search
OpenSearchDialogAction_tooltip= Search

FileTypeEditor_typeDelimiter= ,

FileLabelProvider_dashSeparated= {0} - {1}

FileTextSearchScope_ws_scope_empty=empty scope
FileTextSearchScope_ws_scope_single=working set ''{0}''
FileTextSearchScope_ws_scope_double=working sets ''{0}'', ''{1}''
FileTextSearchScope_ws_scope_multiple=working sets ''{0}'', ''{1}'', ...

FileTextSearchScope_scope_empty=empty scope
FileTextSearchScope_scope_single=''{0}''
FileTextSearchScope_scope_double=''{0}'', ''{1}''
FileTextSearchScope_scope_multiple=''{0}'', ''{1}'', ...

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

FileSearchPage_sort_name_label=Name
FileSearchPage_sort_path_label=Path
FileSearchPage_open_file_failed=Opening the file failed.
FileSearchPage_error_marker=Could not create marker
FileSearchPage_sort_by_label=Sort By
FileSearchPage_limited_format_files={0} (showing {1} of {2} files)
FileSearchPage_limited_format_matches={0} (showing {1} of {2} matches)
FileSearchPage_open_file_dialog_title=Open File

WorkspaceScope= workspace

ScopePart_group_text= Scope
ScopePart_selectedResourcesScope_text=Selecte&d resources
ScopePart_selectedResourcesScope_text_plural={0} selecte&d resources in ''{1}''
ScopePart_selectedResourcesScope_text_singular=Selecte&d resource in ''{0}''
ScopePart_selectedResourcesScope_text_editor=Resource in active e&ditor
ScopePart_enclosingProjectsScope_text=Enclosing pro&jects
ScopePart_enclosingProjectsScope_text_plural={0} enclosing pro&jects
ScopePart_enclosingProjectsScope_text_singular=Enclosing pro&ject
ScopePart_workingSetChooseButton_text= C&hoose...
ScopePart_workingSetText_accessible_label=Working set name
ScopePart_workingSetScope_text=Wor&king set:
ScopePart_workspaceScope_text= &Workspace

# Concatenate two working set names e.g. "Source, Lib"
ScopePart_workingSetConcatenation= {0}, {1}

CopyToClipboardAction_label= Copy
CopyToClipboardAction_tooltip= Copy to Clipboard
CopyToClipboardAction_error_title= Problem Copying to Clipboard
CopyToClipboardAction_error_message= There was a problem when accessing the system clipboard. Retry?

ExceptionDialog_seeErrorLogMessage= See error log for details

SearchPreferencePage_emphasizePotentialMatches= &Emphasize potential matches
SearchPreferencePage_potentialMatchFgColor= &Foreground color for potential matches:
SearchPreferencePage_reuseEditor= &Reuse editors to show matches
SearchPreferencePage_bringToFront= &Bring Search view to front after search
SearchPreferencePage_defaultPerspective= Default &perspective for the Search view:
SearchPreferencePage_textSearchEngine=Text Search Engine to be used:
SearchPreferencePage_defaultPerspective_none= None
SearchPreferencePage_ignorePotentialMatches= &Ignore potential matches
SearchPreferencePage_rememberLastUsedPage= Remember &last used page in the Search dialog

ReplaceAction_label_all= Re&place All...
ReplaceAction_title_all=Replace Text Matches
ReplaceAction_label_selected= Rep&lace Selected...
ReplaceAction_description_operation=Replace matches
ReplaceAction_title_selected=Replace Selected Text Matches

ReplaceRefactoring_refactoring_name=Replace matches
ReplaceRefactoring_error_no_matches=No matches to replace.
ReplaceRefactoring_error_no_changes=No changes.
ReplaceRefactoring_group_label_change_for_file=Changes for file {0}
ReplaceRefactoring_group_label_match_replace=Replace match
ReplaceRefactoring_result_update_name=Update file search result
ReplaceRefactoring_composite_change_name=Replace text matches
ReplaceRefactoring_error_access_file=Problem accessing file {0}: {1}.
ReplaceRefactoring_error_illegal_search_string=Can only replace text matches.
ReplaceRefactoring_error_no_replace_string=Replace string must be set.
ReplaceRefactoring_error_accessing_file_buffer=Error while accessing text buffer of file {0}. File skipped.
ReplaceRefactoring_error_match_content_changed=Match string has changed in file {0}. Match skipped.
ReplaceRefactoring_error_replacement_expression=Error in replacement expression: {0}.

ReplaceConfigurationPage_replace_label=Replace:
ReplaceConfigurationPage_with_label=Wit&h:
ReplaceConfigurationPage_isRegex_label=&Regular expression
ReplaceConfigurationPage_description_many_in_many=Replacing {0} matches in {1} files:
ReplaceConfigurationPage_description_one_in_one=Replacing 1 match in 1 file:
ReplaceConfigurationPage_description_many_in_one=Replacing {0} matches in {1} file:

SelectAllAction_label= Select A&ll
SelectAllAction_tooltip= Select All

RemovePotentialMatchesAction_removePotentialMatch_text= Remove Potential Match
RemovePotentialMatchesAction_removePotentialMatch_tooltip= Remove Potential Match
RemovePotentialMatchesAction_removePotentialMatches_text= Remove potential Matches
RemovePotentialMatchesAction_removePotentialMatches_tooltip= Remove All Potential Matches
RemovePotentialMatchesAction_dialog_title= Remove Potential Matches
RemovePotentialMatchesAction_dialog_message= The current search result does not contain potential matches.

OpenWithMenu_label= Open Wit&h

