# 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

# Method Element Names (Singular)
activity_text=Activit\u00e9
artifact_text=Artefact
capabilityPattern_text=Pattern de capacit\u00e9
checklist_text=Liste de contr\u00f4le
checkItem_text=El\u00e9ment de v\u00e9rification
compositeRole_text=R\u00f4le composite
concept_text=Concept
contentPackage_text=Package de contenu
customCategory_text=Cat\u00e9gorie personnalis\u00e9e
deliverable_text=Livrable
deliveryProcess_text=Processus de livraison
descriptor_text=Descripteur
discipline_text=Discipline
disciplineGrouping_text=Regroupement de discipline
domain_text=Domaine
estimate_text=Estimation
estimatingMetric_text=Mesure d'estimation
estimationConsiderations_text=Consid\u00e9rations relatives \u00e0 l'estimation
example_text=Exemple
guidance_text=Conseil
guideline_text=Instructions
iteration_text=It\u00e9ration
methodConfiguration_text=Configuration de m\u00e9thode
methodContent_text=Contenu de la m\u00e9thode
methodLibrary_text=Biblioth\u00e8que de m\u00e9thodes
methodPackage_text=Package de m\u00e9thode
methodPlugin_text=Plug-in de m\u00e9thodes
milestone_text=Jalon
outcome_text=Sortie
phase_text=Phase
practice_text=Pratique
process_text=Processus
processContribution_text=Processus diff\u00e9rentiel
processFamily_text=Famille de processus
processPackage_text=Package de processus
report_text=Rapport
reusableAsset_text=Ressource r\u00e9utilisable
roadmap_text=Feuille de route
roleDescriptor_text=Descripteur de r\u00f4le
role_text=R\u00f4le
roleSet_text=Ensemble de r\u00f4les
roleSetGrouping_text=Regroupement d'ensembles de r\u00f4les
standardCategory_text=Cat\u00e9gorie standard
step_text=Etape
supportingMaterial_text=Documents d'accompagnement
task_text=T\u00e2che
taskDescriptor_text=Descripteur de t\u00e2che
teamProfile_text=Profil de l'\u00e9quipe
template_text=Canevas
termDefinition_text=D\u00e9finition du terme
tool_text=Outil
toolMentor_text=Guide d'utilisation de l'outil
whitepaper_text=Livre blanc
workProduct_text=Produit
workProductDescriptor_text=Descripteur de produit
workProductElement_text=El\u00e9ment de produit
workProductType_text=Type de produit

# Method Element Names (Plural)
activity_text_plural=Activit\u00e9s
artifact_text_plural=Artefacts
capabilityPattern_text_plural=Patterns de capacit\u00e9
checklist_text_plural=Listes de contr\u00f4le
checkItem_text_plural=El\u00e9ments de v\u00e9rification
compositeRole_text_plural=R\u00f4les composites
concept_text_plural=Concepts
contentPackage_text_plural=Packages de contenu
customCategory_text_plural=Cat\u00e9gories personnalis\u00e9es
deliverable_text_plural=Livrables
deliveryProcess_text_plural=Processus de livraison
descriptor_text_plural=Descripteurs
discipline_text_plural=Disciplines
disciplineGrouping_text_plural=Regroupements de disciplines
domain_text_plural=Domaines
estimate_text_plural=Estimations
estimatingMetric_text_plural=Mesures d'estimation
estimationConsiderations_text_plural=Consid\u00e9rations relatives \u00e0 l'estimation
example_text_plural=Exemples
guidance_text_plural=Conseils
guideline_text_plural=Instructions
iteration_text_plural=It\u00e9rations
methodConfiguration_text_plural=Configurations de m\u00e9thode
methodContent_text_plural=Contenus de m\u00e9thode
methodLibrary_text_plural=Biblioth\u00e8ques de m\u00e9thodes
methodPackage_text_plural=Packages de m\u00e9thodes
methodPlugin_text_plural=Plug-in de m\u00e9thodes
milestone_text_plural=Jalons
outcome_text_plural=Sorties
phase_text_plural=Phases
practice_text_plural=Pratiques
process_text_plural=Processus
processContribution_text_plural=Processus diff\u00e9rentiels
processFamily_text_plural=Familles de processus
processPackage_text_plural=Packages de processus
report_text_plural=Rapports
reusableAsset_text_plural=Ressources r\u00e9utilisables
roadmap_text_plural=Feuilles de route
roleDescriptor_text_plural=Descripteurs de r\u00f4le
role_text_plural=R\u00f4les
roleSet_text_plural=Ensembles de r\u00f4les
roleSetGrouping_text_plural=Regroupements d'ensembles de r\u00f4les
standardCategory_text_plural=Cat\u00e9gories standard
step_text_plural=Etapes
supportingMaterial_text_plural=Documents d'accompagnement
task_text_plural=T\u00e2ches
taskDescriptor_text_plural=Descripteurs de t\u00e2ches
teamProfile_text_plural=Profils d'\u00e9quipe
template_text_plural=Canevas
termDefinition_text_plural=D\u00e9finitions de termes
tool_text_plural=Outils
toolMentor_text_plural=Guides d'utilisation de l'outil
whitepaper_text_plural=Livres blancs
workProduct_text_plural=Produits de travail
workProductDescriptor_text_plural=Descripteurs de produits
workProductElement_text_plural=El\u00e9ments de produit
workProductType_text_plural=Types de produits

