#-------------------------------------------------------------------------------
# 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

# Plug-in
pluginName=Documentation EPF
providerName=Eclipse.org


# Cheat Sheets
methodAuthoringCheatSheetsName=Aide-m\u00e9moire de cr\u00e9ation de m\u00e9thode
CheatsheetGetstartedCategoryText=Mise en route
CheatsheetReusableContentCategoryText=Cr\u00e9er un contenu de m\u00e9thode r\u00e9utilisable
CheatsheetWriteContentCategoryText=Ecrire le contenu de la m\u00e9thode
CheatsheetProcessesCategoryText=G\u00e9rer les processus
CheatsheetNavigateMethodContent=Naviguer dans le contenu de la m\u00e9thode
CheatsheetCreateMethodConfiguration=Cr\u00e9er votre propre configuration de m\u00e9thode
CheatsheetCreateMethodPlugin=Cr\u00e9er votre propre plug-in de m\u00e9thodes
CheatsheetAddMethodContent=Ajouter du nouveau contenu de m\u00e9thode, tel que des r\u00f4les, des t\u00e2ches, des produits ou des conseils
CheatsheetTailorMethodElements=Personnaliser les \u00e9l\u00e9ments de m\u00e9thode existants (r\u00f4les, t\u00e2ches, produits ou conseils) \u00e0 l'aide de la contribution
CheatsheetReplaceMehtodElements=Remplacer les \u00e9l\u00e9ments de m\u00e9thode existants (r\u00f4les, t\u00e2ches, produits ou conseils)
CheatsheetAddMethodRefOrHyperlink=Ajouter une r\u00e9f\u00e9rence de m\u00e9thode ou un lien hypertexte (URL)
CheatsheetApplyCapabilityPattern=Appliquer un pattern de capacit\u00e9
CheatsheetCreateProcess=Cr\u00e9er un processus (pattern de capacit\u00e9 ou processus de livraison)



               
