#-------------------------------------------------------------------------------
# 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

# Generic Dialog Titles
moveDialog_title=D\u00e9placer
deleteDialog_title=Supprimer un \u00e9l\u00e9ment
errorDialog_title=Erreur
errorDialog_cannotRename=Impossible de renommer {0} ''{1}'' en ''{2}''. R\u00e9solvez le probl\u00e8me affich\u00e9 dans D\u00e9tails et cliquez sur OK pour continuer ou sur Annuler pour abandonner cette op\u00e9ration.

# Confirm References Removal Dialog
deleteReferencesDialog_title=Confirmer la suppression des r\u00e9f\u00e9rences
deleteReferencesDialog_text=Le(s) \u00e9l\u00e9ment(s) que vous \u00eates sur le point de supprimer sont toujours utilis\u00e9s par d'autres \u00e9l\u00e9ments de la biblioth\u00e8que de m\u00e9thodes. La suppression de ces \u00e9l\u00e9ments entra\u00eenera la suppression de leurs r\u00e9f\u00e9rences et mettra donc \u00e0 jour les \u00e9l\u00e9ments de r\u00e9f\u00e9rencement.  V\u00e9rifiez que vous \u00eates autoris\u00e9 \u00e0 mettre \u00e0 jour les \u00e9l\u00e9ments de r\u00e9f\u00e9rencement avant de cliquer sur OK.  Cliquez sur D\u00e9tails pour r\u00e9viser la liste des \u00e9l\u00e9ments utilisant le(s) \u00e9l\u00e9ment(s) que vous \u00eates sur le point de supprimer.

# Resolve Name Conflict Dialog
resolveNameConflictDialog_title=R\u00e9soudre un conflit de nom d'\u00e9l\u00e9ment
resolveNameConflictDialog_text=Saisissez un nouveau {0} pour ''{1}'' :

# Select Deliverables Dialog
selectDeliverablesDialog_title=S\u00e9lectionner les livrables
selectDeliverablesDialog_text=S\u00e9lectionnez un livrable dans lequel vous voulez affecter le produit ''{0}''.

# New Process Component Dialog
newProcessComponentDialog_title=Nouveau composant de processus
nameLabel_text=Nom :
defaultConfigLabel_text=Configuration par d\u00e9faut :
baseProcessLabel_text=Processus de base :
basedOnProcessesLabel_text=Bas\u00e9 sur les processus :

# Role Association Dialog
selectAssociationLabel_text=S\u00e9lectionnez une association pour la t\u00e2che ''{0}''

# Remove Association dialog
removeAssociationDialog_text=Supprimez une association

# Select Teams Dialog
selectTeamsDialog_title=S\u00e9lectionner les \u00e9quipes
selectTeamsDialog_text=S\u00e9lectionnez une \u00e9quipe \u00e0 laquelle vous souhaitez affecter un r\u00f4le ''{0}''.

# Tasl Selection Dialog
taskSelectionDialog_title=S\u00e9lectionner des t\u00e2ches
titleLabel_text=S\u00e9lectionnez des t\u00e2ches...

