###############################################################################
# Copyright (c) 2003, 2004 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 API and implementation
###############################################################################
1=Il existe d\u00e9j\u00e0 un projet avec ce nom et cet emplacement.
2=Le projet EAR "{0}" sp\u00e9cifi\u00e9 ne correspond pas \u00e0 un projet EAR.
3=La version J2EE du projet EAR "{0}" est {1} ; cette version n''est pas compatible avec la version de module sp\u00e9cifi\u00e9e.
4=Le nom de projet EAR "{0}" ne peut pas \u00eatre identique au nom du projet.
5=Vous devez entrer le nom de fichier {0}.
6={0} n''existe pas.
7=Une erreur interne s'est produite.  Consultez les fichiers journaux pour plus de d\u00e9tails.
8=Nom de projet non valide.
9=L''archive de destination doit se terminer par {0}.
10=Archive de destination non valide.
11=Emplacement de destination en lecture seule.
12=La ressource {0} existe d\u00e9j\u00e0. Pour la remplacer, s\u00e9lectionnez l'option "Remplacer le fichier existant".
13=Projet {0} inexistant.
14=Le projet de connecteur n'est pas pris en charge pour la pr\u00e9f\u00e9rence J2EE s\u00e9lectionn\u00e9e. V\u00e9rifiez la pr\u00e9f\u00e9rence J2EE globale.
15=Entrez un nom de projet.
16=Erreurs de sauvegarde
17=La sauvegarde n'a pas pu \u00eatre effectu\u00e9e.  Certains fichiers associ\u00e9s ont peut-\u00eatre \u00e9t\u00e9 d\u00e9j\u00e0 sauvegard\u00e9s.\n\nMotif
18={0} a \u00e9t\u00e9 verrouill\u00e9. V\u00e9rifiez que l''op\u00e9ration n''est pas en cours d''ex\u00e9cution.
19=ExtendedRoot est NULL. V\u00e9rifiez que l'indicateur isExtended() renvoie la valeur true.
20=Propri\u00e9t\u00e9 introuvable :
21=Mod\u00e8le imbriqu\u00e9 introuvable :
22=Impossible de modifier l'ID une fois qu'il a \u00e9t\u00e9 d\u00e9fini.
23=L'ID ne pas \u00eatre NULL
24=ERREUR :
25=Echec de l''op\u00e9ration \u00e9tendue : {0}
26=Travail termin\u00e9
27=Exception lors de l'ex\u00e9cution du travail.
28=Le groupe ne peut pas \u00eatre r\u00e9solu :
29=Classe introuvable pour l''attribut {0} : {1}, D\u00e9claration de l''extension du plug-in : {2}
30=Le groupe de fonctions {0} ne contient pas de liaisons de mod\u00e8le
31=Le projet {0} est ferm\u00e9.
32=Un projet existe d\u00e9j\u00e0 dans le syst\u00e8me de fichiers \u00e0 l''emplacement : {0}. Utilisez l''option d''importation des projets existants dans l''espace de travail pour cr\u00e9er un projet \u00e0 cet emplacement ou supprimez le contenu de {0} du syst\u00e8me de fichiers.
