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

SearchLabelProvider_exact_singular={0} (1 match)
SearchLabelProvider_exact_noCount={0}
SearchLabelProvider_exact_and_potential_plural={0} ({1} matches: {2} exact, {3} potential)
SearchLabelProvider_potential_singular={0} (potential match)
SearchLabelProvider_potential_noCount={0} (potential match)
SearchLabelProvider_potential_plural={0} ({1} potential matches)
SearchLabelProvider_exact_plural={0} ({1} matches)

group_search=S&earch
group_declarations= Dec&larations
group_references= Re&ferences
group_readReferences= &Read Access
group_writeReferences= &Write Access
group_implementors= &Implementors
group_occurrences= Occurre&nces in File
group_occurrences_quickMenu_noEntriesAvailable= <no entries available>

Search_Error_search_title=Search Error
Search_Error_search_message=The search operation has reported problems
Search_Error_search_notsuccessful_message=The search operation has reported problems
Search_Error_javaElementAccess_title=Search Error
Search_Error_javaElementAccess_message=An error occurred while accessing a Java element.

Search_Error_search_notsuccessful_title=Search

Search_Error_openEditor_title=Search Error
Search_Error_openEditor_message=Could not open the editor

Search_Error_codeResolve= Code resolve error

SearchElementSelectionDialog_title=Search
SearchElementSelectionDialog_message=Select the element to search for.

SearchPage_searchFor_label= Search For
SearchPage_searchFor_type= &Type
SearchPage_searchIn_label=Search In
SearchPage_searchIn_jre=JRE li&braries
SearchPage_searchFor_method= &Method
SearchPage_searchIn_sources=Sourc&es
SearchPage_searchFor_field= &Field
SearchPage_searchFor_package= &Package
SearchPage_searchIn_projects=Re&quired projects
SearchPage_searchIn_libraries=Applicatio&n libraries
SearchPage_searchFor_constructor= Constr&uctor

SearchPage_limitTo_label= Limit To
SearchPage_limitTo_declarations= Dec&larations
SearchPage_limitTo_implementors= &Implementors
SearchPage_limitTo_references= &References
SearchPage_limitTo_allOccurrences= All &occurrences
SearchPage_limitTo_readReferences= Read a&ccesses
SearchPage_limitTo_writeReferences= Wr&ite accesses

SearchPage_expression_label= Search strin&g (* = any string, ? = any character):
SearchPage_expression_caseSensitive= &Case sensitive

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

Search_FindDeclarationAction_label= &Workspace
Search_FindDeclarationAction_tooltip= Search for Declarations of the Selected Element in the Workspace

Search_FindDeclarationsInProjectAction_label= &Project
Search_FindDeclarationsInProjectAction_tooltip= Search for Declarations of the Selected Element in Resources in the Enclosing Project of the Selected Element

Search_FindDeclarationsInWorkingSetAction_label= Working &Set...
Search_FindDeclarationsInWorkingSetAction_tooltip= Search for Declarations of the Selected Element in a Working Set

Search_FindHierarchyDeclarationsAction_label= &Hierarchy
Search_FindHierarchyDeclarationsAction_tooltip= Search for Declarations of the Selected Element in its Hierarchy

Search_FindImplementorsAction_label= &Workspace
Search_FindImplementorsAction_tooltip= Search for Implementors of the Selected Interface

Search_FindImplementorsInProjectAction_label= &Project
Search_FindImplementorsInProjectAction_tooltip= Search for Implementors of the Selected Interface in Resources in the Enclosing Project of the Selected Element

Search_FindImplementorsInWorkingSetAction_label= Working &Set...
Search_FindImplementorsInWorkingSetAction_tooltip= Search for Implementors of the Selected Interface in a Working Set

Search_FindReferencesAction_label= &Workspace
Search_FindReferencesAction_tooltip= Search for References to the Selected Element in the Workspace

Search_FindReferencesAction_BinPrimConstWarnDialog_title= Search for References to a Constant
Search_FindReferencesAction_BinPrimConstWarnDialog_message= Matches to this constant will only be discovered in source files, and in binary files where the constant value is not inlined.

Search_FindReferencesInProjectAction_label= &Project
Search_FindReferencesInProjectAction_tooltip= Search for References to the Selected Element in Resources in the Enclosing Project of the Selected Element

