#-------------------------------------------------------------------------------
# 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

# Complete new strings need translation.
previous_name_null1=L'annulation du changement de nom n'est pas permise si le nom pr\u00e9c\u00e9dent est NULL.
err_name_empty=Le nom ne peut pas \u00eatre vide. Indiquez un nom valide.
moveAction_label=D\u00e9placer

AbstractDiagram_Select_text=S\u00e9lectionner
AbstractDiagram_Select_tooltip=S\u00e9lectionner un noeud ou un lien
AbstractDiagram_AddNode_title=Ajouter un noeud
AbstractDiagram_AddNode_err_msg=IXRD0002W : Echec de l'ajout d'un noeud au diagramme
AbstractDiagram_Link_text=Lien
AbstractDiagram_Link_select=S\u00e9lectionner un lien
AbstractDiagram_Link_tooltip=Cr\u00e9er un nouveau lien
ActivityDiagram_StartNode_text=Noeud de d\u00e9but
ActivityDiagram_StartNode_tooltip=Cr\u00e9er un noeud de d\u00e9part
AbstractDiagram_FreeText_text=Texte libre
AbstractDiagram_FreeText_tooltip=Cr\u00e9er un nouveau texte libre
ActivityDiagram_SyncBar_text=Barre de synchronisation
ActivityDiagram_SyncBar_tooltip=Cr\u00e9er une nouvelle barre de synchronisation
ActivityDiagram_DecisionNode_text=Noeud de d\u00e9cision
ActivityDiagram_DecisionNode_tooltip=Cr\u00e9er un noeud de d\u00e9cision
ActivityDiagram_EndNode_text=Noeud de fin de flux
ActivityDetailDiagram_prefix=D\u00e9tail des activit\u00e9s :
ActivityDiagram_EndNode_tooltip=Cr\u00e9er un noeud de fin
ActivityDiagram_Activity_text=Activit\u00e9
ActivityDiagram_Activity_tooltip=Cr\u00e9er une activit\u00e9
ActivityDiagram_Iteration_text=It\u00e9ration
ActivityDiagram_Iteration_tooltip=Cr\u00e9er une it\u00e9ration
ActivityDiagram_Phase_text=Phase
ActivityDiagram_Phase_tooltip=Cr\u00e9er une phase
AbstractDiagram_TaskDescriptor_text=Descripteur de t\u00e2che
AbstractDiagram_RoleDescriptor_text=Descripteur de r\u00f4le
WorkProductDependencyDiagram_prefix=Diagramme de d\u00e9pendance de produit :
AbstractDiagram_RoleDescriptor_tooltip=Cr\u00e9er un descripteur de r\u00f4le
AbstractDiagram_TaskDescriptor_tooltip=Cr\u00e9er un descripteur de t\u00e2che
ActvitivityDiagram_DeliveryProcess_text=Processus de livraison
ActvitivityDiagram_CapabilityPattern_text=Pattern de capacit\u00e9
ActvitivityDiagram_Phase_tex=Phase
ActvitivityDiagram_Iteration_text=It\u00e9ration
ActvitivityDiagram_Activity_text=Activit\u00e9
AbstractDiagram_WorkProductDescriptor_text=Descripteur de produit
AbstractDiagram_WorkProductDescriptor_tooltip=Cr\u00e9er un descripteur de produit de travail

AbstractDiagramEditor_alignMenu_text=Aligner
AbstractDiagramEditor_refreshFromBaseActivity_text=Actualiser \u00e0 partir de l'activit\u00e9 \u00e9l\u00e9mentaire
AbstractDiagramEditor_formatTextBoxActivity_text=Mise en forme de la zone de texte...
AbstractDiagramEditor_hAlignAverageAction_text=Horizontalement par rapport \u00e0 la moyenne
AbstractDiagramEditor_hAlignFirstSelectedAction_text=Horizontalement par rapport au premier \u00e9l\u00e9ment s\u00e9lectionn\u00e9
AbstractDiagramEditor_vAlignAverageAction_text=Verticalement par rapport \u00e0 la moyenne
AbstractDiagramEditor_vAlignFirstSelectedAction_text=Verticalement par rapport au premier \u00e9l\u00e9ment s\u00e9lectionn\u00e9
AbstractDiagramEditor_Save_text=Enregistrer
AbstractDiagramEditor_Save_message=Enregistrement en cours de {0}
AbstractDiagramEditor_MoveNode_label=D\u00e9placer un noeud
AbstractDiagramEditorrefreshfrombase=Actualiser \u00e0 partir de la base
AbstractDiagram_BendPoint_create=Cr\u00e9er un point d'infl\u00e9chissement

