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

workflow_export_wizard_title=Assistant Exporter un workflow
workflow_export_wizard_text=Assistant pour l'exportation de workflow (diagrammes d'activit\u00e9s)
workflow_export_wizard_processGroup_text=Processus
workflow_export_wizard_capabilityPatternRadioButton_text=Pattern de capacit\u00e9
workflow_export_wizard_deliveryProcessRadioButton_text=Processus de livraison
workflow_export_wizard_processNameLabel_text=Processus :
workflow_export_wizard_contextNameLabel_text=Configuration :
workflow_export_wizard_templateGroup_text=Canevas
workflow_export_wizard_templateNameLabel_text=Nom du fichier :
workflow_export_wizard_dirLabel_text=R\u00e9pertoire :
workflow_export_wizard_browseButton_text=Parcourir...
workflow_overwriteTextDialog_title=Remplacer
workflow_overwriteText_msg=Souhaitez-vous \u00e9craser le fichier existant ?
workflow_export_wizard_activitiesNameLabel_text=Activit\u00e9 :

open_method_library_error_title=Erreur d'ouverture de la biblioth\u00e8que de m\u00e9thodes
open_method_library_error_text=Vous devez ouvrir une biblioth\u00e8que de m\u00e9thodes pour pouvoir effectuer une exportation.

# Graph Node names

GRAPH_NODE_FORK=Noeud de processus parall\u00e8le de traitement
GRAPH_NODE_INITIAL=Noeud de d\u00e9but
GRAPH_NODE_FINAL=Noeud de fin de flux
GRAPH_NODE_DECISION=Noeud de d\u00e9cision
GRAPH_NODE_FREE_TEXT=Texte libre
GRAPH_NODE_MERGE=Noeud de fusion
GRAPH_NODE_JOIN=Noeud de jointure
GRAPH_NODE_LINK=Lien