Search_FindReferencesInWorkingSetAction_label= Working &Set...
Search_FindReferencesInWorkingSetAction_tooltip= Search for References to the Selected Element in a Working Set

Search_FindHierarchyReferencesAction_label= &Hierarchy
Search_FindHierarchyReferencesAction_tooltip= Search for References of the Selected Element in its Hierarchy

Search_FindReadReferencesAction_label= &Workspace
Search_FindReadReferencesAction_tooltip= Search for Read References to the Selected Element in the Workspace

Search_FindReadReferencesInProjectAction_label= &Project
Search_FindReadReferencesInProjectAction_tooltip= Search for Read References to the Selected Element in Resources in the Enclosing Project of the Selected Element

Search_FindReadReferencesInWorkingSetAction_label= Working &Set...
Search_FindReadReferencesInWorkingSetAction_tooltip= Search for Read References to the Selected Element in a Working Set

Search_FindReadReferencesInHierarchyAction_label= &Hierarchy
Search_FindReadReferencesInHierarchyAction_tooltip= Search for Read References of the Selected Element in its Hierarchy

Search_FindWriteReferencesAction_label= &Workspace
Search_FindWriteReferencesAction_tooltip= Search for Write References to the Selected Element in the Workspace

Search_FindWriteReferencesInProjectAction_label= &Project
Search_FindWriteReferencesInProjectAction_tooltip= Search for Write References to the Selected Element in Resources in the Enclosing Project of the Selected Element

Search_FindWriteReferencesInWorkingSetAction_label= Working &Set...
Search_FindWriteReferencesInWorkingSetAction_tooltip= Search for Write References to the Selected Element in a Working Set

Search_FindWriteReferencesInHierarchyAction_label= &Hierarchy
Search_FindWriteReferencesInHierarchyAction_tooltip= Search for Write References of the Selected Element in its Hierarchy

Search_FindOccurrencesInFile_shortLabel= &Identifier
Search_FindOccurrencesInFile_label= I&dentifiers in File
Search_FindOccurrencesInFile_tooltip= Find Occurrences of the Selected Element in the Editor

FindOccurrencesEngine_noSource_text= No source available. To perform this operation you need to attach source.
FindOccurrencesEngine_cannotParse_text= Cannot analyze the compilation unit or class file.

OccurrencesFinder_no_element= Cannot search for the current selection. Please select a valid Java element name.
OccurrencesFinder_no_binding= Selected Java element is unknown.
OccurrencesFinder_searchfor=Search for Occurrences in File
# The first argument will be replaced by the element name and the second one by the file name
OccurrencesFinder_label_singular=''{0}'' - 1 occurrence in ''{1}''
# The first argument will be replaced by the element name, the second by the count and the last by the file name
OccurrencesFinder_label_plural=''{0}'' - {1} occurrences in ''{2}''
OccurrencesFinder_occurrence_description=Occurrence of ''{0}''
OccurrencesFinder_occurrence_write_description=Write occurrence of ''{0}''
OccurrencesSearchLabelProvider_line_number={0}: 

ExceptionOccurrencesFinder_no_exception= Cannot search for current selection. Please select an exception.
ExceptionOccurrencesFinder_searchfor= Search for Exception Occurrences

# The first argument will be replaced by the element name and the second one by the file name
ExceptionOccurrencesFinder_label_singular=''{0}'' - 1 exception occurrence in ''{1}''
# The first argument will be replaced by the element name, the second by the count and the last by the file name
ExceptionOccurrencesFinder_label_plural=''{0}'' - {1} exception occurrences in ''{2}''
ExceptionOccurrencesFinder_occurrence_description=Occurrences throwing ''{0}''
ExceptionOccurrencesFinder_occurrence_implicit_close_description=''{0}'' is thrown from implicit close() methods of highlighted resources.

ImplementOccurrencesFinder_invalidTarget= Cannot search for current selection. Please select a type behind 'implements' or 'extends'.
ImplementOccurrencesFinder_searchfor= Search for Implement Occurrences

# The first argument will be replaced by the element name and the second one by the file name
ImplementOccurrencesFinder_label_singular=''{0}'' - 1 implement occurrence in ''{1}''
# The first argument will be replaced by the element name, the second by the count and the last by the file name
ImplementOccurrencesFinder_label_plural=''{0}'' - {1} implement occurrences in ''{2}''
ImplementOccurrencesFinder_occurrence_description=Implementors of methods in ''{0}''


