# 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

# Generic Dialog Titles
moveDialog_title=D\u00e9placer
moveDialog_addRefPluginsWarningText=Avertissement : ce d\u00e9placement peut entra\u00eener des d\u00e9pendances de plug-ins non d\u00e9clar\u00e9es si vous n'ajoutez pas les r\u00e9f\u00e9rences de plug-ins suppl\u00e9mentaires requises. Les utilisateurs doivent utiliser la validation de biblioth\u00e8que pour les v\u00e9rifier et les corriger manuellement apr\u00e8s le d\u00e9placement.
moveDialog_addRefPluginsWarningText1=Avertissement : ce d\u00e9placement peut entra\u00eener des d\u00e9pendances de plug-ins non d\u00e9clar\u00e9es pouvant causer des d\u00e9pendances de plug-ins en boucle s'il est ajout\u00e9 par l'outil. Les utilisateurs doivent utiliser la validation de biblioth\u00e8que pour les v\u00e9rifier et les corriger manuellement apr\u00e8s le d\u00e9placement.  
moveDialog_addRefPluginsText=Les r\u00e9f\u00e9rences de plug-ins suivantes peuvent \u00eatre ajout\u00e9es sans entra\u00eener de d\u00e9pendances en boucle. Cliquez sur "Oui" pour poursuivre. "Non" permet de continuer le d\u00e9placement sans ajout. "Annuler" permet d'annuler le d\u00e9placement.\n\nR\u00e9f\u00e9rences de plug-ins \u00e0 ajouter pour
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 :
SpecifyNameText=Indiquez un nom correct.

# 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}''.

# Task 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.\nTous les \u00e9l\u00e9ments de m\u00e9thode et de processus doivent avoir un nom.\nEntrez un nom valide et r\u00e9essayez.
emptyElementNameError_simple_msg=Le nom ne peut pas \u00eatre vide. Indiquez un nom valide.
duplicateElementNameError_msg=IUPL0101E: Le nom ''{0}'' existe d\u00e9j\u00e0. \nUn \u00e9l\u00e9ment de m\u00e9thode doit avoir un nom unique.\nEntrez un autre nom et refaites une tentative.
duplicateElementNameError_msg2=Entrez un autre nom et refaites une tentative.
duplicateElementNameError_simple_msg=Le nom existe d\u00e9j\u00e0. Indiquez un autre nom.
invalidElementNameError1_msg=IUPL0102E : Le nom ''{0}'' est non valide.\nUn nom d''\u00e9l\u00e9ment de m\u00e9thode ne peut pas commencer par un espace.\nEntrez un nom valide et r\u00e9essayez.
invalidElementNameError2_msg=IUPL0103E : Le nom ''{0}'' est non valide.\nUn nom d''\u00e9l\u00e9ment de m\u00e9thode ne peut pas se terminer par un point.\nEntrez un nom valide et r\u00e9essayez.
invalidElementNameError3_msg=IUPL0104E : Le nom ''{0}'' est non valide.\nUn nom d''\u00e9l\u00e9ment de m\u00e9thode ne peut pas contenir les caract\u00e8res suivants : \\ / : * ? " < > ; | [ ] #\nEntrez un nom valide et r\u00e9essayez.
invalidElementNameError4_msg=IUPL0105E : Le nom ''{0}'' est incorrect.\nUn nom d''\u00e9l\u00e9ment de m\u00e9thode ne peut pas contenir le caract\u00e8re : & \nEntrez un nom correct et r\u00e9essayez.
invalidPluginNameError_msg=IUPL0121E : Le nom ''{0}'' n''est pas valide.\nUn nom de plug-in de m\u00e9thode ne peut pas contenir les caract\u00e8res suivants : \\ / : * ? " < > ; | # % ''\nSaisissez un nom valide et r\u00e9essayez.
filePathNameTooLong_msg=Nom de chemin trop long (plus de ''{0}'') 
noConfigError_msg=La biblioth\u00e8que de m\u00e9thodes en cours ne contient aucune configuration de m\u00e9thode.\nUne configuration de m\u00e9thode est n\u00e9cessaire pour cr\u00e9er un nouveau processus.\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.\nUn processus de livraison de base est n\u00e9cessaire pour cr\u00e9er une nouvelle contribution de processus.\nCr\u00e9ez un processus de livraison et r\u00e9essayez.
noDefaultConfigError_msg=IUPL0107E : Aucune configuration de m\u00e9thode n'a \u00e9t\u00e9 s\u00e9lectionn\u00e9e.\nUne configuration de m\u00e9thode par d\u00e9faut doit \u00eatre affect\u00e9e au nouveau processus.\nS\u00e9lectionnez une configuration de m\u00e9thode et r\u00e9essayez.
noBaseProcessError_msg=IUPL0108E : Aucun processus de livraison n'a \u00e9t\u00e9 s\u00e9lectionn\u00e9.\nUne contribution de processus requiert un processus de livraison de base.\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 : Le fichier de contenu de l''\u00e9l\u00e9ment ne peut pas \u00eatre cr\u00e9\u00e9 ou renomm\u00e9 afin de correspondre au nom 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. Indiquez 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-in 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 compl\u00e8te

# 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}''...
savingResources_msg=Enregistrement des ressources
scope_defualtName=-- Aucun --
scope_PluginsName=Plug-ins s\u00e9lectionn\u00e9s

