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

# Error Messages
invalidNameError_msg=Le nom ''{0}'' n''est pas valide. Un nom d''\u00e9l\u00e9ment de m\u00e9thode ne peut pas contenir les caract\u00e8res suivants : \\ / : * ? " < > |
objNotFoundError_msg=Impossible de trouver des objets dont l''ID est ''{0}''
loadLibraryError_msg=Erreurs lors du t\u00e9l\u00e9chargement de la biblioth\u00e8que de m\u00e9thodes :
loadLibraryError_details=\ \ ligne : {0}, colonne : {1}, message : {2}
restoreResourceError_msg=Impossible de restaurer la ressource ''{0}''
FileManager_fileReadOnly=Le fichier ''{0}'' est en lecture seulement
ErrMsg_CouldNotDelete=Impossible de supprimer {0}. {1}
renameError_msg=Impossible de renommer ''{0}'' en ''{1}''
backupError_msg=Impossible de sauvegarder la ressource ''{0}''
modifyFileError_msg=Impossible de modifier le fichier ''{0}''
filePathNameTooLong_msg=Impossible de modifier la ressource. Nom de chemin de fichier trop long (plus de 255) ''{0}''
loadResourceError_msg=Impossible de charger la ressource ''{0}''
loadResourceErrorWithReason_msg=Impossible de charger la ressource ''{0}''. Cause : {1}
invalidLibraryFileError_msg=Fichier de biblioth\u00e8que de m\u00e9thodes non valide :
fileNotFoundError_msg=Impossible de localiser un fichier de biblioth\u00e8que de m\u00e9thodes dans l''espace de travail ''{0}''
normalizeURIError_msg=Impossible de trouver la ressource pour l''\u00e9l\u00e9ment identifi\u00e9 par ''{0}''
moveError_msg=Impossible de d\u00e9placer ''{0}'' vers ''{1}''. Cette destination existe d\u00e9j\u00e0.
modifyReadOnlyFileError_msg=Impossible de modifier le(s) fichier(s) en lecture seule : {0}
moveResourceError_msg=La ressource ''{0}'' est utilis\u00e9e dans une op\u00e9ration de persistance non valid\u00e9e.
modifyFilesError_msg=Impossible de modifier un ou plusieurs fichiers
resourceOutOfSynch_msg=La ressource est incoh\u00e9rente et doit \u00eatre recharg\u00e9e : {0}
resourceAutoRefreshJob_name=Auto-actualisation de la ressource
loadConfiguration_couldNotLoad_logMsg=Impossible de charger le fichier {0} La configuration de m\u00e9thode de ce fichier contient un GUID en double.
loadConfiguration_notConfigFile_logMsg={0} n''est pas un fichier de configuration de m\u00e9thodes

# Progress Messages
loadLibraryTask_name=Chargement de la biblioth\u00e8que de m\u00e9thodes...
moveDataTask_name=D\u00e9placement des donn\u00e9es...
saveLibraryTask_name=Enregistrement de la biblioth\u00e8que de m\u00e9thodes...
loadResourcesTask_name=Chargement de toutes les ressources dans la m\u00e9moire...
migratingDiagram_name=Migration des diagrammes en cours...
migrateContentDescriptionsTask_name=Migration des descriptions de contenu de processus...
fixPresentationNameTask_name=R\u00e9paration des noms de pr\u00e9sentation vides ...
UnresolvedProxyMarkerManager_couldNotResolveProxy=Impossible de localiser la ressource pour l''\u00e9l\u00e9ment identifi\u00e9 par ''{0}''
refreshLibraryFilesTask_name=Actualisation des fichiers de la biblioth\u00e8que dans l'espace de travail
cannot_create_dir_msg=Impossible de cr\u00e9er le r\u00e9pertoire ''{0}''.
unresolvedProxyLoggerJob_name=Cr\u00e9ation de marqueurs de chargement d'erreurs