# Error Messages
emptyElementNameError_msg=IUPL0100E : Le nom {0} est manquant.\n\nTous les \u00e9l\u00e9ments de m\u00e9thode et de processus doivent avoir un nom.\n\nSaissez un nom valide et r\u00e9essayez.
emptyElementNameError_simple_msg=Le nom ne peut pas \u00eatre vide. Veuillez indiquer un nom valide.
duplicateElementNameError_msg=IUPL0101E: Le nom ''{0}'' existe d\u00e9j\u00e0. \n\nUn \u00e9l\u00e9ment de m\u00e9thode doit avoir un nom unique.\n\nSaisissez un autre nom et r\u00e9essayez.
duplicateElementNameError_simple_msg=Ce nom d'\u00e9l\u00e9ment existe d\u00e9j\u00e0. Choisissez un autre nom.
invalidElementNameError1_msg=IUPL0102E : Le nom ''{0}'' est non valide.\n\nUn nom d''\u00e9l\u00e9ment de m\u00e9thode ne peut pas commencer par un espace.\n\nSaissez un nom valide et r\u00e9essayez.
invalidElementNameError2_msg=IUPL0103E : Le nom ''{0}'' est non valide.\n\nUn nom d''\u00e9l\u00e9ment de m\u00e9thode ne peut pas se terminer par un point.\n\nSaissez un nom valide et r\u00e9essayez.
invalidElementNameError3_msg=IUPL0104E : Le nom ''{0}'' est non valide.\n\nUn nom d''\u00e9l\u00e9ment de m\u00e9thode ne peut pas contenir les caract\u00e8res suivants : \\ / : * ? " < > ; |\n\nSaisissez un nom valide et r\u00e9essayez.
noConfigError_msg=IUPL0105E : La biblioth\u00e8que de m\u00e9thodes en cours ne contient aucune configuration de m\u00e9thode.\n\nUne configuration de m\u00e9thode est n\u00e9cessaire pour cr\u00e9er un nouveau processus.\n\nCr\u00e9ez une configuration de m\u00e9thode et r\u00e9essayez.
noDeliveryProcessError_msg=IUPL0106E : La biblioth\u00e8que de m\u00e9thodes en cours ne contient aucun processus de livraison.\n\nUn processus de livraison de base est n\u00e9cessaire pour cr\u00e9er une nouvelle contribution de processus.\n\nCr\u00e9ez un processus de livraison et r\u00e9essayez.
noDefaultConfigError_msg=IUPL0107E : Aucune configuration de m\u00e9thode n'a \u00e9t\u00e9 s\u00e9lectionn\u00e9e.\n\nUne configuration de m\u00e9thode par d\u00e9faut doit \u00eatre affect\u00e9e au nouveau processus.\n\nS\u00e9lectionnez une configuration de m\u00e9thode et r\u00e9essayez.
noBaseProcessError_msg=IUPL0108E : Aucun processus de livraison n'a \u00e9t\u00e9 s\u00e9lectionn\u00e9.\n\nUne contribution de processus requiert un processus de livraison de base.\n\nS\u00e9lectionnez un processus de livraison et r\u00e9essayez.
createProcessError_msg=IUPL0109E : Impossible de cr\u00e9er un processus.
createElementError_msg=IUPL0110E : Impossible de cr\u00e9er un \u00e9l\u00e9ment.
deleteElementError_msg=IUPL0111E : Impossible de supprimer un \u00e9l\u00e9ment.
duplicateContentFileError_msg=IUPL0112E : Impossible de cr\u00e9er le fichier de contenu de l''\u00e9l\u00e9ment.\n\nUn fichier ''{0}'' existe d\u00e9j\u00e0.\n\nSaisissez un autre nom et r\u00e9essayez.
duplicateContentFileError_simple_msg=Un fichier de contenu portant le m\u00eame nom existe d\u00e9j\u00e0. Choisissez un autre nom.
undoCommandError_msg=IUPL0113E : Impossible d''appliquer la commande d''annulation ''{0}''.\n\nUne erreur s''est produite : {1}
invalidPredecessorError_msg=IUPL0114E : L'index du pr\u00e9d\u00e9cesseur sp\u00e9cifi\u00e9 est non valide.\n\nUn index de pr\u00e9d\u00e9cesseur doit \u00eatre un entier dans la colonne 'Index'.\n\nSp\u00e9cifiez une valeur valide et r\u00e9essayez.
UserInteractionHelper_errRelationshipExists=IUPL0100W : ''{0}'' est d\u00e9j\u00e0 associ\u00e9 \u00e0 ''{1}''.  Une seule association de ce type est permise.  Pour affecter ''{0}'' \u00e0 ''{2}'', vous devez au pr\u00e9alable le supprimer de ''{1}''.
error_msgWithDetails=IUPL0116E : Une erreur s'est produite. Cliquez sur D\u00e9tails pour plus d'informations.
error_msg=IUPL0117E : Une erreur s'est produite. Affichez le journal des erreurs pour plus d'informations.
Suppression_nameDuplication=IUPL0118E : Un conflit de nom va se produire suite \u00e0 cette op\u00e9ration. >V\u00e9rifiez que le nom de l'\u00e9l\u00e9ment n'est pas en double et r\u00e9essayez
Suppression_presentationNameDuplication=IUPL0119E : Un conflit de nom va se produire suite \u00e0 cette op\u00e9ration. >V\u00e9rifiez que le nom de pr\u00e9sentation de l'\u00e9l\u00e9ment n'est pas en double et r\u00e9essayez

