# <copyright>
# 
# Copyright (c) 2015 itemis and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
# 
# Contributors: 
#     itemis - Initial API and implementation
# 
# </copyright>

# -------------------------------------------------------- #
#  Internal messages for org.eclipse.sphinx.emf.search.ui  #
# -------------------------------------------------------- #

ModelSearchPage_expression_label=Search string (* = any string, ? = any character):
ModelSearchPage_expression_caseSensitive= Case sensitive

ModelSearchQuery_status_ok_message=Found {0} matches.
ModelSearchQuery_label=Model Search
# The first argument will be replaced by the pattern, the second by the count and the third by the scope
ModelSearchQuery_pluralPattern= ''{0}'' - {1} matches in {2}
# The first argument will be replaced by the pattern, the second by the scope
ModelSearchQuery_singularLabel= ''{0}'' - 1 match in {1}

ModelSearchResultViewPage_searching_label=Searching...
ModelSearchResultViewPage_update_job_name=Update Search Results View
ModelSearchResultViewPage_flat_layout_label=Show as List
ModelSearchResultViewPage_flat_layout_tooltip=Show as List
ModelSearchResultViewPage_hierarchical_layout_label=Show as Tree
ModelSearchResultViewPage_hierarchical_layout_tooltip=Show as Tree
ModelSearchResultViewPage_show_match=Show Match
ModelSearchResultViewPage_error_no_editor=Could not find an editor for the current match

RemoveMatchAction_label=Remove Match
RemoveMatchAction_tooltip=Remove Currently Showing Match

ScopePart_group_text=Scope
ScopePart_workspaceScope_text=Workspace
ScopePart_selectedResourcesScope_text=Selected resources
ScopePart_selectedModelsScope_text=Selected models
ScopePart_enclosingModelsScope_text=Enclosing models