###############################################################################
# Copyright (c) 2003, 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
###############################################################################

pluginName=WTP Servlet UI Plug-in
pluginVendor=Eclipse.org
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
static.web.project_ui_=Static 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...
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
webAppLibrariesContainerName = Web App Libraries

enhanced.java.for.web.name=Enhanced Java Rendering for Web