# The first argument will be replaced by the pattern and the second by the scope
JavaSearchOperation_singularDeclarationsPostfix=''{0}'' - 1 declaration in {1}
JavaSearchOperation_singularReferencesPostfix=''{0}'' - 1 reference in {1}
JavaSearchOperation_singularReadReferencesPostfix=''{0}'' - 1 read reference in {1}
JavaSearchOperation_singularWriteReferencesPostfix=''{0}'' - 1 write reference in {1}
JavaSearchOperation_singularImplementorsPostfix=''{0}'' - 1 implementor in {1}
JavaSearchOperation_singularOccurrencesPostfix=''{0}'' - 1 occurrence in {1}

JavaSearchOperation_pluralDeclarationsPostfix=''{0}'' - {1} declarations in {2}
JavaSearchOperation_pluralReferencesPostfix=''{0}'' - {1} references in {2}
JavaSearchOperation_pluralReadReferencesPostfix=''{0}'' - {1} read references in {2}
JavaSearchOperation_pluralWriteReferencesPostfix=''{0}'' - {1} write references in {2}
JavaSearchOperation_pluralImplementorsPostfix=''{0}'' - {1} implementors in {2}
JavaSearchOperation_pluralOccurrencesPostfix=''{0}'' - {1} occurrences in {2}
JavaSearchPage_match_location_link_label=(<a>{0} of {1} selected</a>)
JavaSearchPage_match_location_link_label_tooltip=Configure the selected match locations
JavaSearchPage_match_locations_label=M&atch locations
JavaElementAction_typeSelectionDialog_title=Search
JavaElementAction_typeSelectionDialog_message=&Select the type to search:
JavaElementAction_error_open_message=An exception occurred while opening the type.

JavaElementAction_operationUnavailable_title= Operation Unavailable
JavaElementAction_operationUnavailable_generic= The operation is unavailable on the current selection. Please select a valid Java element name.
JavaElementAction_operationUnavailable_field= The operation is unavailable on the current selection. Please select the name of a field or local variable.
JavaElementAction_operationUnavailable_interface= The operation is unavailable on the current selection. Please select the name of an interface.
JavaElementLine_error_nobuffer=Element has no buffer: ''{0}''

WorkspaceScope= workspace
WorkspaceScopeNoJRE= workspace (no JRE)

SingleWorkingSetScope= working set ''{0}''
SingleWorkingSetScopeNoJRE= working set ''{0}'' (no JRE)
DoubleWorkingSetScope= working sets ''{0}'', ''{1}''
DoubleWorkingSetScopeNoJRE= working set ''{0}'', ''{1}'' (no JRE)
WorkingSetsScope= working set ''{0}'', ''{1}'', ...
WorkingSetsScopeNoJRE= working set ''{0}'', ''{1}'', ... (no JRE)

SingleSelectionScope= ''{0}''
SingleSelectionScopeNoJRE= ''{0}'' (no JRE)
DoubleSelectionScope= ''{0}'', ''{1}''
DoubleSelectionScopeNoJRE= ''{0}'', ''{1}'' (no JRE)
SelectionScope= ''{0}'', ''{1}'', ...
SelectionScopeNoJRE= ''{0}'', ''{1}'', ... (no JRE)

EnclosingProjectsScope=projects ''{0}'', ''{1}'', ...
EnclosingProjectsScopeNoJRE=projects ''{0}'', ''{1}'', ... (no JRE)
EnclosingProjectScope=project ''{0}''
EnclosingProjectScopeNoJRE=project ''{0}'' (no JRE)
EnclosingProjectsScope2=projects ''{0}'', ''{1}''
EnclosingProjectsScope2NoJRE=projects ''{0}'', ''{1}'' (no JRE)

ProjectScope= project ''{0}''
ProjectScopeNoJRE= project ''{0}'' (no JRE)
HierarchyScope= hierarchy of ''{0}''

JavaSearchResultPage_sortByName=Name
JavaSearchResultPage_sortByPath=Path
JavaSearchResultPage_open_editor_error_title=Open Element
JavaSearchResultPage_open_editor_error_message=Opening element failed.
JavaSearchResultPage_sortByParentName=Parent Name
JavaSearchResultPage_filtered_message={0} (Filtered)
JavaSearchResultPage_preferences_label=Preferences...
JavaSearchResultPage_sortBylabel=Sort By
JavaSearchResultPage_error_marker=Could not create marker