# Application title.
application_title={0} - {1}

# Open Method Library Wizard
openLibraryWizard_title=Ouvrir une biblioth\u00e8que de m\u00e9thodes
openLibraryMainWizardPage_title=Indiquer un chemin contenant une biblioth\u00e8que de m\u00e9thodes
openLibraryMainWizardPage_title_2=S\u00e9lectionner une biblioth\u00e8que de m\u00e9thodes
openLibraryMainWizardPage_text={0} stocke les m\u00e9thodes et les processus dans un dossier d\u00e9nomm\u00e9 \nbiblioth\u00e8que de m\u00e9thodes. S\u00e9lectionnez le dossier de biblioth\u00e8que de m\u00e9thodes \u00e0 utiliser pour cette session.
pathLabel_text=Chemin :
nameLabel_text=Nom :
uriLabel_text=URI :
openUnlistedLibraryCheckbox_text=Ouvrir une biblioth\u00e8que de m\u00e9thodes ne figurant pas dans la liste ci-dessus
libraryTypeLabel_text=Type :
libraryLabel_text=Biblioth\u00e8que :
browseButton_text=Parcourir...
promptForLibraryCheckbox_text=Utiliser par d\u00e9faut et ne plus reposer la question.
openLibraryDialog_newLibrary_text=Aucune biblioth\u00e8que de m\u00e9thodes dans ''{0}''.\nUne nouvelle biblioth\u00e8que de m\u00e9thodes sera cr\u00e9\u00e9e et ouverte automatiquement dans le r\u00e9pertoire indiqu\u00e9.\n\nCliquez sur OK pour continuer ou sur Annuler pour indiquer un autre chemin de biblioth\u00e8que de m\u00e9thodes.

# Select Method Library Folder Dialog
selectLibraryFolderDialog_title=S\u00e9lectionner une biblioth\u00e8que de m\u00e9thodes
selectLibraryFolderDialog_text=S\u00e9lectionner un dossier de biblioth\u00e8que de m\u00e9thodes.

# Open Library Progress Message
openingLibraryTask_name=Ouverture de la biblioth\u00e8que de m\u00e9thodes...

# Open Method Library Error Dialog
openLibraryError_msg=IUPL0301E : Impossible de cr\u00e9er la biblioth\u00e8que de m\u00e9thodes.
openLibraryInternlError_reason=Une erreur interne s'est produite.
openLibraryError_reason1=Le chemin de la biblioth\u00e8que de m\u00e9thodes indiqu\u00e9 ''{0}'' est incorrect.
openLibraryError_reason2=Une biblioth\u00e8que de m\u00e9thodes existe d\u00e9j\u00e0 dans ''{0}''.
openLibraryError_reason3=Impossible de cr\u00e9er le dossier de biblioth\u00e8que de m\u00e9thodes ''{0}'' indiqu\u00e9.
openLibraryError_reason4=Le dossier de biblioth\u00e8que de m\u00e9thodes indiqu\u00e9 est un dossier d'exportation de de plug-in ou de sp\u00e9cification de configuration.
openLibraryError_advice=S\u00e9lectionnez OK pour indiquer un autre chemin de biblioth\u00e8que de m\u00e9thodes.

# Open Method Library Error Messages
invalidLibraryPath_msg=IUPL0302E : Impossible d'ouvrir la biblioth\u00e8que de m\u00e9thodes sp\u00e9cifi\u00e9e.
invalidLibraryPath_reason=Le dossier de biblioth\u00e8que de m\u00e9thodes s\u00e9lectionn\u00e9 n'est pas valide, n'existe pas ou vous n'\u00eates pas autoris\u00e9 \u00e0 y acc\u00e9der.\n\nCliquez sur OK pour s\u00e9lectionner un autre dossier de biblioth\u00e8que.