# 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
extends_replaces_text=Extensions et remplacements
localReplaces_text=Remplace localement
localReplacementAndDeepCopy_text=Remplacement local et &copie compl\u00e8te
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=Aid\u00e9 de
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.
confirmDescriptorsDeletion_title=Confirmer la suppression des descripteurs
confirmDescriptorsDeletion_msg=Le(s) \u00e9l\u00e9ment(s) que vous \u00eates sur le point de supprimer sont toujours utilis\u00e9s par des descripteurs de la biblioth\u00e8que de m\u00e9thodes.  Cliquez sur Oui si vous souhaitez supprimer \u00e9galement ces descripteurs.  V\u00e9rifiez que vous \u00eates autoris\u00e9 \u00e0 supprimer les descripteurs avant de cliquer sur Oui.  Cliquez sur D\u00e9tails pour r\u00e9viser la liste des descripteurs qui r\u00e9f\u00e9rencent le(s) \u00e9l\u00e9ment(s) que vous \u00eates sur le point de supprimer.
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 de travail
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=Le plus courant
FilterConstants_processes_text=Processus
FilterConstants_activities_text=Activit\u00e9s
FilterConstants_practices_text=Pratiques
FilterConstants_UDTs_text=UDT
FilterConstants_templates_text=Canevas
FilterConstants_workproducts_text=Produits de travail
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-in de m\u00e9thodes
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...
SynchronizeCompleteDialog_Title=Synchronisation termin\u00e9e
AutoSynchronizeCommand_sucessful=Synchronisation termin\u00e9e avec succ\u00e8s.
selectDescriptorsToDelete_msg=Les descripteurs suivants ne sont plus utilis\u00e9s nulle part une fois que les \u00e9l\u00e9ments s\u00e9lectionn\u00e9s sont supprim\u00e9s.\nS\u00e9lectionnez les descripteurs que vous souhaitez supprimer.

CreateProcessComponentCommand_Message=Indiquez le nom et la configuration par d\u00e9faut du {0} \u00e0 cr\u00e9er.
DeliveryProcessLabel=processus de livraison
CapabilityPatternLabel=pattern de capacit\u00e9

# UserInteractionHelper
UserInteractionHelper_ProcessPackage_Name=Nom :

# MethodCreateChildCommand
newElement_text=Nouveau {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 ?
duplicateFeatureValue=Impossible d''avoir 2 \u00e9l\u00e9ments sous {0}'' avec la m\u00eame valeur pour {1}''
apply_pattern_error_msg=Impossible d''appliquer l''activit\u00e9 ''{0}'' au processus ''{1}'' car il cr\u00e9erait une d\u00e9pendance en boucle.
apply_pattern_error_msg1=Impossible d''appliquer l''activit\u00e9 ''{0}'' au processus ''{1}'' car ''{0}'' a d\u00e9j\u00e0 une ou plusieurs activit\u00e9s contribu\u00e9es/remplac\u00e9es comme enfants.
activity_variability_error_msg1=L''activit\u00e9 ''{0}'' ne peut pas d\u00e9finir la variabilit\u00e9 avec l''un de ses parents directs.
activity_variability_error_msg2=L''activit\u00e9 ''{0}'' ne peut pas d\u00e9finir la variabilit\u00e9 avec ''{1}'' \u00e9tant donn\u00e9 qu''elle va g\u00e9n\u00e9rer une d\u00e9pendance en boucle.
activity_variability_error_msg3=Impossible de remplacer un processus sup\u00e9rieur par une activit\u00e9.
activity_deep_copy_variability_prompt=L'activit\u00e9 source peut avoir des contributions externes ou des remplacements.\nVoulez-vous tous les copier ?\n\nSi vous cliquez sur non, seule l'activit\u00e9 d'origine sera copi\u00e9e.
activity_variability_error_msg=L''activit\u00e9 ''{0}'' ne peut pas d\u00e9finir la variabilit\u00e9 avec ''{1}'' \u00e9tant donn\u00e9 que ''{1}'' dispose d\u00e9j\u00e0 d''une ou de plusieurs activit\u00e9s de contribution ou de remplacement comme \u00e9tant ses enfants.
variability_error_msg=L''\u00e9l\u00e9ment de variabilit\u00e9 {0}'' ne peut pas d\u00e9finir la variabilit\u00e9 avec {1}'' car elle va g\u00e9n\u00e9rer une d\u00e9pendance en boucle.
circular_dependency_error_msg=Impossible d'ex\u00e9cuter l'op\u00e9ration car elle va g\u00e9n\u00e9rer une d\u00e9pendance en boucle.

# Validation messages
variability_element_circular_loop_error_msg=D\u00e9pendance en boucle d\u00e9tect\u00e9e... 
replacing_ancestor_error_msg=Le remplacement d'une erreur anc\u00eatre est d\u00e9tect\u00e9e.
cannot_copy_or_extend_delivery_process=Impossible de copier ou d'\u00e9tendre un processus de livraison ou l'une de ses activit\u00e9s.

# Sort options
SortType_Label=Type de tri :
SortType_Manual=Manuel
SortType_Alphabetic=Alphab\u00e9tique
SortType_ReverseAlphabetic=Alphab\u00e9tique invers\u00e9
SortType_MethodType=Type d'\u00e9l\u00e9ment

WorkOrderTypeAbbreviation_FINISH_TO_START=FS
WorkOrderTypeAbbreviation_FINISH_TO_FINISH=FF
WorkOrderTypeAbbreviation_START_TO_FINISH=SF
WorkOrderTypeAbbreviation_START_TO_START=SS
add_to_default_config_dlg_title=Ajouter \u00e0 la configuration par d\u00e9faut
