#-------------------------------------------------------------------------------
# Copyright (c) 2005, 2006 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\u00e9thode
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=Document 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 de 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\u00e9thode
methodPlugin_text_plural=Plug-ins de m\u00e9thode
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=Calendriers
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 de l'\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
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 Dialog
openLibraryDialog_title=Ouvrir une biblioth\u00e8que de m\u00e9thodes
openLibraryDialogArea_title=S\u00e9lectionner une biblioth\u00e8que de m\u00e9thodes
openLibraryDialogArea_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.
libraryLabel_text=Biblioth\u00e8que :
browseButton_text=Parcourir...
promptForLibraryCheckbox_text=Utilisez-le 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\u00e9lectionnez 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
invalidLibraryPath_msg=IUPL0300E : 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 est non 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.

# Library Locked Error Dialog
libraryLocked_msg=IUPL0303E : Impossible d'ouvrir la biblioth\u00e8que de m\u00e9thodes sp\u00e9cifi\u00e9e.\n\nLa biblioth\u00e8que de m\u00e9thodes s\u00e9lectionn\u00e9e semble \u00eatre en cours d'utilisation. Cliquez sur Annuler pour s\u00e9lectionner un autre r\u00e9pertoire de biblioth\u00e8que ou cliquez sur Forcer l'ouverture si vous souhaitez encore ouvrir la biblioth\u00e8que.\n\nAVERTISSEMENT : L'utilisation simultan\u00e9e d'une biblioth\u00e8que de m\u00e9thodes peut endommager cette derni\u00e8re.
libraryLocked_openButton_text=Forcer l'ouverture

# Read-only Project File Error Dialog
readOnlyProjectFile_text=IUPL0302E : ''{0}'' est en lecture seulement. Avant de continuer, faites en sorte qu''il soit 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=IUPL0301E : 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 sp\u00e9cifi\u00e9 est non valide.

# 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=Cr\u00e9ation d'une copie de sauvegarde des fichiers de biblioth\u00e8que...

# 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=IUPL0304E : Cette activit\u00e9 ne peut pas \u00eatre convertie dans un autre type.
unsupportedActivityType_reason=Aucun type d''activit\u00e9 n''est compatible pour {0}.
