###############################################################################
# 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
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.export.description_ui_=Export an Application Client project into an Application Client JAR file
ear.file_ui_=EAR file
ear.import.description_ui_=Import an external EAR file into an Enterprise Application project
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
client.project_ui_=Application Client Project
ear.project_ui_=Enterprise Application Project
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...
jar.dependencies.props_ui_=J2EE Modules
ejb.export.action.description_ui_=Export EJB JAR File...
ejb.client.jar.creation.action.description_ui_=Create EJB Client Jar
emptyEJBGroupFilter.name=Empty EJB groups
ejb.export.action.description_ui_=Export 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_=Enterprise Application Project
new.ear.component.description_ui_=Create a J2EE EAR project
appclient_component_ui_=Application Client Project
new.appclient.component.description_ui_=Create a J2EE application client project
Java_Component=Java Component
Java_Component.description=Create a Java Component
addmodulestoear.props_ui_=EAR modules
J2EEDependenciesPage.name = J2EE Module Dependencies
weblib.dependencies.props_ui_= Web Libraries 
J2EE_Rename_Participant=J2EE Rename Participant
new-projects-wizard-category-name = Web Tools (New)
util-project-wizard-name = Utility Project
util-project-wizard-description = Create a Utility project
ear-project-wizard-name = EAR Project
ear-project-wizard-description = Create an EAR project