###############################################################################
# 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
###############################################################################
0=Failed to find the image "{0}".
1=New EJB Project
2=EJB version:
3=EJB Project
4=Create an EJB project and add it to a new or existing Enterprise Application.
5=Import an EJB jar from the file system
6=EJB Jar Import
7=EJB Jar file:
8=EJB module:
9=EJB Jar Export
10=Export EJB project to the local file system.
11=EJB client JAR Creation
12=Use this wizard to create an EJB client JAR from your existing EJB
13=Client JAR URI:
14=Project name:
15=Project location:
16=EJB Module:
17=Delete Bean Only
18=Delete Bean Classes
19=Delete Access Bean
20=Delete Deployed Code
21=Select All
22=Deselect All
23=The selected enterprise bean cannot be deleted because it is involved in\nrelationships with other enterprise beans.  You must first delete these\nrelationships before deleting the bean.
24=Delete...
25=Cannot delete Enterprise Bean
26=Cannot delete the bean named "{0}" because it is in a binary project.
27=Delete Enterprise Bean(s)
28=What options would you like when deleting the selected\nEnterprise Bean(s)?
GroupedEJBJarItemProvider_UI_0=Session
GroupedEJBJarItemProvider_UI_1=Entity
GroupedEJBJarItemProvider_UI_2=Message
NewEJBProjectAction_UI_0=EJB Module
