###############################################################################
# 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
###############################################################################

create.web.module_ui_=Create a J2EE Web Module
create.web.project_ui_=Create a J2EE Web module
web.actions.description_ui_=Actions for J2EE Web Development
create_servlet_ui_=Create Java Servlet file
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...
WarexportWizard.name=WAR file
WarexportWizard.description=Export a Web Module into an external WAR file
WarImportWizard.name=WAR file
WarImportWizard.description=Import an external WAR file into a Web Project
web.category_ui_=Web
web.project_ui_=J2EE Web Project
new.web.project.description_ui_=Create a Dynamic Web project
convertWebProjectTypeAction.label=Convert to a Dynamic Web project...
ConvertWebProjectTypeAction.tooltip=Web Module Conversion Wizard
convertToDynamic=Convert to Web Module...
ServletWebRegionWizard.name=Servlet
ServletWebRegionWizard.description=Create a new Servlet
ServletWebRegionWizard.title=New Servlet
Servlet_UI_=Servlet...
webapp.container.name=Web App Libraries