#-------------------------------------------------------------------------------
# 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}''
marker_err_cannotResolveProxy=Impossible de r\u00e9soudre le proxy {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 localiser l''identificateur URI normalis\u00e9 pour ''{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 r\u00e9soudre le proxy ''{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=Journal proxy non r\u00e9solu
