###############################################################################
# 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=Ejb provider plugin startup - Problem initializing plugin
Ejbext_provider_plugin_prob=Ejbext provider plugin startup - Problem initializing plugin
EJB_UI_STARTUP=EJB UI STARTUP
EJB_Path__=EJB Path:
Size__=Size:
Edit_the_bean_class=Edit the bean class
EJB_Tree=EJB Tree
EJB_Jar_Components=EJB JAR Components
EJB_Models=EJB Models
EJB_Features=EJB Features
Exception_loading_plugin=Exception loading plugin
Create=Create
Create_Attribute...=Create Attribute...
createAttribute=createAttribute
Edit=Edit
Add_To_Key=Add To Key
delete=delete
Unknown=Unknown
Remove_From_Key=Remove From Key
Delete=Delete
Delete_Attribute...=Delete Attribute...
additions=additions
CMDS_Cannot_reflect_JavaClass_ERROR_=IWAE0068E Cannot reflect JavaClass because its name is not set for
CMDS_CLASS_SET_FAILED_STRING_ERROR_=IWAE0069E The Java type named {0} could not be set for the {1} because its EJB is null.
CMDS_Cannot_perform_INFO_=IWAE0070I Cannot perform the command request because the EJB is null for the command:
CMDS_Cannot_add_the_feat_INFO_=IWAE0071I Cannot add the feature to the key because the feature is null for the command:
CMDS_Cannot_remove_the_INFO_=IWAE0072I Cannot remove the feature from the key because the feature is null for the command:
CMDS_Initializing_UI_=-- Java Generation :: Initializing...
CMDS_Generating_UI_=-- Java Generation :: Generating...
CMDS_Finishing_UI_=-- Java Generation :: Finishing...
CMDS_Analyzing_UI_=-- Java Generation :: Analyzing...
CMDS_Cancelled_WARNING_=Cancelled
CMDS_Multiple_EnterpriseBean_Up_INFO_=IWAE0073I Multiple EnterpriseBean Updates
CMDS_CREATING_TASK_UI_=Creating bean named "{0}"
CMDS_UPDATING_TASK_UI_=Updating bean named "{0}"
CMDS_DELETING_TASK_UI_=Deleting bean named "{0}"
CMDS_Updating_Metadata..._UI_=-- Updating Metadata...
Updating=Updating
New_key_attribute_added_wi=New key attribute added without attribute helper.
Error_has_occurred=Error has occurred

