###############################################################################
# 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_=Dynamic Web Project
new.web.project.description_ui_=Create a Dynamic Web project
ConvertWebProjectType=Convert 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
servletAnnotationDecorator=Servlet Annotation Decorator
servletAnnotationDecorator.description=Adds a decorator to an annotated servlet.
web-project-wizard-name = Web Project
web-project-wizard-description = Create a Web project