JavaSearchResultPage_groupby_project=Project
JavaSearchResultPage_groupby_project_tooltip=Group by Project
JavaSearchResultPage_groupby_package=Package
JavaSearchResultPage_groupby_package_tooltip=Group by Package
JavaSearchResultPage_filteredWithCount_message={0} ({1} matches filtered from view)
JavaSearchResultPage_groupby_file=File
JavaSearchResultPage_groupby_file_tooltip=Group by File
JavaSearchResultPage_groupby_type=Type
JavaSearchResultPage_groupby_type_tooltip=Group by Type

JavaSearchQuery_task_label=Searching for ''{0}''...
JavaSearchQuery_label=Java Search
JavaSearchQuery_error_unsupported_pattern=Unsupported search pattern: "{0}"
JavaSearchScopeFactory_undefined_projects=empty scope
JavaSearchQuery_singularReferencesWithMatchLocations=''{0}'' in ''{2}'' - 1 reference in {1}
JavaSearchQuery_status_ok_message=Found {0} matches.

JavaSearchQuery_error_participant_estimate=An error occurred while estimating progress data.
JavaSearchScopeFactory_undefined_selection=empty scope
JavaSearchQuery_error_element_does_not_exist=Element ''{0}'' does not exist anymore
JavaSearchScopeFactory_undefined_workingsets=empty scope
JavaSearchQuery_error_participant_search=An error occurred during participant search. The participant has been disabled for the current session.
JavaSearchQuery_pluralReferencesWithMatchLocations=''{0}'' in ''{3}'' - {1} references in {2}

SearchParticipant_error_noID=Missing id attribute on search participant extension {0}
SearchParticipant_error_noNature=Missing nature attribute on search participant {0}
SearchParticipant_error_noClass=Missing class attribute on search participant {0}
SearchParticipant_error_classCast=Search participant doesn't implement IQueryParticipant


MatchFilter_ImportFilter_name=In imports
MatchFilter_ImportFilter_actionLabel=In &Imports
MatchFilter_ImportFilter_description=Filters matches that are in import statements


MatchFilter_WriteFilter_name=Writes
MatchFilter_WriteFilter_actionLabel=&Writes
MatchFilter_WriteFilter_description=Filters matches that are write accesses

MatchFilter_ReadFilter_name=Reads
MatchFilter_ReadFilter_actionLabel=&Reads
MatchFilter_ReadFilter_description=Filters matches that are not write accesses

MatchFilter_JavadocFilter_name=In Javadoc
MatchFilter_JavadocFilter_actionLabel=In &Javadoc
MatchFilter_JavadocFilter_description=Filters matches that are inside Javadoc comments

MatchFilter_PolymorphicFilter_name=References to overridden
MatchFilter_PolymorphicFilter_actionLabel=References to &Overridden
MatchFilter_PolymorphicFilter_description=Filters references to methods that are declared in a supertype. Calling these methods may or may not invoke the search target at run time.

MatchFilter_ErasureFilter_name=Incompatible type arguments
MatchFilter_ErasureFilter_actionLabel=In&compatible Type Arguments
MatchFilter_ErasureFilter_description=Filters parameterized type matches that are not assignment compatible with the search pattern

MatchFilter_InexactFilter_name=Inexact type arguments
MatchFilter_InexactFilter_actionLabel=Ine&xact Type Arguments
MatchFilter_InexactFilter_description=Filters parameterized type matches where the type arguments don't exactly match the search pattern's type arguments

MatchFilter_PotentialFilter_name=Potential matches
MatchFilter_PotentialFilter_actionLabel=&Potential matches
MatchFilter_PotentialFilter_description=Filters potential matches (usually due to a problem with the classpath).

MatchFilter_NonPublicFilter_name=In non-public
MatchFilter_NonPublicFilter_actionLabel=In &Non-Public
MatchFilter_NonPublicFilter_description=Filters matches that are inside non-public members

MatchFilter_StaticFilter_name=In static
MatchFilter_StaticFilter_actionLabel=In &Static
MatchFilter_StaticFilter_description=Filters matches that are inside static members

MatchFilter_NonStaticFilter_name=In non-static
MatchFilter_NonStaticFilter_actionLabel=In Non-St&atic
MatchFilter_NonStaticFilter_description=Filters matches that are inside non-static members

