# NLS_ENCODING=UNICODE
#-------------------------------------------------------------------------------
# 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=Interface utilisateur d'autorisation EPF
providerName=Eclipse.org

# Category
methodCategoryName=M\u00e9thode

# Perspective
authoringPerspectiveName=Cr\u00e9ation
browsingPerspectiveName=Exploration

# Views
libraryViewName=Biblioth\u00e8que
configurationViewName=Configuration
contentViewName=Contenu
configurationErrorLogViewName=Journal des erreurs de configuration

# Editors
methodElementEditorName=Editeur d'\u00e9l\u00e9ment de m\u00e9thode
configurationEditorName=Editeur de configuration
processEditorName=Editeur de processus
activityDiagramEditorName=Editeur de diagramme d'activit\u00e9
activityDetailDiagramEditorName=Editeur de diagramme de d\u00e9tail d'activit\u00e9
workProductDepedencyDiagramEditorName=Editeur de diagramme de d\u00e9pendance de produit

# Wizards
newMethodLibraryWizardName=Biblioth\u00e8que de m\u00e9thodes
newMethodLibraryWizardDescription=Cr\u00e9er une nouvelle biblioth\u00e8que de m\u00e9thodes.
newMethodPluginWizardName=Plug-in de m\u00e9thodes
newMethodPluginWizardDescription=Cr\u00e9er un nouveau plug-in de m\u00e9thodes.
newConfigurationWizardName=Configuration de m\u00e9thode
newConfigurationWizardDescription=Cr\u00e9er une nouvelle configuration de m\u00e9thode.

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

# Action Set
authoringActionSet=Cr\u00e9ation
cheatSheetsActionSet=Aide-m\u00e9moires

# Global Actions
newLibraryAction=&Biblioth\u00e8que de m\u00e9thodes
newLibraryActionTooltip=Cr\u00e9er une nouvelle biblioth\u00e8que de m\u00e9thodes
newPluginAction=&Plug-in de m\u00e9thodes
newPluginActionTooltip=Cr\u00e9er un nouveau plug-in de m\u00e9thodes
newConfigAction=&Configuration de m\u00e9thode
newConfigActionTooltip=Cr\u00e9er une nouvelle configuration de m\u00e9thode
openLibraryAction=&Biblioth\u00e8que de m\u00e9thodes
openLibraryActionTooltip=Ouvrir une biblioth\u00e8que de m\u00e9thodes existante
openConfigAction=&Configuration de m\u00e9thode
openConfigActionTooltip=Ouvrir une configuration de m\u00e9thode existante
openCheatSheets=&Aides-m\u00e9moire...

# Library View Actions
linkWithEditor=Lien avec l'\u00e9diteur
linkWithEditorTooltip=Lien avec l'\u00e9diteur
showPresentationNames=Afficher les noms de pr\u00e9sentation
showPresentationNamesTooltip=Afficher les noms de pr\u00e9sentation

# Configuration View Actions
refreshConfig=Actualiser
refreshConfigTooltip=Actualiser la configuration

# Preference Page
authoringPreferencePage=Cr\u00e9ation
processEditor=Editeur de processus
libraryOptions=Options de la biblioth\u00e8que
startupAndShutdown=D\u00e9marrage et arr\u00eat
debug=D\u00e9boguer
modelingOptions=Options de mod\u00e9lisation
diagramAppearance=Aspect du diagramme
breakdownElementAttributes=Attributs d'\u00e9l\u00e9ment de r\u00e9partition
libraryViewOptions=Options de la vue Biblioth\u00e8que
activityDiagram=Diagramme d'activit\u00e9

# Command Handler
selectAll=S\u00e9lectionner tout

# Properties View
_UI_ProcessEditor_menu=Processus
_UI_CreateChild_menu_item=&Nouvel enfant
_UI_CreateSibling_menu_item=N&ouveau fr\u00e8re/soeur
_UI_ShowPropertiesView_menu_item=Afficher la &vue propri\u00e9t\u00e9s
_UI_RefreshViewer_menu_item=Act&ualiser
_UI_Properties_General=Dispositions g\u00e9n\u00e9rales
_UI_Properties_Documentation=Documentation
_UI_Properties_Guidance=Conseil
_UI_Properties_Work_Rollup=Cumul de travail
_UI_Properties_Team_Rollup=Cumul de l'\u00e9quipe
_UI_Properties_WP_Rollup=Cumul de produit de travail
_UI_Properties_Roles=R\u00f4les
_UI_Properties_WorkProducts=Produits de travail
_UI_Properties_Steps=Etapes
_UI_Properties_Teams=Equipes

RichTextMarkerTypeName=Probl\u00e8mes HTML
ConfigurationMarkerTypeName=Probl\u00e8mes de configuration
ExplanationText=Explication

