###############################################################################
# Copyright (c) 2015 CNES 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/legal/epl-2.0/
#
# Contributors:
#     JF Rolland (Atos) - initial API and implementation
###############################################################################
AttributeMatcher_HELP_ATTRIBUTE=<attName=regex> to search by regex
AttributeMatcher_INCORRECT_PATTERN=\ is not a correct pattern
AttributeMatcher_TEXT_COMBO_ATTRIBUTE=Attribute
AttributeMatcher_UNRECOGNIZED_PATTERN=unrecognized pattern attributename=attributevalue
IdMatcher_COMBO_TEXT_ID=ID
IdMatcher_HELP_ID=<ID> to search an element
ModelRefactoringView_ELEMENT=Element
ModelRefactoringView_NAVIGATION=Navigation
ModelRefactoringView_NB_ELEMENTS_FOUND=\ element(s) found
ModelRefactoringView_NO_ELEMENTS=no elements found
ModelRefactoringView_PATH=Path
ModelRefactoringView_SEARCH=Search
ModelRefactoringView_SELECTION_ID=selection id : 
OCLMatcher_COMBO_TEXT_OCL=OCL
OCLMatcher_CONSTRAINT_INVALID=Constraint is invalid
OCLMatcher_HELP_OCL=<ocl rule> to search by ocl
SelectionUtils_NO_SELECTION_FOUND=no active selection found
TypeMatcher_COMBO_TEXT_TYPE=Type
TypeMatcher_HELP_TYPE=<Type> to search by type
