#-------------------------------------------------------------------------------
# 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

# Export Microsoft Project Wizard
exportMSPWizard_title=Exporter un projet Microsoft

# Select Process Wizard Page
selectProcessWizardPage_title=S\u00e9lectionner des options de processus et d'exportation
selectProcessWizardPage_text=S\u00e9lectionnez un processus \u00e0 exporter et sp\u00e9cifiez les options d'exportation.
processGroup_text=Processus
capabilityPatternRadioButton_text=Pattern de capacit\u00e9
deliveryProcessRadioButton_text=Processus de livraison
optionsGroup_text=Options d'exportation
processNameLabel_text=Nom :
contextNameLabel_text=Configuration :
publishConfigurationCheckBox_text=Publier la configuration s\u00e9lectionn\u00e9e
exportOnlyPlannedElementsCheckBox_text=Exportez uniquement les \u00e9l\u00e9ments de r\u00e9partition qui sont planifi\u00e9s

# Select Publishing Options Wizard Page
selectPublishOptionsWizardPage_title=S\u00e9lectionner les options de publication
selectPublishOptionsWizardPage_text=S\u00e9lectionnez les options de publication qui seront utilis\u00e9es pour publier la configuration sp\u00e9cifi\u00e9e.

# Select Export Directory Wizard page
selectExportDirWizardPage_title=Sp\u00e9cifier le nom du projet et le r\u00e9pertoire d'exportation
selectExportDirWizardPage_text=Sp\u00e9cifiez le nom du projet Microsoft et le r\u00e9pertoire d'exportation.
projectNameLabel_text=Nom :
dirLabel_text=R\u00e9pertoire :
browseButton_text=Parcourir...

# Progress Messages
exportMSPTask_name=Exportation du processus s\u00e9lectionn\u00e9 vers le projet Microsoft...

# Confirmation Messages
overwriteText_msg=Un projet Microsoft ''{0}'' existe d\u00e9j\u00e0 dans ''{1}''.\nVoulez-vous l''\u00e9craser ?
completedText_msg=Le processus s\u00e9lectionn\u00e9 ''{0}'' a \u00e9t\u00e9 correctement export\u00e9 dans le fichier XML du projet Microsoft ''{1}''.

# Error Messages
exportMSPError_msg=Une erreur s''est produite lors de l''exportation du processus s\u00e9lectionn\u00e9 ''{0}'' vers le projet Microsoft ''{1}''.
exportMSPError_reason=Cliquez sur D\u00e9tails pour plus d'informations.
