###############################################################################
# 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
###############################################################################
Add_Filter_Mapping_Title_UI_=Add Filter Mapping
Edit_Filter_Mapping_Title_UI_=Edit Filter Mapping
FILTER_MAPPING=Filter Mapping
DISPATCHER_R=R
DISPATCHER_F=F
DISPATCHER_I=I
DISPATCHER_E=E
LISTENER=Listener
Select_Dispatchers_UI_=Select Dispatchers
Container_Selection_UI_=Folder Selection
Choose_a_Container__UI_=Choose a Folder:
Container__UI_=Folder:
Browse..._UI_=Browse...
Superclass_selection_UI_=Superclass selection
Choose_a_superclass_UI_=Choose a superclass
Add..._UI_=Add...
Remove_UI_=Remove
No_packages_to_choose_from_UI_=No packages to choose from.
Error_EXC_=IWAE0015E Error
Specify_a_name_and_package_UI_=Create a new Servlet class.
Which_method_stubs_would_y_UI_=Which method stubs would you like to create?
__Add_to_web.xml?_UI_=Add to web.xml?
__Add...___UI_=Add
__Delete___UI_=Delete
Cancel_UI_=Cancel
New_UI_=New
None_UI_=None
Create_the_Servlet_Class_UI_=Create the Servlet Class
Define_the_Servlet_in_the__UI_=Define the Servlet in the Deployment Descriptor (web.xml) File
Identify_any_information_t_UI_=Identify any information that should be inserted into the Deployment Descriptor (web.xml) file for the servlet.
Create_Two_Children_UI_=Create Two Children
Create_Child_UI_=Create Child
Description_UI_=Description
2concat_UI_=Create a new child for the selected {0}.
4concat_UI_=Create a child of type {0} for the selected {1}.
6concat_UI_=Create {0}
7concat_UI_=Create two new children for the selected {0}.
8concat_UI_=Create two new children of type {0} for the selected {1}.
9concat_UI_=Create Two {0}s
11concat_UI_=AuthConstraint {0}
12concat_UI_=ContextParam {0}
13concat_UI_=ErrorPage {0}
14concat_UI_=Error Code: {0}
15concat_UI_=Exception: {0}
52concat_UI_=FormLoginConfig {0}
16concat_UI_=FormLoginConfig {0}
17concat_UI_=HTTPMethodType {0}
18concat_UI_={0} = {1}
21concat_UI_=LoginConfig {0}
22concat_UI_=MimeMapping {0}
23concat_UI_=RoleNameType {0}
24concat=Create a child of type WebResourceCollection for the selected {0}.
26concat_UI_=Create a child of type InitParam for the selected {0}.
28concat_UI_={0} -> {1}
31concat_UI_=SessionConfig {0}
32concat_UI_=TagLibRef {0}
33concat_UI_=URLPatternType {0}
34concat_UI_=UserDataConstraint {0}
35concat_UI_=Create a child of type ContextParam for the selected {0}.
37concat_UI_=Create a child of type URLPatternType for the selected {0}.
38concat_UI_=WebResourceCollection {0}
40concat_UI_=JSPType {0}
41concat_UI_=ServletType {0}
42concat_UI_=Create a child of type WelcomeFile for the selected {0}.
45concat_ERROR_=IWAE0016E Error writing to web.xml:{0}
50concat_UI_={0} Change
New_param_UI_=New param
value_UI_=value
New_init_param_UI_=New init param
(New_Security_Role)_UI_=(New Security Role)
New_security_role_UI_=New security role
(New_Servlet)_UI_=(New Servlet)
packagename.classname_UI_=packagename.classname
New_servlet_UI_=New servlet
/url/*_UI_=/url/*
New_servlet_mapping_UI_=New servlet mapping
(New_filename)_UI_=(New filename)
New_welcome_file_UI_=New welcome file
New_welcome_file_list_UI_=New welcome file list
Problems_Opening_Editor_ERROR_=IWAE0017E Problems Opening Editor
Large_Icon_Chooser_Dialog_UI_=Large Icon Chooser Dialog
Small_Icon_Chooser_Dialog_UI_=Small Icon Chooser Dialog
Browse..._UI__UI_=Browse...
Value__UI_=Value:
Description_UI__UI_=Description
Error_EXC__ERROR_=IWAE0018E Error
root_undef_ERROR_=IWAE0019E root undef
Package__UI_=Package:
(default)_UI_=(default)
Servlet_Name__UI_=Servlet Name:
Superclass__UI_=Superclass:
Interfaces__UI_=Interfaces:
Modifiers__UI_=Modifiers:
Use_Single_Thread_Model_UI_=Use Single Thread Model
Options__UI_=Options:
Package_Selection_UI_=Package Selection
Choose_a_package__UI_=Choose a package:
Superinterfaces_Selection_UI_=Superinterfaces Selection
Choose_interfaces_UI_=Choose interfaces
Create_the_Servlet_Class_UI__UI_=Create the Servlet Class
Inherited_abstract_methods_UI_=Inherited abstract methods
Constructors_from_supercla_UI_=Constructors from superclass
Mappings__UI_=Mappings:
URL_UI_=URL
URL__UI_=URL:
Add_Mapping_UI_=Add Mapping
Display_Name__UI_=Display name:
Init_Parameters__UI_=Init Parameters:
Initialization_parameter_UI_=Initialization parameter
Value_UI_=Value
Parameter_Name__UI_=Parameter Name:
Parameter_Value__UI_=Parameter Value:
Add_Initialization_Paramet_UI_=Add Initialization Parameter
OK_UI_=OK
(default_package)_UI_=(default package)
Authorized_Roles_UI_=Authorized roles
Edit..._UI_=Edit...
(New_web_resource_collecti_UI_=(New web resource collection)
New_web_resource_collectio_UI_=New web resource collection
Delete_web_resource_collec_UI_=Delete web resource collection
Web_Resource_Collection_UI_=Web resource collection
Web_Resource_Collections_UI_=Web Resource Collections
New_UI__UI_=Add
Delete_UI_=Remove
User_Data_Constraint_UI_=User data constraint
New_security_constraint_UI_=New security constraint
Transport_guarentee_change_UI_=Transport guarentee change
Delete_security_constraint_UI_=Delete security constraint
Security_constraints_UI_=Security constraints
Name_UI_=Name
(New_Web_Resource_Collecti_UI_=(New Web Resource Collection)
Choose_a_JSP_UI_=Choose a JSP
Select_a_JSP_file_UI_=Select a JSP file
Choose_a_servlet_UI_=Choose a servlet
Select_a_servlet_class_UI_=Select a servlet class
(New_URL)_UI_=(New URL)
Icon_change_UI_=Icon change
Authorized_Roles__UI_=Authorized roles:
Delete_servlet_mappings_UI_=Delete servlet mappings
Type__UI_=Type:
Servlet_class_UI_=Servlet class
JSP_file_UI_=JSP file
Display_name__UI_=Display name:
Description__UI_=Description:
Initialization__UI_=Initialization...
Icons__UI_=Icons...
Display_name_change_UI_=Display name change
Description_change_UI_=Description change
Web_type_change_UI_=Web type change
URL_Mappings__UI_=URL mappings:
New..._UI_=New...
Add_UI_=Add
Delete_servlets_UI_=Delete servlets
Servlets_UI_=Servlets
(New_URI)_UI_=(New URI)
/WEB-INF/tlds/(taglib.tld)_UI_=/WEB-INF/tlds/(taglib.tld)
New_taglib_UI_=New taglib
Delete_taglibs_UI_=Delete taglibs
URI_UI_=URI
Location_UI_=Location
(New_ContextParameter)_UI_=(New ContextParameter)
New_context_parameter_UI_=New context parameter
Context_parameters__UI_=Context parameters:
Context_Parameter_Name_UI_=Context Parameter Name
(New_Extension)_UI_=(New Extension)
New_mime_mapping_UI_=New mime mapping
Delete_mime_mappings_UI_=Delete mime mappings
Session_time_out__UI_=Session time out:
Distributable_UI_=Distributable
Display_Name_UI_=Display Name
Session_Config_UI_=Session Config
Session_Timeout_UI_=Session Timeout
Mime_mappings__UI_=Mime mappings:
File_Extension_UI_=File Extension
Mime_Type_UI_=Mime Type
Delete_context_parameters_UI_=Delete context parameters
Welcome_file_name_change_UI_=Welcome file name change
(New_Welcome_File)_UI_=(New Welcome File)
Choose_an_Error_Page_UI_=Choose an Error Page
Select_an_Error_Page_UI_=Select an Error Page
Delete_welcome_files_UI_=Delete welcome files
Delete_error_pages_UI_=Delete error pages
Welcome_files_UI_=Welcome files
Choose_a_Login_Page_UI_=Choose a Login Page
Select_a_Login_Page_UI_=Select a Login Page
Error_mapping__UI_=Error mapping:
Error/Exception_UI_=Error/Exception
Login_UI_=Login
Realm_name__UI_=Realm name:
Authentication_method__UI_=Authentication method:
Login_page__UI_=Login page:
Error_page__UI_=Error page:
New_login_config_UI_=New login config
New_auth_method_ERROR_=IWAE0020E New auth method
New_auth_method_UI_=New auth method
New_realm_name_UI_=New realm name
New_form_login_config_UI_=New form login config
New_form_error_page_UI_=New form error page
(New_Error_Code)_UI_=(New Error Code)
New_error_page_UI_=New error page
Role_Name_UI_=Role Name
Select_all_UI_=Select all
Deselect_all_UI_=Deselect all
Authority_constraint_chang_UI_=Authority constraint change
Select_Auth_Constraints_UI_=Select Auth Constraints
Load_on_startup_UI_=Load on startup
Load_order__UI_=Load order:
New_parameter_UI_=New parameter
Initialization_Parameter_UI_=Initialization Parameter
Load_on_startup_change_UI_=Load on startup change
Delete_parameter_UI_=Delete parameter
Initialization_Parameters_UI_=Initialization Parameters
Security_role_changes_UI_=Security role changes
New_security_role_referenc_UI_=New security role reference
remove_security_role_refer_UI_=remove security role reference
Select_Authorized_Roles_UI_=Select Authorized Roles
Name__UI_=Name:
Delete_URL_Patterns_UI_=Delete URL Patterns
URL_Patterns_UI_=URL Patterns
HTTP_Methods_UI_=HTTP Methods
(New_URL_pattern)_UI_=(New URL pattern)
New_URL_pattern_UI_=New URL pattern
Web_resource_collection_na_UI_=Web resource collection name change
Web_resource_collection_de_UI_=Web resource collection description change
Add_http_method_type_UI_=Add http method type
Remove_http_method_type_UI_=Remove http method type
EJB_references_UI_=EJB references
Resource_factory_reference_UI_=Resource references
JSP_tag_libraries_UI_=JSP tag libraries
References_UI_=References
Environment_UI_=Environment
Source_UI_=Source
Error_creating_nested_text_ERROR_=IWAE0021E Error creating nested text editor
Pages_UI_=Pages
Security_UI_=Security
General_UI_=General
The_description_property_UI_=The description property
Roles_UI_=Roles
The_roles_property_UI_=The roles property
SecConstraint_UI_=SecConstraint
The_secConstraint_property_UI_=The secConstraint property
ParamName_UI_=ParamName
The_paramName_property_UI_=The paramName property
ParamValue_UI_=ParamValue
The_paramValue_property_UI_=The paramValue property
WebApp_UI_=WebApp
The_webApp_property_UI_=The webApp property
The_location_property_UI_=The location property
ErrorCode_UI_=ErrorCode
The_errorCode_property_UI_=The errorCode property
ExceptionType_UI_=ExceptionType
The_exceptionType_property_UI_=The exceptionType property
FormLoginPage_UI_=FormLoginPage
The_formLoginPage_property_UI_=The formLoginPage property
FormErrorPage_UI_=FormErrorPage
The_formErrorPage_property_UI_=The formErrorPage property
LoginConfig_UI_=LoginConfig
The_loginConfig_property_UI_=The loginConfig property
HttpMethod_UI_=HttpMethod
The_httpMethod_property_UI_=The httpMethod property
ResCollection_UI_=ResCollection
The_resCollection_property_UI_=The resCollection property
AuthMethod_UI_=AuthMethod
The_authMethod_property_UI_=The authMethod property
RealmName_UI_=RealmName
The_realmName_property_UI_=The realmName property
FormLoginConfig_UI_=FormLoginConfig
The_formLoginConfig_proper_UI_=The formLoginConfig property
Extension_UI_=Extension
The_extension_property_UI_=The extension property
MimeType_UI_=MimeType
The_mimeType_property_UI_=The mimeType property
RoleName_UI_=RoleName
The_roleName_property_UI_=The roleName property
AuthConstraint_UI_=AuthConstraint
The_authConstraint_propert_UI_=The authConstraint property
UserDataConstraint_UI_=UserDataConstraint
The_userDataConstraint_pro_UI_=The userDataConstraint property
Create_WebResourceCollecti_UI_=Create WebResourceCollection
SecurityConstraint_UI_=SecurityConstraint
SmallIcon_UI_=SmallIcon
Small_Icon_UI_=Small Icon
LargeIcon_UI_=LargeIcon
Large_Icon_UI_=Large Icon
ServletName_UI_=ServletName
The_servletName_property_UI_=The servletName property
DisplayName_UI_=DisplayName
The_displayName_property_UI_=The displayName property
LoadOnStartup_UI_=LoadOnStartup
The_loadOnStartup_property_UI_=The loadOnStartup property
Create_InitParam_UI_=Create InitParam
<servlet>_UI_=<servlet>
UrlPattern_UI_=UrlPattern
The_urlPattern_property_UI_=The urlPattern property
Servlet_UI_=Servlet
The_servlet_property_UI_=The servlet property
URL_pattern_UI_=URL Pattern
?_UI_=?
SessionTimeout_UI_=SessionTimeout
The_sessionTimeout_propert_UI_=The sessionTimeout property
TaglibURI_UI_=TaglibURI
The_taglibURI_property_UI_=The taglibURI property
TaglibLocation_UI_=TaglibLocation
The_taglibLocation_propert_UI_=The taglibLocation property
TransportGuarantee_UI_=TransportGuarantee
The_transportGuarantee_pro_UI_=The transportGuarantee property
The_distributable_property_UI_=The distributable property
FileList_UI_=FileList
The_fileList_property_UI_=The fileList property
Create_ContextParam_UI_=Create ContextParam
<web_app>_UI_=<web app>
WebResourceName_UI_=WebResourceName
The_webResourceName_proper_UI_=The webResourceName property
Create_URLPatternType_UI_=Create URLPatternType
WebType_UI_=WebType
JspFile_UI_=JspFile
The_jspFile_property_UI_=The jspFile property
ClassName_UI_=ClassName
The_className_property_UI_=The className property
WelcomeFile_UI_=WelcomeFile
The_welcomeFile_property_UI_=The welcomeFile property
<welcome-file>_UI_=<welcome-file>
Create_WelcomeFile_UI_=Create WelcomeFile
Welcome_File_List_UI_=Welcome File List
Error_Message_No_WRC_Entries_UI_=At least one web resource collection is required for a security constraint. If you want to delete this web resource collection, you must delete the entire security constraint.
Error_Title_No_WRC_Entries_UI_=Web resource collection
required1concat=Create a child of type #CHILD_CLASS_NAME# for the selected {0}.
(New_URL)_UI__UI_=(New URL)
New_param_UI__UI_=New param
value_UI__UI_=value
Select_Servlet_or_JSP_UI_=Select Servlet or JSP
Select_JSP_UI_=Select JSP
Add_Servlet_or_JSP_UI_=Add Servlet or JSP
Add_JSP_UI_=Add JSP
New_ErrorPage_UI_=New ErrorPage
New_ExceptionType_UI_=New ExceptionType
Add_Servlet_UI_=Add Servlet
Web_Nature_Runtime_does_no_EXC_=IWAE0022E Web Nature Runtime does not exist.
Editor_Redirection_UI_=Editor Redirection
The_selected_web.xml_file__ERROR_=IWAE0023E The selected web.xml file is not contained within a WAR Project.  Therefore, this web.xml file is not a Deployment Descriptor for a Web Archive, hence the XML editor will be opened.
Problems_Opening_Editor_UI_=Problems Opening Editor
Create_#CHILD_CLASS_NAME#_UI_=Create #CHILD_CLASS_NAME#
Move_Welcome_Files_Down_UI_=Move Welcome Files Down
Move_Welcome_Files_Up_UI_=Move Welcome Files Up
Error_occurred_getting_web=Error occurred getting web.xml: {0}
Select_Class_UI_=Select Class
Could_not_uniquely_map_the_ERROR_=IWAE0024E Could not uniquely map the class name to a class.
Information_UI_=Information
The_chosen_operation_is_no_INFO_=IWAE0025I The chosen operation is not currently available.
JNDI_Name_UI_=JNDI Name
New_Servlet_UI_=New Servlet


(New_Filter)_1=(New Filter)
New_filter_2=New filter
New_filter_mapping_1=New filter mapping
New_listener_1=New listener
The_name_property_2=The name property
The_value_property_4=The value property
The_target_property_2=The target property
The_type_property_4=The type property
The_ExternalCacheGroups_property_2=The ExternalCacheGroups property
The_IdGenerator_property_4=The IdGenerator property
The_InvalidateOnly_property_6=The InvalidateOnly property
The_MetadataGenerator_property_8=The MetadataGenerator property
The_Priority_property_10=The Priority property
The_PropertiesGroupName_property_12=The PropertiesGroupName property
The_Timeout_property_14=The Timeout property
Small__1=Small:
Large__3=Large:
Choose_Small_Icon_5=Choose Small Icon
Select_the_Small_Icon_6=Select the Small Icon
Choose_Large_Icon_7=Choose Large Icon
Select_the_Large_Icon_8=Select the Large Icon
Caching_group_name__1=Caching group name:
Priority__2=Priority:
Timeout__3=Timeout:
second(s)_4=second(s)
Invalidate_only_5=Invalidate only
Caching_group_members__6=Caching group members:
_Servlet/JSP_7=\ Servlet/JSP
Remove_9=Remove
Use_URIs_for_cache_ID_building_1=Use URIs for cache ID building
Use_specified_string__2=Use specified string:
Variables__3=Variables:
_ID_4=\ ID
_Type_5=\ Type
_Required_6=\ Required
External_Cache_groups__1=External Cache groups:
_Group_Name_2=\ Group Name
ID_generator__3=ID generator:
Meta_data_generator__4=Meta data generator:
Remove_6=Remove
Add_Servlet_Caching_Configuration_1=Add Servlet Caching Configuration
Edit_Servlet_Caching_Configuration_2=Edit Servlet Caching Configuration
Add_1=Add
Remove_2=Remove
UP_5=UP
DOWN_6=DOWN
Add_or_Remove_Servlet_or_JSP_1=Add or Remove Servlet or JSP
Add_or_Remove_Security_Role_2=Add or Remove Security Role
Add_or_Remove_Security_Constraint_3=Add or Remove Security Constraint
Add_or_Remove_Environment_Variable_4=Add or Remove Environment Variable
Add_or_Remove_EJB_Reference_5=Add or Remove EJB Reference
Add_or_Remove_Resource_Reference_6=Add or Remove Resource Reference
Add_or_Remove_JSP_Tag_Library_7=Add or Remove JSP Tag Library
Add_or_Remove_Error_Page_8=Add or Remove Error Page
Add_or_Remove_Exception_Page_9=Add or Remove Exception Page
Add_or_Remove_Welcome_Page_10=Add or Remove Welcome Page
Add_or_Remove_Context_Parameter_11=Add or Remove Context Parameter
Add_or_Remove_Mime_Mapping_12=Add or Remove Mime Mapping
Add_or_Remove_Filter_13=Add or Remove Filter
Add_or_Remove_Listener_14=Add or Remove Listener
Add_or_Remove_Mime_Filter_15=Add or Remove Mime Filter
Add_or_Remove_File_Serving_Attribute_16=Add or Remove File Serving Attribute
Add_or_Remove_Invoker_Attribute_17=Add or Remove Invoker Attribute
Add_or_Remove_JSP_Attribute_18=Add or Remove JSP Attribute
Add_or_Remove_Servlet_Caching_Configuration_19=Add or Remove Servlet Caching Configuration
Filter_Mappings_1=Filter Mappings
Read_Only_22=Read Only
Writable_23=Writable
Read_only_files____25=Read only files:
Web_Deployment_Descriptor_28=Web Deployment Descriptor
Environment_1=Environment
Environment_Variables_2=Environment Variables
Extensions_1=Extensions
Filters_1=Filters
Listeners_1=Listeners
Mime_1=Mime
Mime_Mappings_2=Mime Mappings
Overview_1=Overview
Pages_1=Pages
Parameters_1=Parameters
Context_Parameters_2=Context Parameters
References_1=References
References_2=References
EJB_references_3=EJB references
Resource_references_4=Resource references
JSP_tag_libraries_5=JSP tag libraries
Security_1=Security roles
Security_Roles_3=Security Roles
Security_Constraints_4=Security Constraints
Servlets_1=Servlets
Servlets_and_JSPs_2=Servlets and JSPs
Details_1=Details
Details_of_the_selected_environment_variable__2=Details of the selected environment variable:
Type__3=Type:
Value__13=Value:
Mime_Type_change_14=Mime Type change
Variables_1=Variables
The_following_environment_variables_are_relevant_to_this_web_application__2=The following environment variables are relevant to this web application:
(New_Variable)_3=(New Variable)
File_Serving_Attributes_1=File Serving Attributes
_Name_2=\ Name
_Value_3=\ Value
(name)_4=(name)
(value)_5=(value)
General_1=General
Reloading_enabled_2=Reloading enabled
Reload_interval__3=Reload interval:
Default_error_page__5=Default error page:
Additional_class_path__7=Additional class path:
File_serving_enabled_9=File serving enabled
Directory_browsing_enabled_10=Directory browsing enabled
Serve_servlets_by_classname_11=Serve servlets by classname
Precompile_JSPs_12=Precompile JSPs
Automatic_Request_Encoding_enabled_13=Automatic Request Encoding enabled
Automatic_Response_Encoding_enabled_14=Automatic Response Encoding enabled
Choose_a_Default_Error_Page_15=Choose a Default Error Page
Reload_Enabled_Changed_16=Reload Enabled Changed
File_Serving_Enabled_Changed_17=File Serving Enabled Changed
Directory_Browsing_Enabled_Changed_18=Directory Browsing Enabled Changed
Serve_Servlets_by_classname_Enabled_Changed_19=Serve Servlets by classname Enabled Changed
Precompile_JSPs_Enabled_Changed_20=Precompile JSPs Enabled Changed
Automatic_Request_Encoding_Enabled_Changed_21=Automatic Request Encoding Enabled Changed
Automatic_Response_Encoding_Enabled_Changed_22=Automatic Response Encoding Enabled Changed
Reload_Interval_25=Reload Interval
Default_Error_Page_26=Default Error Page
Additional_Classpath_27=Additional Classpath
Invoker_Attributes_1=Invoker Attributes
JSP_Attributes_1=JSP Attributes
MIME_Filters__1=MIME Filters
_Target_2=\ Target
_Type_3=\ Type
(target)_4=(target)
(type)_5=(type)
Servlet_Caching_Configurations_1=Servlet Caching Configurations
Details_of_the_selected_filter_2=Details of the selected filter
Filter_class__3=Filter class:
Display_name__5=Display name:
Filter_Type_Selection_7=Filter Type Selection
FilterItemProvider_UI_0=FilterName
Choose_a_Filter_Type_8=Choose a Filter Type
The_following_Filters_are_included_in_this_web_application__2=The following Filters are included in this web application:
Icons_1=Icons
The_following_icons_represent_the_selected_filter__2=The following icons represent the selected filter:
Initialization_1=Initialization
The_following_Filters_will_be_started_when_the_web_application_is_started__2=The following Filters will be started when the web application is started:
_Name_3=\ Name
_Value_4=\ Value
Delete_Filter_Init_Param_5=Delete Filter Init Param
(name)_6=(name)
(value)_7=(value)
New_Initialization_Parameter_8=New Initialization Parameter
Servlet_Mappings_2=Servlet Mappings
The_following_servlets_are_mapped_to_this_filter__3=The following servlets are mapped to this filter:
Delete_filter_mappings_4=Delete filter mappings
New_filter_mapping_5=New filter mapping
URL_Mappings_1=URL Mappings
The_following_URLs_are_mapped_to_this_filter__2=The following URLs are mapped to this filter:
Delete_filter_mappings_3=Delete filter mappings
New_filter_mapping_4=New filter mapping
Details_of_the_selected_listener_2=Details of the selected listener
Package__3=Package:
(default_package)_5=(default package)
Listeners_5=Listeners
The_following_Listeners_are_included_in_this_web_application__6=The following Listeners are included in this web application:
Listener_Type_Selection_10=Listener Type Selection
Choose_a_Listener_Type_11=Choose a Listener Type
Details_of_the_selected_file_extension__2=Details of the selected file extension:
Mime_type__3=Mime type:
Mime_Type_change_4=Mime Type change
File_Extensions_1=File Extensions
The_following_file_extensions_are_mapped_to_Mime_types__2=The following file extensions are mapped to Mime types:
Context_Parameters_1=Context Parameters
The_following_context_initialization_parameters_apply_to_all_servlets_in_this_web_application__2=The following context initialization parameters apply to all servlets in this web application:
Environment_Variables_1=Environment Variables
The_following_filters_are_used_in_this_application__2=The following filters are used in this application:
General_Information_1=General Information
Display_name__2=Display name:
Description__3=Description:
Session_time_out__4=Session time out:
Distributable_5=Distributable
Display_Name_6=Display Name
Description_7=Description
Icons_2=Icons
The_following_icons_represent_this_web_application__3=The following icons represent this web application:
The_following_listeners_are_used_in_this_application__2=The following listeners are used in this application:
Mime_Type_1=Mime Type
The_following_file_extensions_are_mapped_to_mime_types__2=The following file extensions are mapped to mime types:
This_web_application_uses_the_following_welcome_and_error_pages__2=This web application uses the following welcome and error pages:
This_web_application_references_the_following_resources__2=This web application references the following resources:
The_following_security_roles_and_constraints_are_defined_for_this_web_application__2=The following security roles and constraints are defined for this web application:
Servlets_and_JSPs_1=Servlets and JSPs
The_following_servlets_and_JSPs_are_used_in_this_application__2=The following servlets and JSPs are used in this application:
Usage_1=Usage
The_following_Enterprise_Applications_use_this_web_module__2=The following Enterprise Applications use this web module:
Error_Pages_1=Error Pages
Resources_in_the_following_URLs_will_be_accessed_in_response_to_HTTP_error_codes__2=Resources in the following URLs will be accessed in response to HTTP error codes:
_Error_Code_3=\ Error Code
_URL_4=\ URL
Java_Exception_Types_2=Java Exception Types
Resources_in_the_following_URLs_will_be_accessed_in_response_to_Java_exception_types__3=Resources in the following URLs will be accessed in response to Java exception types:
_Exception_Type_4=\ Exception Type
_URL_5=\ URL
Exception_Type_Selection_9=Exception Type Selection
Choose_an_Exception_Type_10=Choose an Exception Type
Login_1=Login
The_following_Login_configuration_values_are_used_for_this_web_application__2=The following Login configuration values are used for this web application:
Realm_name__3=Realm name:
Authentication_method__4=Authentication method:
Login_page__5=Login page:
Error_page__8=Error page:
Welcome_Pages_1=Welcome Pages
The_server_will_search_for_the_following_pages,_in_this_order,_when_the_web_application_is_referenced__2=The server will search for the following pages, in this order, when the web application is referenced:
The_following_context_parameters_are_included_in_this_web_application__2=The following context parameters are included in this web application:
Details_of_the_selected_context_parameter__2=Details of the selected context parameter:
Value__3=Value:
Context_Param_Value_change_4=Context Param Value change
WebSphere_Bindings_1=WebSphere Bindings
JNDI_Name__2=JNDI Name:
Ejb_Ref_JNDI_Name_change_3=Ejb Ref JNDI Name change
Details_of_the_selected_EJB_reference_2=Details of the selected EJB reference
Home__6=Home:
Remote__7=Remote:
Ejb_Ref_Home_change_8=Ejb Ref Home change
Ejb_Ref_Remote_change_9=Ejb Ref Remote change
EJB_Reference_Type_change_10=EJB Reference Type change
EJB_References_1=EJB References
The_following_EJB_references_are_used_in_this_web_application__2=The following EJB references are used in this web application:
JNDI_Name_3=JNDI Name
Details_of_the_selected_JSP_tag_library_2=Details of the selected JSP tag library
URI__3=URI:
Location__4=Location:
JSP_tag_library_location_change_5=JSP tag library location change
JSP_tag_library_URI_change_6=JSP tag library URI change
JSP_tag_libraries_1=JSP tag libraries
The_following_JSP_tag_libraries_are_used_in_this_web_application__2=The following JSP tag libraries are used in this web application:
Resource_Ref_JNDI_Name_change_3=Resource Ref JNDI Name change
Details_of_the_selected_resource_reference_2=Details of the selected resource reference
Authentication__4=Authentication:
Resource_Reference_Type_change_7=Resource Reference Type change
Resource_Reference_Authentication_change_10=Resource Reference Authentication change
Resource_References_1=Resource References
The_following_resource_references_are_used_in_this_web_application__2=The following resource references are used in this web application:
(New_ResourceRef)_3=(New ResourceRef)
JNDI_Name_4=JNDI Name
Authorized_Roles_2=Authorized Roles
The_following_roles_are_authorized_to_access_the_web_resource_collections_in_this_security_constraint__3=The following roles are authorized to access the web resource collections in this security constraint:
Security_Constraints_1=Security Constraints
These_constraints_prescribe_access_policies_for_specific_web_resources_2=These constraints prescribe access policies for specific web resources
User_Data_Constraint_1=User Data Constraint
The_following_are_the_transport_guarantees_required_between_client_and_server_for_the_security_constraint__2=The following are the transport guarantees required between client and server for the security constraint:
Web_Resource_Collections_1=Web Resource Collections
The_following_define_web_resources_and_their_HTTP_method_for_this_web_application__2=The following define web resources and their HTTP method for this web application:
Details_of_the_selected_security_role__2=Details of the selected security role:
Security_Roles_Description_change_5=Security Roles Description change
Security_Roles_1=Security Roles
The_following_security_roles_are_defined_for_this_web_application__2=The following security roles are defined for this web application:
Authorized_roles_2=Authorized roles
The_following_roles_are_authorized_to_access_this_servlet__3=The following roles are authorized to access this servlet:
Details_of_the_selected_servlet_or_JSP_2=Details of the selected servlet or JSP
Servlet_class__3=Servlet class:
WebSphere_Extensions_3=WebSphere Extensions
Optional_WebSphere_specific_extensions_to_the_Web_Deployment_Descriptor_4=Optional WebSphere specific extensions to the Web Deployment Descriptor
Unresolved_action__5=Unresolved action:
Servlet_Extension_Change_6=Servlet Extension Change
The_following_icons_represent_the_selected_servlet_or_JSP__3=The following icons represent the selected servlet or JSP:
The_following_URLs_are_mapped_to_this_servlet__2=The following URLs are mapped to this servlet:
The_following_servlets_and_JSPs_are_included_in_this_web_application__2=The following servlets and JSPs are included in this web application:
The_filterName_property_3=The filterName property
The_filter_property_2=The filter property
The_ListenerClass_property_2=The ListenerClass property
Details...=Details...
Load_on_startup_5=Load on startup
Load_order__6=Load order:
Delete_Servlet_Init_Param_7=Delete Servlet Init Param
(name)_8=(name)
(value)_9=(value)
New_Initialization_Parameter_10=New Initialization Parameter
Filter_mapping___1=Filter mapping:
SecurityConstraint_1=SecurityConstraint
The_following_initialization_parameters_are_configured_for_this_servlet__1=The following initialization parameters are configured for this servlet:
Filter_mapping_text={0} -> {1}
Add_or_Remove_Resource_Environment_Reference_1=Add or Remove Resource Environment Reference
MIME_1=MIME
MIME_Mappings_2=MIME Mappings
Resource_Environment_1=Resource Environment
Automatic_Filter_Loading_enabled_1=Automatic Filter Loading enabled
Automatic_Filter_Loading_Enabled_Changed_4=Automatic Filter Loading Enabled Changed
The_following_servlets_have_this_filter_mapped_to_them_1=The following servlets have this filter mapped to them
The_following_URLs_have_this_filter_mapped_to_them_1=The following URLs have this filter mapped to them
MIME_type__1=MIME type:
MIME_Type_change_2=MIME Type change
The_following_file_extensions_are_mapped_to_MIME_types_1=The following file extensions are mapped to MIME types
Location_1=\ Location
Link__1=Link:
Ejb_Ref_Link_change_2=Ejb Ref Link change
Resource_Env_Ref_JNDI_Name_change_1=Resource Env Ref JNDI Name change
Details_of_the_selected_resource_environment_reference_1=Details of the selected resource environment reference
Type_Selection_2=Type Selection
Choose_a_type_3=Choose a type
Resource_Environment_References_1=Resource Environment References
The_following_resource_environment_references_are_used_in_this_web_application_2=The following resource environment references are used in this web application
New_ResourceEnvRef_3=New ResourceEnvRef
Add_Servlet_Extension_1=Add Servlet Extension
_ERROR_Problems_opening_editor_3=IWAE0026E Problems opening editor
_ERROR_JSP_file_does_not_exist_4=IWAE0027E JSP file does not exist
_ERROR_Problems_opening_editor_5=IWAE0028E Problems opening editor
_ERROR_Could_not_find_type_within_project_6=IWAE0029E Could not find type within project
_ERROR_Problems_opening_editor_7=IWAE0030E Problems opening editor
_ERROR_Problems_opening_editor_8=IWAE0031E Problems opening editor
Add_Variable_1=Add Variable
Edit_Variable_2=Edit Variable
Define_a_new_variable_in_this_servlet_caching_configuration_1=Define a new variable in this servlet caching configuration
Variable_2=Variable
ID__3=ID:
Type__4=Type:
Method__5=Method:
Data_ID__6=Data ID:
Invalid_ID__7=Invalid ID:
Required_8=Required
Add_External_Cache_Group_1=Add External Cache Group
Add_an_external_cache_group_to_this_servlet_caching_configuration_1=Add an external cache group to this servlet caching configuration
External_Cache_Group_2=External Cache Group
Group_Name__3=Group Name:
Group_Name_is_empty_5=Group Name is empty
Caching_group_name_is_empty_2=Caching group name is empty
Priority_must_be_an_integer_3=Priority must be an integer
Timeout_must_be_an_integer_4=Timeout must be an integer
Define_a_new_servlet_caching_configuration_1=Define a new servlet caching configuration
Servlet_Caching_Configuration_2=Servlet Caching Configuration
The_DefaultPage_property_2=The DefaultPage property
The_ErrorPage_property_4=The ErrorPage property
The_MimeType_property_6=The MimeType property
The_Name_property_8=The Name property
The_Pages_property_10=The Pages property
The_ExtendedServlet_property_2=The ExtendedServlet property
The_LocalTransaction_property_4=The LocalTransaction property
The_MarkupLanguage_property_6=The MarkupLanguage property
Define_Authorization_Constraint_1=Define Authorization Constraint
Choose_a_servlet__1=Choose a servlet:
Choose_a_servlet__2=Choose a Servlet:
Matching_servlets__2=Matching servlets:
Choose_a_filter__1=Choose a filter:
Matching_filters__2=Matching filters:
Qualifier__3=Qualifier:
Add_or_Remove_EJB_Local_Reference_1=Add or Remove EJB Local Reference
Add_or_Remove_Markup_Language_2=Add or Remove Markup Language
Close_editor_3=Close editor
File_has_been_deleted_from_the_file_system._nWhat_would_you_like_to_do__4=File has been deleted from the file system.\nWhat would you like to do?
Save_and_close_editor_5=Save and close editor
Close_editor_6=Close editor
This_web.xml_file_is_not_a_valid_Deployment_Descriptor_for_a_Web_Archive,_hence_the_XML_editor_will_be_opened_7=This web.xml file is not a valid Deployment Descriptor for a Web Archive, hence the XML editor will be opened.
EJB_1=EJB
EJB_Local_2=EJB Local
Resource_3=Resource
Resource_Environment_1_4=Resource_Environment_1
JSP_tag_libraries_5_5=JSP_tag_libraries_5
Choose_a_listener__1=Choose a listener:
Matching_listener__2=Matching listener:
Problems_opening_editor_2=Problems opening editor
application.xml_does_not_exist_3=application.xml does not exist
Refresh_4=Refresh
Details_of_the_selected_EJB_Local_reference_1=Details of the selected EJB Local reference
Local_home__2=Local home:
Local__3=Local:
EJB_Local_References_1=EJB Local References
The_following_EJB_local_references_are_used_in_this_web_application_2=The following EJB local references are used in this web application
(New_EJB_Local_Ref)_3=(New EJB Local Ref)
(New_ResourceEnvRef)_1=(New ResourceEnvRef)
Description__2=Description:
Description_change_3=Description change
Details_of_the_Servlet_Extension_of_the_selected_servlet_1=Details of the Servlet Extension of the selected servlet
Markup_Languages_2=Markup Languages
Local_Transaction_3=Local Transaction
Delete_Filter_Mapping_1=Delete Filter Mapping
Add_Filter_Mappings_2=Add Filter Mappings
Choose_a_JSP__1=Choose a JSP:
Name__2=Name:
MIME_type__3=MIME type:
Error_page__4=Error page:
Browse_5=Browse
Default_page__6=Default page:
Browse_7=Browse
Pages__8=Pages:
_Name_9=\ Name
_URI_10=\ URI
(Name)_11=(Name)
(URI)_12=(URI)
Name_is_empty_13=Name is empty
MIME_is_empty_14=MIME is empty
Define_a_new_markup_language_entry_1=Define a new markup language entry
Markup_Language_2=Markup Language
Choose_a_Page_1=Choose a Page
Description__1=Description:
Environment_variable_value_change_1=Environment variable value change
Environment_variable_description_change_2=Environment variable description change
Description_name_change_2=Description name change
Context_Param_Description_change_1=Context Param Description change
Ejb_Ref_Description_change_1=Ejb Ref Description change
Resource_Environment_Ref_Description_change_1=Resource Environment Ref Description change
Resource_Ref_Description_change_1=Resource Ref Description change
Details_of_the_selected_security_constraint_1=Details of the selected security constraint
Display_Name__2=Display Name:
Security_Constraint_DisplayName_change_3=Security Constraint DisplayName change
Empty_List_2=Empty List
_UI_Select_a_tag_library_to_add_to_the_deployment_descriptor_1=Select a tag library to add to the deployment descriptor
_UI_Add_a_Tag_Library_2=Add a Tag Library
_UI_Tag_Libraries__3=Tag Libraries:
_UI_Available_Custom_Tags__4=Available Custom Tags:
_UI__Tag_5=\ Tag
_UI__Description_6=\ Description
_UI_URI__7=URI:
_UI_Select_a_Tag_Library_8=Select a Tag Library
_UI_URI_cannot_be_empty_10=URI cannot be empty
Browse..._1=Browse...
Browse..._3=Browse...
Browse..._4=Browse...
Remove_Link_7=Remove Link
Home_interface_selection_8=Home interface selection
Local_interface_selection_13=Local interface selection
Choose_an_interface_16=Choose an interface
Matching_interfaces__17=Matching interfaces:
Set_EJB_Local_Ref_Link_18=Set EJB Local Ref Link
Remove_EJB_Local_Ref_Link_19=Remove EJB Local Ref Link
EJB_selection_3=EJB selection
Choose_an_EJB_4=Choose an EJB
Matching_EJBs__5=Matching EJBs:
Location__6=Location:
Empty_List_11=Empty List
Set_EJB_Ref_Link_8=Set EJB Ref Link
Remove_EJB_Ref_Link_9=Remove EJB Ref Link
Home_interface_selection_11=Home interface selection
Remote_interface_selection_14=Remote interface selection
Choose_an_interface_17=Choose an interface
Matching_interfaces__18=Matching interfaces:
Specify_an_Error_Code_and_Location_1=Specify an Error Code and Location
Specify_an_Exception_Type_and_Location_2=Specify an Exception Type and Location
Add_an_Error_Page_3=Add an Error Page
Error_Code__4=Error Code:
Exception_Type__5=Exception Type:
Select..._6=Select...
Browse..._7=Browse...
Location__8=Location:
Browse..._9=Browse...
Error_Code_is_empty_13=Error Code is empty
Exception_Type_is_empty_14=Exception Type is empty
Location_is_empty_16=Location is empty
Location_18=Location
Select_a_Page_19=Select a Page
Add_a_page_to_this_markup_language_1=Add a page to this markup language
Page_2=Page
Name__3=Name:
URI__4=URI:
Name_is_empty_8=Name is empty
URI_is_empty_10=URI is empty
Details_of_the_Servlet_Extension_for_the_selected_servlet_1=Details of the Servlet Extension for the selected servlet
Delete_Markup_Language_7=Delete Markup Language
Add_Markup_Language_entry_8=Add Markup Language entry
Edit_Markup_Language_entry_9=Edit Markup Language entry
The_name_property_1=The name property
The_URI_property_2=The URI property
Empty_List_1=Empty List
Web_Library_Projects_1=Web Library Projects
The_following_JARs_are_mapped_to_Java_projects__2=The following JARs are mapped to Java projects:
_JAR_Name_3=\ JAR Name
_Java_Project_4=\ Java Project
Error_5=Error
Add_Page_1=Add Page
Up_1=Up
Down_2=Down
Resource_Reference_Shareable_change_3=Resource Reference Shareable change
Environment_variable_type_change_1=Environment variable type change
WebSphere_Extensions_1=WebSphere Extensions
Browse..._2=Browse...
Remove_Page_3=Remove Page
Tag_Library_1=Tag Library
Create_Page_1=Create Page
Create_MarkupLanguage_1=Create MarkupLanguage
Add_or_Remove_Servlet_Extension_1=Add or Remove Servlet Extension
_INFO_No_security_roles_exist._1=IWAE0032I No security roles exist.
_INFO_No_Enterprise_Beans_which_implement_the_remote_interface_exist._1=IWAE0033I No Enterprise Beans which implement the remote interface exist.
_INFO_No_Enterprise_Beans_which_implement_the_local_interface_exist._2=IWAE0034I No Enterprise Beans which implement the local interface exist.
_INFO_No_servlets_exist_to_add._1=IWAE0035I No servlets exist to add.
_INFO_No_classes_which_implement_javax.servlet.Filter_exist._1=IWAE0037I No classes which implement javax.servlet.Filter exist.
_INFO_No_filters_exist_to_add._1=IWAE0038I No filters exist to add.
_INFO_No_listeners_exist_to_add._1=IWAE0039I No listeners exist to add.
_ERROR_Error_updating_Web_Properties_1=IWAE0040E Error updating Web Properties
_INFO_No_home_interfaces_exist._1=IWAE0041I No home interfaces exist.
_INFO_No_local_interfaces_exist._2=IWAE0042I No local interfaces exist.
_INFO_No_remote_interfaces_exist._2=IWAE0043I No remote interfaces exist.
_INFO_No_tag_libraries_exist_to_add._1=IWAE0044I No tag libraries exist to add.
_INFO_No_exceptions_exist_to_add._1=IWAE0045I No exceptions exist to add.
Add_Resource_Reference_Extension_3=Add Resource Reference Extension
Virtual_Host_Name__1=Virtual Host Name:
Connection_management__1=Connection management:
Isolation_level__2=Isolation level:
_Markup_Language_1=\ Markup Language
_Mime_Type_2=\ Mime Type
Boundary__3=Boundary:
Resolver__4=Resolver:
Unresolved_Action__5=Unresolved Action:
Select_an_Error_Code_1=Select an Error Code
Code_2=Code
Description_3=Description
*_denotes_error_code_new_to_HTTP_1.1_4=* denotes error code new to HTTP 1.1
Continue*_6=Continue*
Switching_Protocols*_8=Switching Protocols*
OK_10=OK
Created_12=Created
Accepted_14=Accepted
Non-Authoritative_Information*_16=Non-Authoritative Information*
No_Content_18=No Content
Reset_Content*_20=Reset Content*
Partial_Content*_22=Partial Content*
Multiple_Choices_24=Multiple Choices
Moved_Permanently_26=Moved Permanently
Found_28=Found
See_Other*_30=See Other*
Not_Modified_32=Not Modified
Use_Proxy*_34=Use Proxy*
Temporary_Redirect*_36=Temporary Redirect*
Bad_Request_38=Bad Request
Unauthorized_40=Unauthorized
Forbidden_42=Forbidden
Not_Found_44=Not Found
Method_Not_Allowed*_46=Method Not Allowed*
Not_Acceptable*_48=Not Acceptable*
Proxy_Authentication_Required*_50=Proxy Authentication Required*
Request_Timeout*_52=Request Timeout*
Conflict*_54=Conflict*
Gone*_56=Gone*
Length_Required*_58=Length Required*
Precondition_Failed*_60=Precondition Failed*
Request_Entity_Too_Large*_62=Request Entity Too Large*
Request_URI_Too_Long*_64=Request URI Too Long*
Unsupported_Media_Type*_66=Unsupported Media Type*
Requested_Range_Not_Satisfiable*_68=Requested Range Not Satisfiable*
Expectation_Failed*_70=Expectation Failed*
Internal_Server_Error_72=Internal Server Error
Not_Implemented_74=Not Implemented
Bad_Gateway_76=Bad Gateway
Service_Unavailable_78=Service Unavailable
Gateway_Timeout*_80=Gateway Timeout*
HTTP_Version_Not_Supported*_82=HTTP Version Not Supported*
Choose_a_Servlet_1=Choose a Servlet
Unspecified_1=Unspecified
Sharing__1=Sharing:
Error_Page_1=Error Page
New_EJB_Ref=(New EJB Ref)
selectSR=Select a Security Role
Role_name=Role name
NoSR=No Security Roles exist.
RemoveUDC=Remove User Data Constraint
UDC_desc_change=User Data Constraint description changed
Run_As=Run As
detRunAs=Details of the selected servlet's run-as element
SR=Security role:
Select=Select...
Remove=Remove
RemoveRA=Remove run-as
SetRA=Set run-as
SetRN=Set role-name
SecurityRoleRefDialog.Security_Role_Ref=Security Role Ref
SecurityRoleRefDialog.Role_name=Role name:
SecurityRoleRefDialog.Role_link=Role link:
SecurityRoleRefDialog.Description=Description:
WebapplicationEditor.Add_or_Remove_Security_Role_Ref=Add or Remove Security Role Ref
Ser_AuthSection._Link=\ Link
Ser_AuthSection.Edit_Security_Role_Ref=Edit Security Role Ref
srr_header=Security Role References
srr_description=The following security role references are defined for this servlet:
Local_encoding_mapping_list_UI_=Locale Encoding Mapping List
local_encoding_mapping_UI_=Locale Encoding Mapping
_UI_JSPConfig_type=JSP Config
_UI_TagLibRefType_type=TagLibRefType
_UI_JSPPropertyGroup_type=JSPPropertyGroup
_UI_JSPPropertyGroup_urlPattern_feature=URL Pattern
_UI_JSPPropertyGroup_elIgnored_feature=El Ignored
_UI_JSPPropertyGroup_pageEncoding_feature=Page Encoding
_UI_JSPPropertyGroup_scriptingInvalid_feature=Scripting Invalid
_UI_JSPPropertyGroup_isXML_feature=Is XML
_UI_JSPPropertyGroup_includePreludes_feature=Include Preludes
_UI_JSPPropertyGroup_includeCodas_feature=Include Codas


