#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2007 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 implementation.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR

# Method Search Page
searchStringLabel_text=Texte (* = n'importe quelle cha\u00eene, ? = n'importe quel caract\u00e8re) :
caseSensitiveCheckbox_text=Respecter la casse
elementNameLabel_text=Nom d'\u00e9l\u00e9ment de m\u00e9thode ou pattern de nom de pr\u00e9sentation :
scopeGroup_text=Port\u00e9e
roleCheckbox_text=R\u00f4le
taskCheckbox_text=T\u00e2che
workProductCheckbox_text=Produit

# Method Search Query
searchQuery_text=Recherche de m\u00e9thode

# Method Search Progress Dialog
scanLibraryTask_name=Scannage de la biblioth\u00e8que de m\u00e9thodes...
scanElementTask_name=Scannage de l''\u00e9l\u00e9ment de m\u00e9thode ''{0}''...

# Method Search Error Dialog
searchError_title=Recherche de m\u00e9thode
searchError_msg=IUPS0100E : L'op\u00e9ration de recherche ne peut pas continuer.
searchError_reason=Aucune biblioth\u00e8que de m\u00e9thodes n'est actuellement ouverte.\n\nOuvrez une biblioth\u00e8que de m\u00e9thodes et r\u00e9-essayez.

# Method Search Result
searchResult_methodContent=Contenu de la m\u00e9thode
searchResult_contentPackages=Packages de contenu
searchResult_standardCategories=Cat\u00e9gories standard
searchResult_disciplines=Disciplines
searchResult_domains=Domaines
searchResult_workProductTypes=Types de produits de travail
searchResult_roleSets=Ensembles de r\u00f4les
searchResult_tools=Outils
searchResult_customCategories=Cat\u00e9gories personnalis\u00e9es
searchResult_processes=Processus
searchResult_capabilityPatterns=Patterns de capacit\u00e9
searchResult_deliveryProcesses=Processus de livraison
searchResult_match=''{0}'' - 1 correspondance
searchResult_matches=''{0}'' - {1} correspondances