# Error Reasons
error_reason=Une erreur s'est produite. Cliquez sur D\u00e9tails pour plus d'informations.
saveProcessError_reason=Une erreur s''est produite lors de la sauvegarde du processus ''{0}''. Cliquez sur D\u00e9tails pour plus d''informations.
deleteReferencesError_reason=Une erreur s'est produite lors de la suppression des r\u00e9f\u00e9rences associ\u00e9es \u00e0 cet \u00e9l\u00e9ment. Cliquez sur D\u00e9tails pour plus d'informations.
saveFileError_reason=Une erreur s''est produite lors de la sauvegarde du fichier ''{0}''. Cliquez sur D\u00e9tails pour plus d''informations.
invalidReferencesError_reason=Des \u00e9l\u00e9ments de m\u00e9thode contenant des r\u00e9f\u00e9rences non valides issues de copies entre plug-ins ont \u00e9t\u00e9 d\u00e9tect\u00e9s.\nCes r\u00e9f\u00e9rences seront supprim\u00e9es. Voulez-vous continuer ?
unresolvedObjectError_reason=Modification d''un objet non r\u00e9solu impossible : {0}(URI = {1}){2}

# Warning messages
MethodElementAddCommand_originalNotFoundWarning_msg=IUPL0118W : Un ou plusieurs \u00e9l\u00e9ments source sont introuvables. Les fichiers associ\u00e9s du dossier des ressources ne seront pas copi\u00e9s.
ActivityAddCommand_originalNotFoundWarning_msg=IUPL0119W : Un ou plusieurs \u00e9l\u00e9ments source sont introuvables. Les packages de processus associ\u00e9s ne seront pas copi\u00e9s.
ActivityDropCommand_deepCopy_promptConfigurationMsg=Voulez-vous copier tous les descripteurs ?\n\nSi vous cliquez sur Non, seuls les descripteurs faisant partie de la configuration en cours seront copi\u00e9s.
deepCopy_promptMsg=Vous obtiendrez une copie de tous les \u00e9l\u00e9ments li\u00e9s dynamiquement que vous devez d\u00e9sormais conserver s\u00e9par\u00e9ment. Voulez-vous continuer ?
deepCopy_title=Copie profonde

# Progress messages
creatingProcessComponentTask_name=Cr\u00e9ation du composant de processus ''{0}''...
processingReferencesTask_name=Traitement des r\u00e9f\u00e9rences...
deletingElementsTask_name=Suppression des \u00e9l\u00e9ments et fichiers associ\u00e9s...
checkingReferencesTask_name=Recherche de r\u00e9f\u00e9rences...
removingReferencestask_name=Suppression de r\u00e9f\u00e9rences...
savingModifiedFilesTask_name=Sauvegarde du(des) fichier(s) modifi\u00e9(s)...
checkAffectedResourcesTask_name=V\u00e9rification des ressources affect\u00e9es...
movingTask_name=D\u00e9placement...
movingFilesTask_name=D\u00e9placement de fichiers...
copyingResourcesTask_name=Copie de ressources...
copyingActivities_msg=Copie de l''activit\u00e9 ''{0}''
savingFileTask_name=Sauvegarde du fichier ''{0}''...

# UI Text
element_text=\u00e9l\u00e9ment
createElement_text=Cr\u00e9er un \u00e9l\u00e9ment
createProcess_text=Cr\u00e9er un processus
contributesTo_text=Contribue \u00e0
localContributesTo_text=Contribue localement \u00e0
extends_text=Etend
replaces_text=Remplace
localReplaces_text=Remplace localement
localReplacementAndDeepCopy_text=Remplacement local et copie profonde
elementType_text={0} : {1}
deliverables_text=Livrables
contributeToActivity_text=Contribuer \u00e0 l'activit\u00e9
ActivityDropCommand_label=Supprimer l'activit\u00e9
replaceActivity_text=Remplacer l'activit\u00e9
file_text=fichier
directory_text=r\u00e9pertoire
unresolved_text=(''{0}'' non r\u00e9solu)
assists_text=Fournit de l'aide
unknown_text=Inconnu
command_done=Termin\u00e9

