###############################################################################
# Copyright (c) 2005, 2006 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
###############################################################################
providerName=Eclipse.org
pluginName=WTP EJB UI Plug-in

j2ee=J2EE
new.appclient.project.description_ui_=Create an Application Client project
appclient.project_ui_=Application Client Project
j2ee.view_ui_=Project Explorer 
ejb.class.java.editor_ui_=Enterprise Bean Java Editor
ejb.extension.editor_ui_=EJB Extension Editor
application.extension.editor_ui_=Application Extension Editor
ejb.properties_ui_=EJB Properties
client.jar.file_ui_=App Client JAR file
client.import.description_ui_=Import an external Application Client JAR file into an Application Client project
client.import.action.description_ui_=Import Application Client...
client.export.description_ui_=Export an Application Client project into an Application Client JAR file
client.export.action.description_ui_=Export Application Client...
ear.file_ui_=EAR file
ear.import.description_ui_=Import an external EAR file into an Enterprise Application project
ear.import.action.description_ui_=Import EAR File...
ear.export.description_ui_=Export an Enterprise Application project into an EAR file
ear.export.action.description_ui_=Export EAR File...
ejb.project_ui_=EJB Project
client.project_ui_=Application Client Project
new.client.project.description_ui_=Create an Application Client project
ear.project_ui_=Enterprise Application Project
new.ear.project.description_ui_=Create an Enterprise Application project
create.finders.action_ui_=Create Finders
j2ee.actions.description_ui_=Actions for Java EE Development
create.enterprise.application_ui_=Create an Enterprise Application
create.web.module_ui_=Create a Web project
create.web.project_ui_=Create a Web project
create.client.module_ui_=Create an Application Client project
create_servlet_ui_=Create Java Servlet file
client.export.action.label_ui_=Export Application Client JAR...
j2eeProjectDecorator=J2EE Project Decorator
j2eeProjectDecorator.description=Adds a version decorator to Java EE projects.
utilJarDeployableLabel=Project Utility JAR
jar.dependency.editor_ui_=JAR Dependency Editor
jar.dependencies.props_ui_=Java JAR Dependencies
connector.import.action.label_ui_=Import RAR File...
connector.export.action.label_ui_=Export RAR File...
ejb.export.action.description_ui_=Export EJB JAR File...
ejb.client.jar.creation.action.description_ui_=Create EJB Client Jar
ejb.client.jar.removal.action.description_ui_=Remove EJB Client Jar
migrate.menu_ui_=Migrate
migrateJ2EEProjectStructure.action.label_ui_=J2EE Project Structure...
migrateJ2EEProjectVersion.action.label_ui_=J2EE Version 1.2 to 1.3...
openJ2EEMigrationWizard.action.label_ui_=J2EE Migration Wizard...
enterprise.java.bean_session_ui_=Session Bean
enterprise.java.bean_bmp_ui_=BMP Entity Bean
enterprise.java.bean_cmp_ui_=CMP Entity Bean
enterprise.java.bean_message_ui_=Message-Driven Bean
emptyEJBGroupFilter.name=Empty EJB groups
emptyEJBGroupFilter.description=Hides all empty EJB groups
serverTarget.menu_ui_=Target Server
ejbClientJAR.menu_ui=EJB Client JAR
modifyServerTarget.action.label_ui_=Modify...
syncServerTarget.action.label_ui_=Synchronize...
classes.import.action.label_ui_=Import Class Files...
ejb.action.set.description=Actions for EJB Development
ejb.import.description_ui_=Import an external EJB JAR file into an EJB project
ejb.import.action.description_ui_=Import EJB JAR File...
ejb.export.description_ui_=Export an EJB project into an EJB JAR file
new.ejb.project.description_ui_=Create an EJB project
new_ejb_description_ui_=Create an enterprise bean
connector.project_ui_=Connector Project
new.connector.project.description_ui_=Create a Connector project
war.import.description_ui_=Import an external WAR file into an Web project
war.import.action.description_ui_=Import WAR File...
war.export.description_ui_=Export a Web project into a WAR file
war.export.action.description_ui_=Export WAR File...
connector.import.description_ui_=Import an external Connector RAR file into a Connector project
connector.export.description_ui_=Export a Connector project into a Connector RAR file
connector.jar.file_ui_=RAR file
ejb.category_ui_=EJB
web.category_ui_=Web
web.project_ui_=Dynamic Web Project
new.web.project.description_ui_=Create a Dynamic Web project
ejb.jar.file_ui_=EJB JAR file
jca.project_ui_=Connector Project
new.jca.project.description_ui_=Create a Connector project
WarexportWizard.name=WAR file
WarexportWizard.description=Export a Web Project into an external WAR file
WarImportWizard.name=WAR file
WarImportWizard.description=Import an external WAR file into a Web Project
beanClassAnnotationDecorator=EJB Bean Class Annotation Decorator
beanClassAnnotationDecorator.description=Adds decorator(s) to the Bean class of the Enterprise bean which is annotated.
ejbAnnotationDecorator=Enterprise Bean Annotation Decorator
ejbAnnotationDecorator.description=Adds decorator(s) to the Enterprise Bean which are annotated.
create.ejb.module_ui_=Create an EJB module

BeanEjbRegionWizard.name=Session Bean (EJB 3.x)
BeanWebRegionWizard.description=Create a new EJB 3.x Session Bean
MDBEjbRegionWizard.name=Message-Driven Bean (EJB 3.x)
MDBEjbRegionWizard.description=Create a new EJB 3.x Message-Driven Bean