ActivityDiagram_openActivityDetailDiagram_text=Ouvrir un diagramme d\u00e9taill\u00e9 d'activit\u00e9
refreshAction_label=Actualiser
refreshFromBaseCmd_label=Actualiser \u00e0 partir de la base
diagram_saveError=IUPD0001W : Echec de sauvegarde du diagramme

DeleteDiagram_text=Supprimer le diagramme
DeleteDiagram_prompt=Etes-vous s\u00fbr de vouloir fermer et supprimer ce diagramme ?\nCe changement est d\u00e9finitif et ne peut pas \u00eatre annul\u00e9.
align_bend_point_text=Aligner le point d'infl\u00e9chissement
ConfigurationEditorInput_configeditor0=Editeur de configuration
diagram_node_property_value_problem_msg=Erreur dans la valeur de propri\u00e9t\u00e9 du noeud.
diagram_errorDialog_title=Erreur

ActivityDetailDiagramEditor_ResetDiagramLayout_text=R\u00e9initialiser la disposition du diagramme
errorDialog_title=Erreur
command_cannotEdit=IUPD0003E : Impossible de modifier le diagramme

AbstractDiagramEditor_ParentEditorClose_title=Editeur parent ferm\u00e9
AbstractDiagramEditor_ParentEditorClose_text={0} s''est ferm\u00e9. Voulez-vous \u00e9galement fermer {1} ?

#Below three strings moved from AuthoringUI resources.properties.
DiagramValidation_err_cannot_connect_text=IUPA0032W : Connexion impossible
DiagramValidation_err_samepredandsuc_text=IUPA0033W : Ne peut pas avoir le m\u00eame \u00e9l\u00e9ment de r\u00e9partition que le pr\u00e9d\u00e9cesseur et le successeur
DiagramValidation_err_cannot_delete_text=Suppression impossible
deleteCommand_label=Supprimer
deleteLinkCommand_label=Supprimer une connexion

ActivityDiagram_Milestone_text=Jalon
ActivityDiagram_Milestone_tooltip=Cr\u00e9er un jalon
ActivityDiagram_Join_Node_text=Noeud de jointure
ActivityDiagram_Join_Node_tooltip=Cr\u00e9er un noeud de jointure
ActivityDiagram_Merge_Node_text=Noeud de fusion
ActivityDiagram_Merge_Node_tooltip=Cr\u00e9er un noeud de fusion
ActivityDiagram_Fork_Node_text=Noeud de processus parall\u00e8le de traitement
ActivityDiagram_Fork_Node_tooltip=Cr\u00e9er un noeud de processus parall\u00e8le de traitement
ActivityDiagram_Partition_Node_text=Partition d'activit\u00e9
ActivityDiagram_Palette_flows_title=Flux
ActivityDiagram_Palette_nodes_titles=Noeuds
ActivityDiagram_Palette_flows_create_text=Outil de cr\u00e9ation pour les flux
ActivityDiagram_Palette_nodes_group_text=Groupe d'outil de cr\u00e9ation pour les noeuds
ActivityDiagram_Palette_control_flow_text=Flux de contr\u00f4le
ActivityDiagram_Palette_control_flow_create_text=Cr\u00e9er un flux de contr\u00f4le
ActivityDiagram_Partition_Node_tooltip=Cr\u00e9e une partition d'activit\u00e9

ActivityDiagram_New_Task_Descriptor=Nouveau descripteur de t\u00e2che
ActivityDiagram_New_Milestone=Nouveau jalon
WPDD_New_WorkProductDescriptor=Nouveau descripteur de produit de travail
ActivityDiagram_New_Activity=Nouvelle activit\u00e9
ActivityDiagram_New_Phase=Nouvelle phase
ActivityDiagram_New_Iteration=Nouvelle it\u00e9ration
Progress_Saving_message=Enregistrement en cours de {0}
Warning_Saving_Diagram=IUPD0001W : Echec de sauvegarde du diagramme

ActivityDiagram_kind=Diagramme d'activit\u00e9
ActivityDetail_Diagram_kind=Diagramme d\u00e9taill\u00e9 d'activit\u00e9
WorkProductDependency_Diagram_kind=Diagramme de d\u00e9pendance de produit de travail
WPDD_Palette_control_flow_text=D\u00e9pendance de produit de travail
WPDD_Palette_control_flow_create_text=Cr\u00e9er une d\u00e9pendance de produit de travail 
