# 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

# 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 d'extr\u00e9mit\u00e9
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.
DeleteDiagram_AD=Diagramme d'activit\u00e9
DeleteDiagram_ADD=Diagramme d\u00e9taill\u00e9 d'activit\u00e9
DeleteDiagram_WPDD=Diagramme de d\u00e9pendance de produit de travail
DeleteDiagram_prompt_new=Etes-vous s\u00fbr de vouloir supprimer {0} ?\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
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
