# 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
validation=Validation

# 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

ClearAllValidationItems=Effacer tous les \u00e9l\u00e9ments de validation