# The following UI text should be reviewed.
Util_labelpath_variabilitywithplugin_info={0} ({1} ''{2}'' dans ''{3}'')
Util_labelpath_variability_info={0} ({1} ''{2}'')
ui_ref_delete=Le descripteur ''{0}'' contient les r\u00e9f\u00e9rences suivantes qui ne sont utilis\u00e9es nulle part.\nS\u00e9lectionnez celles que vous souhaitez supprimer :
ui_ref_delete2=Les r\u00e9f\u00e9rences suivantes ne sont utilis\u00e9es nulle part.\nS\u00e9lectionnez celles que vous souhaitez supprimer :
ui_references=R\u00e9f\u00e9rences
ui_workproduct_descriptor_description=Le descripteur de produit ''{0}'' est associ\u00e9 (sortie de) au descripteur de t\u00e2che ''{1}''
ui_workproductdescriptor_options=Options
ui_workproductdescriptor_outputlabel=Supprimer le descripteur de produit en tant que sortie du descripteur de t\u00e2che
ui_workproductdescriptor_delete_task=Supprimer le descripteur de t\u00e2che de l'activit\u00e9
ui_UserInteractionHelper_defaultconfigcheck=L''\u00e9l\u00e9ment s\u00e9lectionn\u00e9 ''{0}'' ne figure pas dans la configuration par d\u00e9faut de votre processus.\nSouhaitez-vous ajouter ce dernier et ses d\u00e9pendances \u00e0 la configuration par d\u00e9faut ?
ui_UserInteractionHelper_genericErr_message_text=Des erreurs se sont produites pendant l'op\u00e9ration. Cliquez sur D\u00e9tails pour plus d'informations.
ProcessAutoSynchronizeAction_noDescriptorToSynch=Aucun descripteur contenant un \u00e9l\u00e9ment de m\u00e9thode li\u00e9 n'a \u00e9t\u00e9 trouv\u00e9 en vue d'une synchronisation
util_configurablecomposedadapter_refershingviewer=Erreur d'actualisation de l'afficheur
confirm_remove_references_text=Le ou les \u00e9l\u00e9ments r\u00e9pertori\u00e9s dans D\u00e9tails sont susceptibles de comporter une r\u00e9f\u00e9rence interdite \u00e0 ce message d\u00e9cisionnel apr\u00e8s conversion. Cliquez sur OK pour les supprimer et continuer.
util_configurablecomposedadapter_unhandled_exception=Exception non g\u00e9r\u00e9e
util_ProcessUtil_err_same_breakdown_element=Ne peut pas avoir le m\u00eame \u00e9l\u00e9ment de r\u00e9partition que le pr\u00e9d\u00e9cesseur et le successeur
ui_UserInteractionHelper_wplistdlg_msg=Le produit ''{0}'' est une sortie des t\u00e2ches suivantes.\nS\u00e9lectionnez les t\u00e2ches pour lesquelles vous souhaitez cr\u00e9er les descripteurs correspondants.
ui_UserInteractionHelper_rolelistdlg_msg=Le r\u00f4le ''{0}'' comporte les produits responsables suivants.\nS\u00e9lectionnez les produits pour lesquels vous souhaitez cr\u00e9er les descripteurs correspondants.
util_configurablecomposedadapter_fatalerr=Erreur bloquante
ui_UserInteractionHelper_workproducts=Produits
util_ProcessUtil_err_same_sub_element=Impossible de relier un \u00e9l\u00e9ment de r\u00e9partition \u00e0 l'un de ses sous-\u00e9l\u00e9ments
util_ProcessUtil_err_wrong_element=Impossible de relier \u00e0 un \u00e9l\u00e9ment autre qu'un \u00e9l\u00e9ment de r\u00e9partition du travail.
util_ProcessUtil_err_child_element=Impossible de relier un \u00e9l\u00e9ment de r\u00e9partition \u00e0 l'un de ses enfants.
ui_UserInteractionHelper_tasks=T\u00e2ches
ui_association_task_selection=S\u00e9lection des t\u00e2ches...
util_ProcessUtil_childadapter=\ \ adaptateur de l'enfant :

