###############################################################################
# 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=Inicio del conector del proveedor Ejb - Se ha producido un problema al inicializar el conector
Ejbext_provider_plugin_prob=Inicio del conector del proveedor Ejbext - Se ha producido un problema al inicializar el conector
EJB_UI_STARTUP=INICIO DE LA UI DE EJB
EJB_Path__=V\u00eda de acceso de EJB:
Size__=Tama\u00f1o:
Edit_the_bean_class=Editar la clase de bean
EJB_Tree=\u00c1rbol de EJB
EJB_Jar_Components=Componentes de JAR EJB
EJB_Models=Modelos de EJB
EJB_Features=Caracter\u00edsticas de EJB
Exception_loading_plugin=Se ha producido una excepci\u00f3n al cargar el conector
Create=Crear
Create_Attribute...=Crear atributo...
createAttribute=createAttribute
Edit=Editar
Add_To_Key=A\u00f1adir a clave
delete=suprimir
Unknown=Desconocido
Remove_From_Key=Eliminar de clave
Delete=Suprimir
Delete_Attribute...=Suprimir atributo...
additions=adiciones
CMDS_Cannot_reflect_JavaClass_ERROR_=IWAE0068E No puede reflejarse la clase Java porque su nombre no se ha establecido para
CMDS_CLASS_SET_FAILED_STRING_ERROR_=IWAE0069E El tipo Java denominado {0} no se ha podido establecer para {1} porque su EJB es nulo.
CMDS_Cannot_perform_INFO_=IWAE0070I No puede efectuarse la petici\u00f3n del mandato porque el EJB es nulo para el mandato:
CMDS_Cannot_add_the_feat_INFO_=IWAE0071I No puede a\u00f1adirse la caracter\u00edstica a la clave porque la caracter\u00edstica es nula para el mandato:
CMDS_Cannot_remove_the_INFO_=IWAE0072I No puede eliminarse la caracter\u00edstica de la clave porque la caracter\u00edstica es nula para el mandato:
CMDS_Initializing_UI_=-- Generaci\u00f3n Java :: Inicializando...
CMDS_Generating_UI_=-- Generaci\u00f3n Java :: Generando...
CMDS_Finishing_UI_=-- Generaci\u00f3n Java :: Finalizando...
CMDS_Analyzing_UI_=-- Generaci\u00f3n Java :: Analizando...
CMDS_Cancelled_WARNING_=Cancelado
CMDS_Multiple_EnterpriseBean_Up_INFO_=IWAE0073I Varias actualizaciones de EnterpriseBean
CMDS_CREATING_TASK_UI_=Creando bean denominado "{0}"
CMDS_UPDATING_TASK_UI_=Actualizando bean denominado "{0}"
CMDS_DELETING_TASK_UI_=Suprimiendo bean denominado "{0}"
CMDS_Updating_Metadata..._UI_=-- Actualizando metadatos...
Updating=Actualizando
New_key_attribute_added_wi=Se ha a\u00f1adido un atributo de clave nuevo sin ayudante de atributos.
Error_has_occurred=Se ha producido un error