# Read-only Project File Error Dialog
readOnlyProjectFile_text=IUPL0304E : ''{0}'' est en lecture seule. Avant de continuer, rendez-le modifiable.
retryButton_text=R\u00e9essayer
cancelButton_text=Annuler

# Version Mismatch Dialog
versionMismatchDialog_text=IUPL305E : Impossible d''ouvrir la biblioth\u00e8que s\u00e9lectionn\u00e9e. Vous devez effectuer une mise \u00e0 niveau de {0} vers la version {1} ou sup\u00e9rieure afin d''ouvrir cette biblioth\u00e8que.
versionMismatchDialog_text_unknown=IUPL306E: Impossible d''ouvrir la biblioth\u00e8que s\u00e9lectionn\u00e9e. Vous devez effectuer une mise \u00e0 niveau de la version {0} \u00e0 une version sup\u00e9rieure afin d''ouvrir cette biblioth\u00e8que.

# Upgrade Method Library Dialog
upgradeLibraryDialog_title=Mettre \u00e0 niveau de la biblioth\u00e8que de m\u00e9thodes
upgradeLibraryDialog_text=La biblioth\u00e8que que vous avez s\u00e9lectionn\u00e9e doit \u00eatre mise \u00e0 niveau vers la nouvelle structure de biblioth\u00e8que.\n\nVoulez-vous effectuer la mise \u00e0 niveau ?
upgradingLibraryTask_name=Mise \u00e0 niveau de la biblioth\u00e8que de m\u00e9thodes...

# Upgrade Library Error Dialog
upgradeLibraryError_msg=IUPL0306E : Echec de la mise \u00e0 niveau de la biblioth\u00e8que de m\u00e9thodes. Consultez le fichier journal pour plus de d\u00e9tails.

# Switch Configuration Dialog
switchConfigDialog_title=Changer la configuration
switchConfigDialog_text=Voulez-vous changer la configuration en cours au profit de la configuration par d\u00e9faut, ''{0}'', associ\u00e9e au processus s\u00e9lectionn\u00e9 ?
	
# Configuration Combo
currentConfigLabel_text=Configuration en cours :
selectConfigLabel_text=S\u00e9lectionnez une configuration

# Delete Files Confirmation Message
deleteFilesConfirmation_msg=Le chemin sp\u00e9cifi\u00e9 ''{0}'' existe d\u00e9j\u00e0. Tous les fichiers du dossier seront supprim\u00e9s. Voulez-vous continuer ?

# Paths/Files Error Messages
deleteFilesError_reason=Le chemin ''{0}'' contient un ou plusieurs fichiers qui ne peuvent pas \u00eatre supprim\u00e9s.\n\nS\u00e9lectionnez un autre chemin et r\u00e9essayez.
createPathError_reason=Impossible de cr\u00e9er le chemin ''{0}''.\n\nS\u00e9lectionnez un autre chemin et r\u00e9essayez.
invalidPath_msg=Le chemin indiqu\u00e9 est incorrect.
overrideCurrentLibraryError_msg0=Vous ne pouvez exporter vers un chemin contenant la biblioth\u00e8que de m\u00e9thodes actuellement ouverte ; s\u00e9lectionnez un autre chemin et refaites une tentative.

# Backup Library Dialog
backupLibraryDialog_title=Sauvegarder la biblioth\u00e8que
backupLibraryDialog_text=Il est fortement conseill\u00e9 de sauvegarder la biblioth\u00e8que de m\u00e9thodes en cours avant de poursuivre.\n\nCliquez sur OK pour cr\u00e9er une copie de sauvegarde de la biblioth\u00e8que dans le r\u00e9pertoire sp\u00e9cifi\u00e9. Cliquez sur Ignorer pour continuer sans cr\u00e9er la sauvegarde.
backingUpLibraryTask_name=Sauvegarde de la biblioth\u00e8que de m\u00e9thodes...

# Copy Library Dialog
copyLibraryDialog_title=Copier la biblioth\u00e8que
copyLibraryDialog_text_readOnlyLib=La biblioth\u00e8que que vous ouvrez est une biblioth\u00e8que par d\u00e9faut fournie avec le composeur. Il est hautement recommand\u00e9 d'effectuer une copie de travail de cette biblioth\u00e8que pour l'\u00e9dition.\n\nEntrez un emplacement et un nom pour la nouvelle biblioth\u00e8que et cliquez sur "Copier" pour effectuer une copie de travail.\n\nCliquez sur "Ignorer" pour continuer d'\u00e9diter la biblioth\u00e8que par d\u00e9faut \u00e0 l'emplacement actuel. La fonction d'\u00e9dition de biblioth\u00e8que par d\u00e9faut est restreinte par les droits d'acc\u00e8s appliqu\u00e9s par vos plateformes.
copyLibraryTask_name=Cr\u00e9ation en cours d'une copie des fichiers de la biblioth\u00e8que...
copyLibraryDialog_copyButton_text=Copier

