###############################################################################
# Copyright (c) 2003, 2022 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
# https://www.eclipse.org/legal/epl-2.0/
#
# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################

pluginName=WTP Servlet UI Plug-in
pluginVendor=Eclipse Web Tools Platform
create.web.module_ui_=Create a Dynamic Web project
create..project_ui_=Create a Dynamic Web project
web.actions.description_ui_=Actions for Java/Jakarta EE Web Development
create_servlet_ui_=Create Java Servlet file
war.import.description_ui_=Import an external WAR file into a 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
new.web.project.description_ui_tooltip=Create a Dynamic Web project. A Dynamic Web project supports developing Java and Jakarta Servlets, and deploys to Java and Jakarta Servlet Containers and J2EE, Java EE, and Jakarta EE certified application servers.
ConvertWebProjectType=Convert Web Project
convertWebProjectTypeAction.label=Convert to a Dynamic Web project...
ConvertWebProjectTypeAction.tooltip=Web Project Conversion Wizard
convertToDynamic=Convert to a Dynamic Web Project...
ServletWebRegionWizard.name=Servlet
ServletWebRegionWizard.description=Create a new Java/Jakarta Servlet, optionally adding it to a project's deployment descriptor.
ServletWebRegionWizard.title=New Servlet
Servlet_UI_=Servlet...
FilterWebRegionWizard.name=Filter
FilterWebRegionWizard.description=Create a new Filter. A filter operates on the request to a resource (a servlet or static content), the response from a resource, or both.
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

ListenerWebRegionWizard.name=Listener
ListenerWebRegionWizard.description=Create a new Listener for Servlet context, HTTP Session, or Servlet request events.

enhanced.java.for.web.name=Enhanced Java Rendering for Web projects
j2ee=Java EE
j2ee.actions.description_ui_=Actions for J2EE Development
webFragmentProjectUI=Web Fragment Project
webFragmentProjectUI_desc=Create a new Web Fragment Project
Project=Project