MatchFilter_DeprecatedFilter_name=In deprecated
MatchFilter_DeprecatedFilter_actionLabel=In &Deprecated
MatchFilter_DeprecatedFilter_description=Filters matches that are inside deprecated members

MatchFilter_NonDeprecatedFilter_name=In non-deprecated
MatchFilter_NonDeprecatedFilter_actionLabel=In Non-Dep&recated
MatchFilter_NonDeprecatedFilter_description=Filters matches that are inside non-deprecated members

MatchLocations_annotations_description=annotations
MatchLocations_annotations_label=&Annotations
MatchLocations_casts_description=casts
MatchLocations_casts_label=&Cast expressions
MatchLocations_catch_clauses_description=catch clauses
MatchLocations_catch_clauses_label=Catch cla&uses
MatchLocations_class_instance_description=class instance creations
MatchLocations_class_instance_label=Class &instance creations
MatchLocations_expression_group_label=In expressions
MatchLocations_field_types_description=field types
MatchLocations_implicit_this_description=implicit this reference
MatchLocations_implicit_this_label=&Implicit 'this' references
MatchLocations_imports_description=imports
MatchLocations_imports_label=I&mports
MatchLocations_local_types_description=local variable types
MatchLocations_local_types_label=&Local variable types

MatchLocations_match_locations_description=specified match locations

MatchLocations_declaration_group_label=In declarations
MatchLocations_deselect_all_button_label=&Deselect All
MatchLocations_dialog_description=Select the locations to search matches for:
MatchLocations_dialog_title=Match Location Selection
MatchLocations_field_types_label=&Field types
MatchLocations_in_parameterized_types_group_label=In parameterized types

MatchLocations_select_all_button_label=&Select All


MatchLocations_method_types_description=return types
MatchLocations_method_types_label=Method &return types
MatchLocations_parameter_types_description=parameter types
MatchLocations_parameter_types_label=Method &parameter types
MatchLocations_qualified_description=qualified reference
MatchLocations_qualified_label=&Qualified references
MatchLocations_super_description=super references
MatchLocations_super_label='s&uper' references
MatchLocations_super_types_description=super type declarations
MatchLocations_super_types_label=Super &type declarations
MatchLocations_this_description=this references
MatchLocations_this_label='&this' references
MatchLocations_thrown_exceptions_description=thrown exceptions
MatchLocations_thrown_exceptions_label=Thrown e&xception declarations
MatchLocations_type_arguments_description=type arguments
MatchLocations_type_arguments_label=Typ&e arguments
MatchLocations_type_parameter_bounds_description=type parameter bounds
MatchLocations_type_parameter_bounds_label=Type parameter &bounds
MatchLocations_wildcard_bounds_description=wild card bounds
MatchLocations_wildcard_bounds_label=&Wildcard bounds
MatchLocations_instanceof_description=instanceof
MatchLocations_instanceof_label='instance&of' checks

MethodExitsFinder_job_label=Search for Method Exit Occurrences
MethodExitsFinder_label_plural=''{0}(...)'' - {1} method exit occurrence in ''{2}''
MethodExitsFinder_label_singular=''{0}(...)'' - 1 method exit occurrence in ''{1}''
MethodExitsFinder_no_return_type_selected=No return type selected
MethodExitsFinder_occurrence_exit_description=Exit point of ''{0}()''
MethodExitsFinder_occurrence_exit_impclict_close_description=Exit point of ''{0}()'': Exception is thrown from implicit close() methods of highlighted resources.
MethodExitsFinder_occurrence_return_description=Return type of ''{0}()''

BreakContinueTargetFinder_break_label_plural=''{0}'' - {1} break target occurrences in ''{2}''
BreakContinueTargetFinder_break_label_singular=''{0}'' - 1 break target occurrence in ''{1}''
BreakContinueTargetFinder_cannot_highlight=Occurrences in this element cannot be highlighted
BreakContinueTargetFinder_continue_label_plural=''{0}'' - {1} continue target occurrences in ''{2}''
BreakContinueTargetFinder_continue_label_singular=''{0}'' - 1 continue target occurrence in ''{1}''
BreakContinueTargetFinder_job_label=Search for Break/Continue Target Occurrences
BreakContinueTargetFinder_no_break_or_continue_selected=No break or continue selected
BreakContinueTargetFinder_occurrence_description=Target of ''{0}''

TextSearchLabelProvider_matchCountFormat={0} ({1} matches)

