###############################################################################
# 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
#     Oracle - EJB Timer
###############################################################################
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


EJBTIMER.ejbtimerlabel=EJB Timer
EJBTIMER.ejbtimer.BeanWebRegionWizard.description=Create a new Java EE 6 EJB Timer
