###############################################################################
# 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
###############################################################################
FILTER_MAPPING=Filter Mapping
LISTENER=Listener
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_=ErrorCodeErrorPage {0}
15concat_UI_=ExceptionTypeErrorPage {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_=Servlet mapping ({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
?_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
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
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=Filter mapping ({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:
Matching_servlets__2=Matching servlets:
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_filter__1=Choose a filter:
Matching_filters__2=Matching filters:
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