util_ProcessUtil_err_setparent=Impossible de d\u00e9finir un parent pour l'enfant
util_tngutil_cannot_edit_resource=Impossible de modifier la ressource.
util_ProcessUtil_contributesto=contribue \u00e0 ''{0}''
util_ProcessUtil_localContributesto=contribue localement \u00e0 ''{0}''
process_extends=\u00e9tend ''{0}''
process_replaces=remplace ''{0}''
process_localReplaces=remplace localement ''{0}''
# Filter constants externalized strings.
FilterConstants_disciplines_text=Disciplines
FilterConstants_disciplinegroupings_text=Regroupements de disciplines
FilterConstants_whitepapers_text=Livres blancs
FilterConstants_toolmentors_text=Guides d'utilisation de l'outil
FilterConstants_tools_text=Outils
FilterConstants_roles_text=R\u00f4les
FilterConstants_tasks_text=T\u00e2ches
FilterConstants_reusableassets_text=Ressources r\u00e9utilisables
FilterConstants_all_text=Tous
FilterConstants_processes_text=Processus
FilterConstants_practices_text=Pratiques
FilterConstants_templates_text=Canevas
FilterConstants_workproducts_text=Produits
FilterConstants_checklists_text=Listes de contr\u00f4le
FilterConstants_guidelines_text=Instructions
FilterConstants_rolesets_text=Ensembles de r\u00f4les
FilterConstants_guidance_text=Conseil
FilterConstants_concepts_text=Concepts
FilterConstants_examples_text=Exemples
FilterConstants_contentpackages_text=Packages de contenu
FilterConstants_roledescriptors_text=Descripteurs de r\u00f4le
FilterConstants_rolesetgropuings_text=Regroupements d'ensembles de r\u00f4les
FilterConstants_taskdescriptors_text=Descripteurs de t\u00e2ches
FilterConstants_contentelements_text=El\u00e9ments de contenu
ProcessAutoSynchronizeAction_prepare=Pr\u00e9paration de la synchronisation...
FilterConstants_workproductdescriptors_text=Descripteurs de produits
FilterConstants_allcontentelements_text=Tous les \u00e9l\u00e9ments de contenu
FilterConstants_supportingmaterials_text=Documents d'accompagnement
MethodElementAddCommand_errorSavingFiles=Erreur lors de la sauvegarde du(des) fichier(s)
FilterConstants_customcategories_text=Cat\u00e9gories personnalis\u00e9es
FilterConstants_workproducttypes_text=Types de produits
DeleteMethodElementCommand_warningMsg=Suppression termin\u00e9e avec avertissement
FilterConstants_methodplugins_text=Plug-ins de m\u00e9thode
UserInteractionHelper_lockedPlugin=IUPL0120E : Le plug-in ''{0}'' est verrouill\u00e9.
FilterConstants_domains_text=Domaines
FilterConstants_roadmap_text=Feuilles de route
FilterConstants_reports_text=Rapports
AutoSynchronizeCommand_label=S&ynchronisation par d\u00e9faut \u00e0 partir du contenu de m\u00e9thode
ManualSynchronizeCommand_label=Synchroni&sation personnalis\u00e9e...
AutoSynchronizeCommand_sucessful=Synchronisation termin\u00e9e avec succ\u00e8s.

# UserInteractionHelper
UserInteractionHelper_ProcessPackage_Name=Nom :

# MethodCreateChildCommand
newElement_text=Nouveau(nouvelle) {0}
update_outofsynch_title=Conflit de mise \u00e0 jour
update_outofsynch_msg=Le ou les fichiers ont \u00e9t\u00e9 modifi\u00e9s sur le syst\u00e8me de fichiers. Souhaitez-vous \u00e9craser les modifications ?
