###############################################################################
# Copyright (c) 2001, 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
###############################################################################
Ejb_provider_plugin_prob=D\u00e9marrage du plug-in fournisseur d'EJB - Probl\u00e8me d'initialisation du plug-in
Ejbext_provider_plugin_prob=D\u00e9marrage du plug-in fournisseur Ejbext - Probl\u00e8me d'initialisation du plug-in
EJB_UI_STARTUP=DEMARRAGE DE L'INTERFACE UTILISATEUR EJB
EJB_Path__=Chemin des EJB :
Size__=Taille :
Edit_the_bean_class=Editer la classe du bean
EJB_Tree=Arborescence d'EJB
EJB_Jar_Components=Composants du fichier JAR d'EJB
EJB_Models=Mod\u00e8les d'EJB
EJB_Features=Fonctions d'EJB
Exception_loading_plugin=Exception au chargement du plug-in
Create=Cr\u00e9er
Create_Attribute...=Cr\u00e9er attribut...
createAttribute=createAttribute
Edit=Editer
Add_To_Key=Ajouter \u00e0 la cl\u00e9
delete=delete
Unknown=Inconnu
Remove_From_Key=Supprimer de la cl\u00e9
Delete=Supprimer
Delete_Attribute...=Supprimer attribut...
additions=additions
CMDS_Cannot_reflect_JavaClass_ERROR_=IWAE0068E Impossible de refl\u00e9ter la classe Java car son nom n'est pas d\u00e9fini pour
CMDS_CLASS_SET_FAILED_STRING_ERROR_=IWAE0069E Le type Java nomm\u00e9 {0} n''a pas pu \u00eatre d\u00e9fini pour la {1} car sa sp\u00e9cification d''EJB est null.
CMDS_Cannot_perform_INFO_=IWAE0070I Impossible de satisfaire la demande de commande car la sp\u00e9cification d'EJB est null pour la commande :
CMDS_Cannot_add_the_feat_INFO_=IWAE0071I Impossible d'ajouter la fonction \u00e0 la cl\u00e9 car elle est null pour la commande :
CMDS_Cannot_remove_the_INFO_=IWAE0072I Impossible de supprimer la fonction de la cl\u00e9 car elle est null pour la commande :
CMDS_Initializing_UI_=-- G\u00e9n\u00e9ration Java :: Initialisation...
CMDS_Generating_UI_=-- G\u00e9n\u00e9ration Java :: G\u00e9n\u00e9ration...
CMDS_Finishing_UI_=-- G\u00e9n\u00e9ration Java :: Finition...
CMDS_Analyzing_UI_=-- G\u00e9n\u00e9ration Java :: Analyse...
CMDS_Cancelled_WARNING_=Annul\u00e9
CMDS_Multiple_EnterpriseBean_Up_INFO_=IWAE0073I Mises \u00e0 jour de beans enterprise multiple
CMDS_CREATING_TASK_UI_=Cr\u00e9ation du bean nomm\u00e9 "{0}"
CMDS_UPDATING_TASK_UI_=Mise \u00e0 jour du bean nomm\u00e9 "{0}"
CMDS_DELETING_TASK_UI_=Suppression du bean nomm\u00e9 "{0}"
CMDS_Updating_Metadata..._UI_=-- Mise \u00e0 jour des m\u00e9tadonn\u00e9es...
Updating=Mise \u00e0 jour
New_key_attribute_added_wi=Nouvel attribut de cl\u00e9 ajout\u00e9 sans auxiliaire.
Error_has_occurred=Une erreur s'est produite.

