###############################################################################
# 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
###############################################################################
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...
j2ee.category_ui_=J2EE
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 J2EE Development
create.enterprise.application_ui_=Create an Enterprise Application
create.client.module_ui_=Create an Application Client project
client.export.action.label_ui_=Export Application Client JAR...
j2eeProjectDecorator=J2EE Project Decorator
j2eeProjectDecorator.description=Adds a version decorator to J2EE projects.
utilJarDeployableLabel=Project Utility JAR
jar.dependency.editor_ui_=JAR Dependency Editor
jar.dependencies.props_ui_=Java JAR Dependencies
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
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
ejb.export.action.description_ui_=Export EJB JAR File...
new.ejb.project.description_ui_=Create an EJB project
new_ejb_description_ui_=Create an enterprise bean
ejb.category_ui_=EJB
web.category_ui_=Web
web.project_ui_=Dynamic Web Project
ejb.jar.file_ui_=EJB JAR file
utility_jar_import_wizard=J2EE Utility Jar
deploy_ui_=Deploy
Import_Classes=Import Class Files...
flexible.project_ui_=Flexible Java Project
new.flexible.project.description_ui_=Create a flexible Java project
ear_component_ui_=J2EE EAR Application
new.ear.component.description_ui_=Create a J2EE EAR module
appclient_component_ui_=J2EE Application Client Module
new.appclient.component.description_ui_=Create a J2EE application client module
Java_Component=Java Component
Java_Component.description=Create a Java Component