#-------------------------------------------------------------------------------
# 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

# Error Messages
invalidNameError_msg=Le nom ''{0}'' est non valide. Le nom de l''\u00e9l\u00e9ment de m\u00e9thode ne peut pas contenir les caract\u00e8res suivants : \\ / : * ? " < > |
objNotFoundError_msg=Impossible de trouver des objets dont l''identificateur est ''{0}''
loadLibraryError_msg=Des erreurs se sont produites lors du chargement 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}''
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 seulement : {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}

# Progress Messages
loadLibraryTask_name=Chargement de la biblioth\u00e8que de m\u00e9thodes...
moveDataTask_name=D\u00e9placement des donn\u00e9es...
saveLibraryTask_name=Sauvegarde de la biblioth\u00e8que de m\u00e9thodes...
loadResourcesTask_name=Chargement de toutes les ressources dans la m\u00e9moire...
migrateContentDescriptionsTask_name=Migration des descriptions du contenu de processus...
fixPresentationNameTask_name=Changement du nom de pr\u00e9sentation null/vide de chaque \u00e9l\u00e9ment de r\u00e9partition au profit de son nom...
UnresolvedProxyMarkerManager_couldNotResolveProxy=Impossible de r\u00e9soudre le proxy ''{0}''
refreshLibraryFilesTask_name=Actualisation des fichiers de la biblioth\u00e8que dans l'espace de travail
versionMismatch_oldTool=Les fichiers s\u00e9lectionn\u00e9s ne sont pas pris en charge - effectuez une mise \u00e0 niveau vers une version plus r\u00e9cente de {0}. 