# Path Selection Dialog
pathSelectionError_msg=Impossible de cr\u00e9er le r\u00e9pertoire
okButton_text=OK
skipButton_text=Ignorer

# Process Editor preferences
alwaysButton_text=Toujours
neverButton_text=Jamais
promptButton_text=Demander

# Add Link Dialog
linkToURL_name=URL
linkToFile_name=Fichier
elementLink_name=El\u00e9ment de m\u00e9thode
elementLinkWithType_name=El\u00e9ment de m\u00e9thode avec pr\u00e9fixe de type
elementLinkWithUserText_name=El\u00e9ment de m\u00e9thode avec texte personnalis\u00e9

# Convert Activity Type Dialog
convertActivityDialog_title=Convertir le type d'activit\u00e9
convertActivityDialog_text=S\u00e9lectionner le type d'activit\u00e9 cible.
unsupportedActivityType_msg=IUPL0307E : Cette activit\u00e9 ne peut pas \u00eatre convertie dans un autre type.
unsupportedActivityType_reason=Aucun type d''activit\u00e9 compatible pour {0}.

# Select Process Wizard Page
selectProcessWizardPage_title=S\u00e9lectionner un processus
selectProcessWizardPage_text=S\u00e9lectionner un pattern de capacit\u00e9 ou un processus de livraison \u00e0 exporter.
processesLabel_text=Processus :
briefDescriptionLabel_text=Descriptif rapide :

# Export Process Wizard Error Message.
noOpenLibraryWarning_msg=IUPL0308E : Aucune biblioth\u00e8que de m\u00e9thodes n'est actuellement ouverte. Cliquez sur OK, ouvrez une biblioth\u00e8que de m\u00e9thodes ou cr\u00e9ez-en une nouvelle, puis relancez cet assistant. 

# Moved from Authoring UI plug-in to avoid Authoring UI dependency
errorDialog_title=Erreur
MethodElementDeleteAction_deleteconfirm_text=Etes-vous s\u00fbr de vouloir supprimer ''{0}'' ?
confirmDeleteDialog_title=Confirmer la suppression
confirmDeleteDialog_msg=Etes-vous s\u00fbr de vouloir supprimer ''{0}'' ?
confirmDeleteDialog_msgWithReference=Etes-vous s\u00fbr de vouloir supprimer ''{0}'' ?\n\nLe(s) \u00e9l\u00e9ment(s) suivant(s) contient(-tiennent) des r\u00e9f\u00e9rences \u00e0(aux) \u00e9l\u00e9ment(s) \u00e0 supprimer : {1}
ProcessDeleteAction_deletecofirm_text=Cette op\u00e9ration enregistrera l''\u00e9diteur en cours et la modification sera d\u00e9finitive. Etes-vous s\u00fbr de vouloir supprimer ''{0}'' ?

# Save Method Library Dialog
saveLibraryDialog_title=Sauvegarder la biblioth\u00e8que de m\u00e9thodes
saveLibraryDialog_text=La biblioth\u00e8que de m\u00e9thodes en cours a \u00e9t\u00e9 modifi\u00e9e. Voulez-vous enregistrer les modifications ?

# Save Method Library Error Messages
saveLibraryError_msg=IUPL0308E : Impossible d'enregistrer la biblioth\u00e8que de m\u00e9thodes.
error_reason=Une erreur s'est produite.\n\nCliquez sur D\u00e9tails pour plus d'informations.

# ElementTreeContentProvider Strings
elementTCProvider_methodContent=Contenu de la m\u00e9thode
elementTCProvider_contentPackages=Packages de contenu
elementTCProvider_standardCategories=Cat\u00e9gories standard
elementTCProvider_disciplines=Disciplines
elementTCProvider_domains=Domaines
elementTCProvider_workProductTypes=Types de produit de travail
elementTCProvider_roleSets=Ensembles de r\u00f4les
elementTCProvider_tools=Outils
elementTCProvider_customCategories=Cat\u00e9gories personnalis\u00e9es
elementTCProvider_processes=Processus
elementTCProvider_capabilityPatterns=Patterns de capacit\u00e9
elementTCProvider_deliveryProcesses=Processus de livraison

