You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2019/06/05 10:29:14 UTC

[tomcat] branch 7.0.x updated: Switch i18n files to UTF-8. Convert to ASCII at build time.

This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/7.0.x by this push:
     new d8a25ae  Switch i18n files to UTF-8. Convert to ASCII at build time.
d8a25ae is described below

commit d8a25ae97b20408ddf26ed521fa324b569de03b3
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Jun 5 11:28:57 2019 +0100

    Switch i18n files to UTF-8. Convert to ASCII at build time.
---
 build.xml                                          |  17 +-
 java/javax/el/LocalStrings.properties              |   7 +-
 java/javax/el/LocalStrings_es.properties           |  12 +-
 java/javax/servlet/LocalStrings.properties         |  11 +-
 java/javax/servlet/LocalStrings_es.properties      |  13 +-
 java/javax/servlet/LocalStrings_fr.properties      |   8 +-
 java/javax/servlet/LocalStrings_ja.properties      |   6 +-
 java/javax/servlet/http/LocalStrings.properties    |  12 +-
 java/javax/servlet/http/LocalStrings_es.properties |  19 +-
 java/javax/servlet/http/LocalStrings_fr.properties |  18 +-
 java/javax/servlet/http/LocalStrings_ja.properties |  20 +-
 .../catalina/authenticator/LocalStrings.properties |  10 +-
 .../authenticator/LocalStrings_es.properties       |  51 +-
 .../authenticator/LocalStrings_fr.properties       |  18 +-
 .../authenticator/LocalStrings_ja.properties       |  22 +-
 .../catalina/connector/LocalStrings.properties     | 116 ++-
 .../catalina/connector/LocalStrings_es.properties  | 119 ++-
 .../catalina/connector/LocalStrings_fr.properties  |  65 +-
 .../catalina/connector/LocalStrings_ja.properties  |  77 +-
 .../apache/catalina/core/LocalStrings.properties   | 131 +--
 .../catalina/core/LocalStrings_es.properties       | 501 +++++------
 .../catalina/core/LocalStrings_fr.properties       | 234 +++---
 .../catalina/core/LocalStrings_ja.properties       | 328 ++++----
 .../apache/catalina/deploy/LocalStrings.properties |  32 +-
 .../catalina/filters/LocalStrings.properties       |  42 +-
 .../catalina/filters/LocalStrings_es.properties    |  40 +-
 .../catalina/filters/LocalStrings_fr.properties    |   2 +-
 .../catalina/ha/deploy/LocalStrings.properties     |  22 +-
 .../catalina/ha/session/LocalStrings.properties    |  40 +-
 .../catalina/ha/session/LocalStrings_es.properties | 157 ++--
 .../apache/catalina/ha/tcp/LocalStrings.properties |  11 +-
 .../catalina/ha/tcp/LocalStrings_es.properties     |  53 +-
 .../apache/catalina/loader/LocalStrings.properties |  59 +-
 .../catalina/loader/LocalStrings_es.properties     | 130 +--
 .../catalina/loader/LocalStrings_fr.properties     |  54 +-
 .../catalina/loader/LocalStrings_ja.properties     |  65 +-
 .../catalina/manager/LocalStrings.properties       |  15 +-
 .../catalina/manager/LocalStrings_de.properties    |  45 +-
 .../catalina/manager/LocalStrings_es.properties    | 207 +++--
 .../catalina/manager/LocalStrings_fr.properties    |  84 +-
 .../catalina/manager/LocalStrings_ja.properties    | 151 ++--
 .../catalina/manager/LocalStrings_ru.properties    | 305 ++++---
 .../catalina/manager/host/LocalStrings.properties  |   6 +-
 .../manager/host/LocalStrings_es.properties        | 132 +--
 .../manager/host/LocalStrings_ru.properties        | 134 +--
 .../apache/catalina/mbeans/LocalStrings.properties |   2 +-
 .../catalina/mbeans/LocalStrings_fr.properties     |  10 +-
 .../apache/catalina/realm/LocalStrings.properties  |  99 +--
 .../catalina/realm/LocalStrings_es.properties      | 171 ++--
 .../catalina/realm/LocalStrings_fr.properties      |  73 +-
 .../catalina/realm/LocalStrings_ja.properties      |  88 +-
 .../catalina/security/LocalStrings.properties      |   5 +-
 .../catalina/security/LocalStrings_es.properties   |  13 +-
 .../catalina/security/LocalStrings_fr.properties   |   3 +-
 .../catalina/security/LocalStrings_ja.properties   |   3 +-
 .../catalina/servlets/LocalStrings.properties      |  11 +-
 .../catalina/servlets/LocalStrings_es.properties   |  31 +-
 .../catalina/servlets/LocalStrings_fr.properties   |  15 +-
 .../catalina/servlets/LocalStrings_ja.properties   |  23 +-
 .../catalina/session/LocalStrings.properties       |  85 +-
 .../catalina/session/LocalStrings_es.properties    | 121 +--
 .../catalina/session/LocalStrings_fr.properties    |  99 +--
 .../catalina/session/LocalStrings_ja.properties    | 121 +--
 .../catalina/startup/LocalStrings.properties       |  62 +-
 .../catalina/startup/LocalStrings_es.properties    | 232 +++---
 .../catalina/startup/LocalStrings_fr.properties    |  68 +-
 .../catalina/startup/LocalStrings_ja.properties    | 104 +--
 .../tribes/membership/LocalStrings_es.properties   |   2 +-
 .../tribes/transport/LocalStrings.properties       |   6 +-
 .../tribes/transport/LocalStrings_es.properties    |  49 +-
 .../apache/catalina/users/LocalStrings.properties  |   2 +-
 .../catalina/users/LocalStrings_es.properties      |  18 +-
 .../catalina/users/LocalStrings_fr.properties      |   4 +-
 .../catalina/users/LocalStrings_ja.properties      |   6 +-
 .../apache/catalina/util/LocalStrings.properties   |  23 +-
 .../catalina/util/LocalStrings_es.properties       |  26 +-
 .../catalina/util/LocalStrings_fr.properties       |  20 +-
 .../catalina/util/LocalStrings_ja.properties       |  26 +-
 .../apache/catalina/valves/LocalStrings.properties | 162 ++--
 .../catalina/valves/LocalStrings_es.properties     | 113 +--
 .../catalina/valves/LocalStrings_fr.properties     |  79 +-
 .../catalina/valves/LocalStrings_ja.properties     |  29 +-
 .../catalina/websocket/LocalStrings.properties     |  10 +-
 java/org/apache/coyote/LocalStrings.properties     |  13 +-
 java/org/apache/coyote/LocalStrings_es.properties  |   2 +-
 java/org/apache/coyote/ajp/LocalStrings.properties |  32 +-
 .../apache/coyote/ajp/LocalStrings_es.properties   |  37 +-
 .../apache/coyote/http11/LocalStrings.properties   |  35 +-
 .../coyote/http11/LocalStrings_es.properties       |  48 +-
 .../coyote/http11/LocalStrings_fr.properties       |  18 +-
 .../coyote/http11/LocalStrings_ja.properties       |  18 +-
 .../coyote/http11/filters/LocalStrings.properties  |   4 +-
 .../coyote/http11/upgrade/LocalStrings.properties  |  20 +-
 .../jasper/resources/LocalStrings.properties       | 810 +++++++++---------
 .../jasper/resources/LocalStrings_es.properties    | 920 ++++++++++-----------
 .../jasper/resources/LocalStrings_fr.properties    | 524 ++++++------
 .../jasper/resources/LocalStrings_ja.properties    | 778 ++++++++---------
 java/org/apache/naming/LocalStrings.properties     |  18 +-
 java/org/apache/naming/LocalStrings_es.properties  |  32 +-
 java/org/apache/naming/LocalStrings_fr.properties  |  20 +-
 java/org/apache/naming/LocalStrings_ja.properties  |  24 +-
 .../apache/naming/factory/LocalStrings.properties  |   2 +-
 .../naming/resources/LocalStrings.properties       |  29 +-
 .../naming/resources/LocalStrings_es.properties    |  64 +-
 .../naming/resources/LocalStrings_fr.properties    |  32 +-
 .../naming/resources/LocalStrings_ja.properties    |  46 +-
 .../org/apache/tomcat/util/LocalStrings.properties |   1 -
 .../apache/tomcat/util/buf/LocalStrings.properties |   3 +-
 .../tomcat/util/buf/LocalStrings_es.properties     |   2 +-
 .../tomcat/util/compat/LocalStrings.properties     |   4 +-
 .../util/descriptor/LocalStrings_es.properties     |   4 +-
 .../tomcat/util/file/LocalStrings.properties       |   2 +-
 .../tomcat/util/http/LocalStrings.properties       |  21 +-
 .../util/http/mapper/LocalStrings.properties       |   6 +-
 .../util/http/parser/LocalStrings.properties       |   2 +-
 .../tomcat/util/http/res/LocalStrings.properties   |   6 -
 .../util/http/res/LocalStrings_es.properties       |  94 ++-
 .../util/http/res/LocalStrings_fr.properties       |  50 +-
 .../util/net/jsse/res/LocalStrings.properties      |  24 +-
 .../util/net/jsse/res/LocalStrings_es.properties   |  10 +-
 .../util/net/jsse/res/LocalStrings_fr.properties   |   2 +-
 .../util/net/jsse/res/LocalStrings_ja.properties   |   3 +-
 .../tomcat/util/net/res/LocalStrings.properties    |  65 +-
 .../tomcat/util/net/res/LocalStrings_es.properties |  65 +-
 .../tomcat/util/net/res/LocalStrings_fr.properties |  10 +-
 .../tomcat/util/net/res/LocalStrings_ja.properties |  11 +-
 .../tomcat/util/scan/LocalStrings.properties       |   8 +-
 .../util/threads/res/LocalStrings_es.properties    |   2 +-
 .../tomcat/websocket/LocalStrings.properties       |  37 +-
 .../tomcat/websocket/pojo/LocalStrings.properties  |   7 +-
 .../websocket/server/LocalStrings.properties       |   2 +-
 .../WEB-INF/classes/LocalStrings.properties        |  41 +-
 .../WEB-INF/classes/LocalStrings_en.properties     |  41 +-
 .../WEB-INF/classes/LocalStrings_es.properties     |  61 +-
 .../WEB-INF/classes/LocalStrings_fr.properties     |  49 +-
 .../WEB-INF/classes/LocalStrings_pt.properties     |  41 +-
 136 files changed, 4967 insertions(+), 4848 deletions(-)

diff --git a/build.xml b/build.xml
index 5f09167..69942e0 100644
--- a/build.xml
+++ b/build.xml
@@ -598,7 +598,6 @@
 
   <target name="validate-eoln" depends="build-prepare,compile-prepare"
     description="Validate that the source files have correct line ends">
-
     <!-- Compile the CheckEol class only. Note that the class depends on
     Ant only. There is no need to download additional dependencies nor
     add them to the class path. The rest should be the same as in "compile"
@@ -678,6 +677,8 @@
       <filterset refid="version.filters"/>
       <fileset dir="java">
         <include name="**/*.properties"/>
+        <exclude name="**/LocalStrings*.properties"/>
+        <exclude name="**/Messages*.properties"/>
         <include name="**/*.dtd"/>
         <include name="**/*.tasks"/>
         <include name="**/*.xsd"/>
@@ -692,7 +693,10 @@
       </fileset>
     </copy>
 
-  </target>
+    <!-- Convert the message files from UTF-8 to ASCII. This can be removed
+    after upgrading to Java 9+ as the minimum JRE and specifying the encoding
+    when loading the ResourceBundles -->
+    <native2ascii src="java" dest="${tomcat.classes}" includes="**/LocalStrings*.properties,**/Messages*.properties" encoding="UTF-8"/>
 
   <target name="compile-java7" depends="compile-java6" if="java.7.home" >
     <javac sourcepath="" srcdir="java" destdir="${tomcat.classes}"
@@ -1128,6 +1132,15 @@
              encoding="ISO-8859-1"
              includeantruntime="false">
     </javac>
+
+    <!-- Convert the message files of the examples webapp from UTF-8 to ASCII.
+    This can be removed after upgrading to Java 9+ as the minimum JRE and
+    specifying the encoding when loading the ResourceBundles -->
+    <native2ascii src="webapps/examples/WEB-INF/classes"
+                  dest="${tomcat.build}/webapps/examples/WEB-INF/classes"
+                  includes="**/LocalStrings*.properties"
+                  encoding="UTF-8"/>
+
   </target>
 
   <target name="build-tomcat-jdbc-src">
diff --git a/java/javax/el/LocalStrings.properties b/java/javax/el/LocalStrings.properties
index 6e6b2a9..3507c20 100644
--- a/java/javax/el/LocalStrings.properties
+++ b/java/javax/el/LocalStrings.properties
@@ -13,15 +13,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Default localized string information
-# Localized for Locale en_US
-
+objectNotAssignable=Unable to add an object of type [{0}] to an array of objects of type [{1}]
 propertyNotFound=Property ''{1}'' not found on type {0}
 propertyNotReadable=Property ''{1}'' not readable on type {0}
 propertyNotWritable=Property ''{1}'' not writable on type {0}
 propertyReadError=Error reading ''{1}'' on type {0}
 propertyWriteError=Error writing ''{1}'' on type {0}
-objectNotAssignable=Unable to add an object of type [{0}] to an array of objects of type [{1}]
 
+util.method.ambiguous=Unable to find unambiguous method: {0}.{1}({2})
 util.method.notfound=Method not found: {0}.{1}({2})
-util.method.ambiguous=Unable to find unambiguous method: {0}.{1}({2})
\ No newline at end of file
diff --git a/java/javax/el/LocalStrings_es.properties b/java/javax/el/LocalStrings_es.properties
index 5204ac0..82f0486 100644
--- a/java/javax/el/LocalStrings_es.properties
+++ b/java/javax/el/LocalStrings_es.properties
@@ -13,9 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-propertyNotFound = Propiedad ''{1}'' no hallada en el tipo {0}
-propertyNotReadable = Propiedad ''{1}'' no legible para el tipo {0}
-propertyNotWritable = Propiedad ''{1}'' no grabable para el tipo {0}
-propertyReadError = Error reading ''{1}'' en el tipo {0}
-propertyWriteError = Error writing ''{1}'' en el tipo {0}
-objectNotAssignable = No puedo a\u00F1adir un objeto del tipo [{0}] a un arreglo de objetos del tipo [{1}]
+objectNotAssignable=No puedo añadir un objeto del tipo [{0}] a un arreglo de objetos del tipo [{1}]
+propertyNotFound=Propiedad ''{1}'' no hallada en el tipo {0}
+propertyNotReadable=Propiedad ''{1}'' no legible para el tipo {0}
+propertyNotWritable=Propiedad ''{1}'' no grabable para el tipo {0}
+propertyReadError=Error reading ''{1}'' en el tipo {0}
+propertyWriteError=Error writing ''{1}'' en el tipo {0}
diff --git a/java/javax/servlet/LocalStrings.properties b/java/javax/servlet/LocalStrings.properties
index 0f60d51..0c880a3 100644
--- a/java/javax/servlet/LocalStrings.properties
+++ b/java/javax/servlet/LocalStrings.properties
@@ -13,12 +13,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Default localized string information
-# Localized for Locale en_US
-
 err.not_iso8859_1=Not an ISO 8859-1 character: {0}
-value.true=true
-value.false=false
 
 httpConstraintElement.invalidRolesDeny=Roles may not be specified when using DENY
-httpMethodConstraintElement.invalidMethod=Invalid HTTP method
\ No newline at end of file
+
+httpMethodConstraintElement.invalidMethod=Invalid HTTP method
+
+value.false=false
+value.true=true
diff --git a/java/javax/servlet/LocalStrings_es.properties b/java/javax/servlet/LocalStrings_es.properties
index e125ade..604e94c 100644
--- a/java/javax/servlet/LocalStrings_es.properties
+++ b/java/javax/servlet/LocalStrings_es.properties
@@ -13,8 +13,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-err.not_iso8859_1 = No es un car\u00E1cter ISO 8859-1\: {0}
-value.true = true
-value.false = false
-httpConstraintElement.invalidRolesDeny = No se pueden especificar Roles al utilizar DENY (DENEGAR)
-httpMethodConstraintElement.invalidMethod = M\u00E9todo HTTP inv\u00E1lido
+err.not_iso8859_1=No es un carácter ISO 8859-1: {0}
+
+httpConstraintElement.invalidRolesDeny=No se pueden especificar Roles al utilizar DENY (DENEGAR)
+
+httpMethodConstraintElement.invalidMethod=Método HTTP inválido
+
+value.false=false
+value.true=true
diff --git a/java/javax/servlet/LocalStrings_fr.properties b/java/javax/servlet/LocalStrings_fr.properties
index 05f75ec..35917f1 100644
--- a/java/javax/servlet/LocalStrings_fr.properties
+++ b/java/javax/servlet/LocalStrings_fr.properties
@@ -13,11 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Default localized string information
-# Localized for Locale fr_FR
+err.not_iso8859_1={0} n''est pas un caractère ISO 8859-1
 
-err.not_iso8859_1={0} n''est pas un caract\u00e8re ISO 8859-1
-value.true=true
 value.false=false
-
-
+value.true=true
diff --git a/java/javax/servlet/LocalStrings_ja.properties b/java/javax/servlet/LocalStrings_ja.properties
index 2a87482..e5c01b9 100644
--- a/java/javax/servlet/LocalStrings_ja.properties
+++ b/java/javax/servlet/LocalStrings_ja.properties
@@ -13,9 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Default localized string information
-# Localized for Locale ja_JP
+err.not_iso8859_1=ISO 8859-1 の文字ではありません: {0}
 
-err.not_iso8859_1=ISO 8859-1 \u306e\u6587\u5b57\u3067\u306f\u3042\u308a\u307e\u305b\u3093: {0}
-value.true=true
 value.false=false
+value.true=true
diff --git a/java/javax/servlet/http/LocalStrings.properties b/java/javax/servlet/http/LocalStrings.properties
index 515212a..6c69cec 100644
--- a/java/javax/servlet/http/LocalStrings.properties
+++ b/java/javax/servlet/http/LocalStrings.properties
@@ -13,18 +13,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Default localized string information
-# Localized for Locale en_US
-
-err.cookie_name_is_token=Cookie name \"{0}\" is a reserved token
 err.cookie_name_blank=Cookie name may not be null or zero length
-err.io.nullArray=Null passed for byte array in write method
+err.cookie_name_is_token=Cookie name "{0}" is a reserved token
 err.io.indexOutOfBounds=Invalid offset [{0}] and / or length [{1}] specified for array of size [{2}]
+err.io.nullArray=Null passed for byte array in write method
 err.io.short_read=Short Read
 
-http.method_not_implemented=Method {0} is not implemented by this servlet for this URI
-
+http.method_delete_not_supported=Http method DELETE is not supported by this URL
 http.method_get_not_supported=HTTP method GET is not supported by this URL
+http.method_not_implemented=Method {0} is not implemented by this servlet for this URI
 http.method_post_not_supported=HTTP method POST is not supported by this URL
 http.method_put_not_supported=HTTP method PUT is not supported by this URL
-http.method_delete_not_supported=Http method DELETE is not supported by this URL
diff --git a/java/javax/servlet/http/LocalStrings_es.properties b/java/javax/servlet/http/LocalStrings_es.properties
index 5bdaf1e..089e7d1 100644
--- a/java/javax/servlet/http/LocalStrings_es.properties
+++ b/java/javax/servlet/http/LocalStrings_es.properties
@@ -13,12 +13,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-err.cookie_name_is_token = El nombre de Cookie {0} es una palabra reservada
-err.cookie_name_blank = El nombre del Cookie no puede ser nulo o de longitud cero
-err.io.negativelength = Longitud Negativa en el metodo write
-err.io.short_read = Lectura Corta
-http.method_not_implemented = El Metodo {0} no esta implementado por este servlet para esta URI
-http.method_get_not_supported = El Metodo HTTP GET no est\u00E1 soportado por esta URL
-http.method_post_not_supported = El Metodo HTTP POST no est\u00E1 soportado por esta URL
-http.method_put_not_supported = El Metodo HTTP PUT no est\u00E1 soportado por esta URL
-http.method_delete_not_supported = El Metodo HTTP DELETE no es soportado por esta URL
+err.cookie_name_blank=El nombre del Cookie no puede ser nulo o de longitud cero
+err.cookie_name_is_token=El nombre de Cookie {0} es una palabra reservada
+err.io.negativelength=Longitud Negativa en el metodo write
+err.io.short_read=Lectura Corta
+
+http.method_delete_not_supported=El Metodo HTTP DELETE no es soportado por esta URL
+http.method_get_not_supported=El Metodo HTTP GET no está soportado por esta URL
+http.method_not_implemented=El Metodo {0} no esta implementado por este servlet para esta URI
+http.method_post_not_supported=El Metodo HTTP POST no está soportado por esta URL
+http.method_put_not_supported=El Metodo HTTP PUT no está soportado por esta URL
diff --git a/java/javax/servlet/http/LocalStrings_fr.properties b/java/javax/servlet/http/LocalStrings_fr.properties
index 18fd1c0..bffd4c0 100644
--- a/java/javax/servlet/http/LocalStrings_fr.properties
+++ b/java/javax/servlet/http/LocalStrings_fr.properties
@@ -13,16 +13,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Default localized string information
-# Localized for Locale fr_FR
-
-err.cookie_name_is_token=Le nom de cookie \"{0}\" est un \"token\" r\u00e9serv\u00e9
-err.io.negativelength=Taille n\u00e9gative donn\u00e9e dans la m\u00e9thode \"write\"
+err.cookie_name_is_token=Le nom de cookie "{0}" est un "token" réservé
+err.io.negativelength=Taille négative donnée dans la méthode "write"
 err.io.short_read=Lecture partielle
 
-http.method_not_implemented=Le m\u00e9thode {0} n''est pas d\u00e9finie dans la RFC 2068 et n''est pas support\u00e9e par l''API Servlet
-
-http.method_get_not_supported=La m\u00e9thode HTTP GET n''est pas support\u00e9e par cette URL
-http.method_post_not_supported=La m\u00e9thode HTTP POST n''est pas support\u00e9e par cette URL
-http.method_put_not_supported=La m\u00e9thode HTTP PUT n''est pas support\u00e9e par cette URL
-http.method_delete_not_supported=La m\u00e9thode HTTP DELETE n''est pas support\u00e9e par cette URL
+http.method_delete_not_supported=La méthode HTTP DELETE n''est pas supportée par cette URL
+http.method_get_not_supported=La méthode HTTP GET n''est pas supportée par cette URL
+http.method_not_implemented=Le méthode {0} n''est pas définie dans la RFC 2068 et n''est pas supportée par l''API Servlet
+http.method_post_not_supported=La méthode HTTP POST n''est pas supportée par cette URL
+http.method_put_not_supported=La méthode HTTP PUT n''est pas supportée par cette URL
diff --git a/java/javax/servlet/http/LocalStrings_ja.properties b/java/javax/servlet/http/LocalStrings_ja.properties
index 70983d7..06604b8 100644
--- a/java/javax/servlet/http/LocalStrings_ja.properties
+++ b/java/javax/servlet/http/LocalStrings_ja.properties
@@ -13,16 +13,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Default localized string information
-# Localized for Locale ja_JP
+err.cookie_name_is_token=クッキー名 "{0}" は予約済のトークンです。
+err.io.negativelength=writeメソッドに負の長さが指定されました。
+err.io.short_read=読み込みがすぐに終わりました。
 
-err.cookie_name_is_token=\u30af\u30c3\u30ad\u30fc\u540d \"{0}\" \u306f\u4e88\u7d04\u6e08\u306e\u30c8\u30fc\u30af\u30f3\u3067\u3059\u3002
-err.io.negativelength=write\u30e1\u30bd\u30c3\u30c9\u306b\u8ca0\u306e\u9577\u3055\u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f\u3002
-err.io.short_read=\u8aad\u307f\u8fbc\u307f\u304c\u3059\u3050\u306b\u7d42\u308f\u308a\u307e\u3057\u305f\u3002
-
-http.method_not_implemented=\u30e1\u30bd\u30c3\u30c9 {0} \u306fRFC 2068\u306b\u306f\u5b9a\u7fa9\u3055\u308c\u3066\u304a\u3089\u305a\u3001\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8API\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3002
-
-http.method_get_not_supported=HTTP\u306eGET\u30e1\u30bd\u30c3\u30c9\u306f\u3001\u3053\u306eURL\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-http.method_post_not_supported=HTTP\u306ePOST\u30e1\u30bd\u30c3\u30c9\u306f\u3001\u3053\u306eURL\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-http.method_put_not_supported=HTTP\u306ePUT\u30e1\u30bd\u30c3\u30c9\u306f\u3001\u3053\u306eURL\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-http.method_delete_not_supported=HTTP\u306eDELETE\u30e1\u30bd\u30c3\u30c9\u306f\u3001\u3053\u306eURL\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+http.method_delete_not_supported=HTTPのDELETEメソッドは、このURLではサポートされていません。
+http.method_get_not_supported=HTTPのGETメソッドは、このURLではサポートされていません。
+http.method_not_implemented=メソッド {0} はRFC 2068には定義されておらず、サーブレットAPIではサポートされません。
+http.method_post_not_supported=HTTPのPOSTメソッドは、このURLではサポートされていません。
+http.method_put_not_supported=HTTPのPUTメソッドは、このURLではサポートされていません。
diff --git a/java/org/apache/catalina/authenticator/LocalStrings.properties b/java/org/apache/catalina/authenticator/LocalStrings.properties
index 0d8ac54..609d8a0 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings.properties
@@ -14,24 +14,24 @@
 # limitations under the License.
 
 authenticator.certificates=No client certificate chain in this request
-authenticator.forbidden=Access to the requested resource has been denied
 authenticator.check.authorize=Authorizing connector provided user [{0}] via Tomcat Realm
 authenticator.check.authorizeFail=Realm did not recognise user [{0}]. Creating a Principal with that name and no roles.
 authenticator.check.found=Already authenticated [{0}]
 authenticator.check.sso=Not authenticated but SSO session ID [{0}] found. Attempting re-authentication.
+authenticator.forbidden=Access to the requested resource has been denied
 authenticator.formlogin=Invalid direct reference to form login page
 authenticator.invalid=Invalid client certificate chain in this request
-authenticator.loginFail=Login failed
 authenticator.keystore=Exception loading key store
+authenticator.loginFail=Login failed
 authenticator.manager=Exception initializing trust managers
 authenticator.noAuthHeader=No authorization header sent by client
 authenticator.notAuthenticated=Configuration error:  Cannot perform access control without an authenticated principal
 authenticator.notContext=Configuration error:  Must be attached to a Context
 authenticator.requestBodyTooBig=The request body was too large to be cached during the authentication process
 authenticator.sessionExpired=The time allowed for the login process has been exceeded. If you wish to continue you must either click back twice and re-click the link you requested or close and re-open your browser
+authenticator.tomcatPrincipalLogoutFail=Logout with TomcatPrincipal instance has failed
 authenticator.unauthorized=Cannot authenticate with the provided credentials
 authenticator.userDataConstraint=This request violates a User Data constraint for this application
-authenticator.tomcatPrincipalLogoutFail=Logout with TomcatPrincipal instance has failed
 
 basicAuthenticator.invalidCharset=The only permitted values are null, the empty string or UTF-8
 
@@ -60,11 +60,11 @@ singleSignOn.debug.removeSession=SSO removing application session [{0}] from SSO
 singleSignOn.debug.sessionLogout=SSO processing a log out for SSO session [{0}] and application session [{1}]
 singleSignOn.debug.sessionTimeout=SSO processing a time out for SSO session [{0}] and application session [{1}]
 singleSignOn.debug.update=SSO updating SSO session [{0}] to authentication type [{1}]
+singleSignOn.sessionExpire.contextNotFound=SSO unable to expire session [{0}] because the Context could not be found
 singleSignOn.sessionExpire.engineNull=SSO unable to expire session [{0}] because the Engine was null
 singleSignOn.sessionExpire.hostNotFound=SSO unable to expire session [{0}] because the Host could not be found
-singleSignOn.sessionExpire.contextNotFound=SSO unable to expire session [{0}] because the Context could not be found
-singleSignOn.sessionExpire.managerNotFound=SSO unable to expire session [{0}] because the Manager could not be found
 singleSignOn.sessionExpire.managerError=SSO unable to expire session [{0}] because the Manager threw an Exception when searching for the session
+singleSignOn.sessionExpire.managerNotFound=SSO unable to expire session [{0}] because the Manager could not be found
 singleSignOn.sessionExpire.sessionNotFound=SSO unable to expire session [{0}] because the Session could not be found
 
 spnegoAuthenticator.authHeaderNoToken=The Negotiate authorization header sent by the client did not include a token
diff --git a/java/org/apache/catalina/authenticator/LocalStrings_es.properties b/java/org/apache/catalina/authenticator/LocalStrings_es.properties
index 13c4c52..8915460 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings_es.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings_es.properties
@@ -13,27 +13,30 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-authenticator.certificates = No hay cadena de certificados del cliente en esta petici\u00F3n
-authenticator.forbidden = El acceso al recurso pedido ha sido denegado
-authenticator.formlogin = Referencia directa al formulario de conexi\u00F3n (p\u00E1gina de formulario de login) inv\u00E1lida
-authenticator.invalid = No es v\u00E1lida la cadena de certificados del cliente en esta petici\u00F3n
-authenticator.loginFail = No pude ingresar
-authenticator.keystore = Excepci\u00F3n cargando el almac\u00E9n de claves
-authenticator.manager = Excepci\u00F3n inicializando administradores de confianza
-authenticator.noAuthHeader = El cliente no ha enviado autorizaci\u00F3n de cabecera
-authenticator.notAuthenticated = Error de Configuraci\u00F3n\: No se pueden realizar funciones de control de acceso sin un principal autenticado
-authenticator.notContext = Error de Configuraci\u00F3n\: Debe de estar unido a un Contexto
-authenticator.requestBodyTooBig = El cuerpo del requerimiento era demasiado grande para realizar cach\u00E9 durante el proceso de autenticaci\u00F3n
-authenticator.sessionExpired = El tiempo permitido para realizar login ha sido excedido. Si deseas continuar, debes hacer clik dos veces y volver a hacer clik otra vez o cerrar y reabrir tu navegador
-authenticator.unauthorized = Imposible autenticar mediante las credenciales suministradas
-authenticator.userDataConstraint = Esta petici\u00F3n viola una Restrici\u00F3n de Datos de usuario para esta aplicaci\u00F3n
-digestAuthenticator.cacheRemove = Se ha quitado una entrada v\u00E1lida de la cach\u00E9 "nonce" del cliente para hacer espacio a nuevas entradas.. Ahora es posible un ataque de reinyecci\u00F3n. Para prevenirlos, reduce "nonceValidity" o incrementa "cnonceCacheSize". El resto de mensajes de este tipo ser\u00E1n suspendidos durante 5 minutos.
-formAuthenticator.forwardErrorFail = Error inesperado de reenv\u00EDo a p\u00E1gina de error
-formAuthenticator.forwardLoginFail = Error inesperado de reenv\u00EDo a pagina de ingreso
-formAuthenticator.noErrorPage = No se ha definido p\u00E1gina de error para la autenticaci\u00F3n FORM en el contexto [{0}]
-formAuthenticator.noLoginPage = No se ha definido p\u00E1gina de ingreso para la autenticaci\u00F3n FORM en el contexto [{0}]
-spnegoAuthenticator.authHeaderNoToken = La cabecera de Negociaci\u00F3n de autorizaci\u00F3n enviada por el cliente no inclu\u00EDa una ficha
-spnegoAuthenticator.authHeaderNotNego = La cabecera de autorizaci\u00F3n enviada por el cliente no comenzaba con Negotiate
-spnegoAuthenticator.hostnameFail = No puedo determinar el nombre de m\u00E1quina para construir el SPN por defecto. Por favor, pon el atributo "spn" del autenticador.
-spnegoAuthenticator.serviceLoginFail = No puedo ingresar como director del servicio
-spnegoAuthenticator.ticketValidateFail = No pude validar el billete suministrado por el cliente
+authenticator.certificates=No hay cadena de certificados del cliente en esta petición
+authenticator.forbidden=El acceso al recurso pedido ha sido denegado
+authenticator.formlogin=Referencia directa al formulario de conexión (página de formulario de login) inválida
+authenticator.invalid=No es válida la cadena de certificados del cliente en esta petición
+authenticator.keystore=Excepción cargando el almacén de claves
+authenticator.loginFail=No pude ingresar
+authenticator.manager=Excepción inicializando administradores de confianza
+authenticator.noAuthHeader=El cliente no ha enviado autorización de cabecera
+authenticator.notAuthenticated=Error de Configuración: No se pueden realizar funciones de control de acceso sin un principal autenticado
+authenticator.notContext=Error de Configuración: Debe de estar unido a un Contexto
+authenticator.requestBodyTooBig=El cuerpo del requerimiento era demasiado grande para realizar caché durante el proceso de autenticación
+authenticator.sessionExpired=El tiempo permitido para realizar login ha sido excedido. Si deseas continuar, debes hacer clik dos veces y volver a hacer clik otra vez o cerrar y reabrir tu navegador
+authenticator.unauthorized=Imposible autenticar mediante las credenciales suministradas
+authenticator.userDataConstraint=Esta petición viola una Restrición de Datos de usuario para esta aplicación
+
+digestAuthenticator.cacheRemove=Se ha quitado una entrada válida de la caché "nonce" del cliente para hacer espacio a nuevas entradas.. Ahora es posible un ataque de reinyección. Para prevenirlos, reduce "nonceValidity" o incrementa "cnonceCacheSize". El resto de mensajes de este tipo serán suspendidos durante 5 minutos.
+
+formAuthenticator.forwardErrorFail=Error inesperado de reenvío a página de error
+formAuthenticator.forwardLoginFail=Error inesperado de reenvío a pagina de ingreso
+formAuthenticator.noErrorPage=No se ha definido página de error para la autenticación FORM en el contexto [{0}]
+formAuthenticator.noLoginPage=No se ha definido página de ingreso para la autenticación FORM en el contexto [{0}]
+
+spnegoAuthenticator.authHeaderNoToken=La cabecera de Negociación de autorización enviada por el cliente no incluía una ficha
+spnegoAuthenticator.authHeaderNotNego=La cabecera de autorización enviada por el cliente no comenzaba con Negotiate
+spnegoAuthenticator.hostnameFail=No puedo determinar el nombre de máquina para construir el SPN por defecto. Por favor, pon el atributo "spn" del autenticador.
+spnegoAuthenticator.serviceLoginFail=No puedo ingresar como director del servicio
+spnegoAuthenticator.ticketValidateFail=No pude validar el billete suministrado por el cliente
diff --git a/java/org/apache/catalina/authenticator/LocalStrings_fr.properties b/java/org/apache/catalina/authenticator/LocalStrings_fr.properties
index 3303ae6..b915647 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings_fr.properties
@@ -13,13 +13,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-authenticator.certificates=Aucune cha\u00eene de certificat client (client certificate chain) dans cette requ\u00eate
-authenticator.forbidden=L''acc\u00e8s \u00e0 la ressource demand\u00e9e a \u00e9t\u00e9 interdit
-authenticator.formlogin=R\u00e9f\u00e9rence directe \u00e0 la form de connexion (form login page) invalide
-authenticator.invalid=Cha\u00eene de certificat client invalide dans cette requ\u00eate
-authenticator.keystore=Exception lors du chargement du r\u00e9f\u00e9rentiel de clefs (key store)
+authenticator.certificates=Aucune chaîne de certificat client (client certificate chain) dans cette requête
+authenticator.forbidden=L''accès à la ressource demandée a été interdit
+authenticator.formlogin=Référence directe à la form de connexion (form login page) invalide
+authenticator.invalid=Chaîne de certificat client invalide dans cette requête
+authenticator.keystore=Exception lors du chargement du référentiel de clefs (key store)
 authenticator.manager=Exception lors de l''initialisation des gestionnaires d''authentification (trust managers)
-authenticator.notAuthenticated=Erreur de configuration:  Impossible de proc\u00e9der \u00e0 un contr\u00f4le d''acc\u00e8s sans un principal authentifi\u00e9 (authenticated principal)
-authenticator.notContext=Erreur de configuration:  Doit \u00eatre attach\u00e9 \u00e0 un contexte
-authenticator.unauthorized=Impossible d''authentifier avec les cr\u00e9dits fournis (provided credentials)
-authenticator.userDataConstraint=Cette requ\u00eate viole une contrainte donn\u00e9e utilisateur (user data constraint) pour cette application
+authenticator.notAuthenticated=Erreur de configuration:  Impossible de procéder à un contrôle d''accès sans un principal authentifié (authenticated principal)
+authenticator.notContext=Erreur de configuration:  Doit être attaché à un contexte
+authenticator.unauthorized=Impossible d''authentifier avec les crédits fournis (provided credentials)
+authenticator.userDataConstraint=Cette requête viole une contrainte donnée utilisateur (user data constraint) pour cette application
diff --git a/java/org/apache/catalina/authenticator/LocalStrings_ja.properties b/java/org/apache/catalina/authenticator/LocalStrings_ja.properties
index ec5fbf3..593d531 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings_ja.properties
@@ -13,14 +13,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-authenticator.certificates=\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306b\u306f\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u8a8d\u8a3c\u30c1\u30a7\u30fc\u30f3\u304c\u3042\u308a\u307e\u305b\u3093
-authenticator.forbidden=\u30ea\u30af\u30a8\u30b9\u30c8\u3055\u308c\u305f\u30ea\u30bd\u30fc\u30b9\u3078\u306e\u30a2\u30af\u30bb\u30b9\u304c\u62d2\u5426\u3055\u308c\u307e\u3057\u305f
-authenticator.formlogin=\u30d5\u30a9\u30fc\u30e0\u30ed\u30b0\u30a4\u30f3\u30da\u30fc\u30b8\u3078\u306e\u7121\u52b9\u306a\u76f4\u63a5\u53c2\u7167\u3067\u3059
-authenticator.invalid=\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306b\u7121\u52b9\u306a\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u8a8d\u8a3c\u30c1\u30a7\u30fc\u30f3\u304c\u3042\u308a\u307e\u3059
-authenticator.keystore=\u30ad\u30fc\u30b9\u30c8\u30a2\u3092\u30ed\u30fc\u30c9\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-authenticator.manager=\u30c8\u30e9\u30b9\u30c8\u30de\u30cd\u30fc\u30b8\u30e3\u3092\u521d\u671f\u5316\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-authenticator.notAuthenticated=\u8a2d\u5b9a\u30a8\u30e9\u30fc: \u8a8d\u8a3c\u3055\u308c\u305f\u4e3b\u4f53\u306a\u3057\u306b\u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093
-authenticator.notContext=\u8a2d\u5b9a\u30a8\u30e9\u30fc: \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306b\u6307\u5b9a\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-authenticator.sessionExpired=\u30ed\u30b0\u30a4\u30f3\u30d7\u30ed\u30bb\u30b9\u306b\u8a8d\u3081\u3089\u308c\u3066\u3044\u305f\u6642\u9593\u304c\u904e\u304e\u307e\u3057\u305f\u3002\u7d99\u7d9a\u3057\u305f\u3044\u306a\u3089\u3070\uff0c\u30d0\u30c3\u30af\u30dc\u30bf\u30f3\u30922\u5ea6\u62bc\u3057\u3066\u304b\u3089\u518d\u5ea6\u30ea\u30f3\u30af\u3092\u62bc\u3059\u304b\uff0c\u30d6\u30e9\u30a6\u30b6\u3092\u7acb\u3061\u4e0a\u3052\u76f4\u3057\u3066\u304f\u3060\u3055\u3044
-authenticator.unauthorized=\u7528\u610f\u3055\u308c\u305f\u8a3c\u660e\u66f8\u3067\u8a8d\u8a3c\u3067\u304d\u307e\u305b\u3093
-authenticator.userDataConstraint=\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306f\u3001\u3053\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30e6\u30fc\u30b6\u30c7\u30fc\u30bf\u306e\u5236\u9650\u306b\u9055\u53cd\u3057\u3066\u3044\u307e\u3059
+authenticator.certificates=このリクエストにはクライアント認証チェーンがありません
+authenticator.forbidden=リクエストされたリソースへのアクセスが拒否されました
+authenticator.formlogin=フォームログインページへの無効な直接参照です
+authenticator.invalid=このリクエストに無効なクライアント認証チェーンがあります
+authenticator.keystore=キーストアをロード中の例外です
+authenticator.manager=トラストマネージャを初期化中の例外です
+authenticator.notAuthenticated=設定エラー: 認証された主体なしにアクセス制御を実行できません
+authenticator.notContext=設定エラー: コンテキストに指定しなければいけません
+authenticator.sessionExpired=ログインプロセスに認められていた時間が過ぎました。継続したいならば,バックボタンを2度押してから再度リンクを押すか,ブラウザを立ち上げ直してください
+authenticator.unauthorized=用意された証明書で認証できません
+authenticator.userDataConstraint=このリクエストは、このアプリケーションのユーザデータの制限に違反しています
diff --git a/java/org/apache/catalina/connector/LocalStrings.properties b/java/org/apache/catalina/connector/LocalStrings.properties
index 7e5c474..6aee67a 100644
--- a/java/org/apache/catalina/connector/LocalStrings.properties
+++ b/java/org/apache/catalina/connector/LocalStrings.properties
@@ -13,99 +13,83 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#
-# CoyoteConnector
-#
+cometEvent.nullRequest=The event object has been recycled and is no longer associated with a request
+
+coyoteAdapter.accesslogFail=Exception while attempting to add an entry to the access log
+coyoteAdapter.authenticate=Authenticated user [{0}] provided by connector
+coyoteAdapter.authorize=Authorizing user [{0}] using Tomcat''s Realm
+coyoteAdapter.checkRecycled.request=Encountered a non-recycled request and recycled it forcedly.
+coyoteAdapter.checkRecycled.response=Encountered a non-recycled response and recycled it forcedly.
+coyoteAdapter.debug=The variable [{0}] has value [{1}]
+coyoteAdapter.parsePathParam=Unable to parse the path parameters using encoding [{0}]. The path parameters in the URL will be ignored.
+coyoteAdapter.read=The servlet did not read all available bytes during the processing of the read event
+coyoteAdapter.service=An exception or error occurred in the container during the request processing
+
+coyoteConnector.MapperRegistration=register Mapper: {0}
 coyoteConnector.cannotRegisterProtocol=Cannot register MBean for the Protocol
 coyoteConnector.invalidPort=The connector cannot start since the specified port value of [{0}] is invalid
+coyoteConnector.parseBodyMethodNoTrace=TRACE method MUST NOT include an entity (see RFC 2616 Section 9.6)
 coyoteConnector.protocolHandlerDestroyFailed=Protocol handler destroy failed
 coyoteConnector.protocolHandlerInitializationFailed=Protocol handler initialization failed
 coyoteConnector.protocolHandlerInstantiationFailed=Protocol handler instantiation failed
 coyoteConnector.protocolHandlerNoApr=The configured protocol [{0}] requires the APR/native library which is not available
-coyoteConnector.protocolHandlerStartFailed=Protocol handler start failed
-coyoteConnector.protocolRegistrationFailed=Protocol JMX registration failed
-coyoteConnector.protocolHandlerStopFailed=Protocol handler stop failed
 coyoteConnector.protocolHandlerPauseFailed=Protocol handler pause failed
 coyoteConnector.protocolHandlerResumeFailed=Protocol handler resume failed
-coyoteConnector.MapperRegistration=register Mapper: {0}
+coyoteConnector.protocolHandlerStartFailed=Protocol handler start failed
+coyoteConnector.protocolHandlerStopFailed=Protocol handler stop failed
+coyoteConnector.protocolRegistrationFailed=Protocol JMX registration failed
 coyoteConnector.protocolUnregistrationFailed=Protocol handler stop failed
-coyoteConnector.parseBodyMethodNoTrace=TRACE method MUST NOT include an entity (see RFC 2616 Section 9.6)
-
-#
-# CoyoteAdapter
-#
-coyoteAdapter.authenticate=Authenticated user [{0}] provided by connector
-coyoteAdapter.authorize=Authorizing user [{0}] using Tomcat''s Realm
-coyoteAdapter.read=The servlet did not read all available bytes during the processing of the read event
-coyoteAdapter.parsePathParam=Unable to parse the path parameters using encoding [{0}]. The path parameters in the URL will be ignored.
-coyoteAdapter.checkRecycled.request=Encountered a non-recycled request and recycled it forcedly.
-coyoteAdapter.checkRecycled.response=Encountered a non-recycled response and recycled it forcedly.
-coyoteAdapter.debug=The variable [{0}] has value [{1}]
-coyoteAdapter.accesslogFail=Exception while attempting to add an entry to the access log
-coyoteAdapter.service=An exception or error occurred in the container during the request processing
-
-#
-# CoyoteResponse
-#
-coyoteResponse.getOutputStream.ise=getWriter() has already been called for this response
-coyoteResponse.getWriter.ise=getOutputStream() has already been called for this response
-coyoteResponse.reset.ise=Cannot call reset() after response has been committed
-coyoteResponse.resetBuffer.ise=Cannot reset buffer after response has been committed
-coyoteResponse.sendError.ise=Cannot call sendError() after the response has been committed
-coyoteResponse.sendRedirect.ise=Cannot call sendRedirect() after the response has been committed
-coyoteResponse.sendRedirect.note=<html><body><p>Redirecting to <a href="{0}">{0}</a></p></body></html>
-coyoteResponse.setBufferSize.ise=Cannot change buffer size after data has been written
 
-#
-# CoyoteRequest
-#
+coyoteRequest.alreadyAuthenticated=This request has already been authenticated
+coyoteRequest.attributeEvent=Exception thrown by attributes event listener
+coyoteRequest.authenticate.ise=Cannot call authenticate() after the response has been committed
+coyoteRequest.chunkedPostTooLarge=Parameters were not parsed because the size of the posted data was too big. Because this request was a chunked request, it could not be processed further. Use the maxPostSize attribute of the connector to resolve this if the application should accept large POSTs.
 coyoteRequest.getContextPath.ise=Unable to find match between the canonical context path [{0}] and the URI presented by the user agent [{1}]
 coyoteRequest.getInputStream.ise=getReader() has already been called for this request
 coyoteRequest.getReader.ise=getInputStream() has already been called for this request
 coyoteRequest.gssLifetimeFail=Failed to obtain remaining lifetime for user principal [{0}]
-coyoteRequest.sessionCreateCommitted=Cannot create a session after the response has been committed
-coyoteRequest.setAttribute.namenull=Cannot call setAttribute with a null name
 coyoteRequest.listenerStart=Exception sending context initialized event to listener instance of class {0}
 coyoteRequest.listenerStop=Exception sending context destroyed event to listener instance of class {0}
-coyoteRequest.attributeEvent=Exception thrown by attributes event listener
+coyoteRequest.maxPostSizeExceeded=The multi-part request contained parameter data (excluding uploaded files) that exceeded the limit for maxPostSize set on the associated connector
 coyoteRequest.parseParameters=Exception thrown whilst processing POSTed parameters
 coyoteRequest.postTooLarge=Parameters were not parsed because the size of the posted data was too big. Use the maxPostSize attribute of the connector to resolve this if the application should accept large POSTs.
-coyoteRequest.chunkedPostTooLarge=Parameters were not parsed because the size of the posted data was too big. Because this request was a chunked request, it could not be processed further. Use the maxPostSize attribute of the connector to resolve this if the application should accept large POSTs.
-coyoteRequest.alreadyAuthenticated=This request has already been authenticated
-coyoteRequest.authenticate.ise=Cannot call authenticate() after the response has been committed
+coyoteRequest.sendfileNotCanonical=Unable to determine canonical name of file [{0}] specified for use with sendfile
+coyoteRequest.sessionCreateCommitted=Cannot create a session after the response has been committed
+coyoteRequest.sessionEndAccessFail=Exception triggered ending access to session while recycling request
+coyoteRequest.setAttribute.namenull=Cannot call setAttribute with a null name
 coyoteRequest.uploadCreate=Creating the temporary upload location [{0}] as it is required by the servlet [{1}]
 coyoteRequest.uploadCreateFail=Failed to create the upload location [{0}]
 coyoteRequest.uploadLocationInvalid=The temporary upload location [{0}] is not valid
-coyoteRequest.sessionEndAccessFail=Exception triggered ending access to session while recycling request
-coyoteRequest.sendfileNotCanonical=Unable to determine canonical name of file [{0}] specified for use with sendfile
-coyoteRequest.maxPostSizeExceeded=The multi-part request contained parameter data (excluding uploaded files) that exceeded the limit for maxPostSize set on the associated connector
-
-request.asyncNotSupported=A filter or servlet of the current chain does not support asynchronous operations.
-
-requestFacade.nullRequest=The request object has been recycled and is no longer associated with this facade
-
-responseFacade.nullResponse=The response object has been recycled and is no longer associated with this facade
 
-cometEvent.nullRequest=The event object has been recycled and is no longer associated with a request
+coyoteResponse.getOutputStream.ise=getWriter() has already been called for this response
+coyoteResponse.getWriter.ise=getOutputStream() has already been called for this response
+coyoteResponse.reset.ise=Cannot call reset() after response has been committed
+coyoteResponse.resetBuffer.ise=Cannot reset buffer after response has been committed
+coyoteResponse.sendError.ise=Cannot call sendError() after the response has been committed
+coyoteResponse.sendRedirect.ise=Cannot call sendRedirect() after the response has been committed
+coyoteResponse.sendRedirect.note=<html><body><p>Redirecting to <a href="{0}">{0}</a></p></body></html>
+coyoteResponse.setBufferSize.ise=Cannot change buffer size after data has been written
 
-request.fragmentInDispatchPath=The fragment in dispatch path [{0}] has been removed
-request.notAsync=It is illegal to call this method if the current request is not in asynchronous mode (i.e. isAsyncStarted() returns false)
+inputBuffer.streamClosed=Stream closed
 
-#
-# MapperListener
-#
-mapperListener.unknownDefaultHost=Unknown default host [{0}] for connector [{1}]
-mapperListener.registerHost=Register host [{0}] at domain [{1}] for connector [{2}]
-mapperListener.unregisterHost=Unregister host [{0}] at domain [{1}] for connector [{2}]
-mapperListener.registerContext=Register Context [{0}] for connector [{1}]
-mapperListener.unregisterContext=Unregister Context [{0}] for connector [{1}]
+mapperListener.addMBeanListenerFail=Failed to add MBean notification listener for connector [{0}] in domain [{1}]. Adding Hosts, Contexts and Wrappers will not be visible to the connector.
+mapperListener.lifecycleListenerFail=Failed to add Lifecycle listener to object [{0}]. Changes in the object state may not be correctly reflected in the mapper for connector [{1}] in domain [{2}].
 mapperListener.pauseContext=Register Context [{0}] as being reloaded for connector [{1}]
+mapperListener.registerContext=Register Context [{0}] for connector [{1}]
+mapperListener.registerHost=Register host [{0}] at domain [{1}] for connector [{2}]
 mapperListener.registerWrapper=Register Wrapper [{0}] in Context [{1}] for connector [{2}]
-mapperListener.unregisterWrapper=Unregister Wrapper [{0}] in Context [{1}] for connector [{2}]
-mapperListener.addMBeanListenerFail=Failed to add MBean notification listener for connector [{0}] in domain [{1}]. Adding Hosts, Contexts and Wrappers will not be visible to the connector.
 mapperListener.removeMBeanListenerFail=Failed to remove MBean notification listener for connector [{0}] in domain [{1}]. This may result in a memory leak.
-mapperListener.lifecycleListenerFail=Failed to add Lifecycle listener to object [{0}]. Changes in the object state may not be correctly reflected in the mapper for connector [{1}] in domain [{2}].
+mapperListener.unknownDefaultHost=Unknown default host [{0}] for connector [{1}]
+mapperListener.unregisterContext=Unregister Context [{0}] for connector [{1}]
+mapperListener.unregisterHost=Unregister host [{0}] at domain [{1}] for connector [{2}]
+mapperListener.unregisterWrapper=Unregister Wrapper [{0}] in Context [{1}] for connector [{2}]
 
-inputBuffer.streamClosed=Stream closed
+request.asyncNotSupported=A filter or servlet of the current chain does not support asynchronous operations.
+request.fragmentInDispatchPath=The fragment in dispatch path [{0}] has been removed
+request.notAsync=It is illegal to call this method if the current request is not in asynchronous mode (i.e. isAsyncStarted() returns false)
+
+requestFacade.nullRequest=The request object has been recycled and is no longer associated with this facade
 
 response.sendRedirectFail=Failed to redirect to [{0}]
+
+responseFacade.nullResponse=The response object has been recycled and is no longer associated with this facade
diff --git a/java/org/apache/catalina/connector/LocalStrings_es.properties b/java/org/apache/catalina/connector/LocalStrings_es.properties
index bda0c69..82ed8c4 100644
--- a/java/org/apache/catalina/connector/LocalStrings_es.properties
+++ b/java/org/apache/catalina/connector/LocalStrings_es.properties
@@ -12,63 +12,62 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-#
-# CoyoteConnector
-coyoteConnector.cannotRegisterProtocol = No puedo registrar MBean para el Protocolo
-coyoteConnector.protocolHandlerDestroyFailed = Fall\u00F3 la destrucci\u00F3n del manejador de protocolo
-coyoteConnector.protocolHandlerInitializationFailed = Fall\u00F3 la inicializaci\u00F3n del manejador de protocolo
-coyoteConnector.protocolHandlerInstantiationFailed = Fall\u00F3 la instanciaci\u00F3n del manejador de protocolo
-coyoteConnector.protocolHandlerStartFailed = Fall\u00F3 el arranque del manejador de protocolo
-coyoteConnector.protocolRegistrationFailed = Fall\u00F3 el registro de JMX
-coyoteConnector.protocolHandlerPauseFailed = Ha fallado la pausa del manejador de protocolo
-coyoteConnector.protocolHandlerResumeFailed = Ha fallado el rearranque del manejador de protocolo
-coyoteConnector.MapperRegistration = Mapeador de registro\: {0}
-coyoteConnector.protocolUnregistrationFailed = Ha fallado la parada del manejador de protocolo
-coyoteConnector.parseBodyMethodNoTrace = El m\u00E9todo TRACE NO DEBE DE incluir una entidad (vea RFC 2616 Secci\u00F3n 9.6)
-#
-# CoyoteAdapter
-coyoteAdapter.read = El servlet no ley\u00F3 todos los bytes disponibles durante el procesamiento del evento de lectura
-coyoteAdapter.parsePathParam = No puedo analizar los par\u00E1metros de ruta mediante la codificaci\u00F3n [{0}]. Se ignoran los par\u00E1metros de la URL.
-coyoteAdapter.debug = La variable [{0}] tiene el valor [{1}]
-coyoteAdapter.accesslogFail = Excepci\u00F3n al intentar a\u00F1adir una entrada al historial de acceso
-#
-# CoyoteResponse
-coyoteResponse.getOutputStream.ise = getWriter() ya ha sido llamado para esta respuesta
-coyoteResponse.getWriter.ise = getOutputStream() ya ha sido llamado para esta respuesta
-coyoteResponse.resetBuffer.ise = No puedo limpiar el b\u00FAfer despu\u00E9s de que la respuesta ha sido llevada a cabo
-coyoteResponse.sendError.ise = No puedo llamar a sendError() tras llevar a cabo la respuesta
-coyoteResponse.sendRedirect.ise = No puedo llamar a sendRedirect() tras llevar a cabo la respuesta
-coyoteResponse.setBufferSize.ise = No puedo cambiar la medida del b\u00FAfer tras escribir los datos
-#
-# CoyoteRequest
-coyoteRequest.getInputStream.ise = getReader() ya ha sido llamado para este requerimiento
-coyoteRequest.getReader.ise = getInputStream() ya ha sido llamado para este requerimiento
-coyoteRequest.sessionCreateCommitted = No puedo crear una sesi\u00F3n despu\u00E9s de llevar a cabo la respueta
-coyoteRequest.setAttribute.namenull = No pudeo llamar a setAttribute con un nombre nulo
-coyoteRequest.listenerStart = Excepci\u00F3n enviando evento inicializado de contexto a instancia de escuchador de clase {0}
-coyoteRequest.listenerStop = Excepci\u00F3n enviando evento destru\u00EDdo de contexto a instancia de escuchador de clase {0}
-coyoteRequest.attributeEvent = Excepci\u00F3n lanzada mediante el escuchador de eventos de atributos
-coyoteRequest.parseParameters = Excepci\u00F3n lanzada al procesar par\u00E1metros POST
-coyoteRequest.postTooLarge = No se analizaron los par\u00E1metros porque la medida de los datos enviados era demasiado grande. Usa el atributo maxPostSize del conector para resolver esto en caso de que la aplicaci\u00F3n debiera de aceptar POSTs m\u00E1s grandes.
-coyoteRequest.chunkedPostTooLarge = No se han analizado los par\u00E1metros porque la medida de los datos enviados meiante "post" era demasiado grande. Debido a que este requerimiento es una parte del original, no puede ser procesado. Utiliza el atributo "maxPostSize" del conector para resolver esta situaci\u00F3n, en caso de que la aplicaci\u00F3n deba de aceptar POSTs mayores.
-coyoteRequest.alreadyAuthenticated = Este requerimiento ya ha sido autenticado
-coyoteRequest.noLoginConfig = No se ha configurado mecanismo de autenticaci\u00F3n para este contexto
-coyoteRequest.authenticate.ise = No puedo llamar a authenticate() tras haberse acometido la respuesta
-coyoteRequest.uploadLocationInvalid = No es v\u00E1lida la localizaci\u00F3n [{0}] de carga temporal
-coyoteRequest.sessionEndAccessFail = Excepci\u00F3n disparada acabando acceso a sesi\u00F3n mientras se reciclaba el requerimiento
-requestFacade.nullRequest = El objeto de requerimiento ha sido reciclado y ya no est\u00E1 asociado con esta fachada
-responseFacade.nullResponse = El objeto de respuesta ha sido reciclado y ya no est\u00E1 asociado con esta fachada
-cometEvent.nullRequest = El objeto de evento ha sido reciclado y ya no est\u00E1 asociado con este requerimiento
-mapperListener.unknownDefaultHost = M\u00E1quina por defecto desconocida\: {0} para el conector [{1}]
-mapperListener.registerHost = Registrar m\u00E1quina {0} en dominio {1} para el conector [{2}]
-mapperListener.unregisterHost = Desregistrar m\u00E1quina {0} en dominio {1} para el conector [{2}]
-#
-# MapperListener
-mapperListener.registerContext = Registrar Contexto {0} para el conector [{1}]
-mapperListener.unregisterContext = Desregistrar Contexto {0} para el conector [{1}]
-mapperListener.registerWrapper = Registrar Arropador (Wrapper) {0} en Contexto {1}
-mapperListener.unregisterWrapper = Desregistrar Arropador (Wrapper) {0} en Contexto {1}
-mapperListener.addMBeanListenerFail = No pude a\u00F1adir escuchador de notificaci\u00F3n MBean para el conector [{0}] en dominio [{1}]. La adici\u00F3n de M\u00E1quinas, Contextos y Arropadores no ser\u00E1n visibles al conector.
-mapperListener.removeMBeanListenerFail = No pude quitar escuchador de notificaci\u00F3n MBean para el conector [{0}] en dominio [{1}]. Esto puede dar lugar a p\u00E9rdida de memoria.
-mapperListener.lifecycleListenerFail = No pude a\u00F1adir escuchador de Ciclo de Vida al objeto [{0}]. Los cambios en el estado del objeto pueden no ser reflejados correctamente en el mapeador para el conector [{1}] en el dominio [{2}].
-inputBuffer.streamClosed = Flujo cerrado
+
+cometEvent.nullRequest=El objeto de evento ha sido reciclado y ya no está asociado con este requerimiento
+
+coyoteAdapter.accesslogFail=Excepción al intentar añadir una entrada al historial de acceso
+coyoteAdapter.debug=La variable [{0}] tiene el valor [{1}]
+coyoteAdapter.parsePathParam=No puedo analizar los parámetros de ruta mediante la codificación [{0}]. Se ignoran los parámetros de la URL.
+coyoteAdapter.read=El servlet no leyó todos los bytes disponibles durante el procesamiento del evento de lectura
+
+coyoteConnector.MapperRegistration=Mapeador de registro: {0}
+coyoteConnector.cannotRegisterProtocol=No puedo registrar MBean para el Protocolo
+coyoteConnector.parseBodyMethodNoTrace=El método TRACE NO DEBE DE incluir una entidad (vea RFC 2616 Sección 9.6)
+coyoteConnector.protocolHandlerDestroyFailed=Falló la destrucción del manejador de protocolo
+coyoteConnector.protocolHandlerInitializationFailed=Falló la inicialización del manejador de protocolo
+coyoteConnector.protocolHandlerInstantiationFailed=Falló la instanciación del manejador de protocolo
+coyoteConnector.protocolHandlerPauseFailed=Ha fallado la pausa del manejador de protocolo
+coyoteConnector.protocolHandlerResumeFailed=Ha fallado el rearranque del manejador de protocolo
+coyoteConnector.protocolHandlerStartFailed=Falló el arranque del manejador de protocolo
+coyoteConnector.protocolRegistrationFailed=Falló el registro de JMX
+coyoteConnector.protocolUnregistrationFailed=Ha fallado la parada del manejador de protocolo
+
+coyoteRequest.alreadyAuthenticated=Este requerimiento ya ha sido autenticado
+coyoteRequest.attributeEvent=Excepción lanzada mediante el escuchador de eventos de atributos
+coyoteRequest.authenticate.ise=No puedo llamar a authenticate() tras haberse acometido la respuesta
+coyoteRequest.chunkedPostTooLarge=No se han analizado los parámetros porque la medida de los datos enviados meiante "post" era demasiado grande. Debido a que este requerimiento es una parte del original, no puede ser procesado. Utiliza el atributo "maxPostSize" del conector para resolver esta situación, en caso de que la aplicación deba de aceptar POSTs mayores.
+coyoteRequest.getInputStream.ise=getReader() ya ha sido llamado para este requerimiento
+coyoteRequest.getReader.ise=getInputStream() ya ha sido llamado para este requerimiento
+coyoteRequest.listenerStart=Excepción enviando evento inicializado de contexto a instancia de escuchador de clase {0}
+coyoteRequest.listenerStop=Excepción enviando evento destruído de contexto a instancia de escuchador de clase {0}
+coyoteRequest.noLoginConfig=No se ha configurado mecanismo de autenticación para este contexto
+coyoteRequest.parseParameters=Excepción lanzada al procesar parámetros POST
+coyoteRequest.postTooLarge=No se analizaron los parámetros porque la medida de los datos enviados era demasiado grande. Usa el atributo maxPostSize del conector para resolver esto en caso de que la aplicación debiera de aceptar POSTs más grandes.
+coyoteRequest.sessionCreateCommitted=No puedo crear una sesión después de llevar a cabo la respueta
+coyoteRequest.sessionEndAccessFail=Excepción disparada acabando acceso a sesión mientras se reciclaba el requerimiento
+coyoteRequest.setAttribute.namenull=No pudeo llamar a setAttribute con un nombre nulo
+coyoteRequest.uploadLocationInvalid=No es válida la localización [{0}] de carga temporal
+
+coyoteResponse.getOutputStream.ise=getWriter() ya ha sido llamado para esta respuesta
+coyoteResponse.getWriter.ise=getOutputStream() ya ha sido llamado para esta respuesta
+coyoteResponse.resetBuffer.ise=No puedo limpiar el búfer después de que la respuesta ha sido llevada a cabo
+coyoteResponse.sendError.ise=No puedo llamar a sendError() tras llevar a cabo la respuesta
+coyoteResponse.sendRedirect.ise=No puedo llamar a sendRedirect() tras llevar a cabo la respuesta
+coyoteResponse.setBufferSize.ise=No puedo cambiar la medida del búfer tras escribir los datos
+
+inputBuffer.streamClosed=Flujo cerrado
+
+mapperListener.addMBeanListenerFail=No pude añadir escuchador de notificación MBean para el conector [{0}] en dominio [{1}]. La adición de Máquinas, Contextos y Arropadores no serán visibles al conector.
+mapperListener.lifecycleListenerFail=No pude añadir escuchador de Ciclo de Vida al objeto [{0}]. Los cambios en el estado del objeto pueden no ser reflejados correctamente en el mapeador para el conector [{1}] en el dominio [{2}].
+mapperListener.registerContext=Registrar Contexto {0} para el conector [{1}]
+mapperListener.registerHost=Registrar máquina {0} en dominio {1} para el conector [{2}]
+mapperListener.registerWrapper=Registrar Arropador (Wrapper) {0} en Contexto {1}
+mapperListener.removeMBeanListenerFail=No pude quitar escuchador de notificación MBean para el conector [{0}] en dominio [{1}]. Esto puede dar lugar a pérdida de memoria.
+mapperListener.unknownDefaultHost=Máquina por defecto desconocida: {0} para el conector [{1}]
+mapperListener.unregisterContext=Desregistrar Contexto {0} para el conector [{1}]
+mapperListener.unregisterHost=Desregistrar máquina {0} en dominio {1} para el conector [{2}]
+mapperListener.unregisterWrapper=Desregistrar Arropador (Wrapper) {0} en Contexto {1}
+
+requestFacade.nullRequest=El objeto de requerimiento ha sido reciclado y ya no está asociado con esta fachada
+
+responseFacade.nullResponse=El objeto de respuesta ha sido reciclado y ya no está asociado con esta fachada
diff --git a/java/org/apache/catalina/connector/LocalStrings_fr.properties b/java/org/apache/catalina/connector/LocalStrings_fr.properties
index d5c9a22..4520a86 100644
--- a/java/org/apache/catalina/connector/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/connector/LocalStrings_fr.properties
@@ -13,52 +13,31 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
-#
-# CoyoteConnector
-#
-
 coyoteConnector.cannotRegisterProtocol=Impossible d''enregistrer le MBean pour le Protocol
-coyoteConnector.protocolHandlerDestroyFailed=La destruction du gestionnaire de protocole a \u00e9chou\u00e9
-coyoteConnector.protocolHandlerInitializationFailed=L''initialisation du gestionnaire de protocole a \u00e9chou\u00e9
-coyoteConnector.protocolHandlerInstantiationFailed=L''instantiation du gestionnaire de protocole a \u00e9chou\u00e9
-coyoteConnector.protocolHandlerStartFailed=Le d\u00e9marrage du gestionnaire de protocole a \u00e9chou\u00e9
-coyoteConnector.protocolRegistrationFailed=L''enregistrement du protocol JMX a \u00e9chou\u00e9
-coyoteConnector.protocolHandlerPauseFailed=La suspension du gestionnaire de protocole a \u00e9chou\u00e9e
-coyoteConnector.protocolHandlerResumeFailed=Le red\u00e9marrage du gestionnaire de protocole a \u00e9chou\u00e9
-
-#
-# CoyoteResponse
-#
-
-coyoteResponse.getOutputStream.ise="getWriter()" a d\u00e9j\u00e0 \u00e9t\u00e9 appel\u00e9 pour cette r\u00e9ponse
-coyoteResponse.getWriter.ise="getOutputStream()" a d\u00e9j\u00e0 \u00e9t\u00e9 appel\u00e9 pour cette r\u00e9ponse
-coyoteResponse.resetBuffer.ise=Impossible de remettre \u00e0 z\u00e9ro le tampon apr\u00e8s que la r\u00e9ponse ait \u00e9t\u00e9 envoy\u00e9e
-coyoteResponse.sendError.ise=Impossible d''appeler "sendError()" apr\u00e8s que la r\u00e9ponse ait \u00e9t\u00e9 envoy\u00e9e
-coyoteResponse.sendRedirect.ise=Impossible d''appeler "sendRedirect()" apr\u00e8s que la r\u00e9ponse ait \u00e9t\u00e9 envoy\u00e9e
-coyoteResponse.setBufferSize.ise=Impossible de changer la taille du tampon apr\u00e8s que les donn\u00e9es aient \u00e9t\u00e9 \u00e9crites
-
-#
-# CoyoteRequest
-#
-
-coyoteRequest.getInputStream.ise="getReader()" a d\u00e9j\u00e0 \u00e9t\u00e9 appel\u00e9 pour cette requ\u00eate
-coyoteRequest.getReader.ise="getInputStream()" a d\u00e9j\u00e0 \u00e9t\u00e9 appel\u00e9 pour cette requ\u00eate
-coyoteRequest.sessionCreateCommitted=Impossible de cr\u00e9er une session apr\u00e8s que la r\u00e9ponse ait \u00e9t\u00e9 envoy\u00e9e
+coyoteConnector.protocolHandlerDestroyFailed=La destruction du gestionnaire de protocole a échoué
+coyoteConnector.protocolHandlerInitializationFailed=L''initialisation du gestionnaire de protocole a échoué
+coyoteConnector.protocolHandlerInstantiationFailed=L''instantiation du gestionnaire de protocole a échoué
+coyoteConnector.protocolHandlerPauseFailed=La suspension du gestionnaire de protocole a échouée
+coyoteConnector.protocolHandlerResumeFailed=Le redémarrage du gestionnaire de protocole a échoué
+coyoteConnector.protocolHandlerStartFailed=Le démarrage du gestionnaire de protocole a échoué
+coyoteConnector.protocolRegistrationFailed=L''enregistrement du protocol JMX a échoué
+
+coyoteRequest.attributeEvent=Une exception a été lancée par l''instance d''écoute pour l''évènement attributs (attributes)
+coyoteRequest.getInputStream.ise="getReader()" a déjà été appelé pour cette requête
+coyoteRequest.getReader.ise="getInputStream()" a déjà été appelé pour cette requête
+coyoteRequest.listenerStart=Une exception s''est produite lors de l''envoi de l''évènement contexte initialisé à l''instance de classe d''écoute {0}
+coyoteRequest.listenerStop=Une exception s''est produite lors de l''envoi de l''évènement contexte détruit à l''instance de classe d''écoute {0}
+coyoteRequest.postTooLarge=Les paramètres n''ont pas été évalués car la taille des données postées est trop important. Utilisez l''attribut maxPostSize du connecteur pour corriger ce problème si votre application doit accepter des POSTs importants.
+coyoteRequest.sessionCreateCommitted=Impossible de créer une session après que la réponse ait été envoyée
 coyoteRequest.setAttribute.namenull=Impossible d''appeler "setAttribute" avec un nom nul
-coyoteRequest.listenerStart=Une exception s''est produite lors de l''envoi de l''\u00e9v\u00e8nement contexte initialis\u00e9 \u00e0 l''instance de classe d''\u00e9coute {0}
-coyoteRequest.listenerStop=Une exception s''est produite lors de l''envoi de l''\u00e9v\u00e8nement contexte d\u00e9truit \u00e0 l''instance de classe d''\u00e9coute {0}
-coyoteRequest.attributeEvent=Une exception a \u00e9t\u00e9 lanc\u00e9e par l''instance d''\u00e9coute pour l''\u00e9v\u00e8nement attributs (attributes)
-coyoteRequest.postTooLarge=Les param\u00e8tres n''ont pas \u00e9t\u00e9 \u00e9valu\u00e9s car la taille des donn\u00e9es post\u00e9es est trop important. Utilisez l''attribut maxPostSize du connecteur pour corriger ce probl\u00e8me si votre application doit accepter des POSTs importants.
 
-
-#
-# MapperListener
-#
+coyoteResponse.getOutputStream.ise="getWriter()" a déjà été appelé pour cette réponse
+coyoteResponse.getWriter.ise="getOutputStream()" a déjà été appelé pour cette réponse
+coyoteResponse.resetBuffer.ise=Impossible de remettre à zéro le tampon après que la réponse ait été envoyée
+coyoteResponse.sendError.ise=Impossible d''appeler "sendError()" après que la réponse ait été envoyée
+coyoteResponse.sendRedirect.ise=Impossible d''appeler "sendRedirect()" après que la réponse ait été envoyée
+coyoteResponse.setBufferSize.ise=Impossible de changer la taille du tampon après que les données aient été écrites
 
 mapperListener.registerContext=Enregistrement du contexte {0}
-mapperListener.unregisterContext=D\u00e9senregistrement du contexte {0}
 mapperListener.registerWrapper=Enregistrement de l''enrobeur (wrapper) {0} dans le contexte {1}
-
-
-
+mapperListener.unregisterContext=Désenregistrement du contexte {0}
diff --git a/java/org/apache/catalina/connector/LocalStrings_ja.properties b/java/org/apache/catalina/connector/LocalStrings_ja.properties
index c72780c..7f7ecd7 100644
--- a/java/org/apache/catalina/connector/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/connector/LocalStrings_ja.properties
@@ -13,52 +13,31 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
-#
-# CoyoteConnector
-#
-
-coyoteConnector.cannotRegisterProtocol=\u305d\u306e\u30d7\u30ed\u30c8\u30b3\u30eb\u306bMBean\u3092\u767b\u9332\u3067\u304d\u307e\u305b\u3093
-coyoteConnector.protocolHandlerDestroyFailed=\u30d7\u30ed\u30c8\u30b3\u30eb\u30cf\u30f3\u30c9\u30e9\u306e\u5ec3\u68c4\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-coyoteConnector.protocolHandlerInitializationFailed=\u30d7\u30ed\u30c8\u30b3\u30eb\u30cf\u30f3\u30c9\u30e9\u306e\u521d\u671f\u5316\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-coyoteConnector.protocolHandlerInstantiationFailed=\u30d7\u30ed\u30c8\u30b3\u30eb\u30cf\u30f3\u30c9\u30e9\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-coyoteConnector.protocolHandlerStartFailed=\u30d7\u30ed\u30c8\u30b3\u30eb\u30cf\u30f3\u30c9\u30e9\u306e\u8d77\u52d5\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-coyoteConnector.protocolRegistrationFailed=\u30d7\u30ed\u30c8\u30b3\u30ebJMX\u306e\u767b\u9332\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-coyoteConnector.protocolHandlerPauseFailed=\u30d7\u30ed\u30c8\u30b3\u30eb\u30cf\u30f3\u30c9\u30e9\u306e\u4e00\u6642\u505c\u6b62\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-coyoteConnector.protocolHandlerResumeFailed=\u30d7\u30ed\u30c8\u30b3\u30eb\u30cf\u30f3\u30c9\u30e9\u306e\u518d\u958b\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-
-#
-# CoyoteResponse
-#
-
-coyoteResponse.getOutputStream.ise=getWriter()\u306f\u3053\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u306b\u5bfe\u3057\u3066\u65e2\u306b\u547c\u3073\u51fa\u3055\u308c\u3066\u3044\u307e\u3059
-coyoteResponse.getWriter.ise=getOutputStream()\u306f\u3053\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u306b\u5bfe\u3057\u3066\u65e2\u306b\u547c\u3073\u51fa\u3055\u308c\u3066\u3044\u307e\u3059
-coyoteResponse.resetBuffer.ise=\u30ec\u30b9\u30dd\u30f3\u30b9\u304c\u30b3\u30df\u30c3\u30c8\u3055\u308c\u305f\u5f8c\u3067\u30d0\u30c3\u30d5\u30a1\u3092\u30ea\u30bb\u30c3\u30c8\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-coyoteResponse.sendError.ise=\u30ec\u30b9\u30dd\u30f3\u30b9\u304c\u30b3\u30df\u30c3\u30c8\u3055\u308c\u305f\u5f8c\u3067sendError()\u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-coyoteResponse.sendRedirect.ise=\u30ec\u30b9\u30dd\u30f3\u30b9\u304c\u30b3\u30df\u30c3\u30c8\u3055\u308c\u305f\u5f8c\u3067sendRedirect()\u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-coyoteResponse.setBufferSize.ise=\u30c7\u30fc\u30bf\u304c\u65e2\u306b\u66f8\u304d\u8fbc\u307e\u308c\u305f\u5f8c\u3067\u30d0\u30c3\u30d5\u30a1\u30b5\u30a4\u30ba\u3092\u5909\u66f4\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-
-#
-# CoyoteRequest
-#
-
-coyoteRequest.getInputStream.ise=getReader()\u306f\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306b\u5bfe\u3057\u3066\u65e2\u306b\u547c\u3073\u51fa\u3055\u308c\u3066\u3044\u307e\u3059
-coyoteRequest.getReader.ise=getInputStream()\u306f\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306b\u5bfe\u3057\u3066\u65e2\u306b\u547c\u3073\u51fa\u3055\u308c\u3066\u3044\u307e\u3059
-coyoteRequest.sessionCreateCommitted=\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u30b3\u30df\u30c3\u30c8\u3057\u305f\u5f8c\u3067\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093
-coyoteRequest.setAttribute.namenull=setAttribute\u3092\u540d\u524d\u3092\u6307\u5b9a\u305b\u305a\u306b\u547c\u3073\u51fa\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-coyoteRequest.listenerStart=\u30af\u30e9\u30b9 {0} \u306e\u30ea\u30b9\u30ca\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u521d\u671f\u5316\u30a4\u30d9\u30f3\u30c8\u3092\u9001\u4fe1\u4e2d\u306b\u4f8b\u5916\u304c\u6295\u3052\u3089\u308c\u307e\u3057\u305f
-coyoteRequest.listenerStop=\u30af\u30e9\u30b9 {0} \u306e\u30ea\u30b9\u30ca\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u5ec3\u68c4\u30a4\u30d9\u30f3\u30c8\u3092\u9001\u4fe1\u4e2d\u306b\u4f8b\u5916\u304c\u6295\u3052\u3089\u308c\u307e\u3057\u305f
-coyoteRequest.attributeEvent=\u5c5e\u6027\u30a4\u30d9\u30f3\u30c8\u30ea\u30b9\u30ca\u306b\u3088\u3063\u3066\u4f8b\u5916\u304c\u6295\u3052\u3089\u308c\u307e\u3057\u305f
-coyoteRequest.postTooLarge=POST\u3055\u308c\u305f\u30c7\u30fc\u30bf\u304c\u5927\u304d\u3059\u304e\u305f\u306e\u3067\u3001\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u69cb\u6587\u89e3\u6790\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u305d\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u5de8\u5927\u306aPOST\u3092\u53d7\u3051\u4ed8\u3051\u306d\u3070\u306a\u3089\u306a\u3044\u5834\u5408\u306b\u306f\u3001\u3053\u308c\u3092\u89e3\u6c7a\u3059\u308b\u305f\u3081\u306b\u30b3\u30cd\ [...]
-
-
-#
-# MapperListener
-#
-
-mapperListener.registerContext=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8 {0}\u3000\u3092\u767b\u9332\u3057\u307e\u3059
-mapperListener.unregisterContext=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8 {0} \u306e\u767b\u9332\u3092\u62b9\u6d88\u3057\u307e\u3059
-mapperListener.registerWrapper=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8 {1} \u306b\u30e9\u30c3\u30d1 {0} \u3092\u767b\u9332\u3057\u307e\u3059
-
-
-
+coyoteConnector.cannotRegisterProtocol=そのプロトコルにMBeanを登録できません
+coyoteConnector.protocolHandlerDestroyFailed=プロトコルハンドラの廃棄に失敗しました
+coyoteConnector.protocolHandlerInitializationFailed=プロトコルハンドラの初期化に失敗しました
+coyoteConnector.protocolHandlerInstantiationFailed=プロトコルハンドラのインスタンス化に失敗しました
+coyoteConnector.protocolHandlerPauseFailed=プロトコルハンドラの一時停止に失敗しました
+coyoteConnector.protocolHandlerResumeFailed=プロトコルハンドラの再開に失敗しました
+coyoteConnector.protocolHandlerStartFailed=プロトコルハンドラの起動に失敗しました
+coyoteConnector.protocolRegistrationFailed=プロトコルJMXの登録に失敗しました
+
+coyoteRequest.attributeEvent=属性イベントリスナによって例外が投げられました
+coyoteRequest.getInputStream.ise=getReader()はこのリクエストに対して既に呼び出されています
+coyoteRequest.getReader.ise=getInputStream()はこのリクエストに対して既に呼び出されています
+coyoteRequest.listenerStart=クラス {0} のリスナインスタンスに初期化イベントを送信中に例外が投げられました
+coyoteRequest.listenerStop=クラス {0} のリスナインスタンスに廃棄イベントを送信中に例外が投げられました
+coyoteRequest.postTooLarge=POSTされたデータが大きすぎたので、パラメータが構文解析できませんでした。そのアプリケーションが巨大なPOSTを受け付けねばならない場合には、これを解決するためにコネクタのmaxPostSize属性を使用してください。
+coyoteRequest.sessionCreateCommitted=レスポンスをコミットした後でセッションを作成できません
+coyoteRequest.setAttribute.namenull=setAttributeを名前を指定せずに呼び出すことはできません
+
+coyoteResponse.getOutputStream.ise=getWriter()はこのレスポンスに対して既に呼び出されています
+coyoteResponse.getWriter.ise=getOutputStream()はこのレスポンスに対して既に呼び出されています
+coyoteResponse.resetBuffer.ise=レスポンスがコミットされた後でバッファをリセットすることはできません
+coyoteResponse.sendError.ise=レスポンスがコミットされた後でsendError()を呼び出すことはできません
+coyoteResponse.sendRedirect.ise=レスポンスがコミットされた後でsendRedirect()を呼び出すことはできません
+coyoteResponse.setBufferSize.ise=データが既に書き込まれた後でバッファサイズを変更することはできません
+
+mapperListener.registerContext=コンテキスト {0} を登録します
+mapperListener.registerWrapper=コンテキスト {1} にラッパ {0} を登録します
+mapperListener.unregisterContext=コンテキスト {0} の登録を抹消します
diff --git a/java/org/apache/catalina/core/LocalStrings.properties b/java/org/apache/catalina/core/LocalStrings.properties
index a5ca13a..e92247a 100644
--- a/java/org/apache/catalina/core/LocalStrings.properties
+++ b/java/org/apache/catalina/core/LocalStrings.properties
@@ -16,27 +16,28 @@
 applicationContext.addFilter.ise=Filters can not be added to context {0} as the context has been initialised
 applicationContext.addListener.iae.cnfe=Unable to create an instance of type [{0}]
 applicationContext.addListener.iae.init=Unable to add an instance of type [{0}] as a listener
-applicationContext.addListener.iae.wrongType=The type specified [{0}] is not one of the expected listener types
 applicationContext.addListener.iae.sclNotAllowed=Once the first ServletContextListener has been called, no more ServletContextListeners may be added.
+applicationContext.addListener.iae.wrongType=The type specified [{0}] is not one of the expected listener types
 applicationContext.addListener.ise=Listeners can not be added to context {0} as the context has been initialised
 applicationContext.addRole.ise=Roles can not be added to context {0} as the context has been initialised
 applicationContext.addServlet.ise=Servlets can not be added to context {0} as the context has been initialised
+applicationContext.addSessionCookieConfig.ise=Session Cookie configuration cannot be set for context {0} as the context has been initialised
 applicationContext.attributeEvent=Exception thrown by attributes event listener
 applicationContext.illegalDispatchPath=An application attempted to obtain a request dispatcher with an illegal path [{0}] that was rejected because it contained an encoded directory traversal attempt
 applicationContext.invalidFilterName=Unable to add filter definition due to invalid filter name [{0}].
 applicationContext.invalidServletName=Unable to add servlet definition due to invalid servlet name [{0}].
+applicationContext.lookup.error=Failed to locate resource [{0}] in context [{1}]
 applicationContext.mapping.error=Error during mapping
 applicationContext.requestDispatcher.iae=Path {0} does not start with a "/" character
 applicationContext.resourcePaths.iae=Path {0} does not start with a "/" character
 applicationContext.role.iae=An individual role to declare for context [{0}] may not be null nor the empty string
 applicationContext.roles.iae=Array of roles to declare for context [{0}] cannot be null
 applicationContext.setAttribute.namenull=Name cannot be null
-applicationContext.addSessionCookieConfig.ise=Session Cookie configuration cannot be set for context {0} as the context has been initialised
 applicationContext.setInitParam.ise=Initialization parameters can not be set after the context has been initialized
-applicationContext.setSessionTracking.ise=The session tracking modes for context {0} cannot be set whilst the context is running
 applicationContext.setSessionTracking.iae.invalid=The session tracking mode {0} requested for context {1} is not supported by that context
 applicationContext.setSessionTracking.iae.ssl=The session tracking modes requested for context {0} included SSL and at least one other mode. SSL may not be configured with other modes.
-applicationContext.lookup.error=Failed to locate resource [{0}] in context [{1}]
+applicationContext.setSessionTracking.ise=The session tracking modes for context {0} cannot be set whilst the context is running
+
 applicationDispatcher.allocateException=Allocate exception for servlet {0}
 applicationDispatcher.deallocateException=Deallocate exception for servlet {0}
 applicationDispatcher.forward.ise=Cannot forward after response has been committed
@@ -46,11 +47,13 @@ applicationDispatcher.isUnavailable=Servlet {0} is currently unavailable
 applicationDispatcher.serviceException=Servlet.service() for servlet {0} threw exception
 applicationDispatcher.specViolation.request=Original ServletRequest or wrapped original ServletRequest not passed to RequestDispatcher in violation of SRV.8.2 and SRV.14.2.5.1
 applicationDispatcher.specViolation.response=Original ServletResponse or wrapped original ServletResponse not passed to RequestDispatcher in violation of SRV.8.2 and SRV.14.2.5.1
+
 applicationFilterConfig.jmxRegisterFail=JMX registration failed for filter of type [{0}] and name [{1}]
 applicationFilterConfig.jmxUnregister=JMX de-registration complete for filter of type [{0}] and name [{1}]
 applicationFilterConfig.jmxUnregisterFail=JMX de-registration failed for filter of type [{0}] and name [{1}]
 applicationFilterConfig.preDestroy=Failed the call to preDestroy for the filter named [{0}] of type [{1}]
 applicationFilterConfig.release=Failed to destroy the filter named [{0}] of type [{1}]
+
 applicationFilterRegistration.nullInitParam=Unable to set initialisation parameter for filter due to null name and/or value. Name [{0}], Value [{1}]
 applicationFilterRegistration.nullInitParams=Unable to set initialisation parameters for filter due to null name and/or value. Name [{0}], Value [{1}]
 
@@ -58,83 +61,103 @@ applicationHttpRequest.fragmentInDispatchPath=The fragment in dispatch path [{0}
 
 applicationRequest.badParent=Cannot locate parent Request implementation
 applicationRequest.badRequest=Request is not a javax.servlet.ServletRequestWrapper
+
 applicationResponse.badParent=Cannot locate parent Response implementation
 applicationResponse.badResponse=Response is not a javax.servlet.ServletResponseWrapper
+
 applicationServletRegistration.setServletSecurity.iae=Null constraint specified for servlet [{0}] deployed to context with name [{1}]
 applicationServletRegistration.setServletSecurity.ise=Security constraints can''t be added to servlet [{0}] deployed to context with name [{1}] as the context has already been initialised
+
 applicationSessionCookieConfig.ise=Property {0} can not be added to SessionCookieConfig for context {1} as the context has been initialised
+
+aprListener.aprDestroy=Failed shutdown of APR based Apache Tomcat Native library
 aprListener.aprInit=The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: {0}
 aprListener.aprInitDebug=The APR based Apache Tomcat Native library could not be found using names [{0}] on the java.library.path [{1}]. The errors reported were [{2}]
 aprListener.aprInitError=The APR based Apache Tomcat Native library failed to load. The error reported was [{0}]
-aprListener.tcnInvalid=An incompatible version {0} of the APR based Apache Tomcat Native library is installed, while Tomcat requires version {1}
-aprListener.tcnVersion=An older version {0} of the APR based Apache Tomcat Native library is installed, while Tomcat recommends a minimum version of {1}
-aprListener.aprDestroy=Failed shutdown of APR based Apache Tomcat Native library
-aprListener.sslInit=Failed to initialize the SSLEngine.
-aprListener.tcnValid=Loaded APR based Apache Tomcat Native library {0} using APR version {1}.
-aprListener.flags=APR capabilities: IPv6 [{0}], sendfile [{1}], accept filters [{2}], random [{3}].
 aprListener.currentFIPSMode=Current FIPS mode: {0}
-aprListener.skipFIPSInitialization=Already in FIPS mode; skipping FIPS initialization.
 aprListener.enterAlreadyInFIPSMode=AprLifecycleListener is configured to force entering FIPS mode, but library is already in FIPS mode ({0})
-aprListener.requireNotInFIPSMode=AprLifecycleListener is configured to require the library to already be in FIPS mode, but it was not in FIPS mode
-aprListener.wrongFIPSMode=Unexpected value of FIPSMode option of AprLifecycleListener: "{0}"
-aprListener.initializingFIPS=Initializing FIPS mode...
-aprListener.initializeFIPSSuccess=Successfully entered FIPS mode
+aprListener.flags=APR capabilities: IPv6 [{0}], sendfile [{1}], accept filters [{2}], random [{3}].
 aprListener.initializeFIPSFailed=Failed to enter FIPS mode
+aprListener.initializeFIPSSuccess=Successfully entered FIPS mode
+aprListener.initializedOpenSSL=OpenSSL successfully initialized ({0})
+aprListener.initializingFIPS=Initializing FIPS mode...
+aprListener.requireNotInFIPSMode=AprLifecycleListener is configured to require the library to already be in FIPS mode, but it was not in FIPS mode
+aprListener.skipFIPSInitialization=Already in FIPS mode; skipping FIPS initialization.
+aprListener.sslInit=Failed to initialize the SSLEngine.
+aprListener.tcnInvalid=An incompatible version {0} of the APR based Apache Tomcat Native library is installed, while Tomcat requires version {1}
+aprListener.tcnValid=Loaded APR based Apache Tomcat Native library {0} using APR version {1}.
+aprListener.tcnVersion=An older version {0} of the APR based Apache Tomcat Native library is installed, while Tomcat recommends a minimum version of {1}
+aprListener.tooLateForFIPSMode=Cannot setFIPSMode: SSL has already been initialized
 aprListener.tooLateForSSLEngine=Cannot setSSLEngine: SSL has already been initialized
 aprListener.tooLateForSSLRandomSeed=Cannot setSSLRandomSeed: SSL has already been initialized
-aprListener.tooLateForFIPSMode=Cannot setFIPSMode: SSL has already been initialized
-aprListener.initializedOpenSSL=OpenSSL successfully initialized ({0})
+aprListener.wrongFIPSMode=Unexpected value of FIPSMode option of AprLifecycleListener: "{0}"
 
+asyncContextImpl.dispatchingStarted=Asynchronous dispatch operation has already been called. Additional asynchronous dispatch operation within the same asynchronous cycle is not allowed.
+asyncContextImpl.noAsyncDispatcher=The dispatcher returned from the ServletContext does not support asynchronous dispatching
 asyncContextImpl.request.ise=It is illegal to call getRequest() after complete() or any of the dispatch() methods has been called
 asyncContextImpl.requestEnded=The request associated with the AsyncContext has already completed processing.
 asyncContextImpl.response.ise=It is illegal to call getResponse() after complete() or any of the dispatch() methods has been called
-asyncContextImpl.noAsyncDispatcher=The dispatcher returned from the ServletContext does not support asynchronous dispatching
-asyncContextImpl.dispatchingStarted=Asynchronous dispatch operation has already been called. Additional asynchronous dispatch operation within the same asynchronous cycle is not allowed.
-containerBase.nullName=Container name cannot be null
-containerBase.threadedStartFailed=A child container failed during start
-containerBase.threadedStopFailed=A child container failed during stop
+
 containerBase.backgroundProcess.cluster=Exception processing cluster {0} background process
 containerBase.backgroundProcess.loader=Exception processing loader {0} background process
 containerBase.backgroundProcess.manager=Exception processing manager {0} background process
 containerBase.backgroundProcess.realm=Exception processing realm {0} background process
-containerBase.backgroundProcess.valve=Exception processing valve {0} background process
 containerBase.backgroundProcess.unexpectedThreadDeath=Unexpected death of background thread {0}
+containerBase.backgroundProcess.valve=Exception processing valve {0} background process
+containerBase.nullName=Container name cannot be null
+containerBase.threadedStartFailed=A child container failed during start
+containerBase.threadedStopFailed=A child container failed during stop
+
+defaultInstanceManager.invalidInjection=Invalid method resource injection annotation
+defaultInstanceManager.restrictedClass=Access to class [{0}] is forbidden. It is a restricted class. A web application must be configured as privileged to be able to load it
+defaultInstanceManager.restrictedContainerServlet=Access to class [{0}] is forbidden. It is a restricted class (implements ContainerServlet interface). A web application must be configured as privileged to be able to load it
+defaultInstanceManager.restrictedFiltersResource=Restricted filters property file not found [{0}]
+defaultInstanceManager.restrictedListenersResource=Restricted listeners property file not found [{0}]
+defaultInstanceManager.restrictedServletsResource=Restricted servlets property file not found [{0}]
+defaultInstanceManager.restrictedWrongValue=Wrong value in restricted classes property file [{0}] for class name [{1}]. Expected value: [restricted], actual value: [{2}]
+
 fastEngineMapper.alreadyStarted=FastEngineMapper {0} has already been started
 fastEngineMapper.notStarted=FastEngineMapper {0} has not yet been started
+
 filterChain.filter=Filter execution threw an exception
 filterChain.servlet=Servlet execution threw an exception
+
 httpContextMapper.container=This container is not a StandardContext
+
 httpEngineMapper.container=This container is not a StandardEngine
+
 httpHostMapper.container=This container is not a StandardHost
+
 interceptorValve.alreadyStarted=InterceptorValve has already been started
 interceptorValve.notStarted=InterceptorValve has not yet been started
-jreLeakListener.keepAliveFail=Failed to trigger creation of the sun.net.www.http.HttpClient class during Tomcat start to prevent possible memory leaks. This is expected on non-Sun JVMs.
+
+jreLeakListener.authPolicyFail=Error whilst attempting to prevent memory leak in javax.security.auth.Policy class
+jreLeakListener.classToInitializeFail=Failed to load class {0} during Tomcat start to prevent possible memory leaks.
 jreLeakListener.gcDaemonFail=Failed to trigger creation of the GC Daemon thread during Tomcat start to prevent possible memory leaks. This is expected on non-Sun JVMs.
 jreLeakListener.jarUrlConnCacheFail=Failed to disable Jar URL connection caching by default
-jreLeakListener.xmlParseFail=Error whilst attempting to prevent memory leaks during XML parsing
-jreLeakListener.authPolicyFail=Error whilst attempting to prevent memory leak in javax.security.auth.Policy class
+jreLeakListener.keepAliveFail=Failed to trigger creation of the sun.net.www.http.HttpClient class during Tomcat start to prevent possible memory leaks. This is expected on non-Sun JVMs.
 jreLeakListener.ldapPoolManagerFail=Failed to trigger creation of the com.sun.jndi.ldap.LdapPoolManager class during Tomcat start to prevent possible memory leaks. This is expected on non-Sun JVMs.
-jreLeakListener.classToInitializeFail=Failed to load class {0} during Tomcat start to prevent possible memory leaks.
+jreLeakListener.xmlParseFail=Error whilst attempting to prevent memory leaks during XML parsing
 
 naming.addEnvEntry=Adding environment entry [{0}]
 naming.addResourceEnvRef=Adding resource env ref [{0}]
 naming.bindFailed=Failed to bind object: [{0}]
-naming.jmxRegistrationFailed=Failed to register in JMX: [{0}]
-naming.unbindFailed=Failed to unbind object: [{0}]
 naming.invalidEnvEntryType=Environment entry [{0}] has an invalid type
 naming.invalidEnvEntryValue=Environment entry [{0}] has an invalid value
+naming.jmxRegistrationFailed=Failed to register in JMX: [{0}]
 naming.namingContextCreationFailed=Creation of the naming context failed: [{0}]
+naming.unbindFailed=Failed to unbind object: [{0}]
 
 noPluggabilityServletContext.notAllowed=Section 4.4 of the Servlet 3.0 specification does not permit this method to be called from a ServletContextListener that was not defined in web.xml, a web-fragment.xml file nor annotated with @WebListener
-standardContext.invalidWrapperClass={0} is not a subclass of StandardWrapper
+
 standardContext.alreadyStarted=Context has already been started
 standardContext.applicationListener=Error configuring application listener of class {0}
 standardContext.applicationSkipped=Skipped installing application listeners due to previous error(s)
 standardContext.backgroundProcess.instanceManager=Exception processing instance manager {0} background process
 standardContext.badRequest=Invalid request path ({0}).
 standardContext.cluster.noManager=No manager found. Checking if cluster manager should be used. Cluster configured: [{0}], Application distributable: [{1}]
-standardContext.crlfinurl=The URL pattern "{0}" contains a CR or LF and so can never be matched.
 standardContext.configurationFail=One or more components marked the context as not correctly configured
+standardContext.crlfinurl=The URL pattern "{0}" contains a CR or LF and so can never be matched.
 standardContext.duplicateListener=The listener "{0}" is already configured for this context. The duplicate definition has been ignored.
 standardContext.errorPage.error=Error page location {0} must start with a ''/''
 standardContext.errorPage.required=ErrorPage cannot be null
@@ -146,11 +169,7 @@ standardContext.filterMap.name=Filter mapping specifies an unknown filter name {
 standardContext.filterMap.pattern=Invalid <url-pattern> {0} in filter mapping
 standardContext.filterStart=Exception starting filter {0}
 standardContext.filterStartFailed=Failed to start application Filters successfully
-standardContext.requestListener.requestInit=Exception sending request initialized lifecycle event to listener instance of class {0}
-standardContext.requestListener.requestDestroy=Exception sending request destroyed lifecycle event to listener instance of class {0}
-standardContext.requestListenerStartFailed=Failed to start request listener valve successfully
-standardContext.requestListenerConfig.added=Added request listener Valve
-standardContext.requestListenerConfig.error=Exception adding request listener Valve: {0}
+standardContext.invalidWrapperClass={0} is not a subclass of StandardWrapper
 standardContext.isUnavailable=This application is not currently available
 standardContext.listenerFail=One or more listeners failed to start. Full details will be found in the appropriate container log file
 standardContext.listenerStart=Exception sending context initialized event to listener instance of class {0}
@@ -165,8 +184,8 @@ standardContext.loginConfig.required=LoginConfig cannot be null
 standardContext.manager=Configured a manager of class [{0}]
 standardContext.managerFail=The session manager failed to start
 standardContext.mappingError=MAPPING configuration error for relative URI {0}
-standardContext.namingResource.init.fail=Failed to init new naming resources
 standardContext.namingResource.destroy.fail=Failed to destroy old naming resources
+standardContext.namingResource.init.fail=Failed to init new naming resources
 standardContext.noResourceJar=Resource JARs are not supported. The JAR found at [{0}] will not be used to provide static content for context with name [{1}]
 standardContext.notFound=The requested resource ({0}) is not available.
 standardContext.notReloadable=Reloading is disabled on this Context
@@ -182,6 +201,11 @@ standardContext.predestroy.required=Both fully qualified class name and method n
 standardContext.reloadingCompleted=Reloading Context with name [{0}] is completed
 standardContext.reloadingFailed=Reloading this Context failed due to previous errors
 standardContext.reloadingStarted=Reloading Context with name [{0}] has started
+standardContext.requestListener.requestDestroy=Exception sending request destroyed lifecycle event to listener instance of class {0}
+standardContext.requestListener.requestInit=Exception sending request initialized lifecycle event to listener instance of class {0}
+standardContext.requestListenerConfig.added=Added request listener Valve
+standardContext.requestListenerConfig.error=Exception adding request listener Valve: {0}
+standardContext.requestListenerStartFailed=Failed to start request listener valve successfully
 standardContext.resourcesInit=Error initializing static Resources
 standardContext.resourcesStart=Error starting static Resources
 standardContext.resourcesStop=Error stopping static Resources
@@ -205,10 +229,12 @@ standardContext.stoppingWrapper=Exception stopping Wrapper for servlet {0}
 standardContext.urlDecode=Cannot URL decode request path {0}
 standardContext.urlPattern.patternWarning=WARNING: URL pattern {0} must start with a ''/'' in Servlet 2.4
 standardContext.urlValidate=Cannot validate URL decoded request path {0}
-standardContext.workPath=Exception obtaining work path for context [{0}]
 standardContext.workCreateException=Failed to determine absolute work directory from directory [{0}] and CATALINA_HOME [{1}] for context [{2}]
 standardContext.workCreateFail=Failed to create work directory [{0}] for context [{1}]
+standardContext.workPath=Exception obtaining work path for context [{0}]
+
 standardContextValve.acknowledgeException=Failed to acknowledge request with a 100 (Continue) response
+
 standardEngine.alreadyStarted=Engine has already been started
 standardEngine.jvmRouteFail=Failed to set Engine's jvmRoute attribute from system property
 standardEngine.mappingError=MAPPING configuration error for server name {0}
@@ -220,20 +246,21 @@ standardEngine.notStarted=Engine has not yet been started
 standardEngine.unfoundHost=Virtual host {0} not found
 standardEngine.unknownHost=No server host specified in this request
 standardEngine.unregister.mbeans.failed=Error in destroy() for mbean file {0}
+
 standardHost.accessBase=Cannot access document base directory {0}
 standardHost.alreadyStarted=Host has already been started
 standardHost.appBase=Application base directory {0} does not exist
 standardHost.asyncStateError=An asynchronous request was received for processing that was neither an async dispatch nor an error to process
 standardHost.clientAbort=Remote Client Aborted Request, IOException: {0}
-standardHost.configRequired=URL to configuration file is required
 standardHost.configNotAllowed=Use of configuration file is not allowed
+standardHost.configRequired=URL to configuration file is required
+standardHost.docBase=Document base directory {0} already exists
 standardHost.installBase=Only web applications in the Host web application directory can be installed
+standardHost.installError=Error deploying application at context path {0}
 standardHost.installing=Installing web application at context path {0} from URL {1}
 standardHost.installingWAR=Installing web application from URL {0}
 standardHost.installingXML=Processing Context configuration file URL {0}
-standardHost.installError=Error deploying application at context path {0}
 standardHost.invalidErrorReportValveClass=Couldn''t load specified error report valve class: {0}
-standardHost.docBase=Document base directory {0} already exists
 standardHost.mappingError=MAPPING configuration error for request URI {0}
 standardHost.noContext=No Context configured to process this request
 standardHost.noHost=No Host configured to process this request
@@ -246,19 +273,22 @@ standardHost.pathMissing=Context path {0} is not currently in use
 standardHost.pathRequired=Context path is required
 standardHost.pathUsed=Context path {0} is already in use
 standardHost.problematicAppBase=Using an empty string for appBase on host [{0}] will set it to CATALINA_BASE, which is a bad idea
-standardHost.removing=Removing web application at context path {0}
 standardHost.removeError=Error removing application at context path {0}
+standardHost.removing=Removing web application at context path {0}
 standardHost.start=Starting web application at context path {0}
 standardHost.stop=Stopping web application at context path {0}
 standardHost.unfoundContext=Cannot find context for request URI {0}
 standardHost.warRequired=URL to web application archive is required
 standardHost.warURL=Invalid URL for web application archive: {0}
+
 standardHostValue.customStatusFailed=Custom error page [{0}] could not be dispatched correctly
+
+standardServer.accept.timeout=The socket listening for the shutdown command experienced an unexpected timeout [{0}] milliseconds after the call to accept(). Is this an instance of bug 56684?
 standardServer.onameFail=MBean name specified for Server [{0}] is not valid
 standardServer.shutdownViaPort=A valid shutdown command was received via the shutdown port. Stopping the Server instance.
-standardServer.accept.timeout=The socket listening for the shutdown command experienced an unexpected timeout [{0}] milliseconds after the call to accept(). Is this an instance of bug 56684?
-standardService.connector.initFailed=Failed to initialize connector [{0}]
+
 standardService.connector.destroyFailed=Failed to destroy connector [{0}]
+standardService.connector.initFailed=Failed to initialize connector [{0}]
 standardService.connector.pauseFailed=Failed to pause connector [{0}]
 standardService.connector.startFailed=Failed to start connector [{0}]
 standardService.connector.stopFailed=Failed to stop connector [{0}]
@@ -267,7 +297,9 @@ standardService.onameFail=MBean name specified for Service [{0}] is not valid
 standardService.register.failed=Error registering Service at domain {0}
 standardService.start.name=Starting service {0}
 standardService.stop.name=Stopping service {0}
+
 standardThreadExecutor.onameFail=MBean name specified for Thread Executor [{0}] is not valid
+
 standardWrapper.allocate=Error allocating a servlet instance
 standardWrapper.allocateException=Allocate exception for servlet {0}
 standardWrapper.containerServlet=Loading container servlet {0}
@@ -300,13 +332,6 @@ standardWrapper.unavailable=Marking servlet {0} as unavailable
 standardWrapper.unloadException=Servlet {0} threw unload() exception
 standardWrapper.unloading=Cannot allocate servlet {0} because it is being unloaded
 standardWrapper.waiting=Waiting for {0} instance(s) to be deallocated for Servlet [{1}]
-threadLocalLeakPreventionListener.lifecycleEvent.error=Exception processing lifecycle event {0}
-threadLocalLeakPreventionListener.containerEvent.error=Exception processing container event {0}
 
-defaultInstanceManager.invalidInjection=Invalid method resource injection annotation
-defaultInstanceManager.restrictedClass=Access to class [{0}] is forbidden. It is a restricted class. A web application must be configured as privileged to be able to load it
-defaultInstanceManager.restrictedContainerServlet=Access to class [{0}] is forbidden. It is a restricted class (implements ContainerServlet interface). A web application must be configured as privileged to be able to load it
-defaultInstanceManager.restrictedWrongValue=Wrong value in restricted classes property file [{0}] for class name [{1}]. Expected value: [restricted], actual value: [{2}]
-defaultInstanceManager.restrictedFiltersResource=Restricted filters property file not found [{0}]
-defaultInstanceManager.restrictedListenersResource=Restricted listeners property file not found [{0}]
-defaultInstanceManager.restrictedServletsResource=Restricted servlets property file not found [{0}]
+threadLocalLeakPreventionListener.containerEvent.error=Exception processing container event {0}
+threadLocalLeakPreventionListener.lifecycleEvent.error=Exception processing lifecycle event {0}
diff --git a/java/org/apache/catalina/core/LocalStrings_es.properties b/java/org/apache/catalina/core/LocalStrings_es.properties
index 83d5fcd..089e4c8 100644
--- a/java/org/apache/catalina/core/LocalStrings_es.properties
+++ b/java/org/apache/catalina/core/LocalStrings_es.properties
@@ -13,241 +13,268 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-applicationContext.addFilter.ise = No se pueden a\u00F1adir filtros al contexto {0} ya que \u00E9ste ha sido inicializado
-applicationContext.addListener.iae.cnfe = No puedo crear una instancia del tipo [{0}]
-applicationContext.addListener.iae.wrongType = El tipo especificado [{0}] no es uno de los tipos de escuchador esperados
-applicationContext.addListener.iae.sclNotAllowed = Una vez que el primer ServletContextListener ha sido llamado, no se pueden a\u00F1adir m\u00E1s ServletContextListeners.
-applicationContext.addListener.ise = No se pueden a\u00F1adir escuchadores al contexto {0}, una vez que ha sido inicializado.
-applicationContext.addRole.ise = No se pueden a\u00F1adir roles al contexto {0}, una vez que ha sido inicializado.
-applicationContext.addServlet.ise = No se pueden a\u00F1adir servlets al contexto {0}, una vez que ha sido inicializado.
-applicationContext.attributeEvent = Excepci\u00F3n lanzada por escuchador de eventos de atributos
-applicationContext.mapping.error = Error durante mapeo
-applicationContext.requestDispatcher.iae = La Trayectoria {0} no comienza con car\u00E1cter "/"
-applicationContext.resourcePaths.iae = La Trayectoria {0} no comienza con car\u00E1cter "/"
-applicationContext.role.iae = Un rol individual que se ha de declarar para el contexto [{0}] no puede ser nulo o cadena vac\u00EDa
-applicationContext.roles.iae = Un arreglo de roles que se ha de declarar para el contexto [{0}] no puede ser nulo o cadena vac\u00EDa
-applicationContext.setAttribute.namenull = El nombre no puede ser nulo
-applicationContext.addSessionCookieConfig.ise = No se puede poner la configuraci\u00F3n de Cookie de Sesi\u00F3n para el contexto {0}, una vez que \u00E9ste ha sido inicializado.
-applicationContext.setSessionTracking.ise = No se pueden poner los modos de seguimiento de sesi\u00F3n para el contexto {0} mientras el contexto se est\u00E1 ejecutando.
-applicationContext.setSessionTracking.iae.invalid = El modo de seguimiento de sesi\u00F3n {0} requerido para el contexto {1} no est\u00E1 soportado por este contexto
-applicationContext.setSessionTracking.iae.ssl = Los modos de seguimiento de sesi\u00F3n requeridos para el contexto {0}, incluy\u00F3 SSL y al menos otro modo. SSL no se puede configurar con otros modos.
-applicationContext.lookup.error = No pude localizar el recurso [{0}] en el contexto [{1}]
-applicationDispatcher.allocateException = Excepci\u00F3n de reserva de espacio para servlet {0}
-applicationDispatcher.deallocateException = Excepci\u00F3n de recuperaci\u00F3n de espacio para servlet {0}
-applicationDispatcher.forward.ise = No puedo reenviar despu\u00E9s de que la respuesta se haya llevado a cabo.
-applicationDispatcher.forward.throw = El recurso reenviado lanz\u00F3 un excepci\u00F3n
-applicationDispatcher.include.throw = El recurso inclu\u00EDdo lanz\u00F3 una excepci\u00F3n
-applicationDispatcher.isUnavailable = El Servlet {0} no est\u00E1 disponible en este momento
-applicationDispatcher.serviceException = El Servlet.service() para servlet {0} lanz\u00F3 una excepci\u00F3n
-applicationDispatcher.specViolation.request = SevletRequest original o ServletRequest original arropado no pas\u00F3 a RequestDispatcher en violaci\u00F3n de SRV.8.2 y SRV.14.2.5.1
-applicationDispatcher.specViolation.response = SevletResponse original o ServletResponse original arropado no pas\u00F3 a RequestDispatcher en violaci\u00F3n de SRV.8.2 y SRV.14.2.5.1
-applicationFilterConfig.jmxRegisterFail = Ha fallado el registro JMX para el filtro del tipo [{0}] y nombre [{1}]
-applicationFilterConfig.jmxUnregister = Se ha completado el desregistro JMX para el filtro del tipo [{0}] y nombre [{1}]
-applicationFilterConfig.jmxUnregisterFail = Ha fallado el desregistro JMX para el filtro del tipo [{0}] y nombre [{1}]
-applicationFilterRegistration.nullInitParam = No puedo poner el par\u00E1metro de inicializaci\u00F3n para el filtro debido a un nombre nulo y/o valor. Nombre [{0}], Valor [{1}]
-applicationFilterRegistration.nullInitParams = No puedo poner los par\u00E1metros de inicializaci\u00F3n para el filtro debido a un nombre nulo y/o valor. Nombre [{0}], Valor [{1}]
-applicationRequest.badParent = No puedo localizar la implementaci\u00F3n de Requerimiento padre
-applicationRequest.badRequest = El requerimiento no es un javax.servlet.ServletRequestWrapper
-applicationResponse.badParent = No puedo localizar implementaci\u00F3n de Respuesta padre
-applicationResponse.badResponse = La Respuesta no es un javax.servlet.ServletResponseWrapper
-applicationServletRegistration.setServletSecurity.iae = Se ha especificado restricci\u00F3n Null para el servlet [{0}] desplegado en el contexto con el nombre [{1}]
-applicationServletRegistration.setServletSecurity.ise = No se pueden a\u00F1adir restricciones de seguridad al servlet [{0}] desplegado en el contexto con el nombre [{1}] ya que el contexto ya ha sido inicializado.
-aprListener.aprInit = La biblioteca nativa de Apache Tomcat basada en ARP que permite un rendimiento \u00F3ptimo en entornos de desarrollo no ha sido hallada en java.library.path\: {0}
-aprListener.tcnInvalid = Se encuentra instalada una versi\u00F3n incompatible {0} de la biblioteca nativa APR de Apache Tomcat, mientras que Tomcat necesita la versi\u00F3n {1}
-aprListener.tcnVersion = Se encuentra instalada una versi\u00F3n muy vieja {0} de la biblioteca nativa APR de Apache Tomcat, mientras que Tomcat recomienda una versi\u00F3n mayor de {1}
-aprListener.aprDestroy = No pude apagar la biblioteca nativa de Apache Tomcat
-aprListener.sslInit = No pude inicializar el SSLEngine (Motor SSL)
-aprListener.tcnValid = Cargada la biblioteca nativa APR de Apache Tomcat {0} con la versi�n APR {1}.
-aprListener.flags = Capacidades APR\: IPv6 [{0}], enviar fichero [{1}], aceptar filtros [{2}], aleatorio [{3}].
+applicationContext.addFilter.ise=No se pueden añadir filtros al contexto {0} ya que éste ha sido inicializado
+applicationContext.addListener.iae.cnfe=No puedo crear una instancia del tipo [{0}]
+applicationContext.addListener.iae.sclNotAllowed=Una vez que el primer ServletContextListener ha sido llamado, no se pueden añadir más ServletContextListeners.
+applicationContext.addListener.iae.wrongType=El tipo especificado [{0}] no es uno de los tipos de escuchador esperados
+applicationContext.addListener.ise=No se pueden añadir escuchadores al contexto {0}, una vez que ha sido inicializado.
+applicationContext.addRole.ise=No se pueden añadir roles al contexto {0}, una vez que ha sido inicializado.
+applicationContext.addServlet.ise=No se pueden añadir servlets al contexto {0}, una vez que ha sido inicializado.
+applicationContext.addSessionCookieConfig.ise=No se puede poner la configuración de Cookie de Sesión para el contexto {0}, una vez que éste ha sido inicializado.
+applicationContext.attributeEvent=Excepción lanzada por escuchador de eventos de atributos
+applicationContext.lookup.error=No pude localizar el recurso [{0}] en el contexto [{1}]
+applicationContext.mapping.error=Error durante mapeo
+applicationContext.requestDispatcher.iae=La Trayectoria {0} no comienza con carácter "/"
+applicationContext.resourcePaths.iae=La Trayectoria {0} no comienza con carácter "/"
+applicationContext.role.iae=Un rol individual que se ha de declarar para el contexto [{0}] no puede ser nulo o cadena vacía
+applicationContext.roles.iae=Un arreglo de roles que se ha de declarar para el contexto [{0}] no puede ser nulo o cadena vacía
+applicationContext.setAttribute.namenull=El nombre no puede ser nulo
+applicationContext.setSessionTracking.iae.invalid=El modo de seguimiento de sesión {0} requerido para el contexto {1} no está soportado por este contexto
+applicationContext.setSessionTracking.iae.ssl=Los modos de seguimiento de sesión requeridos para el contexto {0}, incluyó SSL y al menos otro modo. SSL no se puede configurar con otros modos.
+applicationContext.setSessionTracking.ise=No se pueden poner los modos de seguimiento de sesión para el contexto {0} mientras el contexto se está ejecutando.
+
+applicationDispatcher.allocateException=Excepción de reserva de espacio para servlet {0}
+applicationDispatcher.deallocateException=Excepción de recuperación de espacio para servlet {0}
+applicationDispatcher.forward.ise=No puedo reenviar después de que la respuesta se haya llevado a cabo.
+applicationDispatcher.forward.throw=El recurso reenviado lanzó un excepción
+applicationDispatcher.include.throw=El recurso incluído lanzó una excepción
+applicationDispatcher.isUnavailable=El Servlet {0} no está disponible en este momento
+applicationDispatcher.serviceException=El Servlet.service() para servlet {0} lanzó una excepción
+applicationDispatcher.specViolation.request=SevletRequest original o ServletRequest original arropado no pasó a RequestDispatcher en violación de SRV.8.2 y SRV.14.2.5.1
+applicationDispatcher.specViolation.response=SevletResponse original o ServletResponse original arropado no pasó a RequestDispatcher en violación de SRV.8.2 y SRV.14.2.5.1
+
+applicationFilterConfig.jmxRegisterFail=Ha fallado el registro JMX para el filtro del tipo [{0}] y nombre [{1}]
+applicationFilterConfig.jmxUnregister=Se ha completado el desregistro JMX para el filtro del tipo [{0}] y nombre [{1}]
+applicationFilterConfig.jmxUnregisterFail=Ha fallado el desregistro JMX para el filtro del tipo [{0}] y nombre [{1}]
+
+applicationFilterRegistration.nullInitParam=No puedo poner el parámetro de inicialización para el filtro debido a un nombre nulo y/o valor. Nombre [{0}], Valor [{1}]
+applicationFilterRegistration.nullInitParams=No puedo poner los parámetros de inicialización para el filtro debido a un nombre nulo y/o valor. Nombre [{0}], Valor [{1}]
+
+applicationRequest.badParent=No puedo localizar la implementación de Requerimiento padre
+applicationRequest.badRequest=El requerimiento no es un javax.servlet.ServletRequestWrapper
+
+applicationResponse.badParent=No puedo localizar implementación de Respuesta padre
+applicationResponse.badResponse=La Respuesta no es un javax.servlet.ServletResponseWrapper
+
+applicationServletRegistration.setServletSecurity.iae=Se ha especificado restricción Null para el servlet [{0}] desplegado en el contexto con el nombre [{1}]
+applicationServletRegistration.setServletSecurity.ise=No se pueden añadir restricciones de seguridad al servlet [{0}] desplegado en el contexto con el nombre [{1}] ya que el contexto ya ha sido inicializado.
+
+aprListener.aprDestroy=No pude apagar la biblioteca nativa de Apache Tomcat
+aprListener.aprInit=La biblioteca nativa de Apache Tomcat basada en ARP que permite un rendimiento óptimo en entornos de desarrollo no ha sido hallada en java.library.path: {0}
+aprListener.flags=Capacidades APR: IPv6 [{0}], enviar fichero [{1}], aceptar filtros [{2}], aleatorio [{3}].
 aprListener.initializedOpenSSL=OpenSSL inicializado correctamente ({0})
-asyncContextImpl.requestEnded = El requerimiento asociado con AsyncContext ya ha completado su procesamiento.
-containerBase.alreadyStarted = Ya ha sido arrancado el Contenedor {0}
-containerBase.notConfigured = No se ha configurado V\u00E1lvula b\u00E1sica
-containerBase.notStarted = No se ha arrancado el Contenedor {0}
-containerBase.backgroundProcess.cluster = Excepci\u00F3n al procesar cl\u00FAster {0} de proceso en segundo plano
-containerBase.backgroundProcess.loader = Excepci\u00F3n al procesar cargador {0} de proceso en segundo plano
-containerBase.backgroundProcess.manager = Excepci\u00F3n al procesar gestor {0} de proceso en segundo plano
-containerBase.backgroundProcess.realm = Excepci\u00F3n al procesar reino {0} de proceso en segundo plano
-containerBase.backgroundProcess.valve = Excepci\u00F3n al procesar v\u00E1lvula {0} de proceso en segundo plano
-fastEngineMapper.alreadyStarted = Ya se ha arrancado el FastEngineMapper {0}
-fastEngineMapper.notStarted = No se ha arrancado a\u00FAn el FastEngineMapper {0}
-filterChain.filter = La ejecuci\u00F3n del Filtro lanz\u00F3 una excepci\u00F3n
-filterChain.servlet = La ejecuci\u00F3n del Servlet lanz\u00F3 una excepci\u00F3n
-httpContextMapper.container = Este Contenedor no es un StandardContext
-httpEngineMapper.container = Este Contenedor no es un StandardEngine
-httpHostMapper.container = Esta Contenedor no es una StandardHost
-interceptorValve.alreadyStarted = Ya ha sido arrancada la InterceptorValve
-interceptorValve.notStarted = A\u00FAn no ha sido arrancada la InterceptorValve
-jreLeakListener.keepAliveFail = No pude disparar la creaci\u00F3n de la clase sun.net.www.http.HttpClient durante el arranque de Tomcat para prevenir posibles fallos de memoria. Esto es lo esperado en JVMs no Sun.
-jreLeakListener.gcDaemonFail = No pude disparar la creaci\u00F3n del hilo Daemon GC durante el arranque de Tomcat para prevenir posibles fallos de memoria. Esto es lo esperado en JVMs no Sun.
-jreLeakListener.jarUrlConnCacheFail = No pude desactivar la cach\u00E9 de conexi\u00F3n URL de Jar por defecto
-jreLeakListener.xmlParseFail = Error mientras intentaba prevenir fallos de memoria durante el an\u00E1lisis XML
-jreLeakListener.authPolicyFail = Error mientras intentaba prevenir fallos de memoria en javax.security.auth.Policy class
-jreLeakListener.ldapPoolManagerFail = No pude disparar la creaci\u00F3n de la clase com.sun.jndi.ldap.LdapPoolManager durante el arranque de Tomcat para prevenir posibles fallos de memoria. Esto es lo que se espera si las JVMs no son Sun.
-naming.wsdlFailed = No pude hallar fichero wsdl\: {0}
-naming.bindFailed = No pude cambiar (bind) objeto\: {0}
-naming.jmxRegistrationFailed = No pude registrar en JMX\: {0}
-naming.unbindFailed = No pude descambiar (unbind) objecto\: {0}
-naming.invalidEnvEntryType = La entrada de Entorno {0} tiene un tipo inv\u00E1lido
-naming.invalidEnvEntryValue = La entrada de Entorno {0} tiene un valor inv\u00E1lido
-naming.namingContextCreationFailed = Fall\u00F3 la creaci\u00F3n del contexto de nombres (naming)\: {0}
-standardContext.invalidWrapperClass = {0} no es una subclase de StandardWrapper
-standardContext.alreadyStarted = Ya se ha arrancado el Contexto
-standardContext.applicationListener = Error configurando escuchador de aplicaci\u00F3n de clase {0}
-standardContext.applicationSkipped = Se ha saltado la instalaci\u00F3n de escuchadores de aplicaci\u00F3n debido a error(es) previo(s)
-standardContext.badRequest = Trayectoria de requerimiento inv\u00E1lida ({0}).
-standardContext.cluster.noManager = No se ha hallado el gestor. Revisando si hay que usar el gestor de cl\u00FAster. Cl\u00FAster configurado\: [{0}], Aplicaci\u00F3n distribu\u00EDble\: [{1}]
-standardContext.crlfinurl = El modelo URL "{0}" contiene un CR o LR y por ello nunca coincidir\u00E1.
-standardContext.duplicateListener = El escuchador "{0}" ya est\u00E1 configurado para este contexto. La definici\u00F3n duplicada ha sido ignorada.
-standardContext.errorPage.error = La localizaci\u00F3n de la p\u00E1gina de error 0} debe de comenzar con ''/''
-standardContext.errorPage.required = ErrorPage no puede ser nulo
-standardContext.errorPage.warning = AVISO\: La localizaci\u00F3n de la p\u00E1gina de error {0} debe de comenzar con ''/'' en Servlet 2.4
-standardContext.filterMap.either = El mapeo de filtro debe de especificar o un <url-pattern> o un <servlet-name>
-standardContext.filterMap.name = El mapeo de filtro especifica un nombre desconocido de filtro {0}
-standardContext.filterMap.pattern = <url-pattern> {0} inv\u00E1lido en mapeo de filtro
-standardContext.filterStart = Excepci\u00F3n arrancando filtro {0}
-standardContext.filterStartFailed = No pude arrancar Filtros de aplicaci\u00F3n con \u00E9xito
-standardContext.requestListener.requestInit = Una excepci\u00F3n durante el env\u00EDo de requerimiento ha iniciado un evento de ciclo de vida (lifecycle event) para la instancia de clase a la escucha (listener) {0}
-standardContext.requestListener.requestDestroy = Una excepci\u00F3n durante el env\u00EDo de requerimiento ha destru\u00EDdo un evento de ciclo de vida (lifecycle event) para la instancia de clase a la escucha (listener) {0}
-standardContext.requestListenerStartFailed = No pude arrancar v\u00E1lvula de escuchador de requerimiento con exito
-standardContext.requestListenerConfig.added = A\u00F1adida V\u00E1lvula de escuchador de requerimiento
-standardContext.requestListenerConfig.error = Excepci\u00F3n a\u00F1adiendo V\u00E1lvula de escuchador de requerimiento\: {0}
-standardContext.isUnavailable = Esta aplicaci\u00F3n no est\u00E1 disponible en este momento
-standardContext.listenerStart = Excepci\u00F3n enviando evento inicializado de contexto a instancia de escuchador de clase {0}
-standardContext.listenerStartFailed = No pude arrancar Escuchadores de aplicaci\u00F3n con \u00E9xito
-standardContext.listenerStop = Excepci\u00F3n enviando evento de contexto destru\u00EDdo a instancia de escuchador de clase {0}
-standardContext.loginConfig.errorPage = La P\u00E1gina de error de Formulario {0} debe de comenzar con ''/''
-standardContext.loginConfig.errorWarning = AVISO\: La p\u00E1gina de error de Formulario {0} debe de comenzar con ''/'' en Servlet 2.4
-standardContext.loginConfig.loginPage = La p\u00E1gina de login de Formulario {0} debe de comenzar con ''/''
-standardContext.loginConfig.loginWarning = AVISO\: La p\u00E1gina de login de Formulario {0} debe de comenzar con ''/'' en Servlet 2.4
-standardContext.loginConfig.required = LoginConfig no puede ser nula
-standardContext.manager = Configurado un gestor de la clase [{0}]
-standardContext.mappingError = Error de configuraci\u00F3n de MAPEO para URI relativa {0}
-standardContext.namingResource.init.fail = No pude inicializar recursos de nuevo nombre
-standardContext.namingResource.destroy.fail = No pude destruir recursos de viejo nombre
-standardContext.noResourceJar = Los JARs de recurso no est\u00E1n soportados. El JAR hallado en [{0}] no se utilizar\u00E1 para proveer de contenido est\u00E1tico para el contexto con nombre [{1}]
-standardContext.notFound = El recurso requerido ({0}) no se encuentra disponible
-standardContext.notReloadable = Est\u00E1 desactivada la recarga en este Contexto
-standardContext.notStarted = A\u00FAn no se ha arrancado el Contexto [{0}]
-standardContext.notWrapper = El Hijo de un Contexto debe de ser un Arropador (Wrapper)
-standardContext.parameter.duplicate = Duplicado par\u00E1metro de inicializaci\u00F3n de contexto [{0}]
-standardContext.parameter.required = Es necesario poner nombre de par\u00E1metro y valor de par\u00E1metro
-standardContext.pathInvalid = Una ruta de contexto debe de ser o una cadena vac\u00EDa o comenzar con "/". La ruta [{0}] no cumple con estos criterios y ha sido cambiada por [{1}]
-standardContext.reloadingCompleted = Se ha completado la recarga de este Contexto
-standardContext.reloadingFailed = Fall\u00F3 la recarga de este Contexto debido a errores previos
-standardContext.reloadingStarted = Ha comenzado la recarga de Contexto [{0}]
-standardContext.resourcesStart = Error arrancando Recursos est\u00E1ticos
-standardContext.securityConstraint.mixHttpMethod = No est\u00E1 permitido mezclar <http-method> y <http-method-omission> ien la misma  colecci\u00F3n de recursos web
-standardContext.securityConstraint.pattern = <url-pattern> {0} inv\u00E1lida en restricci\u00F3n de seguridad
-standardContext.servletMap.name = El mapeo de Servlet especifica un nombre de servlet desconocido {0}
-standardContext.servletMap.pattern = <url-pattern> {0} inv\u00E1lida en mapeo de servlet
-standardContext.startCleanup = Excepci\u00F3n durante la limpieza tras no poder arrancar
-standardContext.startFailed = Fall\u00F3 en arranque del Contexto [{0}] debido a errores previos
-standardContext.startingContext = Excepci\u00F3n arrancando Contexto con nombre [{0}]
-standardContext.startingLoader = Excepci\u00F3n arrancando Cargador
-standardContext.startingManager = Excepci\u00F3n arrancando Gestor
-standardContext.startingWrapper = Excepci\u00F3n arrancando Arropador (Wrapper) para servlet {0}
-standardContext.stoppingContext = Excepci\u00F3n parando Context [{0}]
-standardContext.stoppingLoader = Excepci\u00F3n parando Cargador
-standardContext.stoppingManager = Excepci\u00F3n parando Gestor
-standardContext.stoppingWrapper = Excepci\u00F3n parando Arropador (Wrapper) para servlet {0}
-standardContext.urlDecode = No puedo decodificar URL de trayectoria de requerimiento {0}
-standardContext.urlPattern.patternWarning = AVISO\: el patr\u00F3n URL {0} debe de comenzar con ''/'' en Servlet 2.4
-standardContext.urlValidate = No puedo validar trayectoria de requerimiento de URL decodificada {0}
-standardContext.workPath = Excepci\u00F3n obteniendo ruta de trabajo para el contexto [{0}]
-standardContext.workCreateException = No pude determinar directorio absoluto de trabajo a partir del directorio [{0}] y  CATALINA_HOME [{1}] para el contexto [{2}]
-standardContext.workCreateFail = No pude crear el directorio de trabajo [{0}] para el contexto [{1}]
-standardContextValve.acknowledgeException = No pude reconocer el requerimiento con una respuesta 100 (Continuar)
-standardEngine.alreadyStarted = Ya ha sido arrancado el Motor
-standardEngine.jvmRouteFail = No pude poner el atributo jvmRoute del Motor para la propiedad del sistema
-standardEngine.mappingError = Error de configuraci\u00F3n de MAPEO para nombre de servidor {0}
-standardEngine.noHost = No hay M\u00E1quina que coincida con nombre de servidor {0}
-standardEngine.noHostHeader = Requerimiento HTTP/1.1 sin M\u00E1quina\: cabecera
-standardEngine.notHost = El Hijo de un Motor debe de ser un M\u00E1quina
-standardEngine.notParent = El Motor no puede tener un Contenedor padre
-standardEngine.notStarted = A\u00FAn no se ha arrancado el Motor
-standardEngine.unfoundHost = M\u00E1quina virtual {0} no hallada
-standardEngine.unknownHost = No se ha especificado m\u00E1quina servidora en este requerimiento
-standardEngine.unregister.mbeans.failed = Error al destruir (destroy()) para fichero mbean {0}
-standardHost.accessBase = No puedo acceder a directorio base de documento {0}
-standardHost.alreadyStarted = Ya ha sido arrancada la M\u00E1quina
-standardHost.appBase = No existe el directorio base de aplicaci\u00F3n {0}
-standardHost.clientAbort = El Cliente Remoto Abort\u00F3 el Requerimiento, IOException\: {0}
-standardHost.configRequired = Es necesario poner la URL a archivo de configuraci\u00F3n
-standardHost.configNotAllowed = No se permite el uso del archivo de configuraci\u00F3n
-standardHost.installBase = S\u00F3lo se pueden instalar aplicaciones web en el directorio de aplicaciones web de M\u00E1quina
-standardHost.installing = Instalando aplicaciones web en trayectoria de contexto {0} desde URL {1}
-standardHost.installingWAR = Instalando aplicaci\u00F3n web desde URL {0}
-standardHost.installingXML = Procesando URL de archivo de configuraci\u00F3n de Contexto {0}
-standardHost.installError = Error desplegando aplicaci\u00F3n en trayectoria de contexto {0}
-standardHost.invalidErrorReportValveClass = No pude cargar clase especifiada de v\u00E1lvula de informe de error\: {0}
-standardHost.docBase = Ya existe el directorio base de documento {0}
-standardHost.mappingError = Error de configuraci\u00F3n de MAPEO para URI de requerimiento {0}
-standardHost.noContext = No se ha configurado Contexto para procesar este requerimiento
-standardHost.noHost = No se ha configurado M\u00E1quina para procesar este requerimiento
-standardHost.notContext = El Hijo de una M\u00E1quina debe de ser un Contexto
-standardHost.notStarted = A\u00FAn no se ha arrancado la M\u00E1quina
-standardHost.nullName = Es necesario poner el nombre de M\u00E1quina
-standardHost.pathFormat = Trayectoria de contexto inv\u00E1lida\: {0}
-standardHost.pathMatch = La trayectoria de Contexto {0} debe de coincidir con el nombre de directorio o de archivo WAR\: {1}
-standardHost.pathMissing = La trayectoria de Contexto {0} no est\u00E1 en uso en este momento
-standardHost.pathRequired = Es necesario poner la trayectoria de Contexto
-standardHost.pathUsed = Ya est\u00E1 en uso la trayectoria de Contexto {0}
-standardHost.removing = Quitando aplicaci\u00F3n web en trayectoria de contexto {0}
-standardHost.removeError = Error quitando aplicaci\u00F3n en trayectoria de contexto {0}
-standardHost.start = Arrancando aplicaci\u00F3n web en trayectoria de contexto {0}
-standardHost.stop = Parando aplicaci\u00F3n web en trayectoria de contexto {0}
-standardHost.unfoundContext = No puedo hallar contexto para URI de requerimiento {0}
-standardHost.warRequired = Es necesario poner la URL a archivo de aplicaci\u00F3n web
-standardHost.warURL = URL inv\u00E1lida para archivo de aplicaci\u00F3n web\: {0}
-standardServer.onameFail = El nombre MBean especificado para el Servidor [{0}] no es v\u00E1lido
-standardServer.shutdownViaPort = Se ha recibido un comando de apagado a trav\u00E9s del puerto de apagado. Parando la instancia del Servidor.
-standardService.connector.initFailed = No pude inicializar el conector [{0}]
-standardService.connector.destroyFailed = No pude destruir el conector [{0}]
-standardService.connector.pauseFailed = No pude pausar el conector [{0}]
-standardService.connector.startFailed = No pude arrancar el conector [{0}]
-standardService.connector.stopFailed = No pude parar el conector [{0}]
-standardService.initialize.failed = Servicio inicializando en {0} fall\u00F3
-standardService.onameFail = El nombre MBean especificado para el Servicio [{0}] no es v\u00E1lido
-standardService.register.failed = Error registrando servicio en dominio {0}
-standardService.start.name = Arrancando servicio {0}
-standardService.stop.name = Parando servicio {0}
-standardThreadExecutor.onameFail = El nombre MBean especificado para el Ejecutor de Hilos [{0}] no es v\u00E1lido
-standardWrapper.allocate = Error reservando espacio para una instancia de servlet
-standardWrapper.allocateException = Excepci\u00F3n de reserva de espacio para servlet {0}
-standardWrapper.containerServlet = Cargando servlet de contenedor {0}
-standardWrapper.createFilters = Excepci\u00F3n de creaci\u00F3n de filtros para servlet {0}
-standardWrapper.deallocateException = Excepci\u00F3n de recuperaci\u00F3n de espacio para servlet {0}
-standardWrapper.destroyException = Servlet.destroy() para servlet {0} lanz\u00F3 excepci\u00F3n
-standardWrapper.exception0 = Informe de Excepci\u00F3n de Tomcat
-standardWrapper.exception1 = Ha tenido lugar una Excepci\u00F3n de Servlet
-standardWrapper.exception2 = Informe de Excepci\u00F3n\:
-standardWrapper.exception3 = Causa Ra\u00EDz\:
-standardWrapper.initException = Servlet.init() para servlet {0} lanz\u00F3 excepci\u00F3n
-standardWrapper.instantiate = Error instanciando clase de servlet {0}
-standardWrapper.isUnavailable = El Servlet {0} no est\u00E1 disponible en este momento
-standardWrapper.jasperLoader = Usando cargador de clases (classloader) de Jasper para servlet {0}
-standardWrapper.jspFile.format = El archivo JSP {0} no comienza con car\u00E1cter ''/''
-standardWrapper.missingClass = El Arropador (Wrapper) no puede hallar clase de servlet {0} o una clase de la que depende
-standardWrapper.missingLoader = El Arropador (Wrapper) no puede hallar Cargador para servlet {0}
-standardWrapper.notChild = El contenedor de Arropador (Wrapper) no puede tener contenedores hijo
-standardWrapper.notClass = No se ha especificado clase de servlet para servlet {0}
-standardWrapper.notContext = El contenedor padre para un Arropador (Wrapper) debe de ser un Contexto
-standardWrapper.notFound = No est\u00E1 disponible el Servlet {0}
-standardWrapper.notServlet = La Clase {0} no es un Servlet
-standardWrapper.releaseFilters = Excepci\u00F3n de Liberaci\u00F3n de filtros para servlet {0}
-standardWrapper.serviceException = Servlet.service() para servlet {0} lanz\u00F3 excepci\u00F3n
-standardWrapper.serviceExceptionRoot = El Servlet.service() para el servlet [{0}] en el contexto con ruta [{1}] lanz\u00F3 la excepci\u00F3n [{2}] con causa ra\u00EDz
-standardWrapper.statusHeader = HTTP Estado {0} - {1}
-standardWrapper.statusTitle = Informe de Error de Tomcat
-standardWrapper.unavailable = Marcando el servlet {0} como no disponible
-standardWrapper.unloadException = El Servlet {0} lanz\u00F3 excepci\u00F3n unload()
-standardWrapper.unloading = No puedo reservar espacio para servlet {0} porque est\u00E1 siendo descargado
-standardWrapper.waiting = Esperando por {0} instancia(s) para recuperar su espacio reservado
-threadLocalLeakPreventionListener.lifecycleEvent.error = Excepci\u00F3n procesando evento de ciclo de vida {0}
-threadLocalLeakPreventionListener.containerEvent.error = Excepci\u00F3n procesando evento de contenedor {0}
-defaultInstanceManager.restrictedServletsResource = No se ha hallado el fichero de propiedades restringidas de servlets
-defaultInstanceManager.privilegedServlet = El Servlet de clase {0} es privilegiado y no puede ser cargado mediante esta aplicaci\u00F3n
-defaultInstanceManager.restrictedFiltersResource = No se ha hallado el fichero de propiedades restringidas de filtros
-defaultInstanceManager.privilegedFilter = El filtro de clase {0} es privilegiado y no puede ser cargado mediante esta apliaci\u00F3n web
-defaultInstanceManager.restrictedListenersResources = No se ha hallado el fichero de propiedades restringidas de escuchadores
+aprListener.sslInit=No pude inicializar el SSLEngine (Motor SSL)
+aprListener.tcnInvalid=Se encuentra instalada una versión incompatible {0} de la biblioteca nativa APR de Apache Tomcat, mientras que Tomcat necesita la versión {1}
+aprListener.tcnValid=Cargada la biblioteca nativa APR de Apache Tomcat {0} con la versi�n APR {1}.
+aprListener.tcnVersion=Se encuentra instalada una versión muy vieja {0} de la biblioteca nativa APR de Apache Tomcat, mientras que Tomcat recomienda una versión mayor de {1}
+
+asyncContextImpl.requestEnded=El requerimiento asociado con AsyncContext ya ha completado su procesamiento.
+
+containerBase.alreadyStarted=Ya ha sido arrancado el Contenedor {0}
+containerBase.backgroundProcess.cluster=Excepción al procesar clúster {0} de proceso en segundo plano
+containerBase.backgroundProcess.loader=Excepción al procesar cargador {0} de proceso en segundo plano
+containerBase.backgroundProcess.manager=Excepción al procesar gestor {0} de proceso en segundo plano
+containerBase.backgroundProcess.realm=Excepción al procesar reino {0} de proceso en segundo plano
+containerBase.backgroundProcess.valve=Excepción al procesar válvula {0} de proceso en segundo plano
+containerBase.notConfigured=No se ha configurado Válvula básica
+containerBase.notStarted=No se ha arrancado el Contenedor {0}
+
+defaultInstanceManager.privilegedFilter=El filtro de clase {0} es privilegiado y no puede ser cargado mediante esta apliación web
+defaultInstanceManager.privilegedServlet=El Servlet de clase {0} es privilegiado y no puede ser cargado mediante esta aplicación
+defaultInstanceManager.restrictedFiltersResource=No se ha hallado el fichero de propiedades restringidas de filtros
+defaultInstanceManager.restrictedListenersResources=No se ha hallado el fichero de propiedades restringidas de escuchadores
+defaultInstanceManager.restrictedServletsResource=No se ha hallado el fichero de propiedades restringidas de servlets
+
+fastEngineMapper.alreadyStarted=Ya se ha arrancado el FastEngineMapper {0}
+fastEngineMapper.notStarted=No se ha arrancado aún el FastEngineMapper {0}
+
+filterChain.filter=La ejecución del Filtro lanzó una excepción
+filterChain.servlet=La ejecución del Servlet lanzó una excepción
+
+httpContextMapper.container=Este Contenedor no es un StandardContext
+
+httpEngineMapper.container=Este Contenedor no es un StandardEngine
+
+httpHostMapper.container=Esta Contenedor no es una StandardHost
+
+interceptorValve.alreadyStarted=Ya ha sido arrancada la InterceptorValve
+interceptorValve.notStarted=Aún no ha sido arrancada la InterceptorValve
+
+jreLeakListener.authPolicyFail=Error mientras intentaba prevenir fallos de memoria en javax.security.auth.Policy class
+jreLeakListener.gcDaemonFail=No pude disparar la creación del hilo Daemon GC durante el arranque de Tomcat para prevenir posibles fallos de memoria. Esto es lo esperado en JVMs no Sun.
+jreLeakListener.jarUrlConnCacheFail=No pude desactivar la caché de conexión URL de Jar por defecto
+jreLeakListener.keepAliveFail=No pude disparar la creación de la clase sun.net.www.http.HttpClient durante el arranque de Tomcat para prevenir posibles fallos de memoria. Esto es lo esperado en JVMs no Sun.
+jreLeakListener.ldapPoolManagerFail=No pude disparar la creación de la clase com.sun.jndi.ldap.LdapPoolManager durante el arranque de Tomcat para prevenir posibles fallos de memoria. Esto es lo que se espera si las JVMs no son Sun.
+jreLeakListener.xmlParseFail=Error mientras intentaba prevenir fallos de memoria durante el análisis XML
+
+naming.bindFailed=No pude cambiar (bind) objeto: {0}
+naming.invalidEnvEntryType=La entrada de Entorno {0} tiene un tipo inválido
+naming.invalidEnvEntryValue=La entrada de Entorno {0} tiene un valor inválido
+naming.jmxRegistrationFailed=No pude registrar en JMX: {0}
+naming.namingContextCreationFailed=Falló la creación del contexto de nombres (naming): {0}
+naming.unbindFailed=No pude descambiar (unbind) objecto: {0}
+naming.wsdlFailed=No pude hallar fichero wsdl: {0}
+
+standardContext.alreadyStarted=Ya se ha arrancado el Contexto
+standardContext.applicationListener=Error configurando escuchador de aplicación de clase {0}
+standardContext.applicationSkipped=Se ha saltado la instalación de escuchadores de aplicación debido a error(es) previo(s)
+standardContext.badRequest=Trayectoria de requerimiento inválida ({0}).
+standardContext.cluster.noManager=No se ha hallado el gestor. Revisando si hay que usar el gestor de clúster. Clúster configurado: [{0}], Aplicación distribuíble: [{1}]
+standardContext.crlfinurl=El modelo URL "{0}" contiene un CR o LR y por ello nunca coincidirá.
+standardContext.duplicateListener=El escuchador "{0}" ya está configurado para este contexto. La definición duplicada ha sido ignorada.
+standardContext.errorPage.error=La localización de la página de error 0} debe de comenzar con ''/''
+standardContext.errorPage.required=ErrorPage no puede ser nulo
+standardContext.errorPage.warning=AVISO: La localización de la página de error {0} debe de comenzar con ''/'' en Servlet 2.4
+standardContext.filterMap.either=El mapeo de filtro debe de especificar o un <url-pattern> o un <servlet-name>
+standardContext.filterMap.name=El mapeo de filtro especifica un nombre desconocido de filtro {0}
+standardContext.filterMap.pattern=<url-pattern> {0} inválido en mapeo de filtro
+standardContext.filterStart=Excepción arrancando filtro {0}
+standardContext.filterStartFailed=No pude arrancar Filtros de aplicación con éxito
+standardContext.invalidWrapperClass={0} no es una subclase de StandardWrapper
+standardContext.isUnavailable=Esta aplicación no está disponible en este momento
+standardContext.listenerStart=Excepción enviando evento inicializado de contexto a instancia de escuchador de clase {0}
+standardContext.listenerStartFailed=No pude arrancar Escuchadores de aplicación con éxito
+standardContext.listenerStop=Excepción enviando evento de contexto destruído a instancia de escuchador de clase {0}
+standardContext.loginConfig.errorPage=La Página de error de Formulario {0} debe de comenzar con ''/''
+standardContext.loginConfig.errorWarning=AVISO: La página de error de Formulario {0} debe de comenzar con ''/'' en Servlet 2.4
+standardContext.loginConfig.loginPage=La página de login de Formulario {0} debe de comenzar con ''/''
+standardContext.loginConfig.loginWarning=AVISO: La página de login de Formulario {0} debe de comenzar con ''/'' en Servlet 2.4
+standardContext.loginConfig.required=LoginConfig no puede ser nula
+standardContext.manager=Configurado un gestor de la clase [{0}]
+standardContext.mappingError=Error de configuración de MAPEO para URI relativa {0}
+standardContext.namingResource.destroy.fail=No pude destruir recursos de viejo nombre
+standardContext.namingResource.init.fail=No pude inicializar recursos de nuevo nombre
+standardContext.noResourceJar=Los JARs de recurso no están soportados. El JAR hallado en [{0}] no se utilizará para proveer de contenido estático para el contexto con nombre [{1}]
+standardContext.notFound=El recurso requerido ({0}) no se encuentra disponible
+standardContext.notReloadable=Está desactivada la recarga en este Contexto
+standardContext.notStarted=Aún no se ha arrancado el Contexto [{0}]
+standardContext.notWrapper=El Hijo de un Contexto debe de ser un Arropador (Wrapper)
+standardContext.parameter.duplicate=Duplicado parámetro de inicialización de contexto [{0}]
+standardContext.parameter.required=Es necesario poner nombre de parámetro y valor de parámetro
+standardContext.pathInvalid=Una ruta de contexto debe de ser o una cadena vacía o comenzar con "/". La ruta [{0}] no cumple con estos criterios y ha sido cambiada por [{1}]
+standardContext.reloadingCompleted=Se ha completado la recarga de este Contexto
+standardContext.reloadingFailed=Falló la recarga de este Contexto debido a errores previos
+standardContext.reloadingStarted=Ha comenzado la recarga de Contexto [{0}]
+standardContext.requestListener.requestDestroy=Una excepción durante el envío de requerimiento ha destruído un evento de ciclo de vida (lifecycle event) para la instancia de clase a la escucha (listener) {0}
+standardContext.requestListener.requestInit=Una excepción durante el envío de requerimiento ha iniciado un evento de ciclo de vida (lifecycle event) para la instancia de clase a la escucha (listener) {0}
+standardContext.requestListenerConfig.added=Añadida Válvula de escuchador de requerimiento
+standardContext.requestListenerConfig.error=Excepción añadiendo Válvula de escuchador de requerimiento: {0}
+standardContext.requestListenerStartFailed=No pude arrancar válvula de escuchador de requerimiento con exito
+standardContext.resourcesStart=Error arrancando Recursos estáticos
+standardContext.securityConstraint.mixHttpMethod=No está permitido mezclar <http-method> y <http-method-omission> ien la misma  colección de recursos web
+standardContext.securityConstraint.pattern=<url-pattern> {0} inválida en restricción de seguridad
+standardContext.servletMap.name=El mapeo de Servlet especifica un nombre de servlet desconocido {0}
+standardContext.servletMap.pattern=<url-pattern> {0} inválida en mapeo de servlet
+standardContext.startCleanup=Excepción durante la limpieza tras no poder arrancar
+standardContext.startFailed=Falló en arranque del Contexto [{0}] debido a errores previos
+standardContext.startingContext=Excepción arrancando Contexto con nombre [{0}]
+standardContext.startingLoader=Excepción arrancando Cargador
+standardContext.startingManager=Excepción arrancando Gestor
+standardContext.startingWrapper=Excepción arrancando Arropador (Wrapper) para servlet {0}
+standardContext.stoppingContext=Excepción parando Context [{0}]
+standardContext.stoppingLoader=Excepción parando Cargador
+standardContext.stoppingManager=Excepción parando Gestor
+standardContext.stoppingWrapper=Excepción parando Arropador (Wrapper) para servlet {0}
+standardContext.urlDecode=No puedo decodificar URL de trayectoria de requerimiento {0}
+standardContext.urlPattern.patternWarning=AVISO: el patrón URL {0} debe de comenzar con ''/'' en Servlet 2.4
+standardContext.urlValidate=No puedo validar trayectoria de requerimiento de URL decodificada {0}
+standardContext.workCreateException=No pude determinar directorio absoluto de trabajo a partir del directorio [{0}] y  CATALINA_HOME [{1}] para el contexto [{2}]
+standardContext.workCreateFail=No pude crear el directorio de trabajo [{0}] para el contexto [{1}]
+standardContext.workPath=Excepción obteniendo ruta de trabajo para el contexto [{0}]
+
+standardContextValve.acknowledgeException=No pude reconocer el requerimiento con una respuesta 100 (Continuar)
+
+standardEngine.alreadyStarted=Ya ha sido arrancado el Motor
+standardEngine.jvmRouteFail=No pude poner el atributo jvmRoute del Motor para la propiedad del sistema
+standardEngine.mappingError=Error de configuración de MAPEO para nombre de servidor {0}
+standardEngine.noHost=No hay Máquina que coincida con nombre de servidor {0}
+standardEngine.noHostHeader=Requerimiento HTTP/1.1 sin Máquina: cabecera
+standardEngine.notHost=El Hijo de un Motor debe de ser un Máquina
+standardEngine.notParent=El Motor no puede tener un Contenedor padre
+standardEngine.notStarted=Aún no se ha arrancado el Motor
+standardEngine.unfoundHost=Máquina virtual {0} no hallada
+standardEngine.unknownHost=No se ha especificado máquina servidora en este requerimiento
+standardEngine.unregister.mbeans.failed=Error al destruir (destroy()) para fichero mbean {0}
+
+standardHost.accessBase=No puedo acceder a directorio base de documento {0}
+standardHost.alreadyStarted=Ya ha sido arrancada la Máquina
+standardHost.appBase=No existe el directorio base de aplicación {0}
+standardHost.clientAbort=El Cliente Remoto Abortó el Requerimiento, IOException: {0}
+standardHost.configNotAllowed=No se permite el uso del archivo de configuración
+standardHost.configRequired=Es necesario poner la URL a archivo de configuración
+standardHost.docBase=Ya existe el directorio base de documento {0}
+standardHost.installBase=Sólo se pueden instalar aplicaciones web en el directorio de aplicaciones web de Máquina
+standardHost.installError=Error desplegando aplicación en trayectoria de contexto {0}
+standardHost.installing=Instalando aplicaciones web en trayectoria de contexto {0} desde URL {1}
+standardHost.installingWAR=Instalando aplicación web desde URL {0}
+standardHost.installingXML=Procesando URL de archivo de configuración de Contexto {0}
+standardHost.invalidErrorReportValveClass=No pude cargar clase especifiada de válvula de informe de error: {0}
+standardHost.mappingError=Error de configuración de MAPEO para URI de requerimiento {0}
+standardHost.noContext=No se ha configurado Contexto para procesar este requerimiento
+standardHost.noHost=No se ha configurado Máquina para procesar este requerimiento
+standardHost.notContext=El Hijo de una Máquina debe de ser un Contexto
+standardHost.notStarted=Aún no se ha arrancado la Máquina
+standardHost.nullName=Es necesario poner el nombre de Máquina
+standardHost.pathFormat=Trayectoria de contexto inválida: {0}
+standardHost.pathMatch=La trayectoria de Contexto {0} debe de coincidir con el nombre de directorio o de archivo WAR: {1}
+standardHost.pathMissing=La trayectoria de Contexto {0} no está en uso en este momento
+standardHost.pathRequired=Es necesario poner la trayectoria de Contexto
+standardHost.pathUsed=Ya está en uso la trayectoria de Contexto {0}
+standardHost.removeError=Error quitando aplicación en trayectoria de contexto {0}
+standardHost.removing=Quitando aplicación web en trayectoria de contexto {0}
+standardHost.start=Arrancando aplicación web en trayectoria de contexto {0}
+standardHost.stop=Parando aplicación web en trayectoria de contexto {0}
+standardHost.unfoundContext=No puedo hallar contexto para URI de requerimiento {0}
+standardHost.warRequired=Es necesario poner la URL a archivo de aplicación web
+standardHost.warURL=URL inválida para archivo de aplicación web: {0}
+
+standardServer.onameFail=El nombre MBean especificado para el Servidor [{0}] no es válido
+standardServer.shutdownViaPort=Se ha recibido un comando de apagado a través del puerto de apagado. Parando la instancia del Servidor.
+
+standardService.connector.destroyFailed=No pude destruir el conector [{0}]
+standardService.connector.initFailed=No pude inicializar el conector [{0}]
+standardService.connector.pauseFailed=No pude pausar el conector [{0}]
+standardService.connector.startFailed=No pude arrancar el conector [{0}]
+standardService.connector.stopFailed=No pude parar el conector [{0}]
+standardService.initialize.failed=Servicio inicializando en {0} falló
+standardService.onameFail=El nombre MBean especificado para el Servicio [{0}] no es válido
+standardService.register.failed=Error registrando servicio en dominio {0}
+standardService.start.name=Arrancando servicio {0}
+standardService.stop.name=Parando servicio {0}
+
+standardThreadExecutor.onameFail=El nombre MBean especificado para el Ejecutor de Hilos [{0}] no es válido
+
+standardWrapper.allocate=Error reservando espacio para una instancia de servlet
+standardWrapper.allocateException=Excepción de reserva de espacio para servlet {0}
+standardWrapper.containerServlet=Cargando servlet de contenedor {0}
+standardWrapper.createFilters=Excepción de creación de filtros para servlet {0}
+standardWrapper.deallocateException=Excepción de recuperación de espacio para servlet {0}
+standardWrapper.destroyException=Servlet.destroy() para servlet {0} lanzó excepción
+standardWrapper.exception0=Informe de Excepción de Tomcat
+standardWrapper.exception1=Ha tenido lugar una Excepción de Servlet
+standardWrapper.exception2=Informe de Excepción:
+standardWrapper.exception3=Causa Raíz:
+standardWrapper.initException=Servlet.init() para servlet {0} lanzó excepción
+standardWrapper.instantiate=Error instanciando clase de servlet {0}
+standardWrapper.isUnavailable=El Servlet {0} no está disponible en este momento
+standardWrapper.jasperLoader=Usando cargador de clases (classloader) de Jasper para servlet {0}
+standardWrapper.jspFile.format=El archivo JSP {0} no comienza con carácter ''/''
+standardWrapper.missingClass=El Arropador (Wrapper) no puede hallar clase de servlet {0} o una clase de la que depende
+standardWrapper.missingLoader=El Arropador (Wrapper) no puede hallar Cargador para servlet {0}
+standardWrapper.notChild=El contenedor de Arropador (Wrapper) no puede tener contenedores hijo
+standardWrapper.notClass=No se ha especificado clase de servlet para servlet {0}
+standardWrapper.notContext=El contenedor padre para un Arropador (Wrapper) debe de ser un Contexto
+standardWrapper.notFound=No está disponible el Servlet {0}
+standardWrapper.notServlet=La Clase {0} no es un Servlet
+standardWrapper.releaseFilters=Excepción de Liberación de filtros para servlet {0}
+standardWrapper.serviceException=Servlet.service() para servlet {0} lanzó excepción
+standardWrapper.serviceExceptionRoot=El Servlet.service() para el servlet [{0}] en el contexto con ruta [{1}] lanzó la excepción [{2}] con causa raíz
+standardWrapper.statusHeader=HTTP Estado {0} - {1}
+standardWrapper.statusTitle=Informe de Error de Tomcat
+standardWrapper.unavailable=Marcando el servlet {0} como no disponible
+standardWrapper.unloadException=El Servlet {0} lanzó excepción unload()
+standardWrapper.unloading=No puedo reservar espacio para servlet {0} porque está siendo descargado
+standardWrapper.waiting=Esperando por {0} instancia(s) para recuperar su espacio reservado
+
+threadLocalLeakPreventionListener.containerEvent.error=Excepción procesando evento de contenedor {0}
+threadLocalLeakPreventionListener.lifecycleEvent.error=Excepción procesando evento de ciclo de vida {0}
diff --git a/java/org/apache/catalina/core/LocalStrings_fr.properties b/java/org/apache/catalina/core/LocalStrings_fr.properties
index 0cfab75..1807100 100644
--- a/java/org/apache/catalina/core/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/core/LocalStrings_fr.properties
@@ -13,154 +13,170 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-applicationContext.attributeEvent=Exception lanc\u00e9e par l''\u00e9couteur (listener) d''\u00e9v\u00e8nement attributs
-applicationContext.requestDispatcher.iae=Le chemin {0} ne commence pas par le caract\u00e8re "/"
-applicationContext.setAttribute.namenull=le nom ne peut \u00eatre nul
+applicationContext.attributeEvent=Exception lancée par l''écouteur (listener) d''évènement attributs
+applicationContext.requestDispatcher.iae=Le chemin {0} ne commence pas par le caractère "/"
+applicationContext.setAttribute.namenull=le nom ne peut être nul
+
 applicationDispatcher.allocateException=Exception d''allocation pour la servlet {0}
-applicationDispatcher.deallocateException=Exception de d\u00e9sallocation pour la servlet {0}
-applicationDispatcher.forward.ise=Impossible d''utiliser faire-suivre (forward) apr\u00e8s que la r\u00e9ponse ait \u00e9t\u00e9 envoy\u00e9e
-applicationDispatcher.forward.throw=La ressource faire-suivre (forwarded) a lanc\u00e9 une exception
-applicationDispatcher.include.throw=La ressource incluse (included) a lanc\u00e9 une exception
+applicationDispatcher.deallocateException=Exception de désallocation pour la servlet {0}
+applicationDispatcher.forward.ise=Impossible d''utiliser faire-suivre (forward) après que la réponse ait été envoyée
+applicationDispatcher.forward.throw=La ressource faire-suivre (forwarded) a lancé une exception
+applicationDispatcher.include.throw=La ressource incluse (included) a lancé une exception
 applicationDispatcher.isUnavailable=La servlet {0} est actuellement indisponible
-applicationDispatcher.serviceException="Servlet.service()" pour la servlet {0} a lanc\u00e9 une exception
-applicationRequest.badParent=Impossible de trouver l''impl\u00e9mentation requ\u00eate parente (parent request)
-applicationRequest.badRequest=La requ\u00eate n''est pas une "javax.servlet.ServletRequestWrapper"
-applicationResponse.badParent=Impossible de trouver une impl\u00e9mentation r\u00e9ponse parente (parent response)
-applicationResponse.badResponse=La r\u00e9ponse n''est pas une "javax.servlet.ServletResponseWrapper"
-containerBase.alreadyStarted=Le conteneur {0} a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9marr\u00e9
-containerBase.notConfigured=Aucune Valve basique (basic valve) n''a \u00e9t\u00e9 configur\u00e9e
-containerBase.notStarted=Le conteneur {0} n''a pas \u00e9t\u00e9 d\u00e9marr\u00e9
-fastEngineMapper.alreadyStarted=le "FastEngineMapper" {0} a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9marr\u00e9
-fastEngineMapper.notStarted=Le "FastEngineMapper" {0} n''a pas encore \u00e9t\u00e9 d\u00e9marr\u00e9
-filterChain.filter=L''ex\u00e9cution du filtre (Filter) a lanc\u00e9 une exception
-filterChain.servlet=L''ex\u00e9cution de la servlet a lanc\u00e9 une exception
+applicationDispatcher.serviceException="Servlet.service()" pour la servlet {0} a lancé une exception
+
+applicationRequest.badParent=Impossible de trouver l''implémentation requête parente (parent request)
+applicationRequest.badRequest=La requête n''est pas une "javax.servlet.ServletRequestWrapper"
+
+applicationResponse.badParent=Impossible de trouver une implémentation réponse parente (parent response)
+applicationResponse.badResponse=La réponse n''est pas une "javax.servlet.ServletResponseWrapper"
+
+containerBase.alreadyStarted=Le conteneur {0} a déjà été démarré
+containerBase.notConfigured=Aucune Valve basique (basic valve) n''a été configurée
+containerBase.notStarted=Le conteneur {0} n''a pas été démarré
+
+fastEngineMapper.alreadyStarted=le "FastEngineMapper" {0} a déjà été démarré
+fastEngineMapper.notStarted=Le "FastEngineMapper" {0} n''a pas encore été démarré
+
+filterChain.filter=L''exécution du filtre (Filter) a lancé une exception
+filterChain.servlet=L''exécution de la servlet a lancé une exception
+
 httpContextMapper.container=Ce conteneur n''est pas un "StandardContext"
+
 httpEngineMapper.container=Ce conteneur n''est pas un "StandardEngine"
+
 httpHostMapper.container=Ce conteneur n''est pas un "StandardHost"
-interceptorValve.alreadyStarted=La valve d''interception (InterceptorValve) a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9marr\u00e9e
-interceptorValve.notStarted=La valve d''interception (InterceptorValve) n''a pas encore \u00e9t\u00e9 d\u00e9marr\u00e9e
-naming.bindFailed=Echec lors du liage \u00e0 l''objet: {0}
-naming.unbindFailed=Echec lors du d\u00e9liage \u00e0 l''objet : {0}
-naming.invalidEnvEntryType=L''entr\u00e9e environnement {0} a un type invalide
-naming.invalidEnvEntryValue=L''entr\u00e9e environnement {0} a une valeur invalide
-naming.namingContextCreationFailed=La cr\u00e9ation du contexte de nommage (naming context) a \u00e9chou\u00e9 : {0}
-standardContext.alreadyStarted=Le contexte a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9marr\u00e9
-standardContext.applicationListener=Erreur lors de la configuration de la classe d''\u00e9coute de l''application (application listener) {0}
-standardContext.applicationSkipped=L''installation des \u00e9couteurs (listeners) de l''application a \u00e9t\u00e9 saut\u00e9e suite aux erreurs pr\u00e9c\u00e9dentes
-standardContext.badRequest=Chemin de requ\u00eate invalide ({0}).
+
+interceptorValve.alreadyStarted=La valve d''interception (InterceptorValve) a déjà été démarrée
+interceptorValve.notStarted=La valve d''interception (InterceptorValve) n''a pas encore été démarrée
+
+naming.bindFailed=Echec lors du liage à l''objet: {0}
+naming.invalidEnvEntryType=L''entrée environnement {0} a un type invalide
+naming.invalidEnvEntryValue=L''entrée environnement {0} a une valeur invalide
+naming.namingContextCreationFailed=La création du contexte de nommage (naming context) a échoué : {0}
+naming.unbindFailed=Echec lors du déliage à l''objet : {0}
+
+standardContext.alreadyStarted=Le contexte a déjà été démarré
+standardContext.applicationListener=Erreur lors de la configuration de la classe d''écoute de l''application (application listener) {0}
+standardContext.applicationSkipped=L''installation des écouteurs (listeners) de l''application a été sautée suite aux erreurs précédentes
+standardContext.badRequest=Chemin de requête invalide ({0}).
 standardContext.errorPage.error=La position de la page d''erreur (ErrorPage) {0} doit commencer par un ''/''
-standardContext.errorPage.required=La page d''erreur (ErrorPage) ne peut \u00eatre nulle
+standardContext.errorPage.required=La page d''erreur (ErrorPage) ne peut être nulle
 standardContext.errorPage.warning=ATTENTION: La position de la page d''erreur (ErrorPage) {0} doit commencer par un ''/'' dans l''API Servlet 2.4
 standardContext.filterMap.either=L''association de filtre (filter mapping) doit indiquer soit une <url-pattern> soit une <servlet-name>
 standardContext.filterMap.name=L''association de filtre (filter mapping) indique un nom de filtre inconnu {0}
 standardContext.filterMap.pattern=<url-pattern> {0} invalide dans l''association de filtre (filter mapping)
-standardContext.filterStart=Exception au d\u00e9marrage du filtre {0}
-standardContext.filterStartFailed=Echec du d\u00e9marrage des filtres d''application
-standardContext.requestListenerStartFailed=Echec d\u00e9marrage des Valves d''\u00e9coute
-standardContext.requestListenerConfig.added=Ajout de la valve d''\u00e9coute
-standardContext.requestListenerConfig.error=Exception lors de l''ajout de la valve d''\u00e9coute de requ\u00eate: {0}
+standardContext.filterStart=Exception au démarrage du filtre {0}
+standardContext.filterStartFailed=Echec du démarrage des filtres d''application
 standardContext.isUnavailable=Cette application n''est pas disponible actuellement
-standardContext.listenerStart=Exception lors de l''envoi de l''\u00e9v\u00e8nement contexte initialis\u00e9 (context initialized) \u00e0 l''instance de classe d''\u00e9coute (listener) {0}
-standardContext.listenerStartFailed=Echec du d\u00e9marrage des \u00e9couteurs (listeners) d''application
-standardContext.listenerStop=Exception lors de l''envoi de l''\u00e9v\u00e8nement contexte d\u00e9truit (context destroyed) \u00e0 l''instance de classe d''\u00e9coute {0}
+standardContext.listenerStart=Exception lors de l''envoi de l''évènement contexte initialisé (context initialized) à l''instance de classe d''écoute (listener) {0}
+standardContext.listenerStartFailed=Echec du démarrage des écouteurs (listeners) d''application
+standardContext.listenerStop=Exception lors de l''envoi de l''évènement contexte détruit (context destroyed) à l''instance de classe d''écoute {0}
 standardContext.loginConfig.errorPage=La forme de page d''erreur (form error page) {0} doit commencer par un ''/''
 standardContext.loginConfig.errorWarning=ATTENTION: La forme de page d''erreur (form error page) {0} doit commencer par un ''/'' dans l''API Servlet 2.4
 standardContext.loginConfig.loginPage=La forme de page de connexion (form login page) {0} doit commencer par un ''/''
 standardContext.loginConfig.loginWarning=ATTENTION: La forme de page de connexion (form login page) {0} doit commencer par un ''/'' dans l''API Servlet 2.4
-standardContext.loginConfig.required="LoginConfig" ne peut \u00eatre nul
+standardContext.loginConfig.required="LoginConfig" ne peut être nul
 standardContext.mappingError=Erreur dans la configuration d''association (mapping configuration) pour l''URI relative {0}
-standardContext.notFound=La ressource demand\u00e9e ({0}) n''est pas disponible.
-standardContext.notReloadable=Le rechargement est d\u00e9sactiv\u00e9 pour ce contexte
-standardContext.notStarted=Le contexte [{0}] n''a pas encore \u00e9t\u00e9 d\u00e9marr\u00e9
-standardContext.notWrapper=Le fils du contexte (child of context) doit \u00eatre un enrobeur (wrapper)
-standardContext.parameter.duplicate=Param\u00e8tre d''initialisation de contexte dupliqu\u00e9 {0}
-standardContext.parameter.required=Le nom de param\u00e8tre ainsi que la valeur du param\u00e8tre sont requis
-standardContext.reloadingCompleted=Le rechargement de ce contexte est termin\u00e9
-standardContext.reloadingFailed=Le rechargement de ce contexte a \u00e9chou\u00e9 suite \u00e0 une erreur pr\u00e9c\u00e9dente
-standardContext.reloadingStarted=Le rechargement du contexte [{0}] a d\u00e9marr\u00e9
-standardContext.requestListener.requestInit=Une exception lors de l''envoi de requ\u00eate a initi\u00e9 un \u00e9v\u00e8nement cycle de vie (lifecycle event) pour l''instance de classe \u00e0 l''\u00e9coute (listener) {0}
-standardContext.requestListener.requestDestroy=Une exception lors de l''envoi de requ\u00eate a d\u00e9truit un \u00e9v\u00e8nement cycle de vie (lifecycle event) pour l''instance de classe \u00e0 l''\u00e9coute (listener) {0}
-standardContext.securityConstraint.pattern=<url-pattern> {0} invalide d''apr\u00e8s les contraintes de s\u00e9curit\u00e9 (security constraint)
+standardContext.notFound=La ressource demandée ({0}) n''est pas disponible.
+standardContext.notReloadable=Le rechargement est désactivé pour ce contexte
+standardContext.notStarted=Le contexte [{0}] n''a pas encore été démarré
+standardContext.notWrapper=Le fils du contexte (child of context) doit être un enrobeur (wrapper)
+standardContext.parameter.duplicate=Paramètre d''initialisation de contexte dupliqué {0}
+standardContext.parameter.required=Le nom de paramètre ainsi que la valeur du paramètre sont requis
+standardContext.reloadingCompleted=Le rechargement de ce contexte est terminé
+standardContext.reloadingFailed=Le rechargement de ce contexte a échoué suite à une erreur précédente
+standardContext.reloadingStarted=Le rechargement du contexte [{0}] a démarré
+standardContext.requestListener.requestDestroy=Une exception lors de l''envoi de requête a détruit un évènement cycle de vie (lifecycle event) pour l''instance de classe à l''écoute (listener) {0}
+standardContext.requestListener.requestInit=Une exception lors de l''envoi de requête a initié un évènement cycle de vie (lifecycle event) pour l''instance de classe à l''écoute (listener) {0}
+standardContext.requestListenerConfig.added=Ajout de la valve d''écoute
+standardContext.requestListenerConfig.error=Exception lors de l''ajout de la valve d''écoute de requête: {0}
+standardContext.requestListenerStartFailed=Echec démarrage des Valves d''écoute
+standardContext.resourcesStart=Erreur lors du démarrage des ressources statiques
+standardContext.securityConstraint.pattern=<url-pattern> {0} invalide d''après les contraintes de sécurité (security constraint)
 standardContext.servletMap.name=L''association de servlet (servlet mapping) indique un nom de servlet inconnu {0}
 standardContext.servletMap.pattern=<url-pattern> {0} invalide dans l''association de servlet (servlet mapping)
-standardContext.startCleanup=Exception lors du nettoyage apr\u00e8s que le d\u00e9marrage ait \u00e9chou\u00e9
-standardContext.startFailed=Erreur de d\u00e9marrage du contexte [{0}] suite aux erreurs pr\u00e9c\u00e9dentes
-standardContext.startingContext=Exception lors du d\u00e9marrage du contexte [{0}]
-standardContext.startingLoader=Exception an d\u00e9marrage du "Loader"
-standardContext.startingManager=Exception an d\u00e9marrage du "Manager"
-standardContext.startingWrapper=Exception an d\u00e9marrage de l''enrobeur (wrapper) de la servlet {0}
-standardContext.stoppingContext=Exception \u00e0 l''arr\u00eat du Context [{0}]
-standardContext.stoppingLoader=Exception \u00e0 l''arr\u00eat du "Loader"
-standardContext.stoppingManager=Exception \u00e0 l''arr\u00eat du "Manager"
-standardContext.stoppingWrapper=Exception \u00e0 l''arr\u00eat de l''enrobeur (wrapper) de la servlet {0}
-standardContext.resourcesStart=Erreur lors du d\u00e9marrage des ressources statiques
-standardContext.urlDecode=Impossible de d\u00e9coder le chemin de requ\u00eate encod\u00e9 dans l''URL {0}
-standardContext.urlPattern.patternWarning=ATTENTION: Le mod\u00e8le (pattern) URL {0} doit commencer par un ''/'' dans l''API Servlet 2.4
-standardContext.urlValidate=Impossible de valider le chemin de requ\u00eate encod\u00e9 dans l''URL {0}
-standardEngine.alreadyStarted=Le moteur a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9marr\u00e9
+standardContext.startCleanup=Exception lors du nettoyage après que le démarrage ait échoué
+standardContext.startFailed=Erreur de démarrage du contexte [{0}] suite aux erreurs précédentes
+standardContext.startingContext=Exception lors du démarrage du contexte [{0}]
+standardContext.startingLoader=Exception an démarrage du "Loader"
+standardContext.startingManager=Exception an démarrage du "Manager"
+standardContext.startingWrapper=Exception an démarrage de l''enrobeur (wrapper) de la servlet {0}
+standardContext.stoppingContext=Exception à l''arrêt du Context [{0}]
+standardContext.stoppingLoader=Exception à l''arrêt du "Loader"
+standardContext.stoppingManager=Exception à l''arrêt du "Manager"
+standardContext.stoppingWrapper=Exception à l''arrêt de l''enrobeur (wrapper) de la servlet {0}
+standardContext.urlDecode=Impossible de décoder le chemin de requête encodé dans l''URL {0}
+standardContext.urlPattern.patternWarning=ATTENTION: Le modèle (pattern) URL {0} doit commencer par un ''/'' dans l''API Servlet 2.4
+standardContext.urlValidate=Impossible de valider le chemin de requête encodé dans l''URL {0}
+
+standardEngine.alreadyStarted=Le moteur a déjà été démarré
 standardEngine.mappingError=Erreur de configuration d''association (mapping configuration) pour le serveur {0}
-standardEngine.noHost=Aucune h\u00f4te (host) ne correspond au nom de serveur {0}
-standardEngine.noHostHeader=requ\u00eate HTTP/1.1 sans ent\u00eate Host:
-standardEngine.notHost=Le fils d''un moteur (child of an Engine) doit \u00eatre un h\u00f4te
+standardEngine.noHost=Aucune hôte (host) ne correspond au nom de serveur {0}
+standardEngine.noHostHeader=requête HTTP/1.1 sans entête Host:
+standardEngine.notHost=Le fils d''un moteur (child of an Engine) doit être un hôte
 standardEngine.notParent=Un moteur (engine) ne peut avoir de conteneur parent (container)
-standardEngine.notStarted=Le moteur n''a pas encore \u00e9t\u00e9 d\u00e9marr\u00e9
-standardEngine.unfoundHost=L''h\u00f4te virtuel (virtual host) {0} est introuvable
-standardEngine.unknownHost=Aucun serveur h\u00f4te n''est indiqu\u00e9 pour cette requ\u00eate
-standardHost.accessBase=Impossible d''acc\u00e9der le r\u00e9pertoire "document base" {0}
-standardHost.alreadyStarted=L''h\u00f4te a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9marr\u00e9
-standardHost.appBase=Le r\u00e9pertoire de base de l''application {0} n''existe pas
+standardEngine.notStarted=Le moteur n''a pas encore été démarré
+standardEngine.unfoundHost=L''hôte virtuel (virtual host) {0} est introuvable
+standardEngine.unknownHost=Aucun serveur hôte n''est indiqué pour cette requête
+
+standardHost.accessBase=Impossible d''accéder le répertoire "document base" {0}
+standardHost.alreadyStarted=L''hôte a déjà été démarré
+standardHost.appBase=Le répertoire de base de l''application {0} n''existe pas
+standardHost.configNotAllowed=L''utilisation d''un fichier de configuration n''est pas autorisée
 standardHost.configRequired=Une URL vers le fichier de configuration est obligatoire
-standardHost.configNotAllowed=L''utilisation d''un fichier de configuration n''est pas autoris\u00e9e
+standardHost.docBase=Le répertoire "document base" {0} existe déjà
+standardHost.installError=Erreur lors du déploiement de l''application pour le chemin de contexte {0}
 standardHost.installing=Installation d''une application pour le chemin de contexte {0} depuis l''URL {1}
 standardHost.installingWAR=Installation d''une application depuis l''URL {0}
-standardHost.installError=Erreur lors du d\u00e9ploiement de l''application pour le chemin de contexte {0}
 standardHost.invalidErrorReportValveClass=Impossible de charger la classe valve de rapport d''erreur: {0}
-standardHost.docBase=Le r\u00e9pertoire "document base" {0} existe d\u00e9j\u00e0
-standardHost.mappingError=Erreur d''association de configuration (mapping configuration) pour l''URI demand\u00e9e {0}
-standardHost.noContext=Aucun contexte n''est configur\u00e9 pour traiter cette requ\u00eate
-standardHost.noHost=Aucun h\u00f4te n''est configur\u00e9 pour traiter cette requ\u00eate
-standardHost.notContext=Le fils d''un h\u00f4te (child of a Host) doit \u00eatre un contexte
-standardHost.notStarted=l''h\u00f4te n''a pas encore \u00e9t\u00e9 d\u00e9marr\u00e9
-standardHost.nullName=Le nom d''h\u00f4te est requis
+standardHost.mappingError=Erreur d''association de configuration (mapping configuration) pour l''URI demandée {0}
+standardHost.noContext=Aucun contexte n''est configuré pour traiter cette requête
+standardHost.noHost=Aucun hôte n''est configuré pour traiter cette requête
+standardHost.notContext=Le fils d''un hôte (child of a Host) doit être un contexte
+standardHost.notStarted=l''hôte n''a pas encore été démarré
+standardHost.nullName=Le nom d''hôte est requis
 standardHost.pathFormat=Chemin de contexte invalide: {0}
-standardHost.pathMissing=Le chemin de contexte {0} n''est pas utilis\u00e9 actuellement
+standardHost.pathMissing=Le chemin de contexte {0} n''est pas utilisé actuellement
 standardHost.pathRequired=Le chemin de contexte est requis
-standardHost.pathUsed=Le chemin de contexte {0} est d\u00e9j\u00e0 utilis\u00e9
-standardHost.removing=Retrait de l''application web pour le chemin de contexte {0}
+standardHost.pathUsed=Le chemin de contexte {0} est déjà utilisé
 standardHost.removeError=Erreur lors du retrait de l''application web pour le chemin de contexte {0}
-standardHost.start=D\u00e9marrage de l''application web pour le chemin de contexte {0}
-standardHost.stop=Arr\u00eat de l''application web pour le chemin de contexte {0}
-standardHost.unfoundContext=Impossible de trouver un contexte pour l''URI {0} demand\u00e9e
-standardHost.warRequired=Une URL vers l''archive d''application web (war) est n\u00e9cessaire
+standardHost.removing=Retrait de l''application web pour le chemin de contexte {0}
+standardHost.start=Démarrage de l''application web pour le chemin de contexte {0}
+standardHost.stop=Arrêt de l''application web pour le chemin de contexte {0}
+standardHost.unfoundContext=Impossible de trouver un contexte pour l''URI {0} demandée
+standardHost.warRequired=Une URL vers l''archive d''application web (war) est nécessaire
 standardHost.warURL=URL vers l''archive d''application web (war) invalide: {0}
-standardService.start.name=D\u00e9marrage du service {0}
-standardService.stop.name=Arr\u00eat du service {0}
-standardWrapper.allocate=Erreur d''allocation \u00e0 une instance de servlet
+
+standardService.start.name=Démarrage du service {0}
+standardService.stop.name=Arrêt du service {0}
+
+standardWrapper.allocate=Erreur d''allocation à une instance de servlet
 standardWrapper.allocateException=Exception lors de l''allocation pour la servlet {0}
 standardWrapper.containerServlet=Chargement du conteneur (container) de servlet {0}
-standardWrapper.createFilters=Exception \u00e0 la cr\u00e9ation de filtres pour la servlet {0}
-standardWrapper.deallocateException=Exception \u00e0 la d\u00e9sallocation pour la servlet {0}
-standardWrapper.destroyException="Servlet.destroy()" de la servlet {0} a g\u00e9n\u00e9r\u00e9 une exception
+standardWrapper.createFilters=Exception à la création de filtres pour la servlet {0}
+standardWrapper.deallocateException=Exception à la désallocation pour la servlet {0}
+standardWrapper.destroyException="Servlet.destroy()" de la servlet {0} a généré une exception
 standardWrapper.exception0=Rapport d''exception Tomcat
 standardWrapper.exception1=Une exception Servlet s''est produite
 standardWrapper.exception2=Rapport d''exception:
-standardWrapper.exception3=Cause m\u00e8re:
-standardWrapper.initException="Servlet.init()" pour la servlet {0} a g\u00e9n\u00e9r\u00e9 une exception
-standardWrapper.instantiate=Erreur \u00e0 l''instantiation de la classe servlet {0}
+standardWrapper.exception3=Cause mère:
+standardWrapper.initException="Servlet.init()" pour la servlet {0} a généré une exception
+standardWrapper.instantiate=Erreur à l''instantiation de la classe servlet {0}
 standardWrapper.isUnavailable=La servlet {0} est actuellement indisponible
 standardWrapper.jasperLoader=Utilisation du chargeur de classe Jasper (classloader) pour la servlet {0}
-standardWrapper.jspFile.format=Le fichier JSP {0} ne commence par par un caract\u00e8re ''/''
-standardWrapper.missingClass=L''enrobeur (wrapper) ne peut trouver la classe servlet {0} ou une classe dont elle d\u00e9pend
+standardWrapper.jspFile.format=Le fichier JSP {0} ne commence par par un caractère ''/''
+standardWrapper.missingClass=L''enrobeur (wrapper) ne peut trouver la classe servlet {0} ou une classe dont elle dépend
 standardWrapper.missingLoader=L''enrobeur (wrapper) ne peut trouver de chargeur (loader) pour la servlet {0}
 standardWrapper.notChild=L''enrobeur de conteneur (wrapper container) peut ne pas avoir de conteneurs fils
-standardWrapper.notClass=Aucune classe servlet n''a \u00e9t\u00e9 sp\u00e9cifi\u00e9e pour la servlet {0}
-standardWrapper.notContext=Le conteneur parent d''un enrobeur (wrapper) doit \u00eatre un contexte
+standardWrapper.notClass=Aucune classe servlet n''a été spécifiée pour la servlet {0}
+standardWrapper.notContext=Le conteneur parent d''un enrobeur (wrapper) doit être un contexte
 standardWrapper.notFound=Servlet {0} n''est pas disponible.
 standardWrapper.notServlet=La classe {0} n''est pas une servlet
 standardWrapper.releaseFilters=Exception des filtres de sortie (release filters) pour la servlet {0}
-standardWrapper.serviceException="Servlet.service()" pour la servlet {0} a g\u00e9n\u00e9r\u00e9 une exception
+standardWrapper.serviceException="Servlet.service()" pour la servlet {0} a généré une exception
 standardWrapper.statusHeader=Etat HTTP {0} - {1}
 standardWrapper.statusTitle=Rapport d''erreur Tomcat
-standardWrapper.unavailable=La servlet {0} est marqu\u00e9 comme indisponible
-standardWrapper.unloadException=La servlet {0} a g\u00e9n\u00e9r\u00e9 une exception "unload()"
-standardWrapper.unloading=Impossible d''allouer la servlet {0} car elle a \u00e9t\u00e9 d\u00e9charg\u00e9e
+standardWrapper.unavailable=La servlet {0} est marqué comme indisponible
+standardWrapper.unloadException=La servlet {0} a généré une exception "unload()"
+standardWrapper.unloading=Impossible d''allouer la servlet {0} car elle a été déchargée
diff --git a/java/org/apache/catalina/core/LocalStrings_ja.properties b/java/org/apache/catalina/core/LocalStrings_ja.properties
index 2d31d24..50e4632 100644
--- a/java/org/apache/catalina/core/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/core/LocalStrings_ja.properties
@@ -13,159 +13,175 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-applicationContext.attributeEvent=\u5c5e\u6027\u30a4\u30d9\u30f3\u30c8\u30ea\u30b9\u30ca\u306b\u3088\u3063\u3066\u4f8b\u5916\u304c\u6295\u3052\u3089\u308c\u307e\u3057\u305f
-applicationContext.mapping.error=\u30de\u30c3\u30d4\u30f3\u30b0\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059
-applicationContext.requestDispatcher.iae=\u30d1\u30b9 {0} \u304c"/"\u6587\u5b57\u3067\u59cb\u307e\u308a\u307e\u305b\u3093
-applicationContext.setAttribute.namenull=name\u304cnull\u3067\u306f\u3044\u3051\u307e\u305b\u3093
-applicationDispatcher.allocateException=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306b\u4f8b\u5916\u3092\u5272\u308a\u5f53\u3066\u307e\u3059
-applicationDispatcher.deallocateException=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306e\u4f8b\u5916\u3092\u89e3\u9664\u3057\u307e\u3059
-applicationDispatcher.forward.ise=\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u30b3\u30df\u30c3\u30c8\u3057\u305f\u5f8c\u3067\u30d5\u30a9\u30ef\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093
-applicationDispatcher.forward.throw=\u30d5\u30a9\u30ef\u30fc\u30c9\u3057\u305f\u30ea\u30bd\u30fc\u30b9\u304c\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f
-applicationDispatcher.include.throw=\u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u3057\u305f\u30ea\u30bd\u30fc\u30b9\u304c\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f
-applicationDispatcher.isUnavailable=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306f\u73fe\u5728\u5229\u7528\u3067\u304d\u307e\u305b\u3093
-applicationDispatcher.serviceException=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306eServlet.service()\u304c\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f
-applicationRequest.badParent=\u89aa\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u5b9f\u88c5\u3092\u914d\u7f6e\u3067\u304d\u307e\u305b\u3093
-applicationRequest.badRequest=\u30ea\u30af\u30a8\u30b9\u30c8\u304cjavax.servlet.ServletRequestWrapper\u3067\u306f\u3042\u308a\u307e\u305b\u3093
-applicationResponse.badParent=\u89aa\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u5b9f\u88c5\u3092\u914d\u7f6e\u3067\u304d\u307e\u305b\u3093
-applicationResponse.badResponse=\u30ec\u30b9\u30dd\u30f3\u30b9\u304cjavax.servlet.ServletResponseWrapper\u3067\u306f\u3042\u308a\u307e\u305b\u3093
-containerBase.alreadyStarted=\u30b3\u30f3\u30c6\u30ca {0} \u306f\u65e2\u306b\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059
-containerBase.notConfigured=\u57fa\u672c\u30d0\u30eb\u30d6\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-containerBase.notStarted=\u30b3\u30f3\u30c6\u30ca {0} \u306f\u307e\u3060\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-fastEngineMapper.alreadyStarted=FastEngineMapper {0} \u306f\u65e2\u306b\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059
-fastEngineMapper.notStarted=FastEngineMapper {0} \u306f\u307e\u3060\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-filterChain.filter=\u30d5\u30a3\u30eb\u30bf\u306e\u5b9f\u884c\u306b\u3088\u308a\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f
-filterChain.servlet=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u306e\u5b9f\u884c\u306b\u3088\u308a\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f
-httpContextMapper.container=\u3053\u306e\u30b3\u30f3\u30c6\u30ca\u306fStandardContext\u3067\u306f\u3042\u308a\u307e\u305b\u3093
-httpEngineMapper.container=\u3053\u306e\u30b3\u30f3\u30c6\u30ca\u306fStandardEngine\u3067\u306f\u3042\u308a\u307e\u305b\u3093
-httpHostMapper.container=\u3053\u306e\u30b3\u30f3\u30c6\u30ca\u306fStandardHost\u3067\u306f\u3042\u308a\u307e\u305b\u3093
-interceptorValve.alreadyStarted=InterceptorValve\u306f\u65e2\u306b\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059
-interceptorValve.notStarted=InterceptorValve\u306f\u307e\u3060\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-naming.bindFailed=\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30d0\u30a4\u30f3\u30c9\u306b\u5931\u6557\u3057\u307e\u3057\u305f: {0}
-naming.unbindFailed=\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30a2\u30f3\u30d0\u30a4\u30f3\u30c9\u306b\u5931\u6557\u3057\u307e\u3057\u305f: {0}
-naming.invalidEnvEntryType=\u74b0\u5883\u30a8\u30f3\u30c8\u30ea {0} \u306f\u7121\u52b9\u306a\u578b\u3092\u6301\u3063\u3066\u3044\u307e\u3059
-naming.invalidEnvEntryValue=\u74b0\u5883\u30a8\u30f3\u30c8\u30ea {0} \u306f\u7121\u52b9\u306a\u5024\u3092\u6301\u3063\u3066\u3044\u307e\u3059
-naming.namingContextCreationFailed=\u540d\u524d\u4ed8\u304d\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u751f\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f: {0}
-standardContext.alreadyStarted=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306f\u65e2\u306b\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059
-standardContext.applicationListener=\u30af\u30e9\u30b9 {0} \u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30ea\u30b9\u30ca\u306e\u8a2d\u5b9a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-standardContext.applicationSkipped=\u524d\u306e\u30a8\u30e9\u30fc\u306e\u305f\u3081\u306b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30ea\u30b9\u30ca\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u307e\u3059
-standardContext.badRequest=\u7121\u52b9\u306a\u30ea\u30af\u30a8\u30b9\u30c8\u30d1\u30b9\u3067\u3059 ({0})\u3002
-standardContext.errorPage.error=\u30a8\u30e9\u30fc\u30da\u30fc\u30b8\u306e\u4f4d\u7f6e {0} \u306f''/''\u3067\u59cb\u307e\u3089\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-standardContext.errorPage.required=ErrorPage\u304cnull\u3067\u306f\u3044\u3051\u307e\u305b\u3093
-standardContext.errorPage.warning=\u8b66\u544a: Servlet 2.4\u3067\u306f\u30a8\u30e9\u30fc\u30da\u30fc\u30b8\u306e\u4f4d\u7f6e {0} \u306f''/''\u3067\u59cb\u307e\u3089\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-standardContext.filterMap.either=\u30d5\u30a3\u30eb\u30bf\u30de\u30c3\u30d4\u30f3\u30b0\u306f<url-pattern>\u53c8\u306f<servlet-name>\u306e\u3069\u3061\u3089\u304b\u3092\u6307\u5b9a\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-standardContext.filterMap.name=\u30d5\u30a3\u30eb\u30bf\u30de\u30c3\u30d4\u30f3\u30b0\u306f\u672a\u77e5\u306e\u30d5\u30a3\u30eb\u30bf\u540d {0} \u3092\u6307\u5b9a\u3057\u307e\u3057\u305f
-standardContext.filterMap.pattern=\u30d5\u30a3\u30eb\u30bf\u30de\u30c3\u30d4\u30f3\u30b0\u4e2d\u306b\u7121\u52b9\u306a <url-pattern> {0} \u304c\u3042\u308a\u307e\u3059
-standardContext.filterStart=\u30d5\u30a3\u30eb\u30bf {0} \u306e\u8d77\u52d5\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-standardContext.filterStartFailed=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d5\u30a3\u30eb\u30bf\u306e\u8d77\u52d5\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-standardContext.requestListenerStartFailed=\u30ea\u30af\u30a8\u30b9\u30c8\u30ea\u30b9\u30ca\u30d0\u30eb\u30d6\u306e\u8d77\u52d5\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-standardContext.requestListenerConfig.added=\u30ea\u30af\u30a8\u30b9\u30c8\u30ea\u30b9\u30ca\u30d0\u30eb\u30d6\u3092\u8ffd\u52a0\u3057\u307e\u3057\u305f
-standardContext.requestListenerConfig.error=\u30ea\u30af\u30a8\u30b9\u30c8\u30ea\u30b9\u30ca\u30d0\u30eb\u30d6\u8ffd\u52a0\u4e2d\u306e\u4f8b\u5916\u3067\u3059: {0}
-standardContext.isUnavailable=\u3053\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u73fe\u5728\u5229\u7528\u3067\u304d\u307e\u305b\u3093
-standardContext.listenerStart=\u30af\u30e9\u30b9 {0} \u306e\u30ea\u30b9\u30ca\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u521d\u671f\u5316\u30a4\u30d9\u30f3\u30c8\u3092\u9001\u4fe1\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-standardContext.listenerStartFailed=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30ea\u30b9\u30ca\u306e\u8d77\u52d5\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-standardContext.listenerStop=\u30af\u30e9\u30b9 {0} \u306e\u30ea\u30b9\u30ca\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u7834\u68c4\u30a4\u30d9\u30f3\u30c8\u3092\u9001\u4fe1\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-standardContext.loginConfig.errorPage=\u30d5\u30a9\u30fc\u30e0\u306e\u30a8\u30e9\u30fc\u30da\u30fc\u30b8 {0} \u306f''/''\u3067\u59cb\u307e\u3089\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-standardContext.loginConfig.errorWarning=\u8b66\u544a: Servlet 2.4\u3067\u306f\u30d5\u30a9\u30fc\u30e0\u306e\u30a8\u30e9\u30fc\u30da\u30fc\u30b8 {0} \u306f''/''\u3067\u59cb\u307e\u3089\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-standardContext.loginConfig.loginPage=\u30d5\u30a9\u30fc\u30e0\u306e\u30ed\u30b0\u30a4\u30f3\u30da\u30fc\u30b8 {0} \u306f''/''\u3067\u59cb\u307e\u3089\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-standardContext.loginConfig.loginWarning=\u8b66\u544a: Servlet 2.4\u3067\u306f\u30d5\u30a9\u30fc\u30e0\u306e\u30ed\u30b0\u30a4\u30f3\u30da\u30fc\u30b8 {0} \u306f''/''\u3067\u59cb\u307e\u3089\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-standardContext.loginConfig.required=LoginConfig\u306fnull\u3067\u306f\u3044\u3051\u307e\u305b\u3093
-standardContext.mappingError=\u76f8\u5bfeURI {0} \u306e\u30de\u30c3\u30d4\u30f3\u30b0\u8a2d\u5b9a\u30a8\u30e9\u30fc\u3067\u3059
-standardContext.notFound=\u30ea\u30af\u30a8\u30b9\u30c8\u3055\u308c\u305f\u30ea\u30bd\u30fc\u30b9 ({0}) \u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-standardContext.notReloadable=\u3053\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u306f\u518d\u30ed\u30fc\u30c9\u306f\u7121\u52b9\u3067\u3059
-standardContext.notStarted=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306f\u307e\u3060\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-standardContext.notWrapper=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u5b50\u4f9b\u306f\u30e9\u30c3\u30d1\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-standardContext.parameter.duplicate=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u521d\u671f\u5316\u30d1\u30e9\u30e1\u30bf {0} \u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059
-standardContext.parameter.required=\u30d1\u30e9\u30e1\u30bf\u540d\u3068\u30d1\u30e9\u30e1\u30bf\u5024\u306e\u4e21\u65b9\u304c\u5fc5\u8981\u3067\u3059
-standardContext.reloadingCompleted=\u3053\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u518d\u30ed\u30fc\u30c9\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f
-standardContext.reloadingFailed=\u4ee5\u524d\u306e\u30a8\u30e9\u30fc\u306e\u305f\u3081\u306b\u3053\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u518d\u30ed\u30fc\u30c9\u304c\u5931\u6557\u3057\u307e\u3057\u305f
-standardContext.reloadingStarted=\u3053\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u518d\u30ed\u30fc\u30c9\u3092\u958b\u59cb\u3057\u307e\u3057\u305f
-standardContext.requestListener.requestInit=\u30af\u30e9\u30b9 {0} \u306e\u30ea\u30b9\u30ca\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u521d\u671f\u5316\u3059\u308b\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a4\u30d9\u30f3\u30c8\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-standardContext.requestListener.requestDestroy=\u30af\u30e9\u30b9 {0} \u306e\u30ea\u30b9\u30ca\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u5ec3\u68c4\u3059\u308b\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a4\u30d9\u30f3\u30c8\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-standardContext.resourcesStart=\u9759\u7684\u30ea\u30bd\u30fc\u30b9\u306e\u8d77\u52d5\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059
-standardContext.securityConstraint.pattern=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u5236\u7d04\u306e\u4e2d\u306b\u7121\u52b9\u306a <url-pattern> {0} \u304c\u3042\u308a\u307e\u3059
-standardContext.servletMap.name=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u30de\u30c3\u30d4\u30f3\u30b0\u306f\u672a\u77e5\u306e\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u540d {0} \u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059
-standardContext.servletMap.pattern=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u30de\u30c3\u30d4\u30f3\u30b0\u4e2d\u306b\u7121\u52b9\u306a <url-pattern> {0} \u304c\u3042\u308a\u307e\u3059
-standardContext.startCleanup=\u8d77\u52d5\u304c\u5931\u6557\u3057\u305f\u5f8c\u306e\u30af\u30ea\u30fc\u30f3\u30ca\u30c3\u30d7\u4e2d\u306b\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-standardContext.startFailed=\u4ee5\u524d\u306e\u30a8\u30e9\u30fc\u306e\u305f\u3081\u306b\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u8d77\u52d5\u304c\u5931\u6557\u3057\u307e\u3057\u305f [{0}]
-standardContext.startingLoader=\u30ed\u30fc\u30c0\u3092\u8d77\u52d5\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-standardContext.startingManager=\u30de\u30cd\u30fc\u30b8\u30e3\u3092\u8d77\u52d5\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-standardContext.startingWrapper=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306e\u30e9\u30c3\u30d1\u3092\u8d77\u52d5\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-standardContext.stoppingContext=\u30ed\u30fc\u30c0\u3092\u505c\u6b62\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-standardContext.stoppingLoader=\u30ed\u30fc\u30c0\u3092\u505c\u6b62\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-standardContext.stoppingManager=\u30de\u30cd\u30fc\u30b8\u30e3\u3092\u505c\u6b62\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-standardContext.stoppingWrapper=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306e\u30e9\u30c3\u30d1\u3092\u505c\u6b62\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-standardContext.urlDecode=\u30ea\u30af\u30a8\u30b9\u30c8\u30d1\u30b9 {0} \u306eURL\u30c7\u30b3\u30fc\u30c9\u304c\u3067\u304d\u307e\u305b\u3093
-standardContext.urlPattern.patternWarning=\u8b66\u544a: Servlet 2.4\u3067\u306fURL\u30d1\u30bf\u30fc\u30f3 {0} \u306f''/''\u3067\u59cb\u307e\u3089\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-standardContext.urlValidate=URL\u30c7\u30b3\u30fc\u30c9\u3055\u308c\u305f\u30ea\u30af\u30a8\u30b9\u30c8\u30d1\u30b9 {0} \u3092\u691c\u8a3c\u3067\u304d\u307e\u305b\u3093
-standardEngine.alreadyStarted=\u30a8\u30f3\u30b8\u30f3\u306f\u65e2\u306b\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059
-standardEngine.mappingError=\u30b5\u30fc\u30d0\u540d {0} \u306e\u30de\u30c3\u30d4\u30f3\u30b0\u8a2d\u5b9a\u30a8\u30e9\u30fc\u3067\u3059
-standardEngine.noHost=\u30b5\u30fc\u30d0\u540d {0} \u306b\u4e00\u81f4\u3059\u308b\u30db\u30b9\u30c8\u304c\u5b58\u5728\u3057\u307e\u305b\u3093
-standardEngine.noHostHeader=Host:\u30d8\u30c3\u30c0\u3092\u6301\u305f\u306a\u3044 HTTP/1.1 \u30ea\u30af\u30a8\u30b9\u30c8\u3067\u3059
-standardEngine.notHost=\u30a8\u30f3\u30b8\u30f3\u306e\u5b50\u4f9b\u306f\u30db\u30b9\u30c8\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-standardEngine.notParent=\u30a8\u30f3\u30b8\u30f3\u306f\u89aa\u306e\u30b3\u30f3\u30c6\u30ca\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-standardEngine.notStarted=\u30a8\u30f3\u30b8\u30f3\u306f\u307e\u3060\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-standardEngine.unfoundHost=\u30d0\u30fc\u30c1\u30e3\u30eb\u30db\u30b9\u30c8 {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
-standardEngine.unknownHost=\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u4e2d\u306b\u30b5\u30fc\u30d0\u30db\u30b9\u30c8\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-standardHost.accessBase=\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093
-standardHost.alreadyStarted=\u30db\u30b9\u30c8\u306f\u65e2\u306b\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059
-standardHost.appBase=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u304c\u5b58\u5728\u3057\u307e\u305b\u3093
-standardHost.clientAbort=\u30ea\u30e2\u30fc\u30c8\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304c\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u4e2d\u6b62\u3057\u307e\u3057\u305f, IOException: {0}
-standardHost.configRequired=\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3078\u306eURL\u304c\u5fc5\u8981\u3067\u3059
-standardHost.configNotAllowed=\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304c\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
-standardHost.installBase=\u30db\u30b9\u30c8Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4e2d\u306eWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3060\u3051\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u307e\u3059
-standardHost.installing=URL {1} \u304b\u3089\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306bWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059
-standardHost.installingWAR=URL {0} \u304b\u3089Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059
-standardHost.installingXML=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306eURL {0} \u3092\u51e6\u7406\u3057\u3066\u3044\u307e\u3059
-standardHost.installError=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u914d\u5099\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059
-standardHost.invalidErrorReportValveClass=\u6307\u5b9a\u3055\u308c\u305f\u30a8\u30e9\u30fc\u30ea\u30dd\u30fc\u30c8\u30d0\u30eb\u30d6\u30af\u30e9\u30b9\u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093: {0}
-standardHost.docBase=\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u304c\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059
-standardHost.mappingError=\u30ea\u30af\u30a8\u30b9\u30c8URI {0} \u306e\u30de\u30c3\u30d4\u30f3\u30b0\u8a2d\u5b9a\u30a8\u30e9\u30fc\u3067\u3059
-standardHost.noContext=\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u51e6\u7406\u3059\u308b\u305f\u3081\u306b\u8a2d\u5b9a\u3055\u308c\u305f\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u304c\u3042\u308a\u307e\u305b\u3093
-standardHost.noHost=\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u51e6\u7406\u3059\u308b\u305f\u3081\u306b\u8a2d\u5b9a\u3055\u308c\u305f\u30db\u30b9\u30c8\u304c\u3042\u308a\u307e\u305b\u3093
-standardHost.notContext=\u30db\u30b9\u30c8\u306e\u5b50\u4f9b\u306f\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-standardHost.notStarted=\u30db\u30b9\u30c8\u304c\u307e\u3060\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-standardHost.nullName=\u30db\u30b9\u30c8\u540d\u304c\u5fc5\u8981\u3067\u3059
-standardHost.pathFormat=\u7121\u52b9\u306a\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9\u3067\u3059: {0}
-standardHost.pathMatch=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u53c8\u306fWAR\u30d5\u30a1\u30a4\u30eb\u540d\u306b\u4e00\u81f4\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093: {1}
-standardHost.pathMissing=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306f\u73fe\u5728\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-standardHost.pathRequired=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9\u304c\u5fc5\u8981\u3067\u3059
-standardHost.pathUsed=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306f\u65e2\u306b\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059
-standardHost.removing=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306eWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u524a\u9664\u3057\u307e\u3059
-standardHost.removeError=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u524a\u9664\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-standardHost.start=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306eWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u8d77\u52d5\u3057\u307e\u3059
-standardHost.stop=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306eWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u505c\u6b62\u3057\u307e\u3059
-standardHost.unfoundContext=\u30ea\u30af\u30a8\u30b9\u30c8URI {0} \u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3092\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093
-standardHost.warRequired=Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a2\u30fc\u30ab\u30a4\u30d6\u306eURL\u304c\u5fc5\u8981\u3067\u3059
-standardHost.warURL=Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a2\u30fc\u30ab\u30a4\u30d6\u306b\u5bfe\u3059\u308b\u7121\u52b9\u306aURL\u3067\u3059: {0}
-standardService.start.name=\u30b5\u30fc\u30d3\u30b9 {0} \u3092\u8d77\u52d5\u3057\u307e\u3059
-standardService.stop.name=\u30b5\u30fc\u30d3\u30b9 {0} \u3092\u505c\u6b62\u3057\u307e\u3059
-standardWrapper.allocate=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u5272\u308a\u5f53\u3066\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059
-standardWrapper.allocateException=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306b\u4f8b\u5916\u3092\u5272\u308a\u5f53\u3066\u307e\u3059
-standardWrapper.containerServlet=\u30b3\u30f3\u30c6\u30ca\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u3092\u30ed\u30fc\u30c9\u3057\u307e\u3059
-standardWrapper.createFilters=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0}\u306b\u5bfe\u3059\u308b\u30d5\u30a3\u30eb\u30bf\u4f8b\u5916\u3092\u4f5c\u6210\u3057\u307e\u3059
-standardWrapper.deallocateException=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306b\u5bfe\u3059\u308b\u4f8b\u5916\u306e\u5272\u308a\u5f53\u3066\u3092\u89e3\u9664\u3057\u307e\u3059
-standardWrapper.destroyException=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306eServlet.destroy()\u304c\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f
-standardWrapper.exception0=Tomcat\u306e\u4f8b\u5916\u306e\u5831\u544a
-standardWrapper.exception1=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-standardWrapper.exception2=\u4f8b\u5916\u306e\u5831\u544a:
-standardWrapper.exception3=\u6839\u672c\u306e\u539f\u56e0:
-standardWrapper.initException=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306eServlet.init()\u304c\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f
-standardWrapper.instantiate=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u30af\u30e9\u30b9 {0} \u3092\u521d\u671f\u5316\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-standardWrapper.isUnavailable=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306f\u73fe\u5728\u5229\u7528\u3067\u304d\u307e\u305b\u3093
-standardWrapper.jasperLoader=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306bJasper\u30af\u30e9\u30b9\u30ed\u30fc\u30c0\u3092\u4f7f\u7528\u3057\u307e\u3059
-standardWrapper.jspFile.format=JSP\u30d5\u30a1\u30a4\u30eb {0} \u304c''/''\u6587\u5b57\u3067\u59cb\u307e\u3063\u3066\u3044\u307e\u305b\u3093
-standardWrapper.missingClass=\u30e9\u30c3\u30d1\u304c\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u30af\u30e9\u30b9 {0} \u53c8\u306f\u305d\u308c\u304c\u4f9d\u5b58\u3059\u308b\u30af\u30e9\u30b9\u3092\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093
-standardWrapper.missingLoader=\u30e9\u30c3\u30d1\u304c\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306e\u30ed\u30fc\u30c0\u3092\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093
-standardWrapper.notChild=\u30e9\u30c3\u30d1\u30b3\u30f3\u30c6\u30ca\u306f\u5b50\u4f9b\u306e\u30b3\u30f3\u30c6\u30ca\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-standardWrapper.notClass=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306b\u6307\u5b9a\u3055\u308c\u305f\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u30af\u30e9\u30b9\u304c\u3042\u308a\u307e\u305b\u3093
-standardWrapper.notContext=\u30e9\u30c3\u30d1\u306e\u89aa\u306e\u30b3\u30f3\u30c6\u30ca\u306f\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-standardWrapper.notFound=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u304c\u5229\u7528\u3067\u304d\u307e\u305b\u3093
-standardWrapper.notServlet=\u30af\u30e9\u30b9 {0} \u306f\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u3067\u306f\u3042\u308a\u307e\u305b\u3093
-standardWrapper.releaseFilters=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306e\u30d5\u30a3\u30eb\u30bf\u4f8b\u5916\u3092\u89e3\u9664\u3057\u307e\u3059
-standardWrapper.serviceException=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306eServlet.service()\u304c\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f
-standardWrapper.statusHeader=HTTP\u30b9\u30c6\u30fc\u30bf\u30b9 {0} - {1}
-standardWrapper.statusTitle=Tomcat\u306e\u30a8\u30e9\u30fc\u306e\u5831\u544a
-standardWrapper.unavailable=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u3092\u5229\u7528\u4e0d\u53ef\u80fd\u306b\u30de\u30fc\u30af\u3057\u307e\u3059
-standardWrapper.unloadException=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u304cunload()\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f
-standardWrapper.unloading=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u304c\u30ed\u30fc\u30c9\u3055\u308c\u3066\u3044\u306a\u3044\u306e\u3067\u3001\u5272\u308a\u5f53\u3066\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093
-standardWrapper.waiting={0} \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5272\u308a\u5f53\u3066\u89e3\u9664\u3055\u308c\u308b\u306e\u3092\u5f85\u3063\u3066\u3044\u307e\u3059
+applicationContext.attributeEvent=属性イベントリスナによって例外が投げられました
+applicationContext.mapping.error=マッピング中のエラーです
+applicationContext.requestDispatcher.iae=パス {0} が"/"文字で始まりません
+applicationContext.setAttribute.namenull=nameがnullではいけません
+
+applicationDispatcher.allocateException=サーブレット {0} に例外を割り当てます
+applicationDispatcher.deallocateException=サーブレット {0} の例外を解除します
+applicationDispatcher.forward.ise=レスポンスをコミットした後でフォワードできません
+applicationDispatcher.forward.throw=フォワードしたリソースが例外を投げました
+applicationDispatcher.include.throw=インクルードしたリソースが例外を投げました
+applicationDispatcher.isUnavailable=サーブレット {0} は現在利用できません
+applicationDispatcher.serviceException=サーブレット {0} のServlet.service()が例外を投げました
+
+applicationRequest.badParent=親のリクエスト実装を配置できません
+applicationRequest.badRequest=リクエストがjavax.servlet.ServletRequestWrapperではありません
+
+applicationResponse.badParent=親のレスポンス実装を配置できません
+applicationResponse.badResponse=レスポンスがjavax.servlet.ServletResponseWrapperではありません
+
+containerBase.alreadyStarted=コンテナ {0} は既に起動されています
+containerBase.notConfigured=基本バルブが設定されていません
+containerBase.notStarted=コンテナ {0} はまだ起動されていません
+
+fastEngineMapper.alreadyStarted=FastEngineMapper {0} は既に起動されています
+fastEngineMapper.notStarted=FastEngineMapper {0} はまだ起動されていません
+
+filterChain.filter=フィルタの実行により例外を投げました
+filterChain.servlet=サーブレットの実行により例外を投げました
+
+httpContextMapper.container=このコンテナはStandardContextではありません
+
+httpEngineMapper.container=このコンテナはStandardEngineではありません
+
+httpHostMapper.container=このコンテナはStandardHostではありません
+
+interceptorValve.alreadyStarted=InterceptorValveは既に起動されています
+interceptorValve.notStarted=InterceptorValveはまだ起動されていません
+
+naming.bindFailed=オブジェクトのバインドに失敗しました: {0}
+naming.invalidEnvEntryType=環境エントリ {0} は無効な型を持っています
+naming.invalidEnvEntryValue=環境エントリ {0} は無効な値を持っています
+naming.namingContextCreationFailed=名前付きコンテキストの生成に失敗しました: {0}
+naming.unbindFailed=オブジェクトのアンバインドに失敗しました: {0}
+
+standardContext.alreadyStarted=コンテキストは既に起動されています
+standardContext.applicationListener=クラス {0} のアプリケーションリスナの設定中にエラーが発生しました
+standardContext.applicationSkipped=前のエラーのためにアプリケーションリスナのインストールをスキップします
+standardContext.badRequest=無効なリクエストパスです ({0})。
+standardContext.errorPage.error=エラーページの位置 {0} は''/''で始まらなければいけません
+standardContext.errorPage.required=ErrorPageがnullではいけません
+standardContext.errorPage.warning=警告: Servlet 2.4ではエラーページの位置 {0} は''/''で始まらなければいけません
+standardContext.filterMap.either=フィルタマッピングは<url-pattern>又は<servlet-name>のどちらかを指定しなければいけません
+standardContext.filterMap.name=フィルタマッピングは未知のフィルタ名 {0} を指定しました
+standardContext.filterMap.pattern=フィルタマッピング中に無効な <url-pattern> {0} があります
+standardContext.filterStart=フィルタ {0} の起動中の例外です
+standardContext.filterStartFailed=アプリケーションフィルタの起動に失敗しました
+standardContext.isUnavailable=このアプリケーションは現在利用できません
+standardContext.listenerStart=クラス {0} のリスナインスタンスにコンテキスト初期化イベントを送信中の例外です
+standardContext.listenerStartFailed=アプリケーションリスナの起動に失敗しました
+standardContext.listenerStop=クラス {0} のリスナインスタンスにコンテキスト破棄イベントを送信中の例外です
+standardContext.loginConfig.errorPage=フォームのエラーページ {0} は''/''で始まらなければいけません
+standardContext.loginConfig.errorWarning=警告: Servlet 2.4ではフォームのエラーページ {0} は''/''で始まらなければいけません
+standardContext.loginConfig.loginPage=フォームのログインページ {0} は''/''で始まらなければいけません
+standardContext.loginConfig.loginWarning=警告: Servlet 2.4ではフォームのログインページ {0} は''/''で始まらなければいけません
+standardContext.loginConfig.required=LoginConfigはnullではいけません
+standardContext.mappingError=相対URI {0} のマッピング設定エラーです
+standardContext.notFound=リクエストされたリソース ({0}) は利用できません。
+standardContext.notReloadable=このコンテキストでは再ロードは無効です
+standardContext.notStarted=コンテキストはまだ起動されていません
+standardContext.notWrapper=コンテキストの子供はラッパでなければいけません
+standardContext.parameter.duplicate=コンテキスト初期化パラメタ {0} が重複しています
+standardContext.parameter.required=パラメタ名とパラメタ値の両方が必要です
+standardContext.reloadingCompleted=このコンテキストの再ロードが完了しました
+standardContext.reloadingFailed=以前のエラーのためにこのコンテキストの再ロードが失敗しました
+standardContext.reloadingStarted=このコンテキストの再ロードを開始しました
+standardContext.requestListener.requestDestroy=クラス {0} のリスナインスタンスに廃棄するライフサイクルイベントのリクエストを送信中の例外です
+standardContext.requestListener.requestInit=クラス {0} のリスナインスタンスに初期化するライフサイクルイベントのリクエストを送信中の例外です
+standardContext.requestListenerConfig.added=リクエストリスナバルブを追加しました
+standardContext.requestListenerConfig.error=リクエストリスナバルブ追加中の例外です: {0}
+standardContext.requestListenerStartFailed=リクエストリスナバルブの起動に失敗しました
+standardContext.resourcesStart=静的リソースの起動中のエラーです
+standardContext.securityConstraint.pattern=セキュリティの制約の中に無効な <url-pattern> {0} があります
+standardContext.servletMap.name=サーブレットマッピングは未知のサーブレット名 {0} を指定しています
+standardContext.servletMap.pattern=サーブレットマッピング中に無効な <url-pattern> {0} があります
+standardContext.startCleanup=起動が失敗した後のクリーンナップ中に例外が発生しました
+standardContext.startFailed=以前のエラーのためにコンテキストの起動が失敗しました [{0}]
+standardContext.startingLoader=ローダを起動中の例外です
+standardContext.startingManager=マネージャを起動中の例外です
+standardContext.startingWrapper=サーブレット {0} のラッパを起動中の例外です
+standardContext.stoppingContext=ローダを停止中の例外です
+standardContext.stoppingLoader=ローダを停止中の例外です
+standardContext.stoppingManager=マネージャを停止中の例外です
+standardContext.stoppingWrapper=サーブレット {0} のラッパを停止中の例外です
+standardContext.urlDecode=リクエストパス {0} のURLデコードができません
+standardContext.urlPattern.patternWarning=警告: Servlet 2.4ではURLパターン {0} は''/''で始まらなければいけません
+standardContext.urlValidate=URLデコードされたリクエストパス {0} を検証できません
+
+standardEngine.alreadyStarted=エンジンは既に起動されています
+standardEngine.mappingError=サーバ名 {0} のマッピング設定エラーです
+standardEngine.noHost=サーバ名 {0} に一致するホストが存在しません
+standardEngine.noHostHeader=Host:ヘッダを持たない HTTP/1.1 リクエストです
+standardEngine.notHost=エンジンの子供はホストでなければいけません
+standardEngine.notParent=エンジンは親のコンテナを持つことはできません
+standardEngine.notStarted=エンジンはまだ起動されていません
+standardEngine.unfoundHost=バーチャルホスト {0} が見つかりません
+standardEngine.unknownHost=このリクエスト中にサーバホストが指定されていません
+
+standardHost.accessBase=ドキュメントベースディレクトリ {0} にアクセスできません
+standardHost.alreadyStarted=ホストは既に起動されています
+standardHost.appBase=アプリケーションベースディレクトリ {0} が存在しません
+standardHost.clientAbort=リモートクライアントがリクエストを中止しました, IOException: {0}
+standardHost.configNotAllowed=設定ファイルが使用できません
+standardHost.configRequired=設定ファイルへのURLが必要です
+standardHost.docBase=ドキュメントベースディレクトリ {0} が既に存在します
+standardHost.installBase=ホストWebアプリケーションディレクトリ中のWebアプリケーションだけがインストールできます
+standardHost.installError=コンテキストパス {0} にアプリケーションを配備中のエラーです
+standardHost.installing=URL {1} からコンテキストパス {0} にWebアプリケーションをインストールします
+standardHost.installingWAR=URL {0} からWebアプリケーションをインストールします
+standardHost.installingXML=コンテキスト設定ファイルのURL {0} を処理しています
+standardHost.invalidErrorReportValveClass=指定されたエラーリポートバルブクラスをロードできません: {0}
+standardHost.mappingError=リクエストURI {0} のマッピング設定エラーです
+standardHost.noContext=このリクエストを処理するために設定されたコンテキストがありません
+standardHost.noHost=このリクエストを処理するために設定されたホストがありません
+standardHost.notContext=ホストの子供はコンテキストでなければいけません
+standardHost.notStarted=ホストがまだ起動されていません
+standardHost.nullName=ホスト名が必要です
+standardHost.pathFormat=無効なコンテキストパスです: {0}
+standardHost.pathMatch=コンテキストパス {0} はディレクトリ又はWARファイル名に一致しなければいけません: {1}
+standardHost.pathMissing=コンテキストパス {0} は現在使用されていません
+standardHost.pathRequired=コンテキストパスが必要です
+standardHost.pathUsed=コンテキストパス {0} は既に使用されています
+standardHost.removeError=コンテキストパス {0} のアプリケーションを削除中にエラーが発生しました
+standardHost.removing=コンテキストパス {0} のWebアプリケーションを削除します
+standardHost.start=コンテキストパス {0} のWebアプリケーションを起動します
+standardHost.stop=コンテキストパス {0} のWebアプリケーションを停止します
+standardHost.unfoundContext=リクエストURI {0} のコンテキストを見つけることができません
+standardHost.warRequired=WebアプリケーションアーカイブのURLが必要です
+standardHost.warURL=Webアプリケーションアーカイブに対する無効なURLです: {0}
+
+standardService.start.name=サービス {0} を起動します
+standardService.stop.name=サービス {0} を停止します
+
+standardWrapper.allocate=サーブレットインスタンスを割り当て中のエラーです
+standardWrapper.allocateException=サーブレット {0} に例外を割り当てます
+standardWrapper.containerServlet=コンテナサーブレット {0} をロードします
+standardWrapper.createFilters=サーブレット {0}に対するフィルタ例外を作成します
+standardWrapper.deallocateException=サーブレット {0} に対する例外の割り当てを解除します
+standardWrapper.destroyException=サーブレット {0} のServlet.destroy()が例外を投げました
+standardWrapper.exception0=Tomcatの例外の報告
+standardWrapper.exception1=サーブレット例外が発生しました
+standardWrapper.exception2=例外の報告:
+standardWrapper.exception3=根本の原因:
+standardWrapper.initException=サーブレット {0} のServlet.init()が例外を投げました
+standardWrapper.instantiate=サーブレットクラス {0} を初期化中にエラーが発生しました
+standardWrapper.isUnavailable=サーブレット {0} は現在利用できません
+standardWrapper.jasperLoader=サーブレット {0} にJasperクラスローダを使用します
+standardWrapper.jspFile.format=JSPファイル {0} が''/''文字で始まっていません
+standardWrapper.missingClass=ラッパがサーブレットクラス {0} 又はそれが依存するクラスを見つけることができません
+standardWrapper.missingLoader=ラッパがサーブレット {0} のローダを見つけることができません
+standardWrapper.notChild=ラッパコンテナは子供のコンテナを持つことはできません
+standardWrapper.notClass=サーブレット {0} に指定されたサーブレットクラスがありません
+standardWrapper.notContext=ラッパの親のコンテナはコンテキストでなければいけません
+standardWrapper.notFound=サーブレット {0} が利用できません
+standardWrapper.notServlet=クラス {0} はサーブレットではありません
+standardWrapper.releaseFilters=サーブレット {0} のフィルタ例外を解除します
+standardWrapper.serviceException=サーブレット {0} のServlet.service()が例外を投げました
+standardWrapper.statusHeader=HTTPステータス {0} - {1}
+standardWrapper.statusTitle=Tomcatのエラーの報告
+standardWrapper.unavailable=サーブレット {0} を利用不可能にマークします
+standardWrapper.unloadException=サーブレット {0} がunload()例外を投げました
+standardWrapper.unloading=サーブレット {0} がロードされていないので、割り当てることができません
+standardWrapper.waiting={0} インスタンスが割り当て解除されるのを待っています
diff --git a/java/org/apache/catalina/deploy/LocalStrings.properties b/java/org/apache/catalina/deploy/LocalStrings.properties
index 96192f1..22a0b69 100644
--- a/java/org/apache/catalina/deploy/LocalStrings.properties
+++ b/java/org/apache/catalina/deploy/LocalStrings.properties
@@ -15,6 +15,17 @@
 
 filterDef.invalidFilterName=Invalid <filter-name> [{0}] in filter definition.
 
+namingResources.cleanupCloseFailed=Failed to invoke method [{0}] for resource [{1}] in container [{2}] so no cleanup was performed for that resource
+namingResources.cleanupCloseSecurity=Unable to retrieve method [{0}] for resource [{1}] in container [{2}] so no cleanup was performed for that resource
+namingResources.cleanupNoClose=Resource [{0}] in container [{1}] does not have a [{2}] method so no cleanup was performed for that resource
+namingResources.cleanupNoContext=Failed to retrieve JNDI naming context for container [{0}] so no cleanup was performed for that container
+namingResources.cleanupNoResource=Failed to retrieve JNDI resource [{0}] for container [{1}] so no cleanup was performed for that resource
+namingResources.ejbLookupLink=The EJB reference [{0}] specifies both a ejb-link and a lookup-name
+namingResources.envEntryLookupValue=The environment entry [{0}] specifies both a lookup-name and a value
+namingResources.mbeanCreateFail=Failed to create MBean for naming resource [{0}]
+namingResources.mbeanDestroyFail=Failed to destroy MBean for naming resource [{0}]
+namingResources.resourceTypeFail=The JNDI resource named [{0}] is of type [{1}] but the type is inconsistent with the type(s) of the injection target(s) configured for that resource
+
 servletDef.invalidServletName=Invalid <servlet-name> [{0}] in servlet definition.
 
 webXml.duplicateEnvEntry=Duplicate env-entry name [{0}]
@@ -26,7 +37,6 @@ webXml.duplicateResourceEnvRef=Duplicate resource-env-ref name [{0}]
 webXml.duplicateResourceRef=Duplicate resource-ref name [{0}]
 webXml.duplicateServletMapping=The servlets named [{0}] and [{1}] are both mapped to the url-pattern [{2}] which is not permitted
 webXml.duplicateTaglibUri=Duplicate tag library URI [{0}]
-webXml.reservedName=A web.xml file was detected using a reserved name [{0}]. The name element will be ignored for this fragment.
 webXml.mergeConflictDisplayName=The display name was defined in multiple fragments with different values including fragment with name [{0}] located at [{1}]
 webXml.mergeConflictErrorPage=The Error Page for [{0}] was defined inconsistently in multiple fragments including fragment with name [{1}] located at [{2}]
 webXml.mergeConflictFilter=The Filter [{0}] was defined inconsistently in multiple fragments including fragment with name [{1}] located at [{2}]
@@ -34,28 +44,18 @@ webXml.mergeConflictLoginConfig=A LoginConfig was defined inconsistently in mult
 webXml.mergeConflictOrder=Fragment relative ordering contains circular references. Thsi can be resolved by using absolute ordering in web.xml.
 webXml.mergeConflictResource=The Resource [{0}] was defined inconsistently in multiple fragments including fragment with name [{1}] located at [{2}]
 webXml.mergeConflictServlet=The Servlet [{0}] was defined inconsistently in multiple fragments including fragment with name [{1}] located at [{2}]
-webXml.mergeConflictSessionCookieName=The session cookie name was defined inconsistently in multiple fragments with different values including fragment with name [{0}] located at [{1}]
-webXml.mergeConflictSessionCookieDomain=The session cookie domain was defined inconsistently in multiple fragments with different values including fragment with name [{0}] located at [{1}]
-webXml.mergeConflictSessionCookiePath=The session cookie path was defined inconsistently in multiple fragments with different values including fragment with name [{0}] located at [{1}]
 webXml.mergeConflictSessionCookieComment=The session cookie comment was defined inconsistently in multiple fragments with different values including fragment with name [{0}] located at [{1}]
+webXml.mergeConflictSessionCookieDomain=The session cookie domain was defined inconsistently in multiple fragments with different values including fragment with name [{0}] located at [{1}]
 webXml.mergeConflictSessionCookieHttpOnly=The session cookie http-only flag was defined inconsistently in multiple fragments with different values including fragment with name [{0}] located at [{1}]
-webXml.mergeConflictSessionCookieSecure=The session cookie secure flag was defined inconsistently in multiple fragments with different values including fragment with name [{0}] located at [{1}]
 webXml.mergeConflictSessionCookieMaxAge=The session cookie max-age was defined inconsistently in multiple fragments with different values including fragment with name [{0}] located at [{1}]
+webXml.mergeConflictSessionCookieName=The session cookie name was defined inconsistently in multiple fragments with different values including fragment with name [{0}] located at [{1}]
+webXml.mergeConflictSessionCookiePath=The session cookie path was defined inconsistently in multiple fragments with different values including fragment with name [{0}] located at [{1}]
+webXml.mergeConflictSessionCookieSecure=The session cookie secure flag was defined inconsistently in multiple fragments with different values including fragment with name [{0}] located at [{1}]
 webXml.mergeConflictSessionTimeout=The session timeout was defined inconsistently in multiple fragments with different values including fragment with name [{0}] located at [{1}]
 webXml.mergeConflictSessionTrackingMode=The session tracking modes were defined inconsistently in multiple fragments including fragment with name [{0}] located at [{1}]
 webXml.mergeConflictString=The [{0}] with name [{1}] was defined inconsistently in multiple fragments including fragment with name [{2}] located at [{3}]
 webXml.multipleOther=Multiple others entries in ordering
+webXml.reservedName=A web.xml file was detected using a reserved name [{0}]. The name element will be ignored for this fragment.
 webXml.unrecognisedPublicId=The public ID [{0}] did not match any of the known public ID''s for web.xml files so the version could not be identified
 webXml.version.unknown=Unknown version string [{0}]. Default version will be used.
 webXml.wrongFragmentName=Used a wrong fragment name {0} at web.xml absolute-ordering tag!
-
-namingResources.cleanupCloseFailed=Failed to invoke method [{0}] for resource [{1}] in container [{2}] so no cleanup was performed for that resource
-namingResources.cleanupCloseSecurity=Unable to retrieve method [{0}] for resource [{1}] in container [{2}] so no cleanup was performed for that resource
-namingResources.cleanupNoClose=Resource [{0}] in container [{1}] does not have a [{2}] method so no cleanup was performed for that resource
-namingResources.cleanupNoContext=Failed to retrieve JNDI naming context for container [{0}] so no cleanup was performed for that container
-namingResources.cleanupNoResource=Failed to retrieve JNDI resource [{0}] for container [{1}] so no cleanup was performed for that resource
-namingResources.ejbLookupLink=The EJB reference [{0}] specifies both a ejb-link and a lookup-name
-namingResources.envEntryLookupValue=The environment entry [{0}] specifies both a lookup-name and a value
-namingResources.mbeanCreateFail=Failed to create MBean for naming resource [{0}]
-namingResources.mbeanDestroyFail=Failed to destroy MBean for naming resource [{0}]
-namingResources.resourceTypeFail=The JNDI resource named [{0}] is of type [{1}] but the type is inconsistent with the type(s) of the injection target(s) configured for that resource
diff --git a/java/org/apache/catalina/filters/LocalStrings.properties b/java/org/apache/catalina/filters/LocalStrings.properties
index 6a2802e..01d1a6a 100644
--- a/java/org/apache/catalina/filters/LocalStrings.properties
+++ b/java/org/apache/catalina/filters/LocalStrings.properties
@@ -15,43 +15,45 @@
 
 addDefaultCharset.unsupportedCharset=Specified character set [{0}] is not supported
 
-corsFilter.invalidSupportsCredentials=It is not allowed to configure supportsCredentials=[true] when allowedOrigins=[*]
 corsFilter.invalidPreflightMaxAge=Unable to parse preflightMaxAge
+corsFilter.invalidSupportsCredentials=It is not allowed to configure supportsCredentials=[true] when allowedOrigins=[*]
 corsFilter.nullRequest=HttpServletRequest object is null
 corsFilter.nullRequestType=CORSRequestType object is null
 corsFilter.onlyHttp=CORS doesn't support non-HTTP request or response
 corsFilter.wrongType1=Expects a HttpServletRequest object of type [{0}]
 corsFilter.wrongType2=Expects a HttpServletRequest object of type [{0}] or [{1}]
-csrfPrevention.invalidRandomClass=Unable to create Random source using class [{0}]
-filterbase.noSuchProperty=The property "{0}" is not defined for filters of type "{1}"
 
-http.403=Access to the specified resource ({0}) has been forbidden.
+csrfPrevention.invalidRandomClass=Unable to create Random source using class [{0}]
 
-expiresFilter.noExpirationConfigured=Request "{0}" with response status "{1}" content-type "{2}", no expiration configured
-expiresFilter.setExpirationDate=Request "{0}" with response status "{1}" content-type "{2}", set expiration date {3}
-expiresFilter.startingPointNotFound=Starting point (access|now|modification|a<seconds>|m<seconds>) not found in directive "{0}"
-expiresFilter.startingPointInvalid=Invalid starting point (access|now|modification|a<seconds>|m<seconds>) "{0}" in directive "{1}"
-expiresFilter.responseAlreadyCommited=Request "{0}", can not apply ExpiresFilter on already committed response.
-expiresFilter.noExpirationConfiguredForContentType=No Expires configuration found for content-type "{0}"
-expiresFilter.useMatchingConfiguration=Use {0} matching "{1}" for content-type "{2}" returns {3}
-expiresFilter.useDefaultConfiguration=Use default {0} for content-type "{1}" returns {2}
-expiresFilter.noDurationFound=Duration not found in directive "{0}"
-expiresFilter.noDurationUnitAfterAmount=Duration unit not found after amount "{0}" in directive "{1}"
-expiresFilter.unsupportedStartingPoint=Unsupported startingPoint "{0}"
-expiresFilter.unknownParameterIgnored=Unknown parameter "{0}" with value "{1}" is ignored !
 expiresFilter.exceptionProcessingParameter=Exception processing configuration parameter "{0}":"{1}"
-expiresFilter.filterInitialized=Filter initialized with configuration {0}
 expiresFilter.expirationHeaderAlreadyDefined=Request "{0}" with response status "{1}" content-type "{2}", expiration header already defined
-expiresFilter.skippedStatusCode=Request "{0}" with response status "{1}" content-type "{1}", skip expiration header generation for given status
+expiresFilter.filterInitialized=Filter initialized with configuration {0}
 expiresFilter.invalidDurationNumber=Invalid duration (number) "{0}" in directive "{1}"
 expiresFilter.invalidDurationUnit=Invalid duration unit (years|months|weeks|days|hours|minutes|seconds) "{0}" in directive "{1}"
+expiresFilter.noDurationFound=Duration not found in directive "{0}"
+expiresFilter.noDurationUnitAfterAmount=Duration unit not found after amount "{0}" in directive "{1}"
+expiresFilter.noExpirationConfigured=Request "{0}" with response status "{1}" content-type "{2}", no expiration configured
+expiresFilter.noExpirationConfiguredForContentType=No Expires configuration found for content-type "{0}"
+expiresFilter.responseAlreadyCommited=Request "{0}", can not apply ExpiresFilter on already committed response.
+expiresFilter.setExpirationDate=Request "{0}" with response status "{1}" content-type "{2}", set expiration date {3}
+expiresFilter.skippedStatusCode=Request "{0}" with response status "{1}" content-type "{1}", skip expiration header generation for given status
+expiresFilter.startingPointInvalid=Invalid starting point (access|now|modification|a<seconds>|m<seconds>) "{0}" in directive "{1}"
+expiresFilter.startingPointNotFound=Starting point (access|now|modification|a<seconds>|m<seconds>) not found in directive "{0}"
+expiresFilter.unknownParameterIgnored=Unknown parameter "{0}" with value "{1}" is ignored !
+expiresFilter.unsupportedStartingPoint=Unsupported startingPoint "{0}"
+expiresFilter.useDefaultConfiguration=Use default {0} for content-type "{1}" returns {2}
+expiresFilter.useMatchingConfiguration=Use {0} matching "{1}" for content-type "{2}" returns {3}
+
+filterbase.noSuchProperty=The property "{0}" is not defined for filters of type "{1}"
+
+http.403=Access to the specified resource ({0}) has been forbidden.
 
-httpHeaderSecurityFilter.committed=Unable to add HTTP headers since response is already committed on entry to the HTTP header security Filter
 httpHeaderSecurityFilter.clickjack.invalid=An invalid value [{0}] was specified for the anti click-jacking header
+httpHeaderSecurityFilter.committed=Unable to add HTTP headers since response is already committed on entry to the HTTP header security Filter
 
 remoteCidrFilter.invalid=Invalid configuration provided for [{0}]. See previous messages for details.
 remoteCidrFilter.noRemoteIp=Client does not have an IP address. Request denied.
 
 requestFilter.deny=Denied request for [{0}] based on property [{1}]
 
-restCsrfPreventionFilter.invalidNonce=CSRF nonce validation failed
\ No newline at end of file
+restCsrfPreventionFilter.invalidNonce=CSRF nonce validation failed
diff --git a/java/org/apache/catalina/filters/LocalStrings_es.properties b/java/org/apache/catalina/filters/LocalStrings_es.properties
index a7906ae..f60df73 100644
--- a/java/org/apache/catalina/filters/LocalStrings_es.properties
+++ b/java/org/apache/catalina/filters/LocalStrings_es.properties
@@ -13,21 +13,25 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-addDefaultCharset.unsupportedCharset = El conjunto especificado de caracteres [{0}] no se encuentra soportado
-csrfPrevention.invalidRandomClass = No pude crear fuente al azar usando la clase [{0}]
-filterbase.noSuchProperty = La propiedad "{0}" no est\u00E1 definida para los filtros del tipo "{1}"
-http.403 = El acceso al recurso especificado ({0}) ha sido prohibido.
-expiresFilter.noExpirationConfigured = No se ha configurado expiraci\u00F3n para el requerimiento "{0}" con status de respuesta "{1}" y content-type "{2}"
-expiresFilter.setExpirationDate = El requerimiento "{0}" con status de respuesta "{1}" y content-type "{2}", pone fecha de expiraci\u00F3n a {3}
-expiresFilter.startingPointNotFound = Punto de Arranque (access|now|modification|a<seconds>|m<seconds>) no hallado en la directiva "{0}"
-expiresFilter.startingPointInvalid = Punto de arranque inv\u00E1lido (access|now|modification|a<seconds>|m<seconds>) "{0}" en la directiva "{1}"
-expiresFilter.responseAlreadyCommited = El requerimiento "{0}", no puede aplicar ExpiresFilter en respuesta ya acometida.
-expiresFilter.noExpirationConfiguredForContentType = No se ha hallado configuraci\u00F3n de Expiraci\u00F3n para content-type "{0}"
-expiresFilter.useMatchingConfiguration = El Uso de {0} coincidente con "{1}" para content-type "{2}" devuelve {3}
-expiresFilter.useDefaultConfiguration = El uso de {0} por defecto para content-type "{1}" devuelve {2}
-expiresFilter.unsupportedStartingPoint = No soportado startingPoint "{0}"
-expiresFilter.unknownParameterIgnored = \u00A1Se ignora el par\u00E1metro desconocido "{0}" con valor "{1}" especificado\!
-expiresFilter.exceptionProcessingParameter = Excepci\u00F3n al procesar par\u00E1metro de configuraci\u00F3n "{0}"\:"{1}"
-expiresFilter.filterInitialized = Filtro inicializado con configuraci\u00F3n {0}
-expiresFilter.expirationHeaderAlreadyDefined = Ya se ha definido cabecera de expiraci\u00F3n para el requerimiento "{0}" con status de respuesta "{1}" y content-type "{2}"
-expiresFilter.skippedStatusCode = Generaci\u00F3n de cabecera de expiraci\u00F3n saltada para el requerimiento "{0}" con status de respuesta "{1}" y content-type "{2}"
+addDefaultCharset.unsupportedCharset=El conjunto especificado de caracteres [{0}] no se encuentra soportado
+
+csrfPrevention.invalidRandomClass=No pude crear fuente al azar usando la clase [{0}]
+
+expiresFilter.exceptionProcessingParameter=Excepción al procesar parámetro de configuración "{0}":"{1}"
+expiresFilter.expirationHeaderAlreadyDefined=Ya se ha definido cabecera de expiración para el requerimiento "{0}" con status de respuesta "{1}" y content-type "{2}"
+expiresFilter.filterInitialized=Filtro inicializado con configuración {0}
+expiresFilter.noExpirationConfigured=No se ha configurado expiración para el requerimiento "{0}" con status de respuesta "{1}" y content-type "{2}"
+expiresFilter.noExpirationConfiguredForContentType=No se ha hallado configuración de Expiración para content-type "{0}"
+expiresFilter.responseAlreadyCommited=El requerimiento "{0}", no puede aplicar ExpiresFilter en respuesta ya acometida.
+expiresFilter.setExpirationDate=El requerimiento "{0}" con status de respuesta "{1}" y content-type "{2}", pone fecha de expiración a {3}
+expiresFilter.skippedStatusCode=Generación de cabecera de expiración saltada para el requerimiento "{0}" con status de respuesta "{1}" y content-type "{2}"
+expiresFilter.startingPointInvalid=Punto de arranque inválido (access|now|modification|a<seconds>|m<seconds>) "{0}" en la directiva "{1}"
+expiresFilter.startingPointNotFound=Punto de Arranque (access|now|modification|a<seconds>|m<seconds>) no hallado en la directiva "{0}"
+expiresFilter.unknownParameterIgnored=¡Se ignora el parámetro desconocido "{0}" con valor "{1}" especificado!
+expiresFilter.unsupportedStartingPoint=No soportado startingPoint "{0}"
+expiresFilter.useDefaultConfiguration=El uso de {0} por defecto para content-type "{1}" devuelve {2}
+expiresFilter.useMatchingConfiguration=El Uso de {0} coincidente con "{1}" para content-type "{2}" devuelve {3}
+
+filterbase.noSuchProperty=La propiedad "{0}" no está definida para los filtros del tipo "{1}"
+
+http.403=El acceso al recurso especificado ({0}) ha sido prohibido.
diff --git a/java/org/apache/catalina/filters/LocalStrings_fr.properties b/java/org/apache/catalina/filters/LocalStrings_fr.properties
index a2f474a..0bfcd68 100644
--- a/java/org/apache/catalina/filters/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/filters/LocalStrings_fr.properties
@@ -13,4 +13,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-http.403=L''acc\u00e8s \u00e0 la ressource demand\u00e9e ({0}) a \u00e9t\u00e9 interdit.
+http.403=L''accès à la ressource demandée ({0}) a été interdit.
diff --git a/java/org/apache/catalina/ha/deploy/LocalStrings.properties b/java/org/apache/catalina/ha/deploy/LocalStrings.properties
index 0135687..a94ae34 100644
--- a/java/org/apache/catalina/ha/deploy/LocalStrings.properties
+++ b/java/org/apache/catalina/ha/deploy/LocalStrings.properties
@@ -13,28 +13,26 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-fileNewFail=Unable to create [{0}]
-
+farmWarDeployer.alreadyDeployed=webapp [{0}] are already deployed.
 farmWarDeployer.deleteFail=Failed to delete [{0}]
 farmWarDeployer.deployEnd=Deployment from [{0}] finished.
 farmWarDeployer.fileCopyFail=Unable to copy from [{0}] to [{1}]
 farmWarDeployer.hostOnly=FarmWarDeployer can only work as host cluster subelement!
 farmWarDeployer.hostParentEngine=FarmWarDeployer can only work if parent of [{0}] is an engine!
 farmWarDeployer.mbeanNameFail=Can''t construct MBean object name for engine [{0}] and host [{1}]
-farmWarDeployer.alreadyDeployed=webapp [{0}] are already deployed.
 farmWarDeployer.modInstall=Installing webapp [{0}] from [{1}]
-farmWarDeployer.modRemoveFail=No removal
 farmWarDeployer.modInstallFail=Unable to install WAR file
+farmWarDeployer.modRemoveFail=No removal
 farmWarDeployer.msgIoe=Unable to read farm deploy file message.
 farmWarDeployer.msgRxDeploy=Receive cluster deployment path [{0}], war [{1}]
 farmWarDeployer.msgRxUndeploy=Receive cluster undeployment from path [{0}]
 farmWarDeployer.notImplemented=Method [{0}] not yet implemented.
-farmWarDeployer.removeStart=Cluster wide remove of web app [{0}]
-farmWarDeployer.removeTxMsg=Send cluster wide undeployment from [{0}]
-farmWarDeployer.removeFailRemote=Local remove from [{0}] failed, other manager has app in service!
 farmWarDeployer.removeFailLocal=Local remove from [{0}] failed
+farmWarDeployer.removeFailRemote=Local remove from [{0}] failed, other manager has app in service!
 farmWarDeployer.removeLocal=Removing webapp [{0}]
 farmWarDeployer.removeLocalFail=Unable to remove WAR file
+farmWarDeployer.removeStart=Cluster wide remove of web app [{0}]
+farmWarDeployer.removeTxMsg=Send cluster wide undeployment from [{0}]
 farmWarDeployer.renameFail=Failed to rename [{0}] to [{1}]
 farmWarDeployer.sendEnd=Send cluster war deployment path [{0}], war [{1}] finished.
 farmWarDeployer.sendFragment=Send cluster war fragment path [{0}], war [{1}] to [{2}]
@@ -43,13 +41,15 @@ farmWarDeployer.servicingDeploy=Application [{0}] is being serviced. Touch war f
 farmWarDeployer.servicingUndeploy=Application [{0}] is being serviced and can''t be removed from backup cluster node
 farmWarDeployer.started=Cluster FarmWarDeployer started.
 farmWarDeployer.stopped=Cluster FarmWarDeployer stopped.
+farmWarDeployer.streamCannotBeClosed=[{0}] to [{1}] cannot be closed.
 farmWarDeployer.undeployEnd=Undeployment from [{0}] finished.
 farmWarDeployer.undeployLocal=Undeploy local context [{0}]
 farmWarDeployer.watchDir=Cluster deployment is watching [{0}] for changes.
-farmWarDeployer.streamCannotBeClosed=[{0}] to [{1}] cannot be closed.
 
+fileNewFail=Unable to create [{0}]
+
+warWatcher.cantListWatchDir=Cannot list files in WatchDir "{0}": check to see if it is a directory and has read permissions.
+warWatcher.checkWarResult=WarInfo.check() returned {0} for {1}
+warWatcher.checkingWar=Checking WAR file {0}
 warWatcher.checkingWars=Checking WARs in {0}
 warWatcher.listedFileDoesNotExist={0} was detected in {1} but does not exist. Check directory permissions on {1}?
-warWatcher.checkingWar=Checking WAR file {0}
-warWatcher.checkWarResult=WarInfo.check() returned {0} for {1}
-warWatcher.cantListWatchDir=Cannot list files in WatchDir "{0}": check to see if it is a directory and has read permissions.
diff --git a/java/org/apache/catalina/ha/session/LocalStrings.properties b/java/org/apache/catalina/ha/session/LocalStrings.properties
index 65c773b..43510a4 100644
--- a/java/org/apache/catalina/ha/session/LocalStrings.properties
+++ b/java/org/apache/catalina/ha/session/LocalStrings.properties
@@ -13,7 +13,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-deltaManager.createSession.newSession=Created a DeltaSession with Id [{0}] Total count={1}
+backupManager.noCluster=no cluster associated with this context: [{0}]
+backupManager.startFailed=Failed to start BackupManager: [{0}]
+backupManager.startUnable=Unable to start BackupManager: [{0}]
+backupManager.stopped=Manager [{0}] is stopping
+
 deltaManager.createMessage.access=Manager [{0}]: create session message [{1}] access.
 deltaManager.createMessage.accessChangePrimary=Manager [{0}]: create session message [{1}] access to change primary.
 deltaManager.createMessage.allSessionData=Manager [{0}] send all session data.
@@ -21,7 +25,9 @@ deltaManager.createMessage.allSessionTransfered=Manager [{0}] send all session d
 deltaManager.createMessage.delta=Manager [{0}]: create session message [{1}] delta request.
 deltaManager.createMessage.expire=Manager [{0}]: create session message [{1}] expire.
 deltaManager.createMessage.unableCreateDeltaRequest=Unable to serialize delta request for sessionid [{0}]
+deltaManager.createSession.newSession=Created a DeltaSession with Id [{0}] Total count={1}
 deltaManager.dropMessage=Manager [{0}]: Drop message {1} inside GET_ALL_SESSIONS sync phase start date {2} message date {3}
+deltaManager.expireSessions=Manager [{0}] expiring sessions upon shutdown
 deltaManager.foundMasterMember=Found for context [{0}] the replication master member [{1}]
 deltaManager.loading.cnfe=ClassNotFoundException while loading persisted sessions: {0}
 deltaManager.loading.existing.session=overload existing session {0}
@@ -30,41 +36,43 @@ deltaManager.loading.withContextClassLoader=Manager [{0}]: Loading the object da
 deltaManager.loading.withoutClassLoader=Manager [{0}]: Loading the object data without a context class loader.
 deltaManager.managerLoad=Exception loading sessions from persistent storage
 deltaManager.noCluster=Starting... no cluster associated with this context: [{0}]
+deltaManager.noContextManager=Manager [{0}]: No context manager send at {1} received in {2} ms.
 deltaManager.noMasterMember=Starting... with no other member for context [{0}] at domain [{1}]
 deltaManager.noMembers=Manager [{0}]: skipping state transfer. No members active in cluster group.
 deltaManager.noSessionState=Manager [{0}]: No session state send at {1} received, timing out after {2} ms.
-deltaManager.noContextManager=Manager [{0}]: No context manager send at {1} received in {2} ms.
-deltaManager.sendMessage.newSession=Manager [{0}] send new session ({1})
-deltaManager.expireSessions=Manager [{0}] expiring sessions upon shutdown
 deltaManager.receiveMessage.accessed=Manager [{0}]: received session [{1}] accessed.
+deltaManager.receiveMessage.allSessionDataAfter=Manager [{0}]: session state deserialized
+deltaManager.receiveMessage.allSessionDataBegin=Manager [{0}]: received session state data
 deltaManager.receiveMessage.createNewSession=Manager [{0}]: received session [{1}] created.
 deltaManager.receiveMessage.delta=Manager [{0}]: received session [{1}] delta.
 deltaManager.receiveMessage.delta.unknown=Manager [{0}]: received unknown session [{1}] delta.
 deltaManager.receiveMessage.error=Manager [{0}]: Unable to receive message through TCP channel
 deltaManager.receiveMessage.eventType=Manager [{0}]: Received SessionMessage of type=({1}) from [{2}]
 deltaManager.receiveMessage.expired=Manager [{0}]: received session [{1}] expired.
-deltaManager.receiveMessage.transfercomplete=Manager [{0}] received from node [{1}:{2}] session state transfered.
 deltaManager.receiveMessage.noContextManager=Manager [{0}] received from node [{1}:{2}] no context manager.
+deltaManager.receiveMessage.transfercomplete=Manager [{0}] received from node [{1}:{2}] session state transfered.
 deltaManager.receiveMessage.unloadingAfter=Manager [{0}]: unloading sessions complete
 deltaManager.receiveMessage.unloadingBegin=Manager [{0}]: start unloading sessions
-deltaManager.receiveMessage.allSessionDataAfter=Manager [{0}]: session state deserialized
-deltaManager.receiveMessage.allSessionDataBegin=Manager [{0}]: received session state data
 deltaManager.registerCluster=Register manager {0} to cluster element {1} with name {2}
+deltaManager.sendMessage.newSession=Manager [{0}] send new session ({1})
 deltaManager.sessionReceived=Manager [{0}]; session state send at {1} received in {2} ms.
 deltaManager.startClustering=Starting clustering manager at {0}
 deltaManager.stopped=Manager [{0}] is stopping
+deltaManager.unableSerializeSessionID=Unable to serialize sessionID [{0}]
 deltaManager.unloading.ioe=IOException while saving persisted sessions: {0}
 deltaManager.waitForSessionState=Manager [{0}], requesting session state from {1}. This operation will timeout if no session state has been received within {2} seconds.
-deltaManager.unableSerializeSessionID =Unable to serialize sessionID [{0}]
+
 deltaRequest.showPrincipal=Principal [{0}] is set to session {1}
 deltaRequest.wrongPrincipalClass=ClusterManager only support GenericPrincipal. Your realm used principal class {0}.
+
 deltaSession.notifying=Notifying cluster of expiration primary={0} sessionId [{1}]
-deltaSession.valueBound.ex=Session bound listener throw an exception
+deltaSession.readAttribute=session [{0}] loading attribute [{1}] with value [{2}]
+deltaSession.readSession=readObject() loading session [{0}]
 deltaSession.valueBinding.ex=Session binding listener throw an exception
+deltaSession.valueBound.ex=Session bound listener throw an exception
 deltaSession.valueUnbound.ex=Session unbound listener throw an exception
-deltaSession.readSession=readObject() loading session [{0}]
-deltaSession.readAttribute=session [{0}] loading attribute [{1}] with value [{2}]
 deltaSession.writeSession=writeObject() storing session [{0}]
+
 jvmRoute.cannotFindSession=Can''t find session [{0}]
 jvmRoute.changeSession=Changed session from [{0}] to [{1}]
 jvmRoute.clusterListener.started=Cluster JvmRouteSessionIDBinderListener started
@@ -83,16 +91,14 @@ jvmRoute.noCluster=The JvmRouterBinderValve is configured, but clustering is not
 jvmRoute.notFoundManager=Not found Cluster Manager at {0}
 jvmRoute.receiveMessage.sessionIDChanged=Cluster JvmRouteSessionIDBinderListener received orginal session ID [{0}] set to new id [{1}] for context path [{2}]
 jvmRoute.run.already=jvmRoute SessionID receiver run already
+jvmRoute.set.orignalsessionid=Set Orginal Session id at request attribute {0} value: {1}
 jvmRoute.skipURLSessionIDs=Skip reassign jvm route check, sessionid comes from URL!
 jvmRoute.turnoverInfo=Turnover Check time {0} msec
 jvmRoute.valve.started=JvmRouteBinderValve started
 jvmRoute.valve.stopped=JvmRouteBinderValve stopped
-jvmRoute.set.orignalsessionid=Set Orginal Session id at request attribute {0} value: {1}
+
+serializablePrincipal.readPrincipal.cnfe=readPrincipal: Failed to recreate user Principal
+
 standardSession.notSerializable=Cannot serialize session attribute {0} for session {1}
 standardSession.removeAttribute.ise=removeAttribute: Session already invalidated
 standardSession.setAttribute.namenull=setAttribute: name parameter cannot be null
-serializablePrincipal.readPrincipal.cnfe=readPrincipal: Failed to recreate user Principal
-backupManager.noCluster=no cluster associated with this context: [{0}]
-backupManager.startUnable=Unable to start BackupManager: [{0}]
-backupManager.startFailed=Failed to start BackupManager: [{0}]
-backupManager.stopped=Manager [{0}] is stopping
diff --git a/java/org/apache/catalina/ha/session/LocalStrings_es.properties b/java/org/apache/catalina/ha/session/LocalStrings_es.properties
index 26b5a26..6b52bc6 100644
--- a/java/org/apache/catalina/ha/session/LocalStrings_es.properties
+++ b/java/org/apache/catalina/ha/session/LocalStrings_es.properties
@@ -13,79 +13,84 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-deltaManager.createSession.newSession = Creada una DeltaSession con Id [{0}] Total contador\={1}
-deltaManager.createMessage.access = Gestor [{0}]\: creado mensaje de sesi\u00F3n [{1}] acceso.
-deltaManager.createMessage.accessChangePrimary = Gestor [{0}]\: creado mensaje de sesi\u00F3n [{1}] acceso para cambiar el primario.
-deltaManager.createMessage.allSessionData = Gestor [{0}] env\u00EDa todos los datos de sesi\u00F3n.
-deltaManager.createMessage.allSessionTransfered = Gestor [{0}] env\u00EDa todos los datos de sesi\u00F3n transferidos
-deltaManager.createMessage.delta = Gestor [{0}]\: crea mensaje de sesi\u00F3n [{1}] de requerimiento delta.
-deltaManager.createMessage.expire = Gestor [{0}]\: crea mensaje de sesi\u00F3n [{1}] de expiraci\u00F3n.
-deltaManager.createMessage.unableCreateDeltaRequest = No puedo serializar requerimiento delta para la id de sesi\u00F3n [{0}]
-deltaManager.dropMessage = Gestor [{0}]\: Quita mensaje {1} dentro de fase sincronizada GET_ALL_SESSIONS fecha inicio {2} fecha mensaje {3}
-deltaManager.foundMasterMember = Hallado para contexto [{0}] el miembro maestro de r\u00E9plica [{1}]
-deltaManager.loading.cnfe = ClassNotFoundException al cargar sesiones persistentes\: {0}
-deltaManager.loading.existing.session = sobrecarga en sesi\u00F3n existente {0}
-deltaManager.loading.ioe = IOException al cargar sesiones persistentes\: {0}
-deltaManager.loading.withContextClassLoader = Gestor [{0}]\: Cargando los datos de objeto con un cargador de clase de contexto.
-deltaManager.loading.withoutClassLoader = Gestor [{0}]\: Cargando los datos de objeto sin un cargador de clase de contexto.
-deltaManager.managerLoad = Excepci\u00F3n cargando sesiones desde almacenaje persistente
-deltaManager.noCluster = Arrancando... no hay cl\u00FAster asociado con este contexto\: [{0}]
-deltaManager.noMasterMember = Arrancando... sin otro miembro para el contexto [{0}] en dominio [{1}]
-deltaManager.noMembers = Gestor [{0}]\: saltando estado de transferencia. No hay miembros activos en grupo de cl\u00FAster.
-deltaManager.noSessionState = Gestor [{0}]\: No se ha recibido estado de sesi\u00F3n a las {1}, agotando tiempo tras {2} ms.
-deltaManager.sendMessage.newSession = El gestor [{0}] env\u00EDa nueva sesi\u00F3n ({1})
-deltaManager.expireSessions = Gestor [{0}] expirando sesiones al apagar
-deltaManager.receiveMessage.accessed = Gestor [{0}]\: accedida sesi\u00F3n [{1}] recibida.
-deltaManager.receiveMessage.createNewSession = Gestor [{0}]\: creada sesi\u00F3n [{1}] recibida.
-deltaManager.receiveMessage.delta = Gestor [{0}]\: delta sesi\u00F3n [{1}] recibida.
-deltaManager.receiveMessage.error = Gestor [{0}]\: No puedo recibir mensaje a trav\u00E9s del canal TCP
-deltaManager.receiveMessage.eventType = Gestor [{0}]\: recibido SessionMessage de tipo\=({1}) desde [{2}]
-deltaManager.receiveMessage.expired = Gestor [{0}]\: expirada sesi\u00F3n [{1}] recibida.
-deltaManager.receiveMessage.transfercomplete = Gestor [{0}] recibido desde nodo [{1}\:{2}] estado de sesi\u00F3n transferido.
-deltaManager.receiveMessage.unloadingAfter = Gestor [{0}]\: completada la descarga de sesiones
-deltaManager.receiveMessage.unloadingBegin = Gestor [{0}]\: iniciada descarga de sesiones
-deltaManager.receiveMessage.allSessionDataAfter = Gestor [{0}]\: estado de sesi\u00F3n deserializado
-deltaManager.receiveMessage.allSessionDataBegin = Gestor [{0}]\: recibidos datos de estado de sesi\u00F3n
-deltaManager.registerCluster = Registrar gestor {0} a elemento de cl\u00FAster {1} con nombre {2}
-deltaManager.sessionReceived = Gestor [{0}]; estado de sesi\u00F3n enviado a las {1} recibido en {2} ms.
-deltaManager.startClustering = Iniciando gestor de cl\u00FAster a las {0}
-deltaManager.stopped = El gestor [{0}] se est\u00E1 parando
-deltaManager.unloading.ioe = IOException al grabar sesiones persistentes\: {0}
-deltaManager.waitForSessionState = Gestor [{0}], requiriendo estado de sesi\u00F3n desde {1}. Esta operaci\u00F3n se agotar\u00E1 si no se recibe estado de sesi\u00F3n dentro de {2} segundos.
-deltaManager.unableSerializeSessionID = No puedo seriallizar la ID de sesi\u00F3n [{0}]
-deltaRequest.showPrincipal = El Principal [{0}] est\u00E1 puesto a sesi\u00F3n {1}
-deltaRequest.wrongPrincipalClass = DeltaManager s\u00F3lo soporta GenericPrincipal. Tu reino utiliz\u00F3 clase principal {0}.
-deltaSession.notifying = Notificando cl\u00FAster de expiraci\u00F3n primaria\={0} sessionId [{1}]
-deltaSession.valueBound.ex = Oyente ligado a sesi\u00F3n lanz\u00F3 una excepci\u00F3n
-deltaSession.valueBinding.ex = Oyente lig\u00E1ndose a sesi\u00F3n lanz\u00F3 una excepci\u00F3n
-deltaSession.valueUnbound.ex = Oyente desligado de sesi\u00F3n lanz\u00F3 una excepci\u00F3n
-deltaSession.readSession = readObject() cargando sesi\u00F3n [{0}]
-deltaSession.readAttribute = sesi\u00F3n [{0}] cargando atributo [{1}] con valor [{2}]
-deltaSession.writeSession = writeObject() guardando sesi\u00F3n [{0}]
-jvmRoute.cannotFindSession = No puedo hallar sesi\u00F3n [{0}]
-jvmRoute.changeSession = Cambiada sesi\u00F3n desde [{0}] a [{1}]
-jvmRoute.clusterListener.started = Cl\u00FAster JvmRouteSessionIDBinderListener arrancado
-jvmRoute.clusterListener.stopped = Cl\u00FAster JvmRouteSessionIDBinderListener parado
-jvmRoute.configure.warn = Por favor, \u00A1configura tu JvmRouteBinderValve en la v\u00E1lvula de m\u00E1quina, no en la v\u00E1lvula del contexto\!
-jvmRoute.contextNotFound = \u00A1Contexto [{0}] no hallado en el nodo [{1}]\!
-jvmRoute.failover = Detectada una ca\u00EDda con diferente jvmRoute - ruta original\: [{0}] nueva\: [{1}] en id de sesi\u00F3n [{2}]
-jvmRoute.foundManager = Hallado Cl\u00FAster DeltaManager {0} en {1}
-jvmRoute.hostNotFound = No hallada m\u00E1quina [{0}]
-jvmRoute.listener.started = Arrancado Oyente Ligador de SessionID
-jvmRoute.listener.stopped = Parado Oyente Ligador de SessionID
-jvmRoute.lostSession = Perdida Sesi\u00F3n [{0}] en ruta [{1}]
-jvmRoute.missingJvmRouteAttribute = \u00A1No se ha configurado atributo de motor jvmRoute\!
-jvmRoute.newSessionCookie = Poniendo cookie con id de sesi\u00F3n [{0}] nombre\: [{1}] ruta\: [{2}] seguro\: [{3}] httpOnly\: [{4}]
-jvmRoute.noCluster = La v\u00E1lvula JvmRouterBinderValve se encuentra configurada, pero no se usa el cl\u00FAster. A\u00FAn funcionar\u00E1 la tolerancia a fallos, siempre que se est\u00E9 usando PersistentManager.
-jvmRoute.notFoundManager = No hallado Cl\u00FAster DeltaManager {0} en {1}
-jvmRoute.receiveMessage.sessionIDChanged = Cl\u00FAster JvmRouteSessionIDBinderListener recibi\u00F3 ID original de sesi\u00F3n [{0}] puesto a nuevo id [{1}] para la ruta de contexto [{2}]
-jvmRoute.run.already = receptor jvmRoute SessionID ya ejecutado
-jvmRoute.skipURLSessionIDs = \u00A1Saltado chequeo de reasignaci\u00F3n de ruta jvm, la sessionid viene desde URL\!
-jvmRoute.turnoverInfo = Ajustado tiempo de Chequeo a {0} mseg
-jvmRoute.valve.started = JvmRouteBinderValve arrancada
-jvmRoute.valve.stopped = JvmRouteBinderValve parada
-jvmRoute.set.orignalsessionid = Puesta id Orginal de Sesi\u00F3n en atributo de requerimiento {0} valor\: {1}
-standardSession.notSerializable = No puedo serializar atributo de sesi\u00F3n {0} para sesi\u00F3n {1}
-standardSession.removeAttribute.ise = removeAttribute\: Sesi\u00F3n ya invalidada
-standardSession.setAttribute.namenull = setAttribute\: par\u00E1metro de nombre no puede ser nulo
-serializablePrincipal.readPrincipal.cnfe = readPrincipal\: No pude volver a crea el usuario Principal
+deltaManager.createMessage.access=Gestor [{0}]: creado mensaje de sesión [{1}] acceso.
+deltaManager.createMessage.accessChangePrimary=Gestor [{0}]: creado mensaje de sesión [{1}] acceso para cambiar el primario.
+deltaManager.createMessage.allSessionData=Gestor [{0}] envía todos los datos de sesión.
+deltaManager.createMessage.allSessionTransfered=Gestor [{0}] envía todos los datos de sesión transferidos
+deltaManager.createMessage.delta=Gestor [{0}]: crea mensaje de sesión [{1}] de requerimiento delta.
+deltaManager.createMessage.expire=Gestor [{0}]: crea mensaje de sesión [{1}] de expiración.
+deltaManager.createMessage.unableCreateDeltaRequest=No puedo serializar requerimiento delta para la id de sesión [{0}]
+deltaManager.createSession.newSession=Creada una DeltaSession con Id [{0}] Total contador={1}
+deltaManager.dropMessage=Gestor [{0}]: Quita mensaje {1} dentro de fase sincronizada GET_ALL_SESSIONS fecha inicio {2} fecha mensaje {3}
+deltaManager.expireSessions=Gestor [{0}] expirando sesiones al apagar
+deltaManager.foundMasterMember=Hallado para contexto [{0}] el miembro maestro de réplica [{1}]
+deltaManager.loading.cnfe=ClassNotFoundException al cargar sesiones persistentes: {0}
+deltaManager.loading.existing.session=sobrecarga en sesión existente {0}
+deltaManager.loading.ioe=IOException al cargar sesiones persistentes: {0}
+deltaManager.loading.withContextClassLoader=Gestor [{0}]: Cargando los datos de objeto con un cargador de clase de contexto.
+deltaManager.loading.withoutClassLoader=Gestor [{0}]: Cargando los datos de objeto sin un cargador de clase de contexto.
+deltaManager.managerLoad=Excepción cargando sesiones desde almacenaje persistente
+deltaManager.noCluster=Arrancando... no hay clúster asociado con este contexto: [{0}]
+deltaManager.noMasterMember=Arrancando... sin otro miembro para el contexto [{0}] en dominio [{1}]
+deltaManager.noMembers=Gestor [{0}]: saltando estado de transferencia. No hay miembros activos en grupo de clúster.
+deltaManager.noSessionState=Gestor [{0}]: No se ha recibido estado de sesión a las {1}, agotando tiempo tras {2} ms.
+deltaManager.receiveMessage.accessed=Gestor [{0}]: accedida sesión [{1}] recibida.
+deltaManager.receiveMessage.allSessionDataAfter=Gestor [{0}]: estado de sesión deserializado
+deltaManager.receiveMessage.allSessionDataBegin=Gestor [{0}]: recibidos datos de estado de sesión
+deltaManager.receiveMessage.createNewSession=Gestor [{0}]: creada sesión [{1}] recibida.
+deltaManager.receiveMessage.delta=Gestor [{0}]: delta sesión [{1}] recibida.
+deltaManager.receiveMessage.error=Gestor [{0}]: No puedo recibir mensaje a través del canal TCP
+deltaManager.receiveMessage.eventType=Gestor [{0}]: recibido SessionMessage de tipo=({1}) desde [{2}]
+deltaManager.receiveMessage.expired=Gestor [{0}]: expirada sesión [{1}] recibida.
+deltaManager.receiveMessage.transfercomplete=Gestor [{0}] recibido desde nodo [{1}:{2}] estado de sesión transferido.
+deltaManager.receiveMessage.unloadingAfter=Gestor [{0}]: completada la descarga de sesiones
+deltaManager.receiveMessage.unloadingBegin=Gestor [{0}]: iniciada descarga de sesiones
+deltaManager.registerCluster=Registrar gestor {0} a elemento de clúster {1} con nombre {2}
+deltaManager.sendMessage.newSession=El gestor [{0}] envía nueva sesión ({1})
+deltaManager.sessionReceived=Gestor [{0}]; estado de sesión enviado a las {1} recibido en {2} ms.
+deltaManager.startClustering=Iniciando gestor de clúster a las {0}
+deltaManager.stopped=El gestor [{0}] se está parando
+deltaManager.unableSerializeSessionID=No puedo seriallizar la ID de sesión [{0}]
+deltaManager.unloading.ioe=IOException al grabar sesiones persistentes: {0}
+deltaManager.waitForSessionState=Gestor [{0}], requiriendo estado de sesión desde {1}. Esta operación se agotará si no se recibe estado de sesión dentro de {2} segundos.
+
+deltaRequest.showPrincipal=El Principal [{0}] está puesto a sesión {1}
+deltaRequest.wrongPrincipalClass=DeltaManager sólo soporta GenericPrincipal. Tu reino utilizó clase principal {0}.
+
+deltaSession.notifying=Notificando clúster de expiración primaria={0} sessionId [{1}]
+deltaSession.readAttribute=sesión [{0}] cargando atributo [{1}] con valor [{2}]
+deltaSession.readSession=readObject() cargando sesión [{0}]
+deltaSession.valueBinding.ex=Oyente ligándose a sesión lanzó una excepción
+deltaSession.valueBound.ex=Oyente ligado a sesión lanzó una excepción
+deltaSession.valueUnbound.ex=Oyente desligado de sesión lanzó una excepción
+deltaSession.writeSession=writeObject() guardando sesión [{0}]
+
+jvmRoute.cannotFindSession=No puedo hallar sesión [{0}]
+jvmRoute.changeSession=Cambiada sesión desde [{0}] a [{1}]
+jvmRoute.clusterListener.started=Clúster JvmRouteSessionIDBinderListener arrancado
+jvmRoute.clusterListener.stopped=Clúster JvmRouteSessionIDBinderListener parado
+jvmRoute.configure.warn=Por favor, ¡configura tu JvmRouteBinderValve en la válvula de máquina, no en la válvula del contexto!
+jvmRoute.contextNotFound=¡Contexto [{0}] no hallado en el nodo [{1}]!
+jvmRoute.failover=Detectada una caída con diferente jvmRoute - ruta original: [{0}] nueva: [{1}] en id de sesión [{2}]
+jvmRoute.foundManager=Hallado Clúster DeltaManager {0} en {1}
+jvmRoute.hostNotFound=No hallada máquina [{0}]
+jvmRoute.listener.started=Arrancado Oyente Ligador de SessionID
+jvmRoute.listener.stopped=Parado Oyente Ligador de SessionID
+jvmRoute.lostSession=Perdida Sesión [{0}] en ruta [{1}]
+jvmRoute.missingJvmRouteAttribute=¡No se ha configurado atributo de motor jvmRoute!
+jvmRoute.newSessionCookie=Poniendo cookie con id de sesión [{0}] nombre: [{1}] ruta: [{2}] seguro: [{3}] httpOnly: [{4}]
+jvmRoute.noCluster=La válvula JvmRouterBinderValve se encuentra configurada, pero no se usa el clúster. Aún funcionará la tolerancia a fallos, siempre que se esté usando PersistentManager.
+jvmRoute.notFoundManager=No hallado Clúster DeltaManager {0} en {1}
+jvmRoute.receiveMessage.sessionIDChanged=Clúster JvmRouteSessionIDBinderListener recibió ID original de sesión [{0}] puesto a nuevo id [{1}] para la ruta de contexto [{2}]
+jvmRoute.run.already=receptor jvmRoute SessionID ya ejecutado
+jvmRoute.set.orignalsessionid=Puesta id Orginal de Sesión en atributo de requerimiento {0} valor: {1}
+jvmRoute.skipURLSessionIDs=¡Saltado chequeo de reasignación de ruta jvm, la sessionid viene desde URL!
+jvmRoute.turnoverInfo=Ajustado tiempo de Chequeo a {0} mseg
+jvmRoute.valve.started=JvmRouteBinderValve arrancada
+jvmRoute.valve.stopped=JvmRouteBinderValve parada
+
+serializablePrincipal.readPrincipal.cnfe=readPrincipal: No pude volver a crea el usuario Principal
+
+standardSession.notSerializable=No puedo serializar atributo de sesión {0} para sesión {1}
+standardSession.removeAttribute.ise=removeAttribute: Sesión ya invalidada
+standardSession.setAttribute.namenull=setAttribute: parámetro de nombre no puede ser nulo
diff --git a/java/org/apache/catalina/ha/tcp/LocalStrings.properties b/java/org/apache/catalina/ha/tcp/LocalStrings.properties
index 08f4eaa..db38b8d 100644
--- a/java/org/apache/catalina/ha/tcp/LocalStrings.properties
+++ b/java/org/apache/catalina/ha/tcp/LocalStrings.properties
@@ -17,8 +17,8 @@ ReplicationValve.crossContext.add=add Cross Context session replication containe
 ReplicationValve.crossContext.registerSession=register Cross context session id={0} from context {1}
 ReplicationValve.crossContext.remove=remove Cross Context session replication container from replicationValve threadlocal
 ReplicationValve.crossContext.sendDelta=send Cross Context session delta from context {0}.
-ReplicationValve.filter.loading=Loading request filter={0}
 ReplicationValve.filter.failure=Unable to compile filter={0}
+ReplicationValve.filter.loading=Loading request filter={0}
 ReplicationValve.invoke.uri=Invoking replication request on {0}
 ReplicationValve.nocluster=No cluster configured for this request.
 ReplicationValve.resetDeltaRequest=Cluster is standalone: reset Session Request Delta at context {0}
@@ -28,14 +28,15 @@ ReplicationValve.session.found=Context {0}: Found session {1} but it isn''t a Cl
 ReplicationValve.session.indicator=Context {0}: Primarity of session {0} in request attribute {1} is {2}.
 ReplicationValve.session.invalid=Context {0}: Requested session {1} is invalid, removed or not replicated at this node.
 ReplicationValve.stats=Average request time= {0} ms for Cluster overhead time={1} ms for {2} requests {3} filter requests {4} send requests {5} cross context requests (Request={6} ms Cluster={7} ms).
-SimpleTcpCluster.event.log=Cluster receive listener event {0} with data {1}
-SimpleTcpCluster.getProperty=get property {0}
-SimpleTcpCluster.setProperty=set property {0}: {1} old value {2}
+
 SimpleTcpCluster.default.addClusterListener=Add Default ClusterListener at cluster {0}
-SimpleTcpCluster.default.addClusterValves=Add Default ClusterValves at cluster {0}
 SimpleTcpCluster.default.addClusterReceiver=Add Default ClusterReceiver at cluster {0}
 SimpleTcpCluster.default.addClusterSender=Add Default ClusterSender at cluster {0}
+SimpleTcpCluster.default.addClusterValves=Add Default ClusterValves at cluster {0}
 SimpleTcpCluster.default.addMembershipService=Add Default Membership Service at cluster {0}
+SimpleTcpCluster.event.log=Cluster receive listener event {0} with data {1}
+SimpleTcpCluster.getProperty=get property {0}
 SimpleTcpCluster.log.receive=RECEIVE {0,date}:{0,time} {1,number} {2}:{3,number,integer} {4} {5}
 SimpleTcpCluster.log.send=SEND {0,date}:{0,time} {1,number} {2}:{3,number,integer} {4}
 SimpleTcpCluster.log.send.all=SEND {0,date}:{0,time} {1,number} - {2}
+SimpleTcpCluster.setProperty=set property {0}: {1} old value {2}
diff --git a/java/org/apache/catalina/ha/tcp/LocalStrings_es.properties b/java/org/apache/catalina/ha/tcp/LocalStrings_es.properties
index 0adef4f..77d79a4 100644
--- a/java/org/apache/catalina/ha/tcp/LocalStrings_es.properties
+++ b/java/org/apache/catalina/ha/tcp/LocalStrings_es.properties
@@ -13,29 +13,30 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-ReplicationValve.crossContext.add = a\u00F1adir contenedor de r\u00E9plica de sesi\u00F3n de Contexto Cruzado a replicationValve threadlocal
-ReplicationValve.crossContext.registerSession = retistrar id de sesi\u00F3n de Contexto Cruzado\={0} desde contexto {1}
-ReplicationValve.crossContext.remove = quitar contenedor de r\u00E9plica de sesi\u00F3n de Contexto Cruzado a replicationValve threadlocal
-ReplicationValve.crossContext.sendDelta = enviar delta de sesi\u00F3n de Contexto Cruzado desde contexto {0}.
-ReplicationValve.filter.loading = Cargando filtros de requerimiento\={0}
-ReplicationValve.filter.failure = No puedo compilar filtror\={0}
-ReplicationValve.invoke.uri = Invocando requerimiento de r\u00E9plica en {0}
-ReplicationValve.nocluster = No cluster configured for this request.
-ReplicationValve.resetDeltaRequest = Cluster is standalone\: reset Session Request Delta at context {0}
-ReplicationValve.send.failure = Unable to perform replication request.
-ReplicationValve.send.invalid.failure = Unable to send session [id\={0}] invalid message over cluster.
-ReplicationValve.session.found = Context {0}\: Found session {1} but it isn''t a ClusterSession.
-ReplicationValve.session.indicator = Context {0}\: Primarity of session {0} in request attribute {1} is {2}.
-ReplicationValve.session.invalid = Context {0}\: Requested session {1} is invalid, removed or not replicated at this node.
-ReplicationValve.stats = Average request time\= {0} ms for Cluster overhead time\={1} ms for {2} requests {3} filter requests {4} send requests {5} cross context requests (Request\={6} ms Cluster\={7} ms).
-SimpleTcpCluster.event.log = Cluster receive listener event {0} with data {1}
-SimpleTcpCluster.getProperty = get property {0}
-SimpleTcpCluster.setProperty = set property {0}\: {1} old value {2}
-SimpleTcpCluster.default.addClusterListener = Add Default ClusterListener at cluster {0}
-SimpleTcpCluster.default.addClusterValves = Add Default ClusterValves at cluster {0}
-SimpleTcpCluster.default.addClusterReceiver = Add Default ClusterReceiver at cluster {0}
-SimpleTcpCluster.default.addClusterSender = Add Default ClusterSender at cluster {0}
-SimpleTcpCluster.default.addMembershipService = Add Default Membership Service at cluster {0}
-SimpleTcpCluster.log.receive = RECEIVE {0,date}\:{0,time} {1,number} {2}\:{3,number,integer} {4} {5}
-SimpleTcpCluster.log.send = SEND {0,date}\:{0,time} {1,number} {2}\:{3,number,integer} {4}
-SimpleTcpCluster.log.send.all = SEND {0,date}\:{0,time} {1,number} - {2}
+ReplicationValve.crossContext.add=añadir contenedor de réplica de sesión de Contexto Cruzado a replicationValve threadlocal
+ReplicationValve.crossContext.registerSession=retistrar id de sesión de Contexto Cruzado={0} desde contexto {1}
+ReplicationValve.crossContext.remove=quitar contenedor de réplica de sesión de Contexto Cruzado a replicationValve threadlocal
+ReplicationValve.crossContext.sendDelta=enviar delta de sesión de Contexto Cruzado desde contexto {0}.
+ReplicationValve.filter.failure=No puedo compilar filtror={0}
+ReplicationValve.filter.loading=Cargando filtros de requerimiento={0}
+ReplicationValve.invoke.uri=Invocando requerimiento de réplica en {0}
+ReplicationValve.nocluster=No cluster configured for this request.
+ReplicationValve.resetDeltaRequest=Cluster is standalone: reset Session Request Delta at context {0}
+ReplicationValve.send.failure=Unable to perform replication request.
+ReplicationValve.send.invalid.failure=Unable to send session [id={0}] invalid message over cluster.
+ReplicationValve.session.found=Context {0}: Found session {1} but it isn''t a ClusterSession.
+ReplicationValve.session.indicator=Context {0}: Primarity of session {0} in request attribute {1} is {2}.
+ReplicationValve.session.invalid=Context {0}: Requested session {1} is invalid, removed or not replicated at this node.
+ReplicationValve.stats=Average request time= {0} ms for Cluster overhead time={1} ms for {2} requests {3} filter requests {4} send requests {5} cross context requests (Request={6} ms Cluster={7} ms).
+
+SimpleTcpCluster.default.addClusterListener=Add Default ClusterListener at cluster {0}
+SimpleTcpCluster.default.addClusterReceiver=Add Default ClusterReceiver at cluster {0}
+SimpleTcpCluster.default.addClusterSender=Add Default ClusterSender at cluster {0}
+SimpleTcpCluster.default.addClusterValves=Add Default ClusterValves at cluster {0}
+SimpleTcpCluster.default.addMembershipService=Add Default Membership Service at cluster {0}
+SimpleTcpCluster.event.log=Cluster receive listener event {0} with data {1}
+SimpleTcpCluster.getProperty=get property {0}
+SimpleTcpCluster.log.receive=RECEIVE {0,date}:{0,time} {1,number} {2}:{3,number,integer} {4} {5}
+SimpleTcpCluster.log.send=SEND {0,date}:{0,time} {1,number} {2}:{3,number,integer} {4}
+SimpleTcpCluster.log.send.all=SEND {0,date}:{0,time} {1,number} - {2}
+SimpleTcpCluster.setProperty=set property {0}: {1} old value {2}
diff --git a/java/org/apache/catalina/loader/LocalStrings.properties b/java/org/apache/catalina/loader/LocalStrings.properties
index 558e927..4ac8f64 100644
--- a/java/org/apache/catalina/loader/LocalStrings.properties
+++ b/java/org/apache/catalina/loader/LocalStrings.properties
@@ -17,6 +17,7 @@ fileClassLoader.canRead=Repository {0} cannot be read
 fileClassLoader.exists=Repository {0} does not exist
 fileClassLoader.jarFile=Cannot read JAR file {0}
 fileClassLoader.restricted=Cannot load restricted class {0}
+
 standardLoader.addRepository=Adding repository {0}
 standardLoader.alreadyStarted=Loader has already been started
 standardLoader.checkInterval=Cannot set reload check interval to {0} seconds
@@ -28,57 +29,65 @@ standardLoader.reloading=Reloading checks are enabled for this Context
 standardLoader.removeRepository=Removing repository {0}
 standardLoader.starting=Starting this Loader
 standardLoader.stopping=Stopping this Loader
+
 virtualWebappLoader.token=Processing token [{0}]
 virtualWebappLoader.token.file=Adding location: [{0}]
 virtualWebappLoader.token.glob.dir=Listing files in a directory: [{0}]
 virtualWebappLoader.token.notDirectory=Path is skipped, because it does not exist or is not a directory: [{0}]
 virtualWebappLoader.token.notExists=Path is skipped, because it does not exist: [{0}]
 virtualWebappLoader.token.notFile=Path is skipped, because it does not exist or is not a file: [{0}]
+
 webappClassLoader.addExportsRmi=When running on Java 9 you need to add "--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" to the JVM command line arguments to enable RMI Target memory leak detection. Alternatively, you can suppress this warning by disabling RMI Target memory leak detection.
 webappClassLoader.addExportsThreadLocal=When running on Java 9 you need to add "--add-opens=java.base/java.lang=ALL-UNNAMED" to the JVM command line arguments to enable ThreadLocal memory leak detection. Alternatively, you can suppress this warning by disabling ThreadLocal memory leak detection.
-webappClassLoader.illegalJarPath=Illegal JAR entry detected with name {0}
-webappClassLoader.jdbcRemoveFailed=JDBC driver de-registration failed for web application [{0}]
-webappClassLoader.jdbcRemoveStreamError=Exception closing input stream during JDBC driver de-registration for web application [{0}]
-webappClassLoader.stopped=Illegal access: this web application instance has been stopped already.  Could not load {0}.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
-webappClassLoader.readError=Resource read error: Could not load {0}.
-webappClassLoader.clearJdbc=The web application [{0}] registered the JDBC driver [{1}] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
-webappClassLoader.clearObjectStreamClassCachesFail=Failed to clear soft references from ObjectStreamClass$Caches for web application [{0}]
-webappClassLoader.clearReferencesResourceBundlesCount=Removed [{0}] ResourceBundle references from the cache for web application [{1}]
-webappClassLoader.clearReferencesResourceBundlesFail=Failed to clear ResourceBundle references for web application [{0}]
-webappClassLoader.clearRmi=Found RMI Target with stub class class [{0}] and value [{1}]. This RMI Target has been forcibly removed to prevent a memory leak.
-webappClassLoader.clearRmiInfo=Failed to find class sun.rmi.transport.Target to clear context class loader for web application [{0}]. This is expected on non-Sun JVMs.
-webappClassLoader.clearRmiFail=Failed to clear context class loader referenced from sun.rmi.transport.Target for web application [{0}]
+webappClassLoader.addTransformer=Added class file transformer [{0}] to web application [{1}].
+webappClassLoader.addTransformer.duplicate=Duplicate call to add class file transformer [{0}] to web application [{1}] ignored.
+webappClassLoader.addTransformer.illegalArgument=The web application [{0}] attempted to add a null class file transformer.
+webappClassLoader.checkThreadLocalsForLeaks=The web application [{0}] created a ThreadLocal with key of type [{1}] (value [{2}]) and a value of type [{3}] (value [{4}]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
 webappClassLoader.checkThreadLocalsForLeaks.badKey=Unable to determine string representation of key of type [{0}]
 webappClassLoader.checkThreadLocalsForLeaks.badValue=Unable to determine string representation of value of type [{0}]
 webappClassLoader.checkThreadLocalsForLeaks.unknown=Unknown
-webappClassLoader.checkThreadLocalsForLeaks=The web application [{0}] created a ThreadLocal with key of type [{1}] (value [{2}]) and a value of type [{3}] (value [{4}]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
+webappClassLoader.checkThreadLocalsForLeaksFail=Failed to check for ThreadLocal references for web application [{0}]
 webappClassLoader.checkThreadLocalsForLeaksNone=The web application [{0}] created a ThreadLocal with key of type [{1}] (value [{2}]) and a value of type [{3}] (value [{4}]). Since keys are only weakly held by the ThreadLocal Map this is not a memory leak.
 webappClassLoader.checkThreadLocalsForLeaksNull=The web application [{0}] created a ThreadLocal with key of type [{1}] (value [{2}]). The ThreadLocal has been correctly set to null and the key will be removed by GC.
-webappClassLoader.checkThreadLocalsForLeaksFail=Failed to check for ThreadLocal references for web application [{0}]
 webappClassLoader.checkThreadsHttpClient=Found HttpClient keep-alive thread using web application class loader. Fixed by switching thread to the parent class loader.
+webappClassLoader.clearJdbc=The web application [{0}] registered the JDBC driver [{1}] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
+webappClassLoader.clearObjectStreamClassCachesFail=Failed to clear soft references from ObjectStreamClass$Caches for web application [{0}]
+webappClassLoader.clearReferencesResourceBundlesCount=Removed [{0}] ResourceBundle references from the cache for web application [{1}]
+webappClassLoader.clearReferencesResourceBundlesFail=Failed to clear ResourceBundle references for web application [{0}]
+webappClassLoader.clearRmi=Found RMI Target with stub class class [{0}] and value [{1}]. This RMI Target has been forcibly removed to prevent a memory leak.
+webappClassLoader.clearRmiFail=Failed to clear context class loader referenced from sun.rmi.transport.Target for web application [{0}]
+webappClassLoader.clearRmiInfo=Failed to find class sun.rmi.transport.Target to clear context class loader for web application [{0}]. This is expected on non-Sun JVMs.
 webappClassLoader.getThreadGroupError=Unable to obtain the parent for ThreadGroup [{0}]. It will not be possible to check all threads for potential memory leaks
-webappClassLoader.loadedByThisOrChildFail=Failed to fully check the entries in an instance of [{0}] for potential memory leaks in context [{1}]
+webappClassLoader.illegalJarPath=Illegal JAR entry detected with name {0}
 webappClassLoader.jarOpenFail=Failed to open JAR [{0}]
 webappClassLoader.javaseClassLoaderNull=The j2seClassLoader attribute may not be null
+webappClassLoader.jdbcRemoveFailed=JDBC driver de-registration failed for web application [{0}]
+webappClassLoader.jdbcRemoveStreamError=Exception closing input stream during JDBC driver de-registration for web application [{0}]
+webappClassLoader.loadedByThisOrChildFail=Failed to fully check the entries in an instance of [{0}] for potential memory leaks in context [{1}]
+webappClassLoader.readError=Resource read error: Could not load {0}.
+webappClassLoader.removeTransformer=Removed class file transformer [{0}] from web application [{1}].
 webappClassLoader.stopThreadFail=Failed to terminate thread named [{0}] for web application [{1}]
 webappClassLoader.stopTimerThreadFail=Failed to terminate TimerThread named [{0}] for web application [{1}]
+webappClassLoader.stopped=Illegal access: this web application instance has been stopped already.  Could not load {0}.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
+webappClassLoader.transformError=Instrumentation error: could not transform class [{0}] because its class file format is not legal.
 webappClassLoader.validationErrorJarPath=Unable to validate JAR entry with name {0}
 webappClassLoader.warnRequestThread=The web application [{0}] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation.
 webappClassLoader.warnThread=The web application [{0}] appears to have started a thread named [{1}] but has failed to stop it. This is very likely to create a memory leak.
 webappClassLoader.warnTimerThread=The web application [{0}] appears to have started a TimerThread named [{1}] via the java.util.Timer API but has failed to stop it. To prevent a memory leak, the timer (and hence the associated thread) has been forcibly canceled.
 webappClassLoader.wrongVersion=(unable to load class {0})
-webappClassLoader.addTransformer.illegalArgument=The web application [{0}] attempted to add a null class file transformer.
-webappClassLoader.addTransformer.duplicate=Duplicate call to add class file transformer [{0}] to web application [{1}] ignored.
-webappClassLoader.addTransformer=Added class file transformer [{0}] to web application [{1}].
-webappClassLoader.removeTransformer=Removed class file transformer [{0}] from web application [{1}].
-webappClassLoader.transformError=Instrumentation error: could not transform class [{0}] because its class file format is not legal.
+
 webappClassLoaderParallel.registrationFailed=Registration of org.apache.catalina.loader.ParallelWebappClassLoader as capable of loading classes in parallel failed
+
 webappLoader.addRepository=Adding repository {0}
-webappLoader.deploy=Deploying class repositories to work directory {0}
-webappLoader.jarDeploy=Deploy JAR {0} to {1}
-webappLoader.classDeploy=Deploy class files {0} to {1}
 webappLoader.alreadyStarted=Loader has already been started
 webappLoader.checkInterval=Cannot set reload check interval to {0} seconds
+webappLoader.classDeploy=Deploy class files {0} to {1}
+webappLoader.copyFailure=Failed to copy resources
+webappLoader.deploy=Deploying class repositories to work directory {0}
+webappLoader.failModifiedCheck=Error tracking modifications
+webappLoader.jarDeploy=Deploy JAR {0} to {1}
+webappLoader.mkdirFailure=Failed to create destination directory to copy resources
+webappLoader.namingFailure=Failed to access resource {0}
 webappLoader.notContext=Cannot auto-reload unless our Container is a Context
 webappLoader.notReloadabe=Reloadable property is set to false
 webappLoader.notStarted=Loader has not yet been started
@@ -87,7 +96,3 @@ webappLoader.reloading=Reloading checks are enabled for this Context
 webappLoader.removeRepository=Removing repository {0}
 webappLoader.starting=Starting this Loader
 webappLoader.stopping=Stopping this Loader
-webappLoader.failModifiedCheck=Error tracking modifications
-webappLoader.copyFailure=Failed to copy resources
-webappLoader.mkdirFailure=Failed to create destination directory to copy resources
-webappLoader.namingFailure=Failed to access resource {0}
diff --git a/java/org/apache/catalina/loader/LocalStrings_es.properties b/java/org/apache/catalina/loader/LocalStrings_es.properties
index bf35514..ed6cec1 100644
--- a/java/org/apache/catalina/loader/LocalStrings_es.properties
+++ b/java/org/apache/catalina/loader/LocalStrings_es.properties
@@ -13,66 +13,70 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-fileClassLoader.canRead = No se puede leer el Repositorio {0}
-fileClassLoader.exists = No existe el Repositorio {0}
-fileClassLoader.jarFile = No puedo leer archivo JAR {0}
-fileClassLoader.restricted = No puedo cargar clase restringida {0}
-standardLoader.addRepository = A\u00F1adiendo repositorio {0}
-standardLoader.alreadyStarted = Ya ha sido arrancado el Cargador
-standardLoader.checkInterval = No puedo poner el intervalo de revisi\u00F3n de recarga a {0} segundos
-standardLoader.notContext = No puedo auto-recargar a menos que nuestro Contenedor sea un Contexto
-standardLoader.notReloadabe = La propiedad Recargable est\u00E1 puesta a falsa
-standardLoader.notStarted = A\u00FAn no se ha arrancado el Cargador
-standardLoader.reloadable = No puedo poner la propiedad recargable a {0}
-standardLoader.reloading = Se han activado las revisiones de Recarga para este Contexto
-standardLoader.removeRepository = Quitando repositorio {0}
-standardLoader.starting = Arrancando este Cargador
-standardLoader.stopping = Parando este Cargador
-virtualWebappLoader.token = Procesando ficha [{0}]
-virtualWebappLoader.token.file = A\u00F1adiendo localizaci\u00F3n\: [{0}]
-virtualWebappLoader.token.glob.dir = listando ficheros en un directorio\: [{0}]
-virtualWebappLoader.token.notDirectory = Se salta la ruta porque no existe o no es un directorio\: [{0}]
-virtualWebappLoader.token.notExists = Ruta saltada porque no existe\: [{0}]
-virtualWebappLoader.token.notFile = Se salta la ruta porque no exuste o no es un fichero\: [{0}]
-webappClassLoader.illegalJarPath = Detectada entrada ilegal de JAR con nombre {0}
-webappClassLoader.jdbcRemoveFailed = Ha fallado el desregistro del conductor JDBC para la aplicaci\u00F3n web [{0}]
-webappClassLoader.jdbcRemoveStreamError = Excepci\u00F3n al cerrar flujo de entrada durante desregistro de conductor JDBC para apliicaci\u00F3n web [{0}]
-webappClassLoader.stopped = Acceso ilegal\: esta instancia de aplicaci\u00F3n web ya ha sido parada.  Could not load {0}.  La eventual traza de pila que sigue ha sido motivada por un error lanzado con motivos de depuraci\u00F3n as\u00ED como para intentar terminar el hilo que motiv\u00F3 el acceso ilegal y no tiene impacto funcional.
-webappClassLoader.readError = Error de lectura de recurso\: No pude cargar {0}.
-webappClassLoader.clearJdbc = La aplicaci\u00F3n web [{0}] registr\u00F3 el conductor JDBC [{1}] pero fall\u00F3 al anular el registro mientras la aplicaci\u00F3n web estaba parada. Para prevenir un fallo de memoria, se ha anulado el registro del conductor JDBC por la fuerza.
-webappClassLoader.clearReferencesResourceBundlesCount = Quitadas las referencias del Resourcebundle  [{0}] desde la cach\u00E9 para la aplicaci\u00F3n web [{1}]
-webappClassLoader.clearReferencesResourceBundlesFail = No puede limpiar las referencisa de ResourceBundle para la aplicaci\u00F3n web [{0}]
-webappClassLoader.clearRmiInfo = No pude hallar la clase sun.rmi.transport.Target para limpiar el cargador de contexto de clase para la aplicaci\u00F3n web [{0}]. Esto es lo esperado em m\u00E1quinas que no son de Sun.
-webappClassLoader.clearRmiFail = No pude limpiar el cargador del contexto de clase referenciado desde sun.rmi.transport.Target para la aplicaci\u00F3n web [{0}]
-webappClassLoader.checkThreadLocalsForLeaks.badKey = No puedo determinar la representaci\u00F3n de cadena de la clave del tipo  [{0}]
-webappClassLoader.checkThreadLocalsForLeaks.badValue = No puedo determinar la representaci\u00F3n de cadena del valor del tipo  [{0}]
-webappClassLoader.checkThreadLocalsForLeaks.unknown = Desconocido
-webappClassLoader.checkThreadLocalsForLeaks = La aplicaci\u00F3n web [{0}] cre\u00F3 un ThreadLocal con clave del tipo [{1}] (valor [{2}]) y un valor del tipo [{3}] (valor [{4}]) pero no pudo quitarlo cuando la aplicaci\u00F3n web se par\u00F3. Los hilos se van a renovar con el tiempo para intentar evitar in posible fallo de memoria.
-webappClassLoader.checkThreadLocalsForLeaksNull = La aplicaci\u00F3n web [{0}] cre\u00F3 un ThreadLocal con clave del tipo [{1}] (valor [{2}]). El Threadlocal ha sido puesto correctamente a nulo y la clave ser\u00E1 qutada por el GC.
-webappClassLoader.checkThreadLocalsForLeaksFail = No pude revisar las referencias a ThreadLocal para la aplicaci\u00F3n web  [{0}]
-webappClassLoader.checkThreadsHttpClient = Hallado hilo keep-alive de HttpClient usando cargador de clase de aplicaci\u00F3n web. Fijado por el hilo de conmutaci\u00F3n al cargador de la clase padre.
-webappClassLoader.stopThreadFail = No pude terminar el hilo con nombre [{0}] para la aplicaci\u00F3n web [{1}]
-webappClassLoader.stopTimerThreadFail = No pude terminar TimerThread con nombre [{0}] para la aplicaci\u00F3n web [{1}]
-webappClassLoader.validationErrorJarPath = no pude validar entrada JAR con nombre {0}
-webappClassLoader.warnRequestThread = La aplicaci\u00F3n web [{0}] a\u00FAn se encuentra procesando un requerimiento que no ha terminados. Esto tiene todas las papeletas de convertirse en un fallo de memoria. Puedes controlar el tiempo permitido a los requerimientos para acabar mediante el uso del atributo unloadDelay de la implementaci\u00F3n est\u00E1ndar de Contexto.
-webappClassLoader.warnThread = La aplicaci\u00F3n web [{0}] parece haber arrancado un hilo llamado [{1}] pero no ha podido pararlo. Esto tiene todas las papeletas de convertirse en un fallo de memoria.
-webappClassLoader.warnTimerThread = La aplicaci\u00F3n web [{0}] parece haber arrancado un TimerThread con nombre [{1}] v\u00EDa de la API java.util.Timer, pero no ha podido pararlo. Para prevenir un fallo de memoria, el cron\u00F3metro (y el hilo asociado) hasido cancelado a la fuerza.
-webappClassLoader.wrongVersion = (no puedo cargar clase {0})
-webappLoader.addRepository = A\u00F1adiendo repositorio {0}
-webappLoader.deploy = Desplegando repositorios de clase en directorio de trabajo {0}
-webappLoader.jarDeploy = Despliegue del JAR {0} en {1}
-webappLoader.classDeploy = Despliegue de archivos de clase {0} en {1}
-webappLoader.alreadyStarted = Ya se ha arrancado el Cargador
-webappLoader.checkInterval = No puedo poner el intervalo de revisi\u00F3n de recarga a {0} segundos
-webappLoader.notContext = No puedo auto-recargar a menos que nuestro Contenedor sea un Contexto
-webappLoader.notReloadabe = Se ha puesto la propiedad Recargable a falsa
-webappLoader.notStarted = A\u00FAn no se ha arrancado el Cargador
-webappLoader.reloadable = No puedo poner la propiedad recargable a {0}
-webappLoader.reloading = Se han activado los chequeos de Recarga para este Contexto
-webappLoader.removeRepository = Quitando repositorio {0}
-webappLoader.starting = Arrancando este Cargador
-webappLoader.stopping = Parando este Cargador
-webappLoader.failModifiedCheck = Modificaciones de pista de error
-webappLoader.copyFailure = No pude copiar los recursos
-webappLoader.mkdirFailure = No pude crear directorio de destino para copiar los recursos
-webappLoader.namingFailure = No pude acceder al recurso {0}
+fileClassLoader.canRead=No se puede leer el Repositorio {0}
+fileClassLoader.exists=No existe el Repositorio {0}
+fileClassLoader.jarFile=No puedo leer archivo JAR {0}
+fileClassLoader.restricted=No puedo cargar clase restringida {0}
+
+standardLoader.addRepository=Añadiendo repositorio {0}
+standardLoader.alreadyStarted=Ya ha sido arrancado el Cargador
+standardLoader.checkInterval=No puedo poner el intervalo de revisión de recarga a {0} segundos
+standardLoader.notContext=No puedo auto-recargar a menos que nuestro Contenedor sea un Contexto
+standardLoader.notReloadabe=La propiedad Recargable está puesta a falsa
+standardLoader.notStarted=Aún no se ha arrancado el Cargador
+standardLoader.reloadable=No puedo poner la propiedad recargable a {0}
+standardLoader.reloading=Se han activado las revisiones de Recarga para este Contexto
+standardLoader.removeRepository=Quitando repositorio {0}
+standardLoader.starting=Arrancando este Cargador
+standardLoader.stopping=Parando este Cargador
+
+virtualWebappLoader.token=Procesando ficha [{0}]
+virtualWebappLoader.token.file=Añadiendo localización: [{0}]
+virtualWebappLoader.token.glob.dir=listando ficheros en un directorio: [{0}]
+virtualWebappLoader.token.notDirectory=Se salta la ruta porque no existe o no es un directorio: [{0}]
+virtualWebappLoader.token.notExists=Ruta saltada porque no existe: [{0}]
+virtualWebappLoader.token.notFile=Se salta la ruta porque no exuste o no es un fichero: [{0}]
+
+webappClassLoader.checkThreadLocalsForLeaks=La aplicación web [{0}] creó un ThreadLocal con clave del tipo [{1}] (valor [{2}]) y un valor del tipo [{3}] (valor [{4}]) pero no pudo quitarlo cuando la aplicación web se paró. Los hilos se van a renovar con el tiempo para intentar evitar in posible fallo de memoria.
+webappClassLoader.checkThreadLocalsForLeaks.badKey=No puedo determinar la representación de cadena de la clave del tipo  [{0}]
+webappClassLoader.checkThreadLocalsForLeaks.badValue=No puedo determinar la representación de cadena del valor del tipo  [{0}]
+webappClassLoader.checkThreadLocalsForLeaks.unknown=Desconocido
+webappClassLoader.checkThreadLocalsForLeaksFail=No pude revisar las referencias a ThreadLocal para la aplicación web  [{0}]
+webappClassLoader.checkThreadLocalsForLeaksNull=La aplicación web [{0}] creó un ThreadLocal con clave del tipo [{1}] (valor [{2}]). El Threadlocal ha sido puesto correctamente a nulo y la clave será qutada por el GC.
+webappClassLoader.checkThreadsHttpClient=Hallado hilo keep-alive de HttpClient usando cargador de clase de aplicación web. Fijado por el hilo de conmutación al cargador de la clase padre.
+webappClassLoader.clearJdbc=La aplicación web [{0}] registró el conductor JDBC [{1}] pero falló al anular el registro mientras la aplicación web estaba parada. Para prevenir un fallo de memoria, se ha anulado el registro del conductor JDBC por la fuerza.
+webappClassLoader.clearReferencesResourceBundlesCount=Quitadas las referencias del Resourcebundle  [{0}] desde la caché para la aplicación web [{1}]
+webappClassLoader.clearReferencesResourceBundlesFail=No puede limpiar las referencisa de ResourceBundle para la aplicación web [{0}]
+webappClassLoader.clearRmiFail=No pude limpiar el cargador del contexto de clase referenciado desde sun.rmi.transport.Target para la aplicación web [{0}]
+webappClassLoader.clearRmiInfo=No pude hallar la clase sun.rmi.transport.Target para limpiar el cargador de contexto de clase para la aplicación web [{0}]. Esto es lo esperado em máquinas que no son de Sun.
+webappClassLoader.illegalJarPath=Detectada entrada ilegal de JAR con nombre {0}
+webappClassLoader.jdbcRemoveFailed=Ha fallado el desregistro del conductor JDBC para la aplicación web [{0}]
+webappClassLoader.jdbcRemoveStreamError=Excepción al cerrar flujo de entrada durante desregistro de conductor JDBC para apliicación web [{0}]
+webappClassLoader.readError=Error de lectura de recurso: No pude cargar {0}.
+webappClassLoader.stopThreadFail=No pude terminar el hilo con nombre [{0}] para la aplicación web [{1}]
+webappClassLoader.stopTimerThreadFail=No pude terminar TimerThread con nombre [{0}] para la aplicación web [{1}]
+webappClassLoader.stopped=Acceso ilegal: esta instancia de aplicación web ya ha sido parada.  Could not load {0}.  La eventual traza de pila que sigue ha sido motivada por un error lanzado con motivos de depuración así como para intentar terminar el hilo que motivó el acceso ilegal y no tiene impacto funcional.
+webappClassLoader.validationErrorJarPath=no pude validar entrada JAR con nombre {0}
+webappClassLoader.warnRequestThread=La aplicación web [{0}] aún se encuentra procesando un requerimiento que no ha terminados. Esto tiene todas las papeletas de convertirse en un fallo de memoria. Puedes controlar el tiempo permitido a los requerimientos para acabar mediante el uso del atributo unloadDelay de la implementación estándar de Contexto.
+webappClassLoader.warnThread=La aplicación web [{0}] parece haber arrancado un hilo llamado [{1}] pero no ha podido pararlo. Esto tiene todas las papeletas de convertirse en un fallo de memoria.
+webappClassLoader.warnTimerThread=La aplicación web [{0}] parece haber arrancado un TimerThread con nombre [{1}] vía de la API java.util.Timer, pero no ha podido pararlo. Para prevenir un fallo de memoria, el cronómetro (y el hilo asociado) hasido cancelado a la fuerza.
+webappClassLoader.wrongVersion=(no puedo cargar clase {0})
+
+webappLoader.addRepository=Añadiendo repositorio {0}
+webappLoader.alreadyStarted=Ya se ha arrancado el Cargador
+webappLoader.checkInterval=No puedo poner el intervalo de revisión de recarga a {0} segundos
+webappLoader.classDeploy=Despliegue de archivos de clase {0} en {1}
+webappLoader.copyFailure=No pude copiar los recursos
+webappLoader.deploy=Desplegando repositorios de clase en directorio de trabajo {0}
+webappLoader.failModifiedCheck=Modificaciones de pista de error
+webappLoader.jarDeploy=Despliegue del JAR {0} en {1}
+webappLoader.mkdirFailure=No pude crear directorio de destino para copiar los recursos
+webappLoader.namingFailure=No pude acceder al recurso {0}
+webappLoader.notContext=No puedo auto-recargar a menos que nuestro Contenedor sea un Contexto
+webappLoader.notReloadabe=Se ha puesto la propiedad Recargable a falsa
+webappLoader.notStarted=Aún no se ha arrancado el Cargador
+webappLoader.reloadable=No puedo poner la propiedad recargable a {0}
+webappLoader.reloading=Se han activado los chequeos de Recarga para este Contexto
+webappLoader.removeRepository=Quitando repositorio {0}
+webappLoader.starting=Arrancando este Cargador
+webappLoader.stopping=Parando este Cargador
diff --git a/java/org/apache/catalina/loader/LocalStrings_fr.properties b/java/org/apache/catalina/loader/LocalStrings_fr.properties
index b804847..aebc23d 100644
--- a/java/org/apache/catalina/loader/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/loader/LocalStrings_fr.properties
@@ -13,33 +13,35 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-fileClassLoader.canRead=Le r\u00e9ceptacle (repository) {0} ne peut \u00eatre lu
-fileClassLoader.exists=Le r\u00e9ceptacle (repository) {0} n''existe pas
+fileClassLoader.canRead=Le réceptacle (repository) {0} ne peut être lu
+fileClassLoader.exists=Le réceptacle (repository) {0} n''existe pas
 fileClassLoader.jarFile=Impossible de lire le fichier JAR {0}
 fileClassLoader.restricted=Impossible de charger la classe restreinte (restricted class) {0}
-standardLoader.addRepository=Ajout du r\u00e9ceptacle (repository) {0}
-standardLoader.alreadyStarted=Le chargeur (loader) a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9marr\u00e9
-standardLoader.checkInterval=Impossible de r\u00e9gler l''interval de v\u00e9rification de rechargement \u00e0 {0} secondes
+
+standardLoader.addRepository=Ajout du réceptacle (repository) {0}
+standardLoader.alreadyStarted=Le chargeur (loader) a déjà été démarré
+standardLoader.checkInterval=Impossible de régler l''interval de vérification de rechargement à {0} secondes
 standardLoader.notContext=Impossible d''auto-recharger sans que le conteneur ne soit un contexte
-standardLoader.notReloadabe=Propri\u00e9t\u00e9 de rechargement (reloadable property) mise \u00e0 faux
-standardLoader.notStarted=Le chargeur (loader) n''a pas encore \u00e9t\u00e9 d\u00e9marr\u00e9
-standardLoader.reloadable=Impossible de mettre la propri\u00e9t\u00e9 de rechargement (reloadable property) \u00e0 {0}
-standardLoader.reloading=Les v\u00e9rifications de rechargement sont activ\u00e9es pour ce contexte
-standardLoader.removeRepository=Retrait du r\u00e9ceptacle (repository) {0}
-standardLoader.starting=D\u00e9marrage de ce chargeur (loader)
-standardLoader.stopping=Arr\u00eat de ce chargeur (loader)
-webappLoader.addRepository=Ajout du r\u00e9ceptacle (repository) {0}
-webappLoader.deploy=D\u00e9ploiement des classes des r\u00e9ceptacles (class repositories) vers le dossier de travail (work directory) {0}
-webappLoader.jarDeploy=D\u00e9ploiement du JAR {0} vers {1}
-webappLoader.classDeploy=D\u00e9ploiement des fichiers classes {0} vers {1}
-webappLoader.alreadyStarted=Le chargeur (loader) a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9marr\u00e9
-webappLoader.checkInterval=Impossible de r\u00e9gler l''interval de v\u00e9rification de rechargement \u00e0 {0} secondes
-webappLoader.notContext=Impossible d''auto-recharger sans que le conteneur ne soit un contexte
-webappLoader.notReloadabe=Propri\u00e9t\u00e9 de rechargement (reloadable property) mise \u00e0 faux
-webappLoader.notStarted=Le chargeur (loader) n''a pas encore \u00e9t\u00e9 d\u00e9marr\u00e9
-webappLoader.reloadable=Impossible de mettre la propri\u00e9t\u00e9 de rechargement (reloadable property) \u00e0 {0}
-webappLoader.reloading=Les v\u00e9rifications de rechargement sont activ\u00e9es pour ce contexte
-webappLoader.removeRepository=Retrait du r\u00e9ceptacle (repository) {0}
-webappLoader.starting=D\u00e9marrage de ce chargeur (loader)
-webappLoader.stopping=Arr\u00eat de ce chargeur (loader)
+standardLoader.notReloadabe=Propriété de rechargement (reloadable property) mise à faux
+standardLoader.notStarted=Le chargeur (loader) n''a pas encore été démarré
+standardLoader.reloadable=Impossible de mettre la propriété de rechargement (reloadable property) à {0}
+standardLoader.reloading=Les vérifications de rechargement sont activées pour ce contexte
+standardLoader.removeRepository=Retrait du réceptacle (repository) {0}
+standardLoader.starting=Démarrage de ce chargeur (loader)
+standardLoader.stopping=Arrêt de ce chargeur (loader)
+
+webappLoader.addRepository=Ajout du réceptacle (repository) {0}
+webappLoader.alreadyStarted=Le chargeur (loader) a déjà été démarré
+webappLoader.checkInterval=Impossible de régler l''interval de vérification de rechargement à {0} secondes
+webappLoader.classDeploy=Déploiement des fichiers classes {0} vers {1}
+webappLoader.deploy=Déploiement des classes des réceptacles (class repositories) vers le dossier de travail (work directory) {0}
 webappLoader.failModifiedCheck=Erreur dans le suivi des modifications
+webappLoader.jarDeploy=Déploiement du JAR {0} vers {1}
+webappLoader.notContext=Impossible d''auto-recharger sans que le conteneur ne soit un contexte
+webappLoader.notReloadabe=Propriété de rechargement (reloadable property) mise à faux
+webappLoader.notStarted=Le chargeur (loader) n''a pas encore été démarré
+webappLoader.reloadable=Impossible de mettre la propriété de rechargement (reloadable property) à {0}
+webappLoader.reloading=Les vérifications de rechargement sont activées pour ce contexte
+webappLoader.removeRepository=Retrait du réceptacle (repository) {0}
+webappLoader.starting=Démarrage de ce chargeur (loader)
+webappLoader.stopping=Arrêt de ce chargeur (loader)
diff --git a/java/org/apache/catalina/loader/LocalStrings_ja.properties b/java/org/apache/catalina/loader/LocalStrings_ja.properties
index 7962a40..c2a052d 100644
--- a/java/org/apache/catalina/loader/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/loader/LocalStrings_ja.properties
@@ -13,34 +13,37 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-fileClassLoader.canRead=\u30ea\u30dd\u30b8\u30c8\u30ea {0} \u304c\u8aad\u3081\u307e\u305b\u3093
-fileClassLoader.exists=\u30ea\u30dd\u30b8\u30c8\u30ea {0} \u304c\u5b58\u5728\u3057\u307e\u305b\u3093
-fileClassLoader.jarFile=JAR\u30d5\u30a1\u30a4\u30eb {0} \u304c\u8aad\u3081\u307e\u305b\u3093
-fileClassLoader.restricted=\u5236\u9650\u3055\u308c\u305f\u30af\u30e9\u30b9 {0} \u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093
-standardLoader.addRepository=\u30ea\u30dd\u30b8\u30c8\u30ea {0} \u3092\u8ffd\u52a0\u3057\u307e\u3059
-standardLoader.alreadyStarted=\u30ed\u30fc\u30c0\u306f\u65e2\u306b\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059
-standardLoader.checkInterval=\u518d\u30ed\u30fc\u30c9\u30c1\u30a7\u30c3\u30af\u9593\u9694\u3092{0}\u79d2\u306b\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093
-standardLoader.notContext=\u3053\u306e\u30b3\u30f3\u30c6\u30ca\u304c\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u306a\u3051\u308c\u3070\u3001\u81ea\u52d5\u518d\u30ed\u30fc\u30c9\u306f\u3067\u304d\u307e\u305b\u3093
-standardLoader.notReloadabe=reloadable\u30d7\u30ed\u30d1\u30c6\u30a3\u304cfalse\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059
-standardLoader.notStarted=\u30ed\u30fc\u30c0\u306f\u307e\u3060\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-standardLoader.reloadable=reloadable\u30d7\u30ed\u30d1\u30c6\u30a3\u3092 {0} \u306b\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093
-standardLoader.reloading=\u3053\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u518d\u30ed\u30fc\u30c9\u30c1\u30a7\u30c3\u30af\u306f\u6709\u52b9\u3067\u3059
-standardLoader.removeRepository=\u30ea\u30dd\u30b8\u30c8\u30ea {0} \u3092\u524a\u9664\u3057\u307e\u3059
-standardLoader.starting=\u3053\u306e\u30ed\u30fc\u30c0\u3092\u8d77\u52d5\u3057\u307e\u3059
-standardLoader.stopping=\u3053\u306e\u30ed\u30fc\u30c0\u3092\u505c\u6b62\u3057\u307e\u3059
-webappClassLoader.stopped=\u4e0d\u6b63\u306a\u30a2\u30af\u30bb\u30b9: \u3053\u306eWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306f\u65e2\u306b\u505c\u6b62\u3055\u308c\u3066\u3044\u307e\u3059  Could not load {0}. \u4e0d\u6b63\u306a\u30a2\u30af\u30bb\u30b9\u3092\u5f15\u304d\u8d77\u3053\u3057\u305f\u30b9\u30ec\u30c3\u30c9\u3092\u7d42\u4e86\u3055\u305b\u3001\u6295\u3052\u3089\u308c\u305f\u30a8\u30e9\u30fc\u306b\u3088\u308a\u30c7\u30d0\u30c3\ [...]
-webappLoader.addRepository=\u30ea\u30dd\u30b8\u30c8\u30ea {0} \u3092\u8ffd\u52a0\u3057\u307e\u3059
-webappLoader.deploy=\u30af\u30e9\u30b9\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u4f5c\u696d\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u306b\u914d\u5099\u3057\u307e\u3059
-webappLoader.jarDeploy=JAR {0} \u3092 {1} \u306b\u914d\u5099\u3057\u307e\u3059
-webappLoader.classDeploy=\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u3092 {1} \u306b\u914d\u5099\u3057\u307e\u3059
-webappLoader.alreadyStarted=\u30ed\u30fc\u30c0\u306f\u65e2\u306b\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059
-webappLoader.checkInterval=\u518d\u30ed\u30fc\u30c9\u30c1\u30a7\u30c3\u30af\u9593\u9694\u3092{0}\u79d2\u306b\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093
-webappLoader.notContext=\u3053\u306e\u30b3\u30f3\u30c6\u30ca\u304c\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u306a\u3051\u308c\u3070\u3001\u81ea\u52d5\u518d\u30ed\u30fc\u30c9\u306f\u3067\u304d\u307e\u305b\u3093
-webappLoader.notReloadabe=reloadable\u30d7\u30ed\u30d1\u30c6\u30a3\u304cfalse\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059
-webappLoader.notStarted=\u30ed\u30fc\u30c0\u306f\u307e\u3060\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-webappLoader.reloadable=reloadable\u30d7\u30ed\u30d1\u30c6\u30a3\u3092 {0} \u306b\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093
-webappLoader.reloading=\u3053\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e\u518d\u30ed\u30fc\u30c9\u30c1\u30a7\u30c3\u30af\u306f\u6709\u52b9\u3067\u3059
-webappLoader.removeRepository=\u30ea\u30dd\u30b8\u30c8\u30ea {0} \u3092\u524a\u9664\u3057\u307e\u3059
-webappLoader.starting=\u3053\u306e\u30ed\u30fc\u30c0\u3092\u8d77\u52d5\u3057\u307e\u3059
-webappLoader.stopping=\u3053\u306e\u30ed\u30fc\u30c0\u3092\u505c\u6b62\u3057\u307e\u3059
-webappLoader.failModifiedCheck=\u5909\u66f4\u8ffd\u8de1\u30a8\u30e9\u30fc\u3067\u3059
+fileClassLoader.canRead=リポジトリ {0} が読めません
+fileClassLoader.exists=リポジトリ {0} が存在しません
+fileClassLoader.jarFile=JARファイル {0} が読めません
+fileClassLoader.restricted=制限されたクラス {0} をロードできません
+
+standardLoader.addRepository=リポジトリ {0} を追加します
+standardLoader.alreadyStarted=ローダは既に起動されています
+standardLoader.checkInterval=再ロードチェック間隔を{0}秒に設定できません
+standardLoader.notContext=このコンテナがコンテキストでなければ、自動再ロードはできません
+standardLoader.notReloadabe=reloadableプロパティがfalseに設定されています
+standardLoader.notStarted=ローダはまだ起動されていません
+standardLoader.reloadable=reloadableプロパティを {0} に設定できません
+standardLoader.reloading=このコンテキストの再ロードチェックは有効です
+standardLoader.removeRepository=リポジトリ {0} を削除します
+standardLoader.starting=このローダを起動します
+standardLoader.stopping=このローダを停止します
+
+webappClassLoader.stopped=不正なアクセス: このWebアプリケーションのインスタンスは既に停止されています  Could not load {0}. 不正なアクセスを引き起こしたスレッドを終了させ、投げられたエラーによりデバッグ用に次のスタックトレースが生成されましたが,機能に影響はありません
+
+webappLoader.addRepository=リポジトリ {0} を追加します
+webappLoader.alreadyStarted=ローダは既に起動されています
+webappLoader.checkInterval=再ロードチェック間隔を{0}秒に設定できません
+webappLoader.classDeploy=クラスファイル {0} を {1} に配備します
+webappLoader.deploy=クラスリポジトリを作業ディレクトリ {0} に配備します
+webappLoader.failModifiedCheck=変更追跡エラーです
+webappLoader.jarDeploy=JAR {0} を {1} に配備します
+webappLoader.notContext=このコンテナがコンテキストでなければ、自動再ロードはできません
+webappLoader.notReloadabe=reloadableプロパティがfalseに設定されています
+webappLoader.notStarted=ローダはまだ起動されていません
+webappLoader.reloadable=reloadableプロパティを {0} に設定できません
+webappLoader.reloading=このコンテキストの再ロードチェックは有効です
+webappLoader.removeRepository=リポジトリ {0} を削除します
+webappLoader.starting=このローダを起動します
+webappLoader.stopping=このローダを停止します
diff --git a/java/org/apache/catalina/manager/LocalStrings.properties b/java/org/apache/catalina/manager/LocalStrings.properties
index 9b2f8fb..b4eda73 100644
--- a/java/org/apache/catalina/manager/LocalStrings.properties
+++ b/java/org/apache/catalina/manager/LocalStrings.properties
@@ -63,10 +63,9 @@ htmlManagerServlet.diagnosticsLeakWarning=This diagnostic check will trigger a f
 htmlManagerServlet.diagnosticsTitle=Diagnostics
 htmlManagerServlet.expire.explain=with idle &ge;
 htmlManagerServlet.expire.unit=minutes
-htmlManagerServlet.findleaksList=\
-  The following web applications were stopped (reloaded, undeployed), but their\n\
-  classes from previous runs are still loaded in memory, thus causing a memory\n\
-  leak (use a profiler to confirm):\n
+htmlManagerServlet.findleaksList=The following web applications were stopped (reloaded, undeployed), but their\n\
+classes from previous runs are still loaded in memory, thus causing a memory\n\
+leak (use a profiler to confirm):\n
 htmlManagerServlet.findleaksNone=No web applications appear to have triggered a memory leak on stop, reload or undeploy.
 htmlManagerServlet.helpHtmlManager=HTML Manager Help
 htmlManagerServlet.helpHtmlManagerFile=../docs/html-manager-howto.html
@@ -108,9 +107,9 @@ managerServlet.alreadyContext=FAIL - Application already exists at path [{0}]
 managerServlet.alreadyDocBase=FAIL - Directory {0} is already in use
 managerServlet.configured=OK - Deployed application from context file {0}
 managerServlet.deleteFail=FAIL - Unable to delete [{0}]. The continued presence of this file may cause problems.
+managerServlet.deployFailed=FAIL - Failed to deploy application at context path [{0}]
 managerServlet.deployed=OK - Deployed application at context path [{0}]
 managerServlet.deployedButNotStarted=FAIL - Deployed application at context path [{0}] but context failed to start
-managerServlet.deployFailed=FAIL - Failed to deploy application at context path [{0}]
 managerServlet.exception=FAIL - Encountered exception [{0}]
 managerServlet.findleaksFail=FAIL - Find leaks failed: Host not instance of StandardHost
 managerServlet.findleaksList=OK - Found potential memory leaks in the following applications:
@@ -133,16 +132,16 @@ managerServlet.noReload=FAIL - Reload not supported on WAR deployed at path {0}
 managerServlet.noRename=FAIL - Cannot deploy uploaded WAR for path {0}
 managerServlet.noRole=FAIL - User does not possess role {0}
 managerServlet.noSelf=FAIL - The manager cannot reload, undeploy, stop, or undeploy itself
-managerServlet.notDeployed=FAIL - Context [{0}] is defined in server.xml and may not be undeployed
 managerServlet.noWrapper=Container has not called setWrapper() for this servlet
+managerServlet.notDeployed=FAIL - Context [{0}] is defined in server.xml and may not be undeployed
 managerServlet.objectNameFail=FAIL - Unable to register object name [{0}] for Manager Servlet
 managerServlet.postCommand=FAIL - Tried to use command [{0}] via a GET request but POST is required
 managerServlet.reloaded=OK - Reloaded application at context path [{0}]
 managerServlet.resourcesAll=OK - Listed global resources of all types
 managerServlet.resourcesType=OK - Listed global resources of type [{0}]
+managerServlet.saveFail=FAIL - Configuration save failed: [{0}]
 managerServlet.saved=OK - Server configuration saved
 managerServlet.savedContext=OK - Context [{0}] configuration saved
-managerServlet.saveFail=FAIL - Configuration save failed: [{0}]
 managerServlet.serverInfo=OK - Server info\n\
 Tomcat Version: [{0}]\n\
 OS Name: [{1}]\n\
@@ -155,8 +154,8 @@ managerServlet.sessions=OK - Session information for application at context path
 managerServlet.sessiontimeout=Inactive for [{0}] minutes: [{1}] sessions
 managerServlet.sessiontimeout.expired=Inactive for [{0}] minutes: [{1}] sessions were expired
 managerServlet.sessiontimeout.unlimited=Unlimited time: [{0}] sessions
-managerServlet.started=OK - Started application at context path [{0}]
 managerServlet.startFailed=FAIL - Application at context path [{0}] could not be started
+managerServlet.started=OK - Started application at context path [{0}]
 managerServlet.stopped=OK - Stopped application at context path [{0}]
 managerServlet.threaddump=OK - JVM thread dump
 managerServlet.undeployed=OK - Undeployed application at context path [{0}]
diff --git a/java/org/apache/catalina/manager/LocalStrings_de.properties b/java/org/apache/catalina/manager/LocalStrings_de.properties
index e9ecdfd..fc35c6a 100644
--- a/java/org/apache/catalina/manager/LocalStrings_de.properties
+++ b/java/org/apache/catalina/manager/LocalStrings_de.properties
@@ -13,8 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-htmlManagerServlet.appsAvailable=Verf\u00fcgbar
-htmlManagerServlet.appsExpire=L\u00f6sche Sitzungen
+htmlManagerServlet.appsAvailable=Verfügbar
+htmlManagerServlet.appsExpire=Lösche Sitzungen
 htmlManagerServlet.appsName=Anzeigename
 htmlManagerServlet.appsPath=Kontext Pfad
 htmlManagerServlet.appsReload=Neu laden
@@ -31,12 +31,12 @@ htmlManagerServlet.deployServer=Verzeichnis oder WAR Datei auf Server installier
 htmlManagerServlet.deployTitle=Installieren
 htmlManagerServlet.deployUpload=Lokale WAR Datei zur Installation hochladen
 htmlManagerServlet.deployUploadFail=FEHLER - Hochladen zur Installation fehlgeschlagen, Ausnahme: {0}
-htmlManagerServlet.deployUploadFile=WAR Datei ausw\u00e4hlen
+htmlManagerServlet.deployUploadFile=WAR Datei auswählen
 htmlManagerServlet.deployUploadNoFile=FEHLER - Hochladen fehlgeschlagen, keine Datei vorhanden
-htmlManagerServlet.deployUploadNotWar=FEHLER - Hochgeladene Datei \"{0}\" muss ein .war sein
-htmlManagerServlet.deployUploadWarExists=FEHLER - WAR Datei \"{0}\" existiert bereits auf Server
+htmlManagerServlet.deployUploadNotWar=FEHLER - Hochgeladene Datei "{0}" muss ein .war sein
+htmlManagerServlet.deployUploadWarExists=FEHLER - WAR Datei "{0}" existiert bereits auf Server
 htmlManagerServlet.deployWar=WAR oder Verzeichnis URL:
-htmlManagerServlet.expire.explain=mit Inaktivit\u00e4t &ge;
+htmlManagerServlet.expire.explain=mit Inaktivität &ge;
 htmlManagerServlet.expire.unit=Minuten
 htmlManagerServlet.helpHtmlManager=Hilfeseite HTML Manager (englisch)
 htmlManagerServlet.helpHtmlManagerFile=../docs/html-manager-howto.html
@@ -54,43 +54,42 @@ htmlManagerServlet.serverTitle=Server Informationen
 htmlManagerServlet.serverVersion=Tomcat Version
 htmlManagerServlet.title=Tomcat Webanwendungs-Manager
 
-managerServlet.alreadyContext=FEHLER - Anwendung existiert bereits f\u00fcr Kontext Pfad {0}
+managerServlet.alreadyContext=FEHLER - Anwendung existiert bereits für Kontext Pfad {0}
 managerServlet.alreadyDocBase=FEHLER - Verzeichnis {0} bereits in Benutzung
 managerServlet.configured=OK - Anwendung von Kontext-Datei {0} installiert
 managerServlet.deployed=OK - Anwendung mit Kontext Pfad {0} installiert
 managerServlet.exception=FEHLER - Ausnahme aufgetreten {0}
-managerServlet.invalidPath=FEHLER - Ung\u00fcltiger Kontext Pfad {0} angegeben
-managerServlet.invalidWar=FEHLER - Ung\u00fcltige URL {0} f\u00fcr Anwendung angegeben
-managerServlet.listed=OK - Auflistung der Webanwendungen f\u00fcr virtuellen Server {0}
+managerServlet.invalidPath=FEHLER - Ungültiger Kontext Pfad {0} angegeben
+managerServlet.invalidWar=FEHLER - Ungültige URL {0} für Anwendung angegeben
+managerServlet.listed=OK - Auflistung der Webanwendungen für virtuellen Server {0}
 managerServlet.listitem={0}:{1}:{2}:{3}
-managerServlet.noAppBase=FEHLER - Kann Verzeichnis f\u00fcr Kontext Pfad {0} nicht finden
+managerServlet.noAppBase=FEHLER - Kann Verzeichnis für Kontext Pfad {0} nicht finden
 managerServlet.noCommand=FEHLER - Es wurde kein Kommando angegeben
-managerServlet.noContext=FEHLER - Es existiert kein Kontext f\u00fcr Pfad {0}
+managerServlet.noContext=FEHLER - Es existiert kein Kontext für Pfad {0}
 managerServlet.noDirectory=FEHLER - Pfad {0} ist kein Verzeichnis
-managerServlet.noDocBase=FEHLER - Kann Webanwendungs-Verzeichnis nicht entfernen f\u00fcr Kontext Pfad {0}
-managerServlet.noGlobal=FEHLER - Keine globalen JNDI Ressourcen verf\u00fcgbar
-managerServlet.noReload=FEHLER - Neu laden nicht unterst\u00fctzt f\u00fcr WAR mit Pfad {0}
+managerServlet.noDocBase=FEHLER - Kann Webanwendungs-Verzeichnis nicht entfernen für Kontext Pfad {0}
+managerServlet.noGlobal=FEHLER - Keine globalen JNDI Ressourcen verfügbar
+managerServlet.noReload=FEHLER - Neu laden nicht unterstützt für WAR mit Pfad {0}
 managerServlet.noRename=FEHLER - Kann hochgeladenes WAR mit Pfad {0} nicht installieren
 managerServlet.noRole=FEHLER - Benutzer nicht in Rolle {0}
-managerServlet.noSelf=FEHLER - Manager-Kommandos k\u00f6nnen nicht auf die Manager-Anwendung selbst angewendet werden
-managerServlet.noWrapper=Container hat setWrapper() f\u00fcr dieses Servlet nicht aufgerufen
+managerServlet.noSelf=FEHLER - Manager-Kommandos können nicht auf die Manager-Anwendung selbst angewendet werden
+managerServlet.noWrapper=Container hat setWrapper() für dieses Servlet nicht aufgerufen
 managerServlet.reloaded=OK - Anwendung mit Kontext Pfad {0} neu geladen
 managerServlet.resourcesAll=OK - Auflistung globaler Ressourcen (alle Typen)
 managerServlet.resourcesType=OK - Auflistung globaler Ressourcen von Typ {0}
 managerServlet.saveFail=FEHLER - Speichern der Konfiguration fehlgeschlagen: {0}
-managerServlet.sessiondefaultmax=Voreingestellter Sitzungsablauf nach maximal {0} Minuten Inaktivit\u00e4t
-managerServlet.sessions=OK - Sitzungs-Informationen f\u00fcr Anwendung mit Kontext Pfad {0}
-#TODO: Please review the following three messages. These are displayed when "Expire sessions" button is pressed in the Manager webapp:
+managerServlet.sessiondefaultmax=Voreingestellter Sitzungsablauf nach maximal {0} Minuten Inaktivität
+managerServlet.sessions=OK - Sitzungs-Informationen für Anwendung mit Kontext Pfad {0}
 managerServlet.sessiontimeout={0} Minuten: {1} Sitzungen
 managerServlet.sessiontimeout.expired={0} Minuten: expired {1} Sitzungen
 managerServlet.sessiontimeout.unlimited=unlimited Minuten: {0} Sitzungen
-managerServlet.started=OK - Anwendung mit Kontext Pfad {0} gestartet
 managerServlet.startFailed=FEHLER - Anwendung mit Kontext Pfad {0} konnte nicht gestartet werden
+managerServlet.started=OK - Anwendung mit Kontext Pfad {0} gestartet
 managerServlet.stopped=OK - Anwendung mit Kontext Pfad {0} gestoppt
 managerServlet.undeployed=OK - Anwendung mit Kontext Pfad {0} entfernt
 managerServlet.unknownCommand=FEHLER - Unbekanntes Kommando {0}
-managerServlet.userDatabaseError=FEHLER - Kann Referenz auf Benutzerdatendank nicht aufl\u00f6sen
+managerServlet.userDatabaseError=FEHLER - Kann Referenz auf Benutzerdatendank nicht auflösen
 managerServlet.userDatabaseMissing=FEHLER - Keine Benutzerdatenbank vorhanden
 
-statusServlet.complete=Ausf\u00fchrlicher Server Status
+statusServlet.complete=Ausführlicher Server Status
 statusServlet.title=Server Status
diff --git a/java/org/apache/catalina/manager/LocalStrings_es.properties b/java/org/apache/catalina/manager/LocalStrings_es.properties
index 6fc95c5..3e3d595 100644
--- a/java/org/apache/catalina/manager/LocalStrings_es.properties
+++ b/java/org/apache/catalina/manager/LocalStrings_es.properties
@@ -13,109 +13,108 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-htmlManagerServlet.appsAvailable = Ejecut\u00E1ndose
-htmlManagerServlet.appsExpire = Expirar sesiones
-htmlManagerServlet.appsName = Nombre a Mostrar
-htmlManagerServlet.appsPath = Trayectoria
-htmlManagerServlet.appsReload = Recargar
-htmlManagerServlet.appsSessions = Sesiones
-htmlManagerServlet.appsStart = Arrancar
-htmlManagerServlet.appsStop = Parar
-htmlManagerServlet.appsTasks = Comandos
-htmlManagerServlet.appsTitle = Aplicaciones
-htmlManagerServlet.appsUndeploy = Replegar
-htmlManagerServlet.appsVersion = Versi\u00F3n
-htmlManagerServlet.deployButton = Desplegar
-htmlManagerServlet.deployConfig = URL de archivo de Configuraci\u00F3n XML\:
-htmlManagerServlet.deployPath = Trayectoria de Contexto (opcional)\:
-htmlManagerServlet.deployServer = Desplegar directorio o archivo WAR localizado en servidor
-htmlManagerServlet.deployTitle = Desplegar
-htmlManagerServlet.deployUpload = Archivo WAR a desplegar
-htmlManagerServlet.deployUploadFail = FALLO - Fall\u00F3 Carga de Despliegue, Excepci\u00F3n\: {0}
-htmlManagerServlet.deployUploadFile = Seleccione archivo WAR a cargar
-htmlManagerServlet.deployUploadInServerXml = FALLO - El fichero war "{0}" no se puede cargar si se define el contexto en server.xml
-htmlManagerServlet.deployUploadNoFile = FALLO - Fall\u00F3 la carga del fichero, no hay fichero
-htmlManagerServlet.deployUploadNotWar = FALLO - El fichero cargado "{0}" debe de ser un .war
-htmlManagerServlet.deployUploadWarExists = FALLO - El fichero war "{0}" ya existe en el servidor
-htmlManagerServlet.deployWar = URL de WAR o Directorio\:
-htmlManagerServlet.diagnosticsLeak = Revisa a ver si una aplicaci\u00F3n web ha causado fallos de memoria al parar, recargar o replegarse.
-htmlManagerServlet.diagnosticsLeakButton = Halla fallos de memoria
-htmlManagerServlet.diagnosticsLeakWarning = Este chequeo de diagn\u00F3stico disparar\u00E1 una colecci\u00F3n completa de basura. Util\u00EDzalo con extremo cuidado en sistemas en producci\u00F3n.
-htmlManagerServlet.diagnosticsTitle = Diagn\u00F3sticos
-htmlManagerServlet.expire.explain = sin trabajar &ge;
-htmlManagerServlet.expire.unit = minutos
-htmlManagerServlet.findleaksList = Las siguientes aplicaciones web fueron paradas (recargadas, replegadas), pero sus clases de las ejecuciones previas a\u00FAn se encuentran en memoria, causando as\u00ED un fallo de memoria (usa un perfilador para confirmarlo)\:\n
-htmlManagerServlet.findleaksNone = No parece haber aplicaciones web que hayan disparado un fallo de memoria al ser paradas, recargadas o replegadas.
-htmlManagerServlet.helpHtmlManager = Ayuda HTML de Gestor
-htmlManagerServlet.helpHtmlManagerFile = ../docs/html-manager-howto.html
-htmlManagerServlet.helpManager = Ayuda de Gestor
-htmlManagerServlet.helpManagerFile = ../docs/manager-howto.html
-htmlManagerServlet.list = Listar Aplicaciones
-htmlManagerServlet.manager = Gestor
-htmlManagerServlet.messageLabel = Mensaje\:
-htmlManagerServlet.noManager = -
-htmlManagerServlet.noVersion = Ninguno especificado
-htmlManagerServlet.serverHostname = NombreDeM\u00E1quina
-htmlManagerServlet.serverIPAddress = Direcci\u00F3n IP
-htmlManagerServlet.serverJVMVendor = Vendedor JVM
-htmlManagerServlet.serverJVMVersion = Versi\u00F3n JVM
-htmlManagerServlet.serverOSArch = Arquitectura de SO
-htmlManagerServlet.serverOSName = Nombre de SO
-htmlManagerServlet.serverOSVersion = Versi\u00F3n de SO
-htmlManagerServlet.serverTitle = Informaci\u00F3n de Servidor
-htmlManagerServlet.serverVersion = Versi\u00F3n de Tomcat
-htmlManagerServlet.title = Gestor de Aplicaciones Web de Tomcat
+htmlManagerServlet.appsAvailable=Ejecutándose
+htmlManagerServlet.appsExpire=Expirar sesiones
+htmlManagerServlet.appsName=Nombre a Mostrar
+htmlManagerServlet.appsPath=Trayectoria
+htmlManagerServlet.appsReload=Recargar
+htmlManagerServlet.appsSessions=Sesiones
+htmlManagerServlet.appsStart=Arrancar
+htmlManagerServlet.appsStop=Parar
+htmlManagerServlet.appsTasks=Comandos
+htmlManagerServlet.appsTitle=Aplicaciones
+htmlManagerServlet.appsUndeploy=Replegar
+htmlManagerServlet.appsVersion=Versión
+htmlManagerServlet.deployButton=Desplegar
+htmlManagerServlet.deployConfig=URL de archivo de Configuración XML:
+htmlManagerServlet.deployPath=Trayectoria de Contexto (opcional):
+htmlManagerServlet.deployServer=Desplegar directorio o archivo WAR localizado en servidor
+htmlManagerServlet.deployTitle=Desplegar
+htmlManagerServlet.deployUpload=Archivo WAR a desplegar
+htmlManagerServlet.deployUploadFail=FALLO - Falló Carga de Despliegue, Excepción: {0}
+htmlManagerServlet.deployUploadFile=Seleccione archivo WAR a cargar
+htmlManagerServlet.deployUploadInServerXml=FALLO - El fichero war "{0}" no se puede cargar si se define el contexto en server.xml
+htmlManagerServlet.deployUploadNoFile=FALLO - Falló la carga del fichero, no hay fichero
+htmlManagerServlet.deployUploadNotWar=FALLO - El fichero cargado "{0}" debe de ser un .war
+htmlManagerServlet.deployUploadWarExists=FALLO - El fichero war "{0}" ya existe en el servidor
+htmlManagerServlet.deployWar=URL de WAR o Directorio:
+htmlManagerServlet.diagnosticsLeak=Revisa a ver si una aplicación web ha causado fallos de memoria al parar, recargar o replegarse.
+htmlManagerServlet.diagnosticsLeakButton=Halla fallos de memoria
+htmlManagerServlet.diagnosticsLeakWarning=Este chequeo de diagnóstico disparará una colección completa de basura. Utilízalo con extremo cuidado en sistemas en producción.
+htmlManagerServlet.diagnosticsTitle=Diagnósticos
+htmlManagerServlet.expire.explain=sin trabajar &ge;
+htmlManagerServlet.expire.unit=minutos
+htmlManagerServlet.findleaksList=Las siguientes aplicaciones web fueron paradas (recargadas, replegadas), pero sus clases de las ejecuciones previas aún se encuentran en memoria, causando así un fallo de memoria (usa un perfilador para confirmarlo):\n
+htmlManagerServlet.findleaksNone=No parece haber aplicaciones web que hayan disparado un fallo de memoria al ser paradas, recargadas o replegadas.
+htmlManagerServlet.helpHtmlManager=Ayuda HTML de Gestor
+htmlManagerServlet.helpHtmlManagerFile=../docs/html-manager-howto.html
+htmlManagerServlet.helpManager=Ayuda de Gestor
+htmlManagerServlet.helpManagerFile=../docs/manager-howto.html
+htmlManagerServlet.list=Listar Aplicaciones
+htmlManagerServlet.manager=Gestor
+htmlManagerServlet.messageLabel=Mensaje:
+htmlManagerServlet.noManager=-
+htmlManagerServlet.noVersion=Ninguno especificado
+htmlManagerServlet.serverHostname=NombreDeMáquina
+htmlManagerServlet.serverIPAddress=Dirección IP
+htmlManagerServlet.serverJVMVendor=Vendedor JVM
+htmlManagerServlet.serverJVMVersion=Versión JVM
+htmlManagerServlet.serverOSArch=Arquitectura de SO
+htmlManagerServlet.serverOSName=Nombre de SO
+htmlManagerServlet.serverOSVersion=Versión de SO
+htmlManagerServlet.serverTitle=Información de Servidor
+htmlManagerServlet.serverVersion=Versión de Tomcat
+htmlManagerServlet.title=Gestor de Aplicaciones Web de Tomcat
 
-managerServlet.alreadyContext = FALLO - Ya existe la aplicaci\u00F3n en la trayectoria {0}
-managerServlet.alreadyDocBase = FALLO - Directorio {0} ya est\u00E1 siendo usado
-managerServlet.configured = OK - Desplegada aplicaci\u00F3n desde archivo de contexto {0}
-managerServlet.deleteFail = FALLO - No pude borrar [{0}]. La presencia continua de este fichero puede causar problemas.
-managerServlet.deployed = OK - Desplegada aplicaci\u00F3n en trayectoria de contexto {0}
-managerServlet.deployedButNotStarted = FALLO - Apliaci\u00F3n desplegada en la ruta de contexto {0}, pero el contexto no pudo arrancar
-managerServlet.deployFailed = FALLO - No pude desplegar la aplicaci\u00F3n en ruta de contexto {0}
-managerServlet.exception = FALLO - Encontrada excepci\u00F3n {0}
-managerServlet.findleaksFail = FALLO - Ha fallado la b\u00FAsqueda de fallos\: La M\u00E1quina no es una instancia de StandardHost
-managerServlet.findleaksList = OK - Hallados fallos potenciales de memoria en las siguientes aplicaciones\:
-managerServlet.findleaksNone = OK - No se han hallado fallos de memoria
-managerServlet.invalidPath = FALLO - Se ha especificado una trayectoria inv\u00E1lida de contexto {0}
-managerServlet.invalidWar = FALLO - Se ha especificado una URL de aplicaci\u00F3n inv\u00E1lida {0}
-managerServlet.listed = OK - Aplicaciones listadas para m\u00E1quina virtual {0}
-managerServlet.listitem = {0}\:{1}\:{2}\:{3}
-managerServlet.mkdirFail = FALLO - No pude crear directorio [{0}]
-managerServlet.noAppBase = FALLO - No puedo identificar aplicaci\u00F3n base para trayectoria de contexto {0}
-managerServlet.noCommand = FALLO - No se ha especificado comando
-managerServlet.noContext = FALLO - No existe contexto para trayectoria {0}
-managerServlet.noDirectory = FALLO - Documento base No-directorio para trayectoria {0}
-managerServlet.noDocBase = FALLO - No puedo replegar documento base para trayectoria {0}
-managerServlet.noGlobal = FALLO - No hay disponibles recursos globales JNDI
-managerServlet.noManager = FALLO - No existe gestor para ruta {0}
-managerServlet.noReload = FALLO - Recarga no soportada en WAR desplegado en trayectoria {0}
-managerServlet.noRename = FALLO - No pudeo desplegar WAR cargado para trayectoria {0}
-managerServlet.noRole = FALLO - El usuario no desempe\u00F1a el papel de {0}
-managerServlet.noSelf = FALLO - El gestor no puede recargarse, replegarse, pararse o replegarse a s\u00ED mismo
-managerServlet.notDeployed = FALLO - El contexto {0} est\u00E1 definido en server.xml y puede que no est\u00E9 desplegado
-managerServlet.noWrapper = El Contenedor no ha llamado a setWrapper() para este servlet
-managerServlet.objectNameFail = FALLO - No pude registrar objeto de nombre [{0}] para Gestor de Servlet
-managerServlet.postCommand = FALLO - Intent\u00E9 usar el comando {0} v\u00EDa un requerimiento GET pero se necesita POST
-managerServlet.reloaded = OK - Recargada aplicaci\u00F3n en trayectoria de contexto {0}
-managerServlet.resourcesAll = OK - Listados recursos globales de todos los tipos
-managerServlet.resourcesType = OK - Listados recursos globales de tipo {0}
-managerServlet.saved = OK - Configuraci\u00F3n de Servidor guardada
-managerServlet.savedContext = OK - Configuraci\u00F3n de Contexto {0} guardada
-managerServlet.saveFail = FAIL - Fallo al guardar la configuraci\u00F3n\: {0}
-managerServlet.sessiondefaultmax = Intervalo m\u00E1ximo por defecto de sesi\u00F3n inactiva {0} minutos
-managerServlet.sessions = OK - Informaci\u00F3n de sesi\u00F3n para aplicaci\u00F3n en trayectoria de contexto {0}
-#TODO: Please review the following three messages. These are displayed when "Expire sessions" button is pressed in the Manager webapp:
-managerServlet.sessiontimeout = {0} minutos\: {1} sesiones
-managerServlet.sessiontimeout.unlimited = unlimited minutos\: {0} sesiones
-managerServlet.sessiontimeout.expired = {0} minutos\: expired {1} sesiones
-managerServlet.started = OK - Arrancada aplicaci\u00F3n en trayectoria de contexto {0}
-managerServlet.startFailed = FALLO - No se pudo arrancar la aplicaci\u00F3n en trayectoria de contexto {0}
-managerServlet.stopped = OK - Parada aplicaci\u00F3n en trayectoria de contexto {0}
-managerServlet.undeployed = OK - Replegada aplicaci\u00F3n en trayectoria de contexto {0}
-managerServlet.unknownCommand = FALLO - Comando desconocido {0}
-managerServlet.userDatabaseError = FALLO - No puedo resolver referencia de base de datos de usuario
-managerServlet.userDatabaseMissing = FALLO - No se encuentra disponible base de datos de usuario
+managerServlet.alreadyContext=FALLO - Ya existe la aplicación en la trayectoria {0}
+managerServlet.alreadyDocBase=FALLO - Directorio {0} ya está siendo usado
+managerServlet.configured=OK - Desplegada aplicación desde archivo de contexto {0}
+managerServlet.deleteFail=FALLO - No pude borrar [{0}]. La presencia continua de este fichero puede causar problemas.
+managerServlet.deployFailed=FALLO - No pude desplegar la aplicación en ruta de contexto {0}
+managerServlet.deployed=OK - Desplegada aplicación en trayectoria de contexto {0}
+managerServlet.deployedButNotStarted=FALLO - Apliación desplegada en la ruta de contexto {0}, pero el contexto no pudo arrancar
+managerServlet.exception=FALLO - Encontrada excepción {0}
+managerServlet.findleaksFail=FALLO - Ha fallado la búsqueda de fallos: La Máquina no es una instancia de StandardHost
+managerServlet.findleaksList=OK - Hallados fallos potenciales de memoria en las siguientes aplicaciones:
+managerServlet.findleaksNone=OK - No se han hallado fallos de memoria
+managerServlet.invalidPath=FALLO - Se ha especificado una trayectoria inválida de contexto {0}
+managerServlet.invalidWar=FALLO - Se ha especificado una URL de aplicación inválida {0}
+managerServlet.listed=OK - Aplicaciones listadas para máquina virtual {0}
+managerServlet.listitem={0}:{1}:{2}:{3}
+managerServlet.mkdirFail=FALLO - No pude crear directorio [{0}]
+managerServlet.noAppBase=FALLO - No puedo identificar aplicación base para trayectoria de contexto {0}
+managerServlet.noCommand=FALLO - No se ha especificado comando
+managerServlet.noContext=FALLO - No existe contexto para trayectoria {0}
+managerServlet.noDirectory=FALLO - Documento base No-directorio para trayectoria {0}
+managerServlet.noDocBase=FALLO - No puedo replegar documento base para trayectoria {0}
+managerServlet.noGlobal=FALLO - No hay disponibles recursos globales JNDI
+managerServlet.noManager=FALLO - No existe gestor para ruta {0}
+managerServlet.noReload=FALLO - Recarga no soportada en WAR desplegado en trayectoria {0}
+managerServlet.noRename=FALLO - No pudeo desplegar WAR cargado para trayectoria {0}
+managerServlet.noRole=FALLO - El usuario no desempeña el papel de {0}
+managerServlet.noSelf=FALLO - El gestor no puede recargarse, replegarse, pararse o replegarse a sí mismo
+managerServlet.noWrapper=El Contenedor no ha llamado a setWrapper() para este servlet
+managerServlet.notDeployed=FALLO - El contexto {0} está definido en server.xml y puede que no esté desplegado
+managerServlet.objectNameFail=FALLO - No pude registrar objeto de nombre [{0}] para Gestor de Servlet
+managerServlet.postCommand=FALLO - Intenté usar el comando {0} vía un requerimiento GET pero se necesita POST
+managerServlet.reloaded=OK - Recargada aplicación en trayectoria de contexto {0}
+managerServlet.resourcesAll=OK - Listados recursos globales de todos los tipos
+managerServlet.resourcesType=OK - Listados recursos globales de tipo {0}
+managerServlet.saveFail=FAIL - Fallo al guardar la configuración: {0}
+managerServlet.saved=OK - Configuración de Servidor guardada
+managerServlet.savedContext=OK - Configuración de Contexto {0} guardada
+managerServlet.sessiondefaultmax=Intervalo máximo por defecto de sesión inactiva {0} minutos
+managerServlet.sessions=OK - Información de sesión para aplicación en trayectoria de contexto {0}
+managerServlet.sessiontimeout={0} minutos: {1} sesiones
+managerServlet.sessiontimeout.expired={0} minutos: expired {1} sesiones
+managerServlet.sessiontimeout.unlimited=unlimited minutos: {0} sesiones
+managerServlet.startFailed=FALLO - No se pudo arrancar la aplicación en trayectoria de contexto {0}
+managerServlet.started=OK - Arrancada aplicación en trayectoria de contexto {0}
+managerServlet.stopped=OK - Parada aplicación en trayectoria de contexto {0}
+managerServlet.undeployed=OK - Replegada aplicación en trayectoria de contexto {0}
+managerServlet.unknownCommand=FALLO - Comando desconocido {0}
+managerServlet.userDatabaseError=FALLO - No puedo resolver referencia de base de datos de usuario
+managerServlet.userDatabaseMissing=FALLO - No se encuentra disponible base de datos de usuario
 
-statusServlet.complete = Estado Completo de Servidor
-statusServlet.title = Estado de Servidor
+statusServlet.complete=Estado Completo de Servidor
+statusServlet.title=Estado de Servidor
diff --git a/java/org/apache/catalina/manager/LocalStrings_fr.properties b/java/org/apache/catalina/manager/LocalStrings_fr.properties
index 66e2baa..26e6e48 100644
--- a/java/org/apache/catalina/manager/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/manager/LocalStrings_fr.properties
@@ -19,24 +19,24 @@ htmlManagerServlet.appsName=Nom d''affichage
 htmlManagerServlet.appsPath=Chemin
 htmlManagerServlet.appsReload=Recharger
 htmlManagerServlet.appsSessions=Sessions
-htmlManagerServlet.appsStart=D\u00e9marrer
-htmlManagerServlet.appsStop=Arr\u00eater
+htmlManagerServlet.appsStart=Démarrer
+htmlManagerServlet.appsStop=Arrêter
 htmlManagerServlet.appsTasks=Commandes
 htmlManagerServlet.appsTitle=Applications
 htmlManagerServlet.appsUndeploy=Retirer
 htmlManagerServlet.deployButton=Deployer
 htmlManagerServlet.deployConfig=URL du fichier XML de configuration:
 htmlManagerServlet.deployPath=Chemin de context (requis):
-htmlManagerServlet.deployServer=Emplacement du r\u00e9pertoire ou fichier WAR de d\u00e9ploiement sur le serveur
+htmlManagerServlet.deployServer=Emplacement du répertoire ou fichier WAR de déploiement sur le serveur
 htmlManagerServlet.deployTitle=Deployer
-htmlManagerServlet.deployUpload=Fichier WAR \u00e0 d\u00e9ployer
-htmlManagerServlet.deployUploadFail=ECHEC - T\u00e9l\u00e9versement pour d\u00e9ploiement a \u00e9chou\u00e9, exception: {0}
-htmlManagerServlet.deployUploadFile=Choisir le fichier WAR \u00e0 t\u00e9l\u00e9verser
-htmlManagerServlet.deployUploadInServerXml=ECHEC - Fichier WAR \"{0}\" ne peut \u00eatre t\u00e9l\u00e9vers\u00e9 lorsque le contexte est d\u00e9fini dans server.xml
-htmlManagerServlet.deployUploadNoFile=ECHEC - T\u00e9l\u00e9versement a \u00e9chou\u00e9, aucun fichier
-htmlManagerServlet.deployUploadNotWar=ECHEC - Fichier \u00e0 t\u00e9l\u00e9verser, \"{0}\", doit \u00eatre un .war
-htmlManagerServlet.deployUploadWarExists=ECHEC - Fichier War \"{0}\" d\u00e9j\u00ea existant sur le serveur
-htmlManagerServlet.deployWar=URL vers WAR ou r\u00e9pertoire:
+htmlManagerServlet.deployUpload=Fichier WAR à déployer
+htmlManagerServlet.deployUploadFail=ECHEC - Téléversement pour déploiement a échoué, exception: {0}
+htmlManagerServlet.deployUploadFile=Choisir le fichier WAR à téléverser
+htmlManagerServlet.deployUploadInServerXml=ECHEC - Fichier WAR "{0}" ne peut être téléversé lorsque le contexte est défini dans server.xml
+htmlManagerServlet.deployUploadNoFile=ECHEC - Téléversement a échoué, aucun fichier
+htmlManagerServlet.deployUploadNotWar=ECHEC - Fichier à téléverser, "{0}", doit être un .war
+htmlManagerServlet.deployUploadWarExists=ECHEC - Fichier War "{0}" déjê existant sur le serveur
+htmlManagerServlet.deployWar=URL vers WAR ou répertoire:
 htmlManagerServlet.expire.explain=inactives depuis &ge;
 htmlManagerServlet.expire.unit=minutes
 htmlManagerServlet.helpHtmlManager=Aide HTML Gestionnaire
@@ -56,52 +56,48 @@ htmlManagerServlet.serverTitle=Serveur
 htmlManagerServlet.serverVersion=Version de serveur
 htmlManagerServlet.title=Gestionnaire d''applications WEB Tomcat
 
-managerServlet.alreadyContext=ECHEC - l''application existe d\u00e9j\u00e0 dans le chemin {0}
-managerServlet.alreadyDocBase=ECHEC - Le r\u00e9pertoire {0} est d\u00e9j\u00e0 utilis\u00e9
-managerServlet.configured=OK - Application configur\u00e9e depuis le fichier contexte {0}
-managerServlet.deployed=OK - Application d\u00e9ploy\u00e9e pour le chemin de contexte {0}
-managerServlet.deployedButNotStarted=ECHEC - Application d\u00e9ploy\u00e9e pour le chemin de contexte {0} mais le d\u00e9marrage du contexte a \u00e9chou\u00e9
-managerServlet.deployFailed=ECHEC - Echec au d\u00e9ploiement de l''application pour le chemin de contexte {0}
-managerServlet.exception=ECHEC - L''exception {0} a \u00e9t\u00e9 rencontr\u00e9e
-managerServlet.invalidPath=ECHEC - Un chemin de contexte invalide {0} a \u00e9t\u00e9 sp\u00e9cifi\u00e9
-managerServlet.invalidWar=ECHEC - Une URL d''application invalide {0} a \u00e9t\u00e9 sp\u00e9cifi\u00e9e
-managerServlet.listed=OK - Applications list\u00e9es pour l''h\u00f4te virtuel (virtual host) {0}
+managerServlet.alreadyContext=ECHEC - l''application existe déjà dans le chemin {0}
+managerServlet.alreadyDocBase=ECHEC - Le répertoire {0} est déjà utilisé
+managerServlet.configured=OK - Application configurée depuis le fichier contexte {0}
+managerServlet.deployFailed=ECHEC - Echec au déploiement de l''application pour le chemin de contexte {0}
+managerServlet.deployed=OK - Application déployée pour le chemin de contexte {0}
+managerServlet.deployedButNotStarted=ECHEC - Application déployée pour le chemin de contexte {0} mais le démarrage du contexte a échoué
+managerServlet.exception=ECHEC - L''exception {0} a été rencontrée
+managerServlet.invalidPath=ECHEC - Un chemin de contexte invalide {0} a été spécifié
+managerServlet.invalidWar=ECHEC - Une URL d''application invalide {0} a été spécifiée
+managerServlet.listed=OK - Applications listées pour l''hôte virtuel (virtual host) {0}
 managerServlet.listitem={0}:{1}:{2}:{3}
 managerServlet.noAppBase=ECHEC - Impossible d''identifier la base de l''application base pour le chemin de contexte {0}
-managerServlet.noCommand=ECHEC - Aucune commande n''a \u00e9t\u00e9 sp\u00e9cifi\u00e9e
+managerServlet.noCommand=ECHEC - Aucune commande n''a été spécifiée
 managerServlet.noContext=ECHEC - Aucun contexte n''existe pour le chemin {0}
-managerServlet.noDirectory=ECHEC - La base de document n''est pas un r\u00e9pertoire pour le chemin {0}
+managerServlet.noDirectory=ECHEC - La base de document n''est pas un répertoire pour le chemin {0}
 managerServlet.noDocBase=ECHEC - Impossible de retirer la base de document pour le chemin {0}
 managerServlet.noGlobal=ECHEC - Aucune ressource JNDI globale n''est disponible
 managerServlet.noManager=ECHEC - Aucun gestionnaire n''existe pour le chemin {0}
-managerServlet.noReload=ECHEC - Rechargement non support\u00e9 par le WAR d\u00e9ploy\u00e9 au chemin {0}
-managerServlet.noRename=ECHEC - Impossible de d\u00e9ployer un WAR t\u00e9l\u00e9charg\u00e9 pour le chemin {0}
-managerServlet.noRole=ECHEC - L''utilisateur ne poss\u00e8de pas le r\u00f4le {0}
-managerServlet.noSelf=ECHEC - Le gestionnaire ne peut se recharger, se retirer, s''arr\u00eater, ou se d\u00e9ployer lui-m\u00eame
-managerServlet.notDeployed=ECHEC - Le contexte {0} est d\u00e9fini dans server.xml et ne peut \u00eatre retir\u00e9
-managerServlet.noWrapper=Le conteneur n''a pas appel\u00e9 "setWrapper()" pour cette servlet
-managerServlet.reloaded=OK - L''application associ\u00e9e au chemin de contexte {0} a \u00e9t\u00e9 recharg\u00e9e
+managerServlet.noReload=ECHEC - Rechargement non supporté par le WAR déployé au chemin {0}
+managerServlet.noRename=ECHEC - Impossible de déployer un WAR téléchargé pour le chemin {0}
+managerServlet.noRole=ECHEC - L''utilisateur ne possède pas le rôle {0}
+managerServlet.noSelf=ECHEC - Le gestionnaire ne peut se recharger, se retirer, s''arrêter, ou se déployer lui-même
+managerServlet.noWrapper=Le conteneur n''a pas appelé "setWrapper()" pour cette servlet
+managerServlet.notDeployed=ECHEC - Le contexte {0} est défini dans server.xml et ne peut être retiré
+managerServlet.reloaded=OK - L''application associée au chemin de contexte {0} a été rechargée
 managerServlet.resourcesAll=OK - Liste des ressources globales de tout type
 managerServlet.resourcesType=OK - Liste des ressources globales de type {0}
-managerServlet.saved=OK - Configuration serveur sauvegard\u00e9e
-managerServlet.savedContext=OK - Configuration du contexte {0} sauvegard\u00e9e
-managerServlet.saveFail=ECHEC - La sauvegarde de la configuration a \u00e9chou\u00e9: {0}
-managerServlet.sessiondefaultmax=Interval par d\u00e9faut de maximum de session inactive {0} minutes
+managerServlet.saveFail=ECHEC - La sauvegarde de la configuration a échoué: {0}
+managerServlet.saved=OK - Configuration serveur sauvegardée
+managerServlet.savedContext=OK - Configuration du contexte {0} sauvegardée
+managerServlet.sessiondefaultmax=Interval par défaut de maximum de session inactive {0} minutes
 managerServlet.sessions=OK - Information de session pour l''application au chemin de contexte {0}
-#TODO: Please review the following three messages. These are displayed when "Expire sessions" button is pressed in the Manager webapp:
 managerServlet.sessiontimeout={0} minutes: {1} sessions
 managerServlet.sessiontimeout.expired={0} minutes: {1} sessions were expired
 managerServlet.sessiontimeout.unlimited=unlimited time: {0} sessions
-managerServlet.started=OK - Application d\u00e9marr\u00e9e pour le chemin de contexte {0}
-managerServlet.startFailed=ECHEC - L''application pour le chemin de contexte {0} n''a pas pu \u00eatre d\u00e9marr\u00e9e
-managerServlet.startFailed=ECHEC - L''application pour le chemin de contexte {0} n''a pas pu \u00eatre d\u00e9marr\u00e9e
-managerServlet.stopped=OK - Application arr\u00eat\u00e9e pour le chemin de contexte {0}
-managerServlet.stopped=OK - Application arr\u00eat\u00e9e pour le chemin de contexte {0}
-managerServlet.undeployed=OK - Application non d\u00e9ploy\u00e9e pour le chemin de contexte {0}
-managerServlet.undeployed=OK - L''application associ\u00e9e au chemin de contexte {0} a \u00e9t\u00e9 retir\u00e9e
+managerServlet.startFailed=ECHEC - L''application pour le chemin de contexte {0} n''a pas pu être démarrée
+managerServlet.started=OK - Application démarrée pour le chemin de contexte {0}
+managerServlet.stopped=OK - Application arrêtée pour le chemin de contexte {0}
+managerServlet.undeployed=OK - L''application associée au chemin de contexte {0} a été retirée
 managerServlet.unknownCommand=ECHEC - Commande inconnue {0}
-managerServlet.userDatabaseError=ECHEC - Impossible de r\u00e9soudre la base de donn\u00e9es utilisateurs de r\u00e9f\u00e9rence
-managerServlet.userDatabaseMissing=ECHEC - Aucune base de donn\u00e9es utilisateurs n''est disponible
+managerServlet.userDatabaseError=ECHEC - Impossible de résoudre la base de données utilisateurs de référence
+managerServlet.userDatabaseMissing=ECHEC - Aucune base de données utilisateurs n''est disponible
 
 statusServlet.complete=Etat complet du serveur
 statusServlet.title=Etat du serveur
diff --git a/java/org/apache/catalina/manager/LocalStrings_ja.properties b/java/org/apache/catalina/manager/LocalStrings_ja.properties
index 4ab9d3b..fe68354 100644
--- a/java/org/apache/catalina/manager/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/manager/LocalStrings_ja.properties
@@ -13,84 +13,83 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-htmlManagerServlet.appsAvailable=\u5b9f\u884c\u4e2d
-htmlManagerServlet.appsName=\u8868\u793a\u540d
-htmlManagerServlet.appsPath=\u30d1\u30b9
-htmlManagerServlet.appsReload=\u518d\u30ed\u30fc\u30c9
-htmlManagerServlet.appsSessions=\u30bb\u30c3\u30b7\u30e7\u30f3
-htmlManagerServlet.appsStart=\u8d77\u52d5
-htmlManagerServlet.appsStop=\u505c\u6b62
-htmlManagerServlet.appsTasks=\u30b3\u30de\u30f3\u30c9
-htmlManagerServlet.appsTitle=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3
-htmlManagerServlet.appsUndeploy=\u914d\u5099\u89e3\u9664
-htmlManagerServlet.deployButton=\u914d\u5099
-htmlManagerServlet.deployConfig=XML\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306eURL:
-htmlManagerServlet.deployPath=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 (\u7701\u7565\u53ef):
-htmlManagerServlet.deployServer=\u30b5\u30fc\u30d0\u4e0a\u306eWAR\u30d5\u30a1\u30a4\u30eb\u53c8\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u914d\u5099
-htmlManagerServlet.deployTitle=\u914d\u5099
-htmlManagerServlet.deployUpload=WAR\u30d5\u30a1\u30a4\u30eb\u306e\u914d\u5099
-htmlManagerServlet.deployUploadFail=FAIL - \u914d\u5099\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3001\u4f8b\u5916: {0}
-htmlManagerServlet.deployUploadFile=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308bWAR\u30d5\u30a1\u30a4\u30eb\u306e\u9078\u629e
-htmlManagerServlet.deployUploadNoFile=FAIL - \u30d5\u30a1\u30a4\u30eb\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3001\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3057\u307e\u305b\u3093
-htmlManagerServlet.deployUploadNotWar=FAIL - \u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u30d5\u30a1\u30a4\u30eb \"{0}\" \u306fWAR\u30d5\u30a1\u30a4\u30eb\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-htmlManagerServlet.deployUploadWarExists=FAIL - WAR\u30d5\u30a1\u30a4\u30eb \"{0}\" \u306f\u65e2\u306b\u30b5\u30fc\u30d0\u4e0a\u306b\u5b58\u5728\u3057\u307e\u3059
-htmlManagerServlet.deployWar=WAR\u30d5\u30a1\u30a4\u30eb\u53c8\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306eURL:
-htmlManagerServlet.helpHtmlManager=HTML\u30de\u30cd\u30fc\u30b8\u30e3\u30d8\u30eb\u30d7
+htmlManagerServlet.appsAvailable=実行中
+htmlManagerServlet.appsName=表示名
+htmlManagerServlet.appsPath=パス
+htmlManagerServlet.appsReload=再ロード
+htmlManagerServlet.appsSessions=セッション
+htmlManagerServlet.appsStart=起動
+htmlManagerServlet.appsStop=停止
+htmlManagerServlet.appsTasks=コマンド
+htmlManagerServlet.appsTitle=アプリケーション
+htmlManagerServlet.appsUndeploy=配備解除
+htmlManagerServlet.deployButton=配備
+htmlManagerServlet.deployConfig=XML設定ファイルのURL:
+htmlManagerServlet.deployPath=コンテキストパス (省略可):
+htmlManagerServlet.deployServer=サーバ上のWARファイル又はディレクトリの配備
+htmlManagerServlet.deployTitle=配備
+htmlManagerServlet.deployUpload=WARファイルの配備
+htmlManagerServlet.deployUploadFail=FAIL - 配備のアップロードが失敗しました、例外: {0}
+htmlManagerServlet.deployUploadFile=アップロードするWARファイルの選択
+htmlManagerServlet.deployUploadNoFile=FAIL - ファイルのアップロードが失敗しました、ファイルが存在しません
+htmlManagerServlet.deployUploadNotWar=FAIL - アップロードするファイル "{0}" はWARファイルでなければいけません
+htmlManagerServlet.deployUploadWarExists=FAIL - WARファイル "{0}" は既にサーバ上に存在します
+htmlManagerServlet.deployWar=WARファイル又はディレクトリのURL:
+htmlManagerServlet.helpHtmlManager=HTMLマネージャヘルプ
 htmlManagerServlet.helpHtmlManagerFile=../docs/html-manager-howto.html
-htmlManagerServlet.helpManager=\u30de\u30cd\u30fc\u30b8\u30e3\u30d8\u30eb\u30d7
+htmlManagerServlet.helpManager=マネージャヘルプ
 htmlManagerServlet.helpManagerFile=../docs/manager-howto.html
-htmlManagerServlet.list=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u4e00\u89a7
-htmlManagerServlet.manager=\u30de\u30cd\u30fc\u30b8\u30e3
-htmlManagerServlet.messageLabel=\u30e1\u30c3\u30bb\u30fc\u30b8
-htmlManagerServlet.serverJVMVendor=JVM\u30d9\u30f3\u30c0
-htmlManagerServlet.serverJVMVersion=JVM\u30d0\u30fc\u30b8\u30e7\u30f3
-htmlManagerServlet.serverOSArch=OS\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3
-htmlManagerServlet.serverOSName=OS\u540d
-htmlManagerServlet.serverOSVersion=OS\u30d0\u30fc\u30b8\u30e7\u30f3
-htmlManagerServlet.serverTitle=\u30b5\u30fc\u30d0\u60c5\u5831
-htmlManagerServlet.serverVersion=Tomcat\u30d0\u30fc\u30b8\u30e7\u30f3
-htmlManagerServlet.title=Tomcat Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30de\u30cd\u30fc\u30b8\u30e3
+htmlManagerServlet.list=アプリケーションの一覧
+htmlManagerServlet.manager=マネージャ
+htmlManagerServlet.messageLabel=メッセージ
+htmlManagerServlet.serverJVMVendor=JVMベンダ
+htmlManagerServlet.serverJVMVersion=JVMバージョン
+htmlManagerServlet.serverOSArch=OSアーキテクチャ
+htmlManagerServlet.serverOSName=OS名
+htmlManagerServlet.serverOSVersion=OSバージョン
+htmlManagerServlet.serverTitle=サーバ情報
+htmlManagerServlet.serverVersion=Tomcatバージョン
+htmlManagerServlet.title=Tomcat Webアプリケーションマネージャ
 
-managerServlet.alreadyContext=FAIL - \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u3001\u65e2\u306b\u30d1\u30b9 {0} \u306b\u5b58\u5728\u3057\u307e\u3059
-managerServlet.alreadyDocBase=FAIL - \u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u306f\u65e2\u306b\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059
-managerServlet.cannotInvoke=\u30a4\u30f3\u30dc\u30fc\u30ab\u3067\u30de\u30cd\u30fc\u30b8\u30e3\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u3092\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-managerServlet.configured=OK - \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb {0} \u304b\u3089\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3057\u305f
-managerServlet.deployed=OK - \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u914d\u5099\u3057\u307e\u3057\u305f
-managerServlet.exception=FAIL - \u4f8b\u5916 {0} \u304c\u767a\u751f\u3057\u307e\u3057\u305f
-managerServlet.invalidPath=FAIL - \u7121\u52b9\u306a\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f
-managerServlet.invalidWar=FAIL - \u7121\u52b9\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306eURL {0} \u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f
-managerServlet.listed=OK - \u30d0\u30fc\u30c1\u30e3\u30eb\u30db\u30b9\u30c8 {0} \u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u4e00\u89a7\u3067\u3059
+managerServlet.alreadyContext=FAIL - アプリケーションは、既にパス {0} に存在します
+managerServlet.alreadyDocBase=FAIL - ディレクトリ {0} は既に使用されています
+managerServlet.cannotInvoke=インボーカでマネージャサーブレットを起動できませんでした
+managerServlet.configured=OK - コンテキストファイル {0} からアプリケーションをインストールしました
+managerServlet.deployed=OK - コンテキストパス {0} でアプリケーションを配備しました
+managerServlet.exception=FAIL - 例外 {0} が発生しました
+managerServlet.invalidPath=FAIL - 無効なコンテキストパス {0} が指定されました
+managerServlet.invalidWar=FAIL - 無効なアプリケーションのURL {0} が指定されました
+managerServlet.listed=OK - バーチャルホスト {0} のアプリケーション一覧です
 managerServlet.listitem={0}:{1}:{2}:{3}
-managerServlet.noAppBase=FAIL - \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306b\u5bfe\u3057\u3066\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d9\u30fc\u30b9\u3092\u78ba\u8a8d\u3067\u304d\u307e\u305b\u3093
-managerServlet.noCommand=FAIL - \u30b3\u30de\u30f3\u30c9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-managerServlet.noContext=FAIL - \u30d1\u30b9 {0} \u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u304c\u5b58\u5728\u3057\u307e\u305b\u3093
-managerServlet.noDirectory=FAIL - \u30d1\u30b9 {0} \u306b\u5bfe\u3059\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30d9\u30fc\u30b9\u304c\u3042\u308a\u307e\u305b\u3093
-managerServlet.noDocBase=FAIL - \u30d1\u30b9 {0} \u306b\u5bfe\u3059\u308b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30d9\u30fc\u30b9\u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093
-managerServlet.noGlobal=FAIL - \u30b0\u30ed\u30fc\u30d0\u30eb\u306aJNDI\u30ea\u30bd\u30fc\u30b9\u304c\u5229\u7528\u3067\u304d\u307e\u305b\u3093
-managerServlet.noReload=FAIL - \u30d1\u30b9 {0} \u306b\u914d\u5099\u3055\u308c\u305fWAR\u30d5\u30a1\u30a4\u30eb\u3067\u306f\u518d\u30ed\u30fc\u30c9\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-managerServlet.noRename=FAIL - \u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3055\u308c\u305fWAR\u30d5\u30a1\u30a4\u30eb\u3092\u30d1\u30b9 {0} \u306b\u914d\u5099\u3067\u304d\u307e\u305b\u3093
-managerServlet.noRole=FAIL - \u30e6\u30fc\u30b6\u306f\u30ed\u30fc\u30eb {0} \u3092\u6301\u3063\u3066\u3044\u307e\u305b\u3093
-managerServlet.noSelf=FAIL - \u30de\u30cd\u30fc\u30b8\u30e3\u81ea\u8eab\u3092\u518d\u30ed\u30fc\u30c9\u3001\u524a\u9664\u3001\u505c\u6b62\u3001\u53c8\u306f\u914d\u5099\u89e3\u9664\u3067\u304d\u307e\u305b\u3093
-managerServlet.noWrapper=\u30b3\u30f3\u30c6\u30ca\u306f\u3053\u306e\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u306b\u5bfe\u3057\u3066\u547c\u3073\u51fa\u3055\u308c\u305fsetWrapper()\u3092\u6301\u3063\u3066\u3044\u307e\u305b\u3093
-managerServlet.reloaded=OK - \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u518d\u30ed\u30fc\u30c9\u3057\u307e\u3057\u305f
-managerServlet.resourcesAll=OK - \u3059\u3079\u3066\u306e\u30bf\u30a4\u30d7\u306e\u30b0\u30ed\u30fc\u30d0\u30eb\u30ea\u30bd\u30fc\u30b9\u3092\u5217\u6319\u3057\u307e\u3057\u305f
-managerServlet.resourcesType=OK - \u30bf\u30a4\u30d7 {0} \u306e\u30b0\u30ed\u30fc\u30d0\u30eb\u30ea\u30bd\u30fc\u30b9\u3092\u5217\u6319\u3057\u307e\u3057\u305f
-managerServlet.saved=OK - \u30b5\u30fc\u30d0\u306e\u8a2d\u5b9a\u3092\u4fdd\u5b58\u3057\u307e\u3057\u305f
-managerServlet.savedContext=OK - \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8 {0} \u306e\u8a2d\u5b9a\u3092\u4fdd\u5b58\u3057\u307e\u3057\u305f
-managerServlet.saveFail=FAIL - \u8a2d\u5b9a\u306e\u4fdd\u5b58\u306b\u5931\u6557\u3057\u307e\u3057\u305f: {0}
-managerServlet.sessiondefaultmax=\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u6700\u5927\u30bb\u30c3\u30b7\u30e7\u30f3\u505c\u6b62\u9593\u9694\u306f{0}\u5206\u3067\u3059
-managerServlet.sessions=OK - \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u60c5\u5831\u3067\u3059
-#TODO: Please review the following three messages. These are displayed when "Expire sessions" button is pressed in the Manager webapp:
-managerServlet.sessiontimeout={0}\u5206: {1}\u30bb\u30c3\u30b7\u30e7\u30f3
-managerServlet.sessiontimeout.unlimited=unlimited \u5206: {0}\u30bb\u30c3\u30b7\u30e7\u30f3
-managerServlet.sessiontimeout.expired={0}\u5206: expired {1}\u30bb\u30c3\u30b7\u30e7\u30f3
-managerServlet.started=OK - \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u8d77\u52d5\u3057\u307e\u3057\u305f
-managerServlet.startFailed=FAIL - \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093
-managerServlet.stopped=OK - \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u505c\u6b62\u3057\u307e\u3057\u305f
-managerServlet.undeployed=OK - \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u914d\u5099\u89e3\u9664\u3057\u307e\u3057\u305f
-managerServlet.unknownCommand=FAIL - \u672a\u77e5\u306e\u30b3\u30de\u30f3\u30c9 {0} \u3067\u3059
-managerServlet.userDatabaseError=FAIL - \u30e6\u30fc\u30b6\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u53c2\u7167\u3092\u89e3\u6c7a\u3067\u304d\u307e\u305b\u3093
-managerServlet.userDatabaseMissing=FAIL - \u30e6\u30fc\u30b6\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u5229\u7528\u3067\u304d\u307e\u305b\u3093
+managerServlet.noAppBase=FAIL - コンテキストパス {0} に対してアプリケーションベースを確認できません
+managerServlet.noCommand=FAIL - コマンドが指定されていません
+managerServlet.noContext=FAIL - パス {0} のコンテキストが存在しません
+managerServlet.noDirectory=FAIL - パス {0} に対するディレクトリドキュメントベースがありません
+managerServlet.noDocBase=FAIL - パス {0} に対するドキュメントベースを削除できません
+managerServlet.noGlobal=FAIL - グローバルなJNDIリソースが利用できません
+managerServlet.noReload=FAIL - パス {0} に配備されたWARファイルでは再ロードがサポートされていません
+managerServlet.noRename=FAIL - アップロードされたWARファイルをパス {0} に配備できません
+managerServlet.noRole=FAIL - ユーザはロール {0} を持っていません
+managerServlet.noSelf=FAIL - マネージャ自身を再ロード、削除、停止、又は配備解除できません
+managerServlet.noWrapper=コンテナはこのサーブレットに対して呼び出されたsetWrapper()を持っていません
+managerServlet.reloaded=OK - コンテキストパス {0} のアプリケーションを再ロードしました
+managerServlet.resourcesAll=OK - すべてのタイプのグローバルリソースを列挙しました
+managerServlet.resourcesType=OK - タイプ {0} のグローバルリソースを列挙しました
+managerServlet.saveFail=FAIL - 設定の保存に失敗しました: {0}
+managerServlet.saved=OK - サーバの設定を保存しました
+managerServlet.savedContext=OK - コンテキスト {0} の設定を保存しました
+managerServlet.sessiondefaultmax=デフォルトの最大セッション停止間隔は{0}分です
+managerServlet.sessions=OK - コンテキストパス {0} のアプリケーションのセッション情報です
+managerServlet.sessiontimeout={0}分: {1}セッション
+managerServlet.sessiontimeout.expired={0}分: expired {1}セッション
+managerServlet.sessiontimeout.unlimited=unlimited 分: {0}セッション
+managerServlet.startFailed=FAIL - コンテキストパス {0} のアプリケーションが起動できません
+managerServlet.started=OK - コンテキストパス {0} でアプリケーションを起動しました
+managerServlet.stopped=OK - コンテキストパス {0} でアプリケーションを停止しました
+managerServlet.undeployed=OK - コンテキストパス {0} のアプリケーションを配備解除しました
+managerServlet.unknownCommand=FAIL - 未知のコマンド {0} です
+managerServlet.userDatabaseError=FAIL - ユーザデータベース参照を解決できません
+managerServlet.userDatabaseMissing=FAIL - ユーザデータベースが利用できません
 
-statusServlet.complete=\u30b5\u30fc\u30d0\u306e\u5168\u72b6\u614b
-statusServlet.title=\u30b5\u30fc\u30d0\u306e\u72b6\u614b
+statusServlet.complete=サーバの全状態
+statusServlet.title=サーバの状態
diff --git a/java/org/apache/catalina/manager/LocalStrings_ru.properties b/java/org/apache/catalina/manager/LocalStrings_ru.properties
index fc74755..db7ce89 100644
--- a/java/org/apache/catalina/manager/LocalStrings_ru.properties
+++ b/java/org/apache/catalina/manager/LocalStrings_ru.properties
@@ -13,163 +13,162 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-htmlManagerServlet.appsAvailable=\u0417\u0430\u043f\u0443\u0449\u0435\u043d\u043e
-htmlManagerServlet.appsExpire=\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0441\u0435\u0430\u043d\u0441\u044b
-htmlManagerServlet.appsName=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435
-htmlManagerServlet.appsPath=\u041f\u0443\u0442\u044c
-htmlManagerServlet.appsReload=\u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c
-htmlManagerServlet.appsSessions=\u0421\u0435\u0430\u043d\u0441\u044b
-htmlManagerServlet.appsStart=\u0421\u0442\u0430\u0440\u0442
-htmlManagerServlet.appsStop=\u0421\u0442\u043e\u043f
-htmlManagerServlet.appsTasks=\u041a\u043e\u043c\u0430\u043d\u0434\u044b
-htmlManagerServlet.appsTitle=\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f
-htmlManagerServlet.appsUndeploy=\u0423\u0434\u0430\u043b\u0438\u0442\u044c
-htmlManagerServlet.appsVersion=\u0412\u0435\u0440\u0441\u0438\u044f
-htmlManagerServlet.configReloadButton=\u041f\u0435\u0440\u0435\u0447\u0438\u0442\u0430\u0442\u044c
-htmlManagerServlet.configSslHostName=\u0418\u043c\u044f TLS \u0445\u043e\u0441\u0442\u0430 (\u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e)
-htmlManagerServlet.configSslReloadTitle=\u041f\u0435\u0440\u0435\u0447\u0438\u0442\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b TLS
-htmlManagerServlet.configTitle=\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f
-htmlManagerServlet.connectorStateAliveSocketCount=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0441\u0451 \u0435\u0449\u0451 \u0436\u0438\u0432\u044b\u0445 \u0441\u043e\u043a\u0435\u0442\u043e\u0432:
-htmlManagerServlet.connectorStateBytesRecieved=\u0411\u0430\u0439\u0442\u043e\u0432 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e:
-htmlManagerServlet.connectorStateBytesSent=\u0411\u0430\u0439\u0442\u043e\u0432 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e:
-htmlManagerServlet.connectorStateErrorCount=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0448\u0438\u0431\u043e\u043a:
-htmlManagerServlet.connectorStateHint=P: \u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0438 \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0441\u044f \u043a \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435, S: \u0421\u0435\u0440\u0432\u0438\u0441, F: \u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435, R: \u0413\u043e\u0442\u043e\u0432, K: \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432 [...]
-htmlManagerServlet.connectorStateMaxProcessingTime=\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:
-htmlManagerServlet.connectorStateMaxThreads=\u041c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u043f\u043e\u0442\u043e\u043a\u043e\u0432:
-htmlManagerServlet.connectorStateProcessingTime=\u0412\u0440\u0435\u043c\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438:
-htmlManagerServlet.connectorStateRequestCount=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432:
-htmlManagerServlet.connectorStateTableTitleBRecv=\u0411 \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043e
-htmlManagerServlet.connectorStateTableTitleBSent=\u0411 \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e
-htmlManagerServlet.connectorStateTableTitleClientAct=\u041a\u043b\u0438\u0435\u043d\u0442 (\u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439)
-htmlManagerServlet.connectorStateTableTitleClientForw=\u041a\u043b\u0438\u0435\u043d\u0442 (\u041f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0439)
-htmlManagerServlet.connectorStateTableTitleRequest=\u0417\u0430\u043f\u0440\u043e\u0441
-htmlManagerServlet.connectorStateTableTitleStage=\u042d\u0442\u0430\u043f
-htmlManagerServlet.connectorStateTableTitleTime=\u0412\u0440\u0435\u043c\u044f
-htmlManagerServlet.connectorStateTableTitleVHost=\u0412\u0425\u043e\u0441\u0442
-htmlManagerServlet.connectorStateThreadBusy=\u041d\u044b\u043d\u0435\u0448\u043d\u0435\u0435 \u0447\u0438\u0441\u043b\u043e \u0437\u0430\u043d\u044f\u0442\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432:
-htmlManagerServlet.connectorStateThreadCount=\u041d\u044b\u043d\u0435\u0448\u043d\u0435\u0435 \u0447\u0438\u0441\u043b\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432:
-htmlManagerServlet.deployButton=\u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c
-htmlManagerServlet.deployConfig=\u041f\u0443\u0442\u044c XML \u0444\u0430\u0439\u043b\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430:
-htmlManagerServlet.deployPath=\u041f\u0443\u0442\u044c:
-htmlManagerServlet.deployServer=\u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0439 WAR \u0444\u0430\u0439\u043b
-htmlManagerServlet.deployTitle=\u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c
-htmlManagerServlet.deployUpload=WAR \u0444\u0430\u0439\u043b \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f
-htmlManagerServlet.deployUploadFail=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438: [{0}]
-htmlManagerServlet.deployUploadFile=\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 WAR \u0444\u0430\u0439\u043b \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438
-htmlManagerServlet.deployUploadInServerXml=\u041e\u0428\u0418\u0411\u041a\u0410 - War \u0444\u0430\u0439\u043b [{0}] \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d, e\u0441\u043b\u0438 \u043e\u043d \u0443\u0436\u0435 \u0437\u0430\u0434\u0430\u043d \u0432 \u0444\u0430\u0439\u043b\u0435 server.xml
-htmlManagerServlet.deployUploadNoFile=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0444\u0430\u0439\u043b\u0430. \u0424\u0430\u0439\u043b\u0430 \u043d\u0435\u0442
-htmlManagerServlet.deployUploadNotWar=\u041e\u0428\u0418\u0411\u041a\u0410 - \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c .war
-htmlManagerServlet.deployUploadWarExists=\u041e\u0428\u0418\u0411\u041a\u0410 - War \u0444\u0430\u0439\u043b [{0}] \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435
-htmlManagerServlet.deployVersion=\u0412\u0435\u0440\u0441\u0438\u044f (\u043f\u0440\u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u043c \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438):
-htmlManagerServlet.deployWar=WAR \u0438\u043b\u0438 \u043f\u0443\u0442\u044c \u0434\u043e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438:
-htmlManagerServlet.diagnosticsLeak=\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043b\u0438 \u0443\u0442\u0435\u0447\u043a\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u0441\u043b\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0431-\u043f\u0440 [...]
-htmlManagerServlet.diagnosticsLeakButton=\u041d\u0430\u0439\u0442\u0438 \u0443\u0442\u0435\u0447\u043a\u0438 \u043f\u0430\u043c\u044f\u0442\u0438
-htmlManagerServlet.diagnosticsLeakWarning=\u0414\u0430\u043d\u043d\u0430\u044f \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0441\u0431\u043e\u0440\u043a\u0443 \u043c\u0443\u0441\u043e\u0440\u0430. \u0411\u0443\u0434\u044c\u0442\u0435 \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u044b \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0435\u0451 \u043d\u0430  [...]
-htmlManagerServlet.diagnosticsSsl=\u0414\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 TLS \u0434\u043b\u044f \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440\u043e\u0432
-htmlManagerServlet.diagnosticsSslConnectorCertsButton=\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438
-htmlManagerServlet.diagnosticsSslConnectorCertsText=\u0421\u043f\u0438\u0441\u043e\u043a \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 TLS \u0445\u043e\u0441\u0442\u043e\u0432 \u0438 \u0438\u0445 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438
-htmlManagerServlet.diagnosticsSslConnectorCipherButton=\u0428\u0438\u0444\u0440\u044b
-htmlManagerServlet.diagnosticsSslConnectorCipherText=\u0421\u043f\u0438\u0441\u043e\u043a \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 TLS \u0445\u043e\u0441\u0442\u043e\u0432 \u0438 \u0438\u0445 \u0448\u0438\u0444\u0440\u044b
-htmlManagerServlet.diagnosticsSslConnectorTrustedCertsButton=\u0414\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b
-htmlManagerServlet.diagnosticsSslConnectorTrustedCertsText=\u0421\u043f\u0438\u0441\u043e\u043a \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 TLS \u0445\u043e\u0441\u0442\u043e\u0432 \u0438 \u0438\u0445 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438
-htmlManagerServlet.diagnosticsTitle=\u0414\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430
-htmlManagerServlet.expire.explain=\u0441 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c\u044e &ge;
-htmlManagerServlet.expire.unit=\u043c\u0438\u043d\u0443\u0442
-htmlManagerServlet.findleaksList=\
-  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b (\u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b, \u0443\u0434\u0430\u043b\u0435\u043d\u044b),\n\
-  \u043d\u043e \u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u044b \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u0432 \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438\n\
-  (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443-\u043f\u0440\u043e\u0444\u0430\u0439\u043b\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b):\n
-htmlManagerServlet.findleaksNone=\u041a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0435 \u0432\u044b\u0437\u0432\u0430\u043b\u0438 \u0443\u0442\u0435\u0447\u043a\u0443 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435, \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0438\u043b\u0438 \u0443\u0434\u0430\ [...]
-htmlManagerServlet.helpHtmlManager=\u0421\u043f\u0440\u0430\u0432\u043a\u0430 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f
+htmlManagerServlet.appsAvailable=Запущено
+htmlManagerServlet.appsExpire=Завершить сеансы
+htmlManagerServlet.appsName=Название
+htmlManagerServlet.appsPath=Путь
+htmlManagerServlet.appsReload=Перезагрузить
+htmlManagerServlet.appsSessions=Сеансы
+htmlManagerServlet.appsStart=Старт
+htmlManagerServlet.appsStop=Стоп
+htmlManagerServlet.appsTasks=Команды
+htmlManagerServlet.appsTitle=Приложения
+htmlManagerServlet.appsUndeploy=Удалить
+htmlManagerServlet.appsVersion=Версия
+htmlManagerServlet.configReloadButton=Перечитать
+htmlManagerServlet.configSslHostName=Имя TLS хоста (не обязательно)
+htmlManagerServlet.configSslReloadTitle=Перечитать конфигурационные файлы TLS
+htmlManagerServlet.configTitle=Конфигурация
+htmlManagerServlet.connectorStateAliveSocketCount=Количество всё ещё живых сокетов:
+htmlManagerServlet.connectorStateBytesRecieved=Байтов получено:
+htmlManagerServlet.connectorStateBytesSent=Байтов отправлено:
+htmlManagerServlet.connectorStateErrorCount=Количество ошибок:
+htmlManagerServlet.connectorStateHint=P: Разбирается и готовится к обработке, S: Сервис, F: Завершение, R: Готов, K: Продолжает существовать
+htmlManagerServlet.connectorStateMaxProcessingTime=Максимальное время обработки запроса:
+htmlManagerServlet.connectorStateMaxThreads=Максимум потоков:
+htmlManagerServlet.connectorStateProcessingTime=Время обработки:
+htmlManagerServlet.connectorStateRequestCount=Количество запросов:
+htmlManagerServlet.connectorStateTableTitleBRecv=Б Получено
+htmlManagerServlet.connectorStateTableTitleBSent=Б Отправлено
+htmlManagerServlet.connectorStateTableTitleClientAct=Клиент (Настоящий)
+htmlManagerServlet.connectorStateTableTitleClientForw=Клиент (Переданный)
+htmlManagerServlet.connectorStateTableTitleRequest=Запрос
+htmlManagerServlet.connectorStateTableTitleStage=Этап
+htmlManagerServlet.connectorStateTableTitleTime=Время
+htmlManagerServlet.connectorStateTableTitleVHost=ВХост
+htmlManagerServlet.connectorStateThreadBusy=Нынешнее число занятых потоков:
+htmlManagerServlet.connectorStateThreadCount=Нынешнее число потоков:
+htmlManagerServlet.deployButton=Развернуть
+htmlManagerServlet.deployConfig=Путь XML файла конфигурации контекста:
+htmlManagerServlet.deployPath=Путь:
+htmlManagerServlet.deployServer=Развернуть серверный WAR файл
+htmlManagerServlet.deployTitle=Развернуть
+htmlManagerServlet.deployUpload=WAR файл для развёртывания
+htmlManagerServlet.deployUploadFail=ОШИБКА - Ошибка при развёртывании: [{0}]
+htmlManagerServlet.deployUploadFile=Выберите WAR файл для загрузки
+htmlManagerServlet.deployUploadInServerXml=ОШИБКА - War файл [{0}] не может быть загружен, eсли он уже задан в файле server.xml
+htmlManagerServlet.deployUploadNoFile=ОШИБКА - Ошибка при загрузке файла. Файла нет
+htmlManagerServlet.deployUploadNotWar=ОШИБКА - Загружаемый файл должен быть с расширением .war
+htmlManagerServlet.deployUploadWarExists=ОШИБКА - War файл [{0}] уже существует на сервере
+htmlManagerServlet.deployVersion=Версия (при параллельном развёртывании):
+htmlManagerServlet.deployWar=WAR или путь до директории:
+htmlManagerServlet.diagnosticsLeak=Проверяет, произошла ли утечка памяти после остановки, перезагрузки или удаления веб-приложений
+htmlManagerServlet.diagnosticsLeakButton=Найти утечки памяти
+htmlManagerServlet.diagnosticsLeakWarning=Данная диагностика запускает сборку мусора. Будьте осторожны при использовании её на продуктивных системах.
+htmlManagerServlet.diagnosticsSsl=Диагностика конфигурации TLS для коннекторов
+htmlManagerServlet.diagnosticsSslConnectorCertsButton=Сертификаты безопасности
+htmlManagerServlet.diagnosticsSslConnectorCertsText=Список виртуальных TLS хостов и их сертификатов безопасности
+htmlManagerServlet.diagnosticsSslConnectorCipherButton=Шифры
+htmlManagerServlet.diagnosticsSslConnectorCipherText=Список виртуальных TLS хостов и их шифры
+htmlManagerServlet.diagnosticsSslConnectorTrustedCertsButton=Доверенные сертификаты
+htmlManagerServlet.diagnosticsSslConnectorTrustedCertsText=Список виртуальных TLS хостов и их доверенных сертификатов безопасности
+htmlManagerServlet.diagnosticsTitle=Диагностика
+htmlManagerServlet.expire.explain=с неактивностью &ge;
+htmlManagerServlet.expire.unit=минут
+htmlManagerServlet.findleaksList=Следующие веб-приложения были остановлены (перезагружены, удалены),\n\
+но их классы с предыдущих запусков до сих пор присутствуют в памяти\n\
+(используйте программу-профайлер, чтобы подтвердить наличие проблемы):\n
+htmlManagerServlet.findleaksNone=Кажется, что веб-приложения не вызвали утечку памяти при остановке, перезагрузке или удалении.
+htmlManagerServlet.helpHtmlManager=Справка для пользователей приложения
 htmlManagerServlet.helpHtmlManagerFile=../docs/html-manager-howto.html
-htmlManagerServlet.helpManager=\u0421\u043f\u0440\u0430\u0432\u043a\u0430 \u043f\u043e API \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f
+htmlManagerServlet.helpManager=Справка по API приложения
 htmlManagerServlet.helpManagerFile=../docs/manager-howto.html
-htmlManagerServlet.jvmFreeMemory=\u0421\u0432\u043e\u0431\u043e\u0434\u043d\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c:
-htmlManagerServlet.jvmMaxMemory=\u041c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u043f\u0430\u043c\u044f\u0442\u0438:
-htmlManagerServlet.jvmTableTitleInitial=\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e
-htmlManagerServlet.jvmTableTitleMaximum=\u041c\u0430\u043a\u0441\u0438\u043c\u0443\u043c
-htmlManagerServlet.jvmTableTitleMemoryPool=\u041e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0430\u043c\u044f\u0442\u0438
-htmlManagerServlet.jvmTableTitleTotal=\u0412\u0441\u0435\u0433\u043e
-htmlManagerServlet.jvmTableTitleType=\u0422\u0438\u043f
-htmlManagerServlet.jvmTableTitleUsed=\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f
-htmlManagerServlet.jvmTotalMemory=\u0412\u0441\u044f \u043f\u0430\u043c\u044f\u0442\u044c:
-htmlManagerServlet.list=\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439
-htmlManagerServlet.manager=\u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440
-htmlManagerServlet.messageLabel=\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435:
+htmlManagerServlet.jvmFreeMemory=Свободная память:
+htmlManagerServlet.jvmMaxMemory=Максимум памяти:
+htmlManagerServlet.jvmTableTitleInitial=Изначально
+htmlManagerServlet.jvmTableTitleMaximum=Максимум
+htmlManagerServlet.jvmTableTitleMemoryPool=Области памяти
+htmlManagerServlet.jvmTableTitleTotal=Всего
+htmlManagerServlet.jvmTableTitleType=Тип
+htmlManagerServlet.jvmTableTitleUsed=Используется
+htmlManagerServlet.jvmTotalMemory=Вся память:
+htmlManagerServlet.list=Список приложений
+htmlManagerServlet.manager=Менеджер
+htmlManagerServlet.messageLabel=Сообщение:
 htmlManagerServlet.noManager=-
-htmlManagerServlet.noVersion=\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e
-htmlManagerServlet.osAvailableMemory=\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c:
-htmlManagerServlet.osFreePageFile=\u0421\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b:
-htmlManagerServlet.osKernelTime=\u0412\u0440\u0435\u043c\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u044f\u0434\u0440\u043e\u043c:
-htmlManagerServlet.osMemoryLoad=\u041f\u0430\u043c\u044f\u0442\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043e:
-htmlManagerServlet.osPhysicalMemory=\u0424\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c:
-htmlManagerServlet.osTotalPageFile=\u0412\u0441\u0435\u0433\u043e \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446:
-htmlManagerServlet.osUserTime=\u0412\u0440\u0435\u043c\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f:
-htmlManagerServlet.serverHostname=\u0418\u043c\u044f \u0445\u043e\u0441\u0442\u0430
-htmlManagerServlet.serverIPAddress=IP \u0410\u0434\u0440\u0435\u0441
-htmlManagerServlet.serverJVMVendor=\u041f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a JVM
-htmlManagerServlet.serverJVMVersion=\u0412\u0435\u0440\u0441\u0438\u044f JVM
-htmlManagerServlet.serverOSArch=\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u041e\u0421
-htmlManagerServlet.serverOSName=\u041e\u0421
-htmlManagerServlet.serverOSVersion=\u0412\u0435\u0440\u0441\u0438\u044f \u041e\u0421
-htmlManagerServlet.serverTitle=\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0435
-htmlManagerServlet.serverVersion=\u0412\u0435\u0440\u0441\u0438\u044f Tomcat
-htmlManagerServlet.title=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 Tomcat
+htmlManagerServlet.noVersion=Не указано
+htmlManagerServlet.osAvailableMemory=Доступная память:
+htmlManagerServlet.osFreePageFile=Свободные файловые страницы:
+htmlManagerServlet.osKernelTime=Время обработки процесса ядром:
+htmlManagerServlet.osMemoryLoad=Памяти загружено:
+htmlManagerServlet.osPhysicalMemory=Физическая память:
+htmlManagerServlet.osTotalPageFile=Всего файловых страниц:
+htmlManagerServlet.osUserTime=Время обработки пользователя:
+htmlManagerServlet.serverHostname=Имя хоста
+htmlManagerServlet.serverIPAddress=IP Адрес
+htmlManagerServlet.serverJVMVendor=Поставщик JVM
+htmlManagerServlet.serverJVMVersion=Версия JVM
+htmlManagerServlet.serverOSArch=Архитектура ОС
+htmlManagerServlet.serverOSName=ОС
+htmlManagerServlet.serverOSVersion=Версия ОС
+htmlManagerServlet.serverTitle=Информация о сервере
+htmlManagerServlet.serverVersion=Версия Tomcat
+htmlManagerServlet.title=Управление веб-приложениями Tomcat
 
-managerServlet.alreadyContext=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0430 \u043f\u0443\u0442\u0438 [{0}]
-managerServlet.certsNotAvailable=\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b
-managerServlet.deleteFail=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0443\u0434\u0430\u043b\u0438\u0442\u044c [{0}].
-managerServlet.deployed=OK - \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u043e \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u043c \u043f\u0443\u0442\u0438 [{0}]
-managerServlet.deployedButNotStarted=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u043e \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u043c \u043f\u0443\u0442\u0438 [{0}], \u043d\u043e \u043d\u0435 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u043b\u043e
-managerServlet.deployFailed=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043e\u043c \u043f\u0443\u0442\u0438 [{0}]
-managerServlet.exception=\u041e\u0428\u0418\u0411\u041a\u0410 - \u0412\u0441\u0442\u0440\u0435\u0442\u0438\u043b\u043e\u0441\u044c \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 [{0}]
-managerServlet.findleaksFail=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u0443\u0442\u0435\u0447\u043a\u0438 \u043f\u0430\u043c\u044f\u0442\u0438: Host not instance of StandardHost
-managerServlet.findleaksList=OK - \u041d\u0430\u0439\u0434\u0435\u043d\u044b \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0443\u0442\u0435\u0447\u043a\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445:
-managerServlet.findleaksNone=OK - \u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u0443\u0442\u0435\u0447\u0435\u043a \u043f\u0430\u043c\u044f\u0442\u0438
-managerServlet.inService=\u041e\u0428\u0418\u0411\u041a\u0410 -  \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 [{0}] \u0443\u0436\u0435 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f
-managerServlet.invalidCommand=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b [{0}]
-managerServlet.invalidPath=\u041e\u0428\u0418\u0411\u041a\u0410 - \u0423\u043a\u0430\u0437\u0430\u043d \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0439 \u043f\u0443\u0442\u044c [{0}]
-managerServlet.listed=OK - \u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430 [{0}]
+managerServlet.alreadyContext=ОШИБКА - Приложение уже существует на пути [{0}]
+managerServlet.certsNotAvailable=Информация о сертификате не может быть получена во время работы
+managerServlet.deleteFail=ОШИБКА - Не удалось удалить [{0}].
+managerServlet.deployFailed=ОШИБКА - Не удалось развернуть приложение на контекстом пути [{0}]
+managerServlet.deployed=OK - Приложение успешно развёрнуто в контекстном пути [{0}]
+managerServlet.deployedButNotStarted=ОШИБКА - Приложение было развёрнуто в контекстном пути [{0}], но не стартовало
+managerServlet.exception=ОШИБКА - Встретилось исключение [{0}]
+managerServlet.findleaksFail=ОШИБКА - Не удалось найти утечки памяти: Host not instance of StandardHost
+managerServlet.findleaksList=OK - Найдены потенциальные утечки памяти в следующих приложениях:
+managerServlet.findleaksNone=OK - Не найдено утечек памяти
+managerServlet.inService=ОШИБКА -  Приложение [{0}] уже обслуживается
+managerServlet.invalidCommand=ОШИБКА - Недопустимые параметры, предоставленные для команды [{0}]
+managerServlet.invalidPath=ОШИБКА - Указан недопустимый контекстный путь [{0}]
+managerServlet.listed=OK - Список приложений для виртуального хоста [{0}]
 managerServlet.listitem={0}:{1}:{2}:{3}
-managerServlet.mkdirFail=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e [{0}]
-managerServlet.noCommand=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430.
-managerServlet.noContext=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 [{0}]
-managerServlet.noGlobal=\u041e\u0428\u0418\u0411\u041a\u0410 - \u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b JNDI \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b
-managerServlet.noManager=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0434\u043b\u044f \u043f\u0443\u0442\u0438 [{0}]
-managerServlet.noSelf=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c, \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c, \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0435\u0431\u044f
-managerServlet.notDeployed=\u041e\u0428\u0418\u0411\u041a\u0410 - [{0}] \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u0432 \u0444\u0430\u0439\u043b\u0435 server.xml \u0438 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442
-managerServlet.notSslConnector=\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b SSL/TLS \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440\u0430 \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d
-managerServlet.noWrapper=\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043d\u0435 \u0432\u044b\u0437\u0432\u0430\u043b setWrapper() \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u043b\u0435\u0442\u0430
-managerServlet.objectNameFail=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043c\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 [{0}] \u0434\u043b\u044f Manager Servlet
-managerServlet.postCommand=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 [{0}] \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u0440\u043e\u0441 GET \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f POST
-managerServlet.reloaded=OK - \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e \u043f\u0443\u0442\u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 [{0}] \u0431\u044b\u043b\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043e
-managerServlet.renameFail=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c [{0}] \u0432 [{1}]. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0434\u043b\u044f \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u0 [...]
-managerServlet.resourcesAll=OK - \u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0432\u0441\u0435\u0445 \u0432\u0438\u0434\u043e\u0432
-managerServlet.resourcesType=OK - \u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0432\u0438\u0434\u0430 [{0}]
-managerServlet.saved=OK - \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430
-managerServlet.savedContext=OK - \u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f [{0}] \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u044b
-managerServlet.saveFail=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438: [{0}]
-managerServlet.sessiondefaultmax=\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0441\u0435\u0430\u043d\u0441\u0430: [{0}] \u043c\u0438\u043d\u0443\u0442
-managerServlet.sessions=OK - \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0441\u0435\u0430\u043d\u0441\u0430\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e \u043f\u0443\u0442\u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 [{0}]
-managerServlet.sessiontimeout=\u041d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 [{0}] \u043c\u0438\u043d\u0443\u0442: [{1}] \u0441\u0435\u0430\u043d\u0441(\u043e\u0432)
-managerServlet.sessiontimeout.expired=\u041d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 [{0}] \u043c\u0438\u043d\u0443\u0442: [{1}] \u0441\u0435\u0430\u043d\u0441(\u043e\u0432) \u0431\u044b\u043b\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u044b
-managerServlet.sessiontimeout.unlimited=\u041d\u0435\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f: [{0}] \u0441\u0435\u0430\u043d\u0441(\u043e\u0432)
-managerServlet.sslConnectorCerts=OK - \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0446\u0435\u043f\u043e\u0447\u043a\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432
-managerServlet.sslConnectorCiphers=OK - \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0438 SSL
-managerServlet.sslConnectorTrustedCerts=OK - \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u043c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438
-managerServlet.sslReload=OK - \u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 TLS \u0434\u043b\u044f [{0}]
-managerServlet.sslReloadAll=OK - \u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 TLS \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0445\u043e\u0441\u0442\u043e\u0432 TLS
-managerServlet.sslReloadFail=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e TLS
-managerServlet.started=OK - \u0417\u0430\u043f\u0443\u0449\u0435\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e \u043f\u0443\u0442\u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 [{0}]
-managerServlet.startFailed=\u041e\u0428\u0418\u0411\u041a\u0410 - Application at context path [{0}] could not be started
-managerServlet.stopped=OK - \u041e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e \u043f\u0443\u0442\u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 [{0}]
-managerServlet.storeConfig.invalidMBean=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 StoreConfig Mbean
-managerServlet.storeConfig.noMBean=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041d\u0435\u0442 StoreConfig MBean, \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 [{0}]
+managerServlet.mkdirFail=ОШИБКА - Не удалось создать директорию [{0}]
+managerServlet.noCommand=ОШИБКА - Команда не указана.
+managerServlet.noContext=ОШИБКА - Контекст не существует [{0}]
+managerServlet.noGlobal=ОШИБКА - Глобальные ресурсы JNDI недоступны
+managerServlet.noManager=ОШИБКА - Отсутствует менеджер для пути [{0}]
+managerServlet.noSelf=ОШИБКА - Менеджер не может перезагрузить, развернуть, остановить или удалить себя
+managerServlet.noWrapper=Контейнер не вызвал setWrapper() для этого сервлета
+managerServlet.notDeployed=ОШИБКА - [{0}] определен в файле server.xml и не может быть развёрнут
+managerServlet.notSslConnector=Протокол SSL/TLS для этого коннектора не включен
+managerServlet.objectNameFail=ОШИБКА - Не удалось зарегистрировать имя объекта [{0}] для Manager Servlet
+managerServlet.postCommand=ОШИБКА - Попытка использовать команду [{0}] через запрос GET но требуется POST
+managerServlet.reloaded=OK - Приложение по пути контекста [{0}] было перезагружено
+managerServlet.renameFail=ОШИБКА - Невозможно переименовать [{0}] в [{1}]. Это может вызвать проблемы для будущих развертываний.
+managerServlet.resourcesAll=OK - Перечислены глобальные ресурсы всех видов
+managerServlet.resourcesType=OK - Перечислены глобальные ресурсы вида [{0}]
+managerServlet.saveFail=ОШИБКА - Не удалось сохранить настройки: [{0}]
+managerServlet.saved=OK - Конфигурация сервера сохранена
+managerServlet.savedContext=OK - Контекстные настройки для [{0}] сохранены
+managerServlet.sessiondefaultmax=Стандартный максимальный период неактивного сеанса: [{0}] минут
+managerServlet.sessions=OK - Информация о сеансах приложения по пути контекста [{0}]
+managerServlet.sessiontimeout=Неактивные [{0}] минут: [{1}] сеанс(ов)
+managerServlet.sessiontimeout.expired=Неактивные [{0}] минут: [{1}] сеанс(ов) были завершены
+managerServlet.sessiontimeout.unlimited=Неограниченное время: [{0}] сеанс(ов)
+managerServlet.sslConnectorCerts=OK - Информация о цепочке сертификатов
+managerServlet.sslConnectorCiphers=OK - Информация о шифровании SSL
+managerServlet.sslConnectorTrustedCerts=OK - Информация о доверенном сертификате безопасности
+managerServlet.sslReload=OK - Перезагрузка конфигурации TLS для [{0}]
+managerServlet.sslReloadAll=OK - Перезагрузка конфигурации TLS для всех виртуальных хостов TLS
+managerServlet.sslReloadFail=ОШИБКА - Не удалось перезагрузить конфигурацию TLS
+managerServlet.startFailed=ОШИБКА - Application at context path [{0}] could not be started
+managerServlet.started=OK - Запущено приложение по пути контекста [{0}]
+managerServlet.stopped=OK - Остановлено приложение по пути контекста [{0}]
+managerServlet.storeConfig.invalidMBean=ОШИБКА - Не удалось найти StoreConfig Mbean
+managerServlet.storeConfig.noMBean=ОШИБКА - Нет StoreConfig MBean, зарегистрированный на [{0}]
 managerServlet.threaddump=OK - JVM thread dump
-managerServlet.trustedCertsNotConfigured=\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430 \u043d\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438
-managerServlet.undeployed=OK - \u0423\u0434\u0430\u043b\u0435\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e \u043f\u0443\u0442\u0438 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 [{0}]
-managerServlet.unknownCommand=\u041e\u0428\u0418\u0411\u041a\u0410 - \u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 [{0}]
-managerServlet.vminfo=OK - VM \u0438\u043d\u0444\u043e
+managerServlet.trustedCertsNotConfigured=Для этого виртуального хоста не настроены доверенные сертификаты безопасности
+managerServlet.undeployed=OK - Удалено приложение по пути контекста [{0}]
+managerServlet.unknownCommand=ОШИБКА - Неизвестная команда [{0}]
+managerServlet.vminfo=OK - VM инфо
 
-statusServlet.complete=\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 \u043e\u0442\u0447\u0451\u0442 \u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438
-statusServlet.title=\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430
+statusServlet.complete=Подробный отчёт о состоянии
+statusServlet.title=Состояние сервера
diff --git a/java/org/apache/catalina/manager/host/LocalStrings.properties b/java/org/apache/catalina/manager/host/LocalStrings.properties
index f8b934a..4ec01f3 100644
--- a/java/org/apache/catalina/manager/host/LocalStrings.properties
+++ b/java/org/apache/catalina/manager/host/LocalStrings.properties
@@ -38,8 +38,8 @@ hostManagerServlet.remove=remove: Removing host [{0}]
 hostManagerServlet.removeFailed=FAIL - Failed to remove host [{0}]
 hostManagerServlet.removeSuccess=OK - Removed host [{0}]
 hostManagerServlet.start=start: Starting host with name [{0}]
-hostManagerServlet.started=OK - Host [{0}] started
 hostManagerServlet.startFailed=FAIL - Failed to start host [{0}]
+hostManagerServlet.started=OK - Host [{0}] started
 hostManagerServlet.stop=stop: Stopping host with name [{0}]
 hostManagerServlet.stopFailed=FAIL - Failed to stop host [{0}]
 hostManagerServlet.stopped=OK - Host [{0}] stopped
@@ -63,11 +63,11 @@ htmlHostManagerServlet.helpManager=Host Manager Help
 htmlHostManagerServlet.helpManagerFile=../docs/host-manager-howto.html
 htmlHostManagerServlet.hostAliases=Host aliases
 htmlHostManagerServlet.hostName=Host name
+htmlHostManagerServlet.hostTasks=Commands
+htmlHostManagerServlet.hostThis=Host Manager installed - commands disabled
 htmlHostManagerServlet.hostsRemove=Remove
 htmlHostManagerServlet.hostsStart=Start
 htmlHostManagerServlet.hostsStop=Stop
-htmlHostManagerServlet.hostTasks=Commands
-htmlHostManagerServlet.hostThis=Host Manager installed - commands disabled
 htmlHostManagerServlet.list=List Virtual Hosts
 htmlHostManagerServlet.manager=Host Manager
 htmlHostManagerServlet.messageLabel=Message:
diff --git a/java/org/apache/catalina/manager/host/LocalStrings_es.properties b/java/org/apache/catalina/manager/host/LocalStrings_es.properties
index 86bc1b9..4416338 100644
--- a/java/org/apache/catalina/manager/host/LocalStrings_es.properties
+++ b/java/org/apache/catalina/manager/host/LocalStrings_es.properties
@@ -13,71 +13,71 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-hostManagerServlet.add = a\u00F1adir\: A\u00F1adiendo m\u00E1quina [{0}]
-hostManagerServlet.addFailed = FALLO - No pude a\u00F1adir m\u00E1quina {0}
-hostManagerServlet.addSuccess = OK - M\u00E1quina a\u00F1adida [{0}]
-hostManagerServlet.alreadyHost = FALLO - Ya existe m\u00E1quina con nombre de m\u00E1quina {0}
-hostManagerServlet.alreadyStarted = FALLO - La m\u00E1qiuina [{0}] ya ha arrancado
-hostManagerServlet.alreadyStopped = FALLO - La m\u00E1quina [{0}] ya se ha parado
-hostManagerServlet.appBaseCreateFail = FALLO - No pude crear appBase [{0}] para la m\u00E1quina [{1}]
-hostManagerServlet.cannotRemoveOwnHost = FALLO - No puedo quitar m\u00E1quina propia {0}
-hostManagerServlet.cannotStartOwnHost = FALLO - No puedo empezar m\u00E1quina propia {0}
-hostManagerServlet.cannotStopOwnHost = FALLO - No puedo para m\u00E1quina propia {0}
-hostManagerServlet.configBaseCreateFail = FALLO - No pude identificar configBase para la m\u00E1quina [{0}]
-hostManagerServlet.exception = FALLO - Encontrada excepci\u00F3n {0}
-hostManagerServlet.invalidHostName = FALLO - Se ha especificado un nombre inv\u00E1lido de m\u00E1quina {0}
-hostManagerServlet.list = listar\: Listando m\u00E1quinas para motor [{0}]
-hostManagerServlet.listed = OK - M\u00E1quinas listadas
-hostManagerServlet.listitem = {0}\:{1}
-hostManagerServlet.managerXml = FALLO - no pude instalar manager.xml
-hostManagerServlet.noCommand = FALLO - No se ha especificado comando
-hostManagerServlet.noHost = FALLO - El nombre de m\u00E1quina {0} no existe
-hostManagerServlet.noWrapper = El contenedor no ha llamado a setWrapper() para este servlet
-hostManagerServlet.postCommand = FALLO - Intent\u00E9 usar el comando {0} v\u00EDa un requerimiento GET pero es necesario POST
-hostManagerServlet.remove = quitar\: Quitando m\u00E1quina [{0}]
-hostManagerServlet.removeFailed = FALLO - No pude quitar m\u00E1quina {0}
-hostManagerServlet.removeSuccess = OK - M\u00E1quina removida [{0}]
-hostManagerServlet.start = arrancar\: Arrancando m\u00E1quina con nombre [{0}]
-hostManagerServlet.started = OK - M\u00E1quina {0} arrancada
-hostManagerServlet.startFailed = FALLO - No pude arrancar m\u00E1quina {0}
-hostManagerServlet.stop = parar\: Parando m\u00E1quina con nombre [{0}]
-hostManagerServlet.stopFailed = FALLO - No pude parar m\u00E1quina {0}
-hostManagerServlet.stopped = OK - M\u00E1quina {0} parada
-hostManagerServlet.unknownCommand = FALLO - Comando desconocido {0}
+hostManagerServlet.add=añadir: Añadiendo máquina [{0}]
+hostManagerServlet.addFailed=FALLO - No pude añadir máquina {0}
+hostManagerServlet.addSuccess=OK - Máquina añadida [{0}]
+hostManagerServlet.alreadyHost=FALLO - Ya existe máquina con nombre de máquina {0}
+hostManagerServlet.alreadyStarted=FALLO - La máqiuina [{0}] ya ha arrancado
+hostManagerServlet.alreadyStopped=FALLO - La máquina [{0}] ya se ha parado
+hostManagerServlet.appBaseCreateFail=FALLO - No pude crear appBase [{0}] para la máquina [{1}]
+hostManagerServlet.cannotRemoveOwnHost=FALLO - No puedo quitar máquina propia {0}
+hostManagerServlet.cannotStartOwnHost=FALLO - No puedo empezar máquina propia {0}
+hostManagerServlet.cannotStopOwnHost=FALLO - No puedo para máquina propia {0}
+hostManagerServlet.configBaseCreateFail=FALLO - No pude identificar configBase para la máquina [{0}]
+hostManagerServlet.exception=FALLO - Encontrada excepción {0}
+hostManagerServlet.invalidHostName=FALLO - Se ha especificado un nombre inválido de máquina {0}
+hostManagerServlet.list=listar: Listando máquinas para motor [{0}]
+hostManagerServlet.listed=OK - Máquinas listadas
+hostManagerServlet.listitem={0}:{1}
+hostManagerServlet.managerXml=FALLO - no pude instalar manager.xml
+hostManagerServlet.noCommand=FALLO - No se ha especificado comando
+hostManagerServlet.noHost=FALLO - El nombre de máquina {0} no existe
+hostManagerServlet.noWrapper=El contenedor no ha llamado a setWrapper() para este servlet
+hostManagerServlet.postCommand=FALLO - Intenté usar el comando {0} vía un requerimiento GET pero es necesario POST
+hostManagerServlet.remove=quitar: Quitando máquina [{0}]
+hostManagerServlet.removeFailed=FALLO - No pude quitar máquina {0}
+hostManagerServlet.removeSuccess=OK - Máquina removida [{0}]
+hostManagerServlet.start=arrancar: Arrancando máquina con nombre [{0}]
+hostManagerServlet.startFailed=FALLO - No pude arrancar máquina {0}
+hostManagerServlet.started=OK - Máquina {0} arrancada
+hostManagerServlet.stop=parar: Parando máquina con nombre [{0}]
+hostManagerServlet.stopFailed=FALLO - No pude parar máquina {0}
+hostManagerServlet.stopped=OK - Máquina {0} parada
+hostManagerServlet.unknownCommand=FALLO - Comando desconocido {0}
 
-htmlHostManagerServlet.addAliases = Aliases\:
-htmlHostManagerServlet.addAppBase = App base\:
-htmlHostManagerServlet.addAutoDeploy = AutoDeploy
-htmlHostManagerServlet.addButton = A\u00F1adir
-htmlHostManagerServlet.addDeployOnStartup = DeployOnStartup
-htmlHostManagerServlet.addDeployXML = DeployXML
-htmlHostManagerServlet.addHost = M\u00E1quina
-htmlHostManagerServlet.addManager = App de Gestor
-htmlHostManagerServlet.addName = Nombre\:
-htmlHostManagerServlet.addTitle = A\u00F1adir M\u00E1quina Virtual
-htmlHostManagerServlet.addUnpackWARs = UnpackWARs
-htmlHostManagerServlet.helpHtmlManager = Ayuda de Gestor de M\u00E1quina HTML (\u00A1En breve\!)
-htmlHostManagerServlet.helpHtmlManagerFile = html-host-manager-howto.html
-htmlHostManagerServlet.helpManager = Ayuda de Gestor de M\u00E1quina
-htmlHostManagerServlet.helpManagerFile = ../docs/host-manager-howto.html
-htmlHostManagerServlet.hostAliases = Aliases de M\u00E1quina
-htmlHostManagerServlet.hostName = Nombre de M\u00E1quina
-htmlHostManagerServlet.hostsRemove = Quitar
-htmlHostManagerServlet.hostsStart = Iniciar
-htmlHostManagerServlet.hostsStop = Parar
-htmlHostManagerServlet.hostTasks = Comandos
-htmlHostManagerServlet.hostThis = Instalado Gestor de M\u00E1quinas - comandos deactivados
-htmlHostManagerServlet.list = Lista de M\u00E1quinas Virtuales
-htmlHostManagerServlet.manager = Gestor de M\u00E1quina
-htmlHostManagerServlet.messageLabel = Mensaje\:
-htmlHostManagerServlet.serverJVMVendor = Vendedor JVM
-htmlHostManagerServlet.serverJVMVersion = Versi\u00F3n de JVM
-htmlHostManagerServlet.serverOSArch = Arquitectura de SO
-htmlHostManagerServlet.serverOSName = Nombre de SO
-htmlHostManagerServlet.serverOSVersion = Versi\u00F3n de SO
-htmlHostManagerServlet.serverTitle = Informaci\u00F3n de Servidor
-htmlHostManagerServlet.serverVersion = Versi\u00F3n de Tomcat
-htmlHostManagerServlet.title = Gestor de M\u00E1quina Virtual de Tomcat
+htmlHostManagerServlet.addAliases=Aliases:
+htmlHostManagerServlet.addAppBase=App base:
+htmlHostManagerServlet.addAutoDeploy=AutoDeploy
+htmlHostManagerServlet.addButton=Añadir
+htmlHostManagerServlet.addDeployOnStartup=DeployOnStartup
+htmlHostManagerServlet.addDeployXML=DeployXML
+htmlHostManagerServlet.addHost=Máquina
+htmlHostManagerServlet.addManager=App de Gestor
+htmlHostManagerServlet.addName=Nombre:
+htmlHostManagerServlet.addTitle=Añadir Máquina Virtual
+htmlHostManagerServlet.addUnpackWARs=UnpackWARs
+htmlHostManagerServlet.helpHtmlManager=Ayuda de Gestor de Máquina HTML (¡En breve!)
+htmlHostManagerServlet.helpHtmlManagerFile=html-host-manager-howto.html
+htmlHostManagerServlet.helpManager=Ayuda de Gestor de Máquina
+htmlHostManagerServlet.helpManagerFile=../docs/host-manager-howto.html
+htmlHostManagerServlet.hostAliases=Aliases de Máquina
+htmlHostManagerServlet.hostName=Nombre de Máquina
+htmlHostManagerServlet.hostTasks=Comandos
+htmlHostManagerServlet.hostThis=Instalado Gestor de Máquinas - comandos deactivados
+htmlHostManagerServlet.hostsRemove=Quitar
+htmlHostManagerServlet.hostsStart=Iniciar
+htmlHostManagerServlet.hostsStop=Parar
+htmlHostManagerServlet.list=Lista de Máquinas Virtuales
+htmlHostManagerServlet.manager=Gestor de Máquina
+htmlHostManagerServlet.messageLabel=Mensaje:
+htmlHostManagerServlet.serverJVMVendor=Vendedor JVM
+htmlHostManagerServlet.serverJVMVersion=Versión de JVM
+htmlHostManagerServlet.serverOSArch=Arquitectura de SO
+htmlHostManagerServlet.serverOSName=Nombre de SO
+htmlHostManagerServlet.serverOSVersion=Versión de SO
+htmlHostManagerServlet.serverTitle=Información de Servidor
+htmlHostManagerServlet.serverVersion=Versión de Tomcat
+htmlHostManagerServlet.title=Gestor de Máquina Virtual de Tomcat
 
-statusServlet.complete = Completar Estado de Servidor
-statusServlet.title = Estado de Servidor
+statusServlet.complete=Completar Estado de Servidor
+statusServlet.title=Estado de Servidor
diff --git a/java/org/apache/catalina/manager/host/LocalStrings_ru.properties b/java/org/apache/catalina/manager/host/LocalStrings_ru.properties
index 3e30a64..2f73459 100644
--- a/java/org/apache/catalina/manager/host/LocalStrings_ru.properties
+++ b/java/org/apache/catalina/manager/host/LocalStrings_ru.properties
@@ -13,75 +13,75 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-hostManagerServlet.add=add: \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 [{0}]
-hostManagerServlet.addFailed=\u041e\u0448\u0438\u0431\u043a\u0430 - \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 [{0}]
-hostManagerServlet.addSuccess=OK - \u0421\u0435\u0440\u0432\u0435\u0440 [{0}] \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d
-hostManagerServlet.alreadyHost=\u041e\u0448\u0438\u0431\u043a\u0430 - \u0423\u0436\u0435 \u0435\u0441\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u0441 \u0442\u0430\u043a\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c [{0}]
-hostManagerServlet.alreadyStarted=\u041e\u0448\u0438\u0431\u043a\u0430 - \u0421\u0435\u0440\u0432\u0435\u0440 [{0}] \u0443\u0436\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d
-hostManagerServlet.alreadyStopped=\u041e\u0448\u0438\u0431\u043a\u0430 - \u0421\u0435\u0440\u0432\u0435\u0440 [{0}] \u0443\u0436\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d
-hostManagerServlet.appBaseCreateFail=\u041e\u0448\u0438\u0431\u043a\u0430 - \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (appBase) [{0}] \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 [{1}]
-hostManagerServlet.cannotRemoveOwnHost=\u041e\u0448\u0438\u0431\u043a\u0430 - \u041d\u0435\u043b\u044c\u0437\u044f \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 [{0}]
-hostManagerServlet.cannotStartOwnHost=\u041e\u0448\u0438\u0431\u043a\u0430 - \u041d\u0435\u043b\u044c\u0437\u044f \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 [{0}]
-hostManagerServlet.cannotStopOwnHost=\u041e\u0448\u0438\u0431\u043a\u0430 - \u041d\u0435\u043b\u044c\u0437\u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 {0}
-hostManagerServlet.configBaseCreateFail=\u041e\u0448\u0438\u0431\u043a\u0430 - \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 (configBase) \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 [{0}]
-hostManagerServlet.exception=\u041e\u0448\u0438\u0431\u043a\u0430 - \u041d\u0435\u043e\u0431\u044b\u0447\u043d\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f [{0}]
-hostManagerServlet.invalidHostName=\u041e\u0448\u0438\u0431\u043a\u0430 - \u0423\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0438\u043c\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 [{0}]
-hostManagerServlet.list=list: \u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u0434\u0432\u0438\u0436\u043a\u0430 [{0}]
-hostManagerServlet.listed=OK - \u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432
+hostManagerServlet.add=add: Добавление сервера [{0}]
+hostManagerServlet.addFailed=Ошибка - Не удалось добавить сервер [{0}]
+hostManagerServlet.addSuccess=OK - Сервер [{0}] добавлен
+hostManagerServlet.alreadyHost=Ошибка - Уже есть сервер с таким именем [{0}]
+hostManagerServlet.alreadyStarted=Ошибка - Сервер [{0}] уже запущен
+hostManagerServlet.alreadyStopped=Ошибка - Сервер [{0}] уже остановлен
+hostManagerServlet.appBaseCreateFail=Ошибка - Не удалось создать директорию для приложений (appBase) [{0}] для сервера [{1}]
+hostManagerServlet.cannotRemoveOwnHost=Ошибка - Нельзя удалить свой собственный сервер [{0}]
+hostManagerServlet.cannotStartOwnHost=Ошибка - Нельзя запустить свой собственный сервер [{0}]
+hostManagerServlet.cannotStopOwnHost=Ошибка - Нельзя остановить свой собственный сервер {0}
+hostManagerServlet.configBaseCreateFail=Ошибка - Не удалось определить директорию с файлами конфигурации (configBase) для сервера [{0}]
+hostManagerServlet.exception=Ошибка - Необычная ситуация [{0}]
+hostManagerServlet.invalidHostName=Ошибка - Указано недопустимое имя сервера [{0}]
+hostManagerServlet.list=list: Список серверов для движка [{0}]
+hostManagerServlet.listed=OK - Список серверов
 hostManagerServlet.listitem=[{0}]:[{1}]
-hostManagerServlet.managerXml=\u041e\u0448\u0438\u0431\u043a\u0430 - \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0430\u0439\u043b manager.xml
-hostManagerServlet.noCommand=\u041e\u0448\u0438\u0431\u043a\u0430 - \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430.
-hostManagerServlet.noHost=\u041e\u0448\u0438\u0431\u043a\u0430 - \u0421\u0435\u0440\u0432\u0435\u0440 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c [{0}] \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442
-hostManagerServlet.noWrapper=\u041c\u0435\u0442\u043e\u0434 setWrapper() \u0443 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u043b\u0435\u0442\u0430 \u0435\u0449\u0451 \u043d\u0435 \u0431\u044b\u043b \u0432\u044b\u0437\u0432\u0430\u043d \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u043c
-hostManagerServlet.postCommand=\u041e\u0448\u0438\u0431\u043a\u0430 - \u041a\u043e\u043c\u0430\u043d\u0434\u0430 [{0}] \u0431\u044b\u043b\u0430 \u043f\u043e\u0434\u0430\u043d\u0430 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 GET, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f POST
-hostManagerServlet.remove=remove: \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 [{0}]
-hostManagerServlet.removeFailed=\u041e\u0448\u0438\u0431\u043a\u0430 - \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 [{0}]
-hostManagerServlet.removeSuccess=OK - \u0421\u0435\u0440\u0432\u0435\u0440 \u0443\u0434\u0430\u043b\u0451\u043d [{0}]
-hostManagerServlet.start=start: \u0417\u0430\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c [{0}]
-hostManagerServlet.startFailed=\u041e\u0448\u0438\u0431\u043a\u0430 - \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 [{0}]
-hostManagerServlet.started=OK - \u0421\u0435\u0440\u0432\u0435\u0440 [{0}] \u0437\u0430\u043f\u0443\u0449\u0435\u043d
-hostManagerServlet.stop=stop: \u041e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c [{0}]
-hostManagerServlet.stopFailed=\u041e\u0448\u0438\u0431\u043a\u0430 - \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 [{0}]
-hostManagerServlet.stopped=OK - \u0421\u0435\u0440\u0432\u0435\u0440 [{0}] \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d
-hostManagerServlet.unknownCommand=\u041e\u0448\u0438\u0431\u043a\u0430 - \u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 [{0}]
+hostManagerServlet.managerXml=Ошибка - Не удалось создать файл manager.xml
+hostManagerServlet.noCommand=Ошибка - Команда не указана.
+hostManagerServlet.noHost=Ошибка - Сервер с указанным именем [{0}] не существует
+hostManagerServlet.noWrapper=Метод setWrapper() у данного сервлета ещё не был вызван контейнером
+hostManagerServlet.postCommand=Ошибка - Команда [{0}] была подана при помощи запроса GET, но требуется POST
+hostManagerServlet.remove=remove: Удаление сервера [{0}]
+hostManagerServlet.removeFailed=Ошибка - Не удалось удалить сервер [{0}]
+hostManagerServlet.removeSuccess=OK - Сервер удалён [{0}]
+hostManagerServlet.start=start: Запуск сервера с именем [{0}]
+hostManagerServlet.startFailed=Ошибка - Не удалось запустить сервер [{0}]
+hostManagerServlet.started=OK - Сервер [{0}] запущен
+hostManagerServlet.stop=stop: Остановка сервера с именем [{0}]
+hostManagerServlet.stopFailed=Ошибка - Не удалось остановить сервер [{0}]
+hostManagerServlet.stopped=OK - Сервер [{0}] остановлен
+hostManagerServlet.unknownCommand=Ошибка - Неизвестная команда [{0}]
 
-htmlHostManagerServlet.addAliases=\u041f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u044b:
-htmlHostManagerServlet.addAppBase=\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (appBase):
-htmlHostManagerServlet.addAutoDeploy=\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 (AutoDeploy)
-htmlHostManagerServlet.addButton=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c
-htmlHostManagerServlet.addCopyXML=\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u043f\u0446\u0438\u044e CopyXML
-htmlHostManagerServlet.addDeployOnStartup=\u0420\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 (DeployOnStartup)
-htmlHostManagerServlet.addDeployXML=\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u043f\u0446\u0438\u044e DeployXML
-htmlHostManagerServlet.addHost=\u0421\u0435\u0440\u0432\u0435\u0440
-htmlHostManagerServlet.addManager=\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 Manager
-htmlHostManagerServlet.addName=\u0418\u043c\u044f:
-htmlHostManagerServlet.addTitle=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440
-htmlHostManagerServlet.addUnpackWARs=\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u043f\u0446\u0438\u044e UnpackWARs
-htmlHostManagerServlet.helpHtmlManager=\u0421\u043f\u0440\u0430\u0432\u043a\u0430 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f
+htmlHostManagerServlet.addAliases=Псевдонимы:
+htmlHostManagerServlet.addAppBase=Директория для приложений (appBase):
+htmlHostManagerServlet.addAutoDeploy=Автоматическое развёртывание (AutoDeploy)
+htmlHostManagerServlet.addButton=Добавить
+htmlHostManagerServlet.addCopyXML=Включить опцию CopyXML
+htmlHostManagerServlet.addDeployOnStartup=Развёртывание при старте сервера (DeployOnStartup)
+htmlHostManagerServlet.addDeployXML=Включить опцию DeployXML
+htmlHostManagerServlet.addHost=Сервер
+htmlHostManagerServlet.addManager=Установить приложение Manager
+htmlHostManagerServlet.addName=Имя:
+htmlHostManagerServlet.addTitle=Добавить виртуальный сервер
+htmlHostManagerServlet.addUnpackWARs=Включить опцию UnpackWARs
+htmlHostManagerServlet.helpHtmlManager=Справка для пользователей приложения
 htmlHostManagerServlet.helpHtmlManagerFile=../docs/html-host-manager-howto.html
-htmlHostManagerServlet.helpManager=\u0421\u043f\u0440\u0430\u0432\u043a\u0430 \u043f\u043e API \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f
+htmlHostManagerServlet.helpManager=Справка по API приложения
 htmlHostManagerServlet.helpManagerFile=../docs/host-manager-howto.html
-htmlHostManagerServlet.hostAliases=\u041f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0430
-htmlHostManagerServlet.hostName=\u0418\u043c\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430
-htmlHostManagerServlet.hostsRemove=\u0423\u0434\u0430\u043b\u0438\u0442\u044c
-htmlHostManagerServlet.hostsStart=\u0421\u0442\u0430\u0440\u0442
-htmlHostManagerServlet.hostsStop=\u0421\u0442\u043e\u043f
-htmlHostManagerServlet.hostTasks=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435
-htmlHostManagerServlet.hostThis=\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 Host Manager \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u0437\u0434\u0435\u0441\u044c - \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f
-htmlHostManagerServlet.list=\u0421\u043f\u0438\u0441\u043e\u043a \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432
-htmlHostManagerServlet.manager=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 c\u0435\u0440\u0432\u0435\u0440\u043e\u043c
-htmlHostManagerServlet.messageLabel=\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435:
-htmlHostManagerServlet.persistAll=\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 (\u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0445\u043e\u0441\u0442\u044b) \u0432 \u0444\u0430\u0439\u043b server.xml \u0438 \u0432 \u0444\u0430\u0439\u043b\u044b context.xml \u0434\u043b\u044f \u0432\u0435\u0431-\u043f\u0440\u0438\u043b [...]
-htmlHostManagerServlet.persistAllButton=\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0441\u0451
-htmlHostManagerServlet.persistTitle=\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438
-htmlHostManagerServlet.serverJVMVendor=\u041f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a JVM
-htmlHostManagerServlet.serverJVMVersion=\u0412\u0435\u0440\u0441\u0438\u044f JVM
-htmlHostManagerServlet.serverOSArch=\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u041e\u0421
-htmlHostManagerServlet.serverOSName=\u041e\u0421
-htmlHostManagerServlet.serverOSVersion=\u0412\u0435\u0440\u0441\u0438\u044f \u041e\u0421
-htmlHostManagerServlet.serverTitle=\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0435
-htmlHostManagerServlet.serverVersion=\u0412\u0435\u0440\u0441\u0438\u044f Tomcat
-htmlHostManagerServlet.title=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 Tomcat
+htmlHostManagerServlet.hostAliases=Псевдонимы сервера
+htmlHostManagerServlet.hostName=Имя сервера
+htmlHostManagerServlet.hostTasks=Управление
+htmlHostManagerServlet.hostThis=Приложение Host Manager установлено здесь - команды управления не поддерживаются
+htmlHostManagerServlet.hostsRemove=Удалить
+htmlHostManagerServlet.hostsStart=Старт
+htmlHostManagerServlet.hostsStop=Стоп
+htmlHostManagerServlet.list=Список виртуальных серверов
+htmlHostManagerServlet.manager=Управление cервером
+htmlHostManagerServlet.messageLabel=Сообщение:
+htmlHostManagerServlet.persistAll=Сохраняет текущие настройки (включая виртуальные хосты) в файл server.xml и в файлы context.xml для веб-приложений
+htmlHostManagerServlet.persistAllButton=Сохранить всё
+htmlHostManagerServlet.persistTitle=Сохранить настройки
+htmlHostManagerServlet.serverJVMVendor=Поставщик JVM
+htmlHostManagerServlet.serverJVMVersion=Версия JVM
+htmlHostManagerServlet.serverOSArch=Архитектура ОС
+htmlHostManagerServlet.serverOSName=ОС
+htmlHostManagerServlet.serverOSVersion=Версия ОС
+htmlHostManagerServlet.serverTitle=Информация о сервере
+htmlHostManagerServlet.serverVersion=Версия Tomcat
+htmlHostManagerServlet.title=Управление виртуальными серверами Tomcat
 
-statusServlet.complete=\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 \u043e\u0442\u0447\u0451\u0442 \u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438
-statusServlet.title=\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430
+statusServlet.complete=Подробный отчёт о состоянии
+statusServlet.title=Состояние сервера
diff --git a/java/org/apache/catalina/mbeans/LocalStrings.properties b/java/org/apache/catalina/mbeans/LocalStrings.properties
index d1f0569..70ae653 100644
--- a/java/org/apache/catalina/mbeans/LocalStrings.properties
+++ b/java/org/apache/catalina/mbeans/LocalStrings.properties
@@ -16,6 +16,6 @@
 jmxRemoteLifecycleListener.createRegistryFailed=Unable to create the RMI registry for the {0} server using port {1}
 jmxRemoteLifecycleListener.createServerFailed=The JMX connector server could not be created or failed to start for the {0} server
 jmxRemoteLifecycleListener.destroyServerFailed=The JMX connector server could not be stopped for the {0} server
+jmxRemoteLifecycleListener.invalidRmiBindAddress=Invalid RMI bind address [{0}]
 jmxRemoteLifecycleListener.invalidURL=The JMX Service URL requested for the {0} server, "{1}", was invalid
 jmxRemoteLifecycleListener.start=The JMX Remote Listener has configured the registry on port {0} and the server on port {1} for the {2} server
-jmxRemoteLifecycleListener.invalidRmiBindAddress=Invalid RMI bind address [{0}]
diff --git a/java/org/apache/catalina/mbeans/LocalStrings_fr.properties b/java/org/apache/catalina/mbeans/LocalStrings_fr.properties
index e5b8bb1..8c3b8f7 100644
--- a/java/org/apache/catalina/mbeans/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/mbeans/LocalStrings_fr.properties
@@ -13,8 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-jmxRemoteLifecycleListener.createRegistryFailed=Cr\u00e9ation du r\u00e9pertoire RMI impossible pour le serveur {0} utilisant le port {1}
-jmxRemoteLifecycleListener.createServerFailed=Le connecteur serveur JMX pour le serveur {0} n''a pas pu \u00eatre cr\u00e9\u00e9 n''a pas d\u00e9marr\u00e9
-jmxRemoteLifecycleListener.destroyServerFailed=Le connecteur serveur JMX pour le serveur {0} n''a pas pu \u00eatre stopp\u00e9
-jmxRemoteLifecycleListener.invalidURL=L''URL demand\u00e9e pour le serveur {0}, "{1}", est incorrect
-jmxRemoteLifecycleListener.start=L''\u00e9couteur distant JMX a configur\u00e9 le r\u00e9pertoire sur le port {0} et le serveur sur le port {1} pour le serveur {2}
+jmxRemoteLifecycleListener.createRegistryFailed=Création du répertoire RMI impossible pour le serveur {0} utilisant le port {1}
+jmxRemoteLifecycleListener.createServerFailed=Le connecteur serveur JMX pour le serveur {0} n''a pas pu être créé n''a pas démarré
+jmxRemoteLifecycleListener.destroyServerFailed=Le connecteur serveur JMX pour le serveur {0} n''a pas pu être stoppé
+jmxRemoteLifecycleListener.invalidURL=L''URL demandée pour le serveur {0}, "{1}", est incorrect
+jmxRemoteLifecycleListener.start=L''écouteur distant JMX a configuré le répertoire sur le port {0} et le serveur sur le port {1} pour le serveur {2}
diff --git a/java/org/apache/catalina/realm/LocalStrings.properties b/java/org/apache/catalina/realm/LocalStrings.properties
index 3fa034b..95b56b5 100644
--- a/java/org/apache/catalina/realm/LocalStrings.properties
+++ b/java/org/apache/catalina/realm/LocalStrings.properties
@@ -13,35 +13,51 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# language
+combinedRealm.addRealm=Add "{0}" realm, making a total of "{1}" realms
+combinedRealm.authFail=Failed to authenticate user "{0}" with realm "{1}"
+combinedRealm.authStart=Attempting to authenticate user "{0}" with realm "{1}"
+combinedRealm.authSuccess=Authenticated user "{0}" with realm "{1}"
+combinedRealm.getName=The getName() method should never be called
+combinedRealm.getPassword=The getPassword() method should never be called
+combinedRealm.getPrincipal=The getPrincipal() method should never be called
+combinedRealm.realmStartFail=Failed to start "{0}" realm
+combinedRealm.unexpectedMethod=An unexpected call was made to a method on the combined realm
 
-# package org.apache.catalina.realm
+dataSourceRealm.authenticateFailure=Username {0} NOT successfully authenticated
+dataSourceRealm.authenticateSuccess=Username {0} successfully authenticated
+dataSourceRealm.close=Exception closing database connection
+dataSourceRealm.exception=Exception performing authentication
+dataSourceRealm.getPassword.exception=Exception retrieving password for "{0}"
+dataSourceRealm.getRoles.exception=Exception retrieving roles for "{0}"
+dataSourceRealm.open=Exception opening database connection
+
+jaasCallback.digestpassword=Digested password "{0}" as "{1}"
+jaasCallback.password=Returned password "{0}"
+jaasCallback.username=Returned username "{0}"
 
-jaasRealm.beginLogin=JAASRealm login requested for username "{0}" using LoginContext for application "{1}"
 jaasRealm.accountExpired=Username "{0}" NOT authenticated due to expired account
 jaasRealm.authenticateFailure=Username "{0}" NOT successfully authenticated
 jaasRealm.authenticateSuccess=Username "{0}" successfully authenticated as Principal "{1}" -- Subject was created too
+jaasRealm.beginLogin=JAASRealm login requested for username "{0}" using LoginContext for application "{1}"
+jaasRealm.cachePrincipal=User Principal "{0}" cached; has {1} role Principal(s)
+jaasRealm.checkPrincipal=Checking Principal "{0}" [{1}]
 jaasRealm.credentialExpired=Username "{0}" NOT authenticated due to expired credential
 jaasRealm.failedLogin=Username "{0}" NOT authenticated due to failed login
-jaasRealm.loginException=Login exception authenticating username "{0}"
-jaasRealm.unexpectedError=Unexpected error
+jaasRealm.isInRole.match=Matching role Principal found.
+jaasRealm.isInRole.noMatch=Matching role Principal NOT found.
+jaasRealm.isInRole.noPrincipalOrRole=No roles Principals found. User Principal or Subject is null, or user Principal not in cache
+jaasRealm.isInRole.possessesRole=User Principal has a role Principal called "{0}"
+jaasRealm.isInRole.principalCached=User Principal has {0} role Principal(s)
+jaasRealm.isInRole.start=Checking if user Principal "{0}" possesses role "{1}"
 jaasRealm.loginContextCreated=JAAS LoginContext created for username "{0}"
-jaasRealm.cachePrincipal=User Principal "{0}" cached; has {1} role Principal(s)
-jaasRealm.checkPrincipal=Checking Principal "{0}" [{1}]
-jaasRealm.userPrincipalSuccess=Principal "{0}" is a valid user class. We will use this as the user Principal.
-jaasRealm.userPrincipalFailure=No valid user Principal found
+jaasRealm.loginException=Login exception authenticating username "{0}"
 jaasRealm.rolePrincipalAdd=Adding role Principal "{0}" to this user Principal''s roles
-jaasRealm.rolePrincipalSuccess={0} role Principal(s) found
 jaasRealm.rolePrincipalFailure=No valid role Principals found.
-jaasRealm.isInRole.start=Checking if user Principal "{0}" possesses role "{1}"
-jaasRealm.isInRole.noPrincipalOrRole=No roles Principals found. User Principal or Subject is null, or user Principal not in cache
-jaasRealm.isInRole.principalCached=User Principal has {0} role Principal(s)
-jaasRealm.isInRole.possessesRole=User Principal has a role Principal called "{0}"
-jaasRealm.isInRole.match=Matching role Principal found.
-jaasRealm.isInRole.noMatch=Matching role Principal NOT found.
-jaasCallback.digestpassword=Digested password "{0}" as "{1}"
-jaasCallback.username=Returned username "{0}"
-jaasCallback.password=Returned password "{0}"
+jaasRealm.rolePrincipalSuccess={0} role Principal(s) found
+jaasRealm.unexpectedError=Unexpected error
+jaasRealm.userPrincipalFailure=No valid user Principal found
+jaasRealm.userPrincipalSuccess=Principal "{0}" is a valid user class. We will use this as the user Principal.
+
 jdbcRealm.authenticateFailure=Username {0} NOT successfully authenticated
 jdbcRealm.authenticateSuccess=Username {0} successfully authenticated
 jdbcRealm.close=Exception closing database connection
@@ -50,11 +66,12 @@ jdbcRealm.getPassword.exception=Exception retrieving password for "{0}"
 jdbcRealm.getRoles.exception=Exception retrieving roles for "{0}"
 jdbcRealm.open=Exception opening database connection
 jdbcRealm.open.invalidurl=Driver "{0}" does not support the url "{1}"
+
 jndiRealm.authenticateFailure=Username {0} NOT successfully authenticated
 jndiRealm.authenticateSuccess=Username {0} successfully authenticated
-jndiRealm.emptyCipherSuites=Empty String for cipher suites given. Using default cipher suites.
 jndiRealm.cipherSuites=Enable [{0}] as cipher suites for tls connection.
 jndiRealm.close=Exception closing directory server connection
+jndiRealm.emptyCipherSuites=Empty String for cipher suites given. Using default cipher suites.
 jndiRealm.exception=Exception performing authentication
 jndiRealm.exception.retry=Exception performing authentication. Retrying...
 jndiRealm.invalidHostnameVerifier="{0}" not a valid class name for a HostnameVerifier
@@ -63,50 +80,38 @@ jndiRealm.invalidSslSocketFactory="{0}" not a valid class name for a SSLSocketFa
 jndiRealm.negotiatedTls=Negotiated tls connection using protocol "{0}"
 jndiRealm.open=Exception opening directory server connection
 jndiRealm.tlsClose=Exception closing tls response
+
+lockOutRealm.authLockedUser=An attempt was made to authenticate the locked user "{0}"
+lockOutRealm.removeWarning=User "{0}" was removed from the failed users cache after {1} seconds to keep the cache size within the limit set
+
 memoryRealm.authenticateFailure=Username {0} NOT successfully authenticated
 memoryRealm.authenticateSuccess=Username {0} successfully authenticated
 memoryRealm.loadExist=Memory database file {0} cannot be read
 memoryRealm.loadPath=Loading users from memory database file {0}
 memoryRealm.readXml=Exception while reading memory database file
 memoryRealm.xmlFeatureEncoding=Exception configuring digester to permit java encoding names in XML files. Only IANA encoding names will be supported.
+
 realmBase.algorithm=Invalid message digest algorithm {0} specified
 realmBase.alreadyStarted=This Realm has already been started
+realmBase.authenticateFailure=Username {0} NOT successfully authenticated
+realmBase.authenticateSuccess=Username {0} successfully authenticated
+realmBase.createUsernameRetriever.ClassCastException=Class {0} is not an X509UsernameRetriever.
+realmBase.createUsernameRetriever.ClassNotFoundException=Cannot find class {0}.
+realmBase.createUsernameRetriever.IllegalAccessException=Cannot create object of type {0}.
+realmBase.createUsernameRetriever.InstantiationException=Cannot create object of type {0}.
 realmBase.delegatedCredentialFail=Unable to obtain delegated credentials for user [{0}]
 realmBase.digest=Error digesting user credentials
 realmBase.forbidden=Access to the requested resource has been denied
+realmBase.gotX509Username=Got user name from X509 certificate: {0}
+realmBase.gssContextNotEstablished=Authenticator implementation error: the passed security context is not fully established
+realmBase.gssNameFail=Failed to extract name from established GSSContext
 realmBase.hasRoleFailure=Username {0} does NOT have role {1}
 realmBase.hasRoleSuccess=Username {0} has role {1}
 realmBase.notAuthenticated=Configuration error:  Cannot perform access control without an authenticated principal
 realmBase.notStarted=This Realm has not yet been started
-realmBase.authenticateFailure=Username {0} NOT successfully authenticated
-realmBase.authenticateSuccess=Username {0} successfully authenticated
-realmBase.gssNameFail=Failed to extract name from established GSSContext
+
 userDatabaseRealm.authenticateError=Login configuration error authenticating username {0}
-realmBase.gotX509Username=Got user name from X509 certificate: {0}
-realmBase.createUsernameRetriever.ClassCastException=Class {0} is not an X509UsernameRetriever.
-realmBase.createUsernameRetriever.ClassNotFoundException=Cannot find class {0}.
-realmBase.createUsernameRetriever.InstantiationException=Cannot create object of type {0}.
-realmBase.createUsernameRetriever.IllegalAccessException=Cannot create object of type {0}.
-realmBase.gssContextNotEstablished=Authenticator implementation error: the passed security context is not fully established
 userDatabaseRealm.lookup=Exception looking up UserDatabase under key {0}
 userDatabaseRealm.noDatabase=No UserDatabase component found under key {0}
 userDatabaseRealm.noEngine=No Engine component found in container hierarchy
 userDatabaseRealm.noGlobal=No global JNDI resources context found
-dataSourceRealm.authenticateFailure=Username {0} NOT successfully authenticated
-dataSourceRealm.authenticateSuccess=Username {0} successfully authenticated
-dataSourceRealm.close=Exception closing database connection
-dataSourceRealm.exception=Exception performing authentication
-dataSourceRealm.getPassword.exception=Exception retrieving password for "{0}"
-dataSourceRealm.getRoles.exception=Exception retrieving roles for "{0}"
-dataSourceRealm.open=Exception opening database connection
-combinedRealm.unexpectedMethod=An unexpected call was made to a method on the combined realm
-combinedRealm.getName=The getName() method should never be called
-combinedRealm.getPassword=The getPassword() method should never be called
-combinedRealm.getPrincipal=The getPrincipal() method should never be called
-combinedRealm.authStart=Attempting to authenticate user "{0}" with realm "{1}"
-combinedRealm.authFail=Failed to authenticate user "{0}" with realm "{1}"
-combinedRealm.authSuccess=Authenticated user "{0}" with realm "{1}"
-combinedRealm.addRealm=Add "{0}" realm, making a total of "{1}" realms
-combinedRealm.realmStartFail=Failed to start "{0}" realm
-lockOutRealm.authLockedUser=An attempt was made to authenticate the locked user "{0}"
-lockOutRealm.removeWarning=User "{0}" was removed from the failed users cache after {1} seconds to keep the cache size within the limit set
diff --git a/java/org/apache/catalina/realm/LocalStrings_es.properties b/java/org/apache/catalina/realm/LocalStrings_es.properties
index 768296c..6720356 100644
--- a/java/org/apache/catalina/realm/LocalStrings_es.properties
+++ b/java/org/apache/catalina/realm/LocalStrings_es.properties
@@ -12,85 +12,92 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-#
-# language es
-# package org.apache.catalina.realm
-jaasRealm.accountExpired = El usuario {0} NO ha sido autentificado porque ha expirado su cuenta
-jaasRealm.authenticateFailure = Nombre de usuario "{0}" NO autenticado con \u00E9xito
-jaasRealm.authenticateSuccess = Nombre de usuario "{0}" autenticado con \u00E9xito como Principal "{1}" -- Tambi\u00E9n se ha creado el Asunto
-jaasRealm.beginLogin = JAASRealm login requerido para nombre de usuario "{0}" usando LoginContext para aplicaci\u00F3n "{1}"
-jaasRealm.credentialExpired = El usuario {0} NO ha sido autentificado porque ha expirado su credencial
-jaasRealm.failedLogin = El usuario {0} NO ha sido autentificado porque ha fallado el login
-jaasRealm.loginException = Excepci\u00F3n de Login autenticando nombre de usuario {0}
-jaasRealm.unexpectedError = Error inesperado
-jaasRealm.loginContextCreated = JAAS LoginContext creado para nombre de usuario "{0}"
-jaasRealm.cachePrincipal = Usuario Principal "{0}" en cach\u00E9; tiene {1} papel de Principal
-jaasRealm.checkPrincipal = Revisando Principal "{0}" [{1}]
-jaasRealm.userPrincipalSuccess = El Principal "{0}" es una clase v\u00E1lida de usuario. La vamos a usar como usuario Principal.
-jaasRealm.userPrincipalFailure = No se ha hallado usuario Principal
-jaasRealm.rolePrincipalAdd = A\u00F1adiend papel Principal "{0}" a los papeles de este usuario Principal
-jaasRealm.rolePrincipalSuccess = hallado {0} papeles de Principal
-jaasRealm.rolePrincipalFailure = No se han hallado papeles de Principal v\u00E1lidos.
-jaasRealm.isInRole.start = Revisando si el usuario Principal "{0}" tiene el papel "{1}"
-jaasRealm.isInRole.noPrincipalOrRole = No se han hallado papeles de Principal. El usuario Principal o el Asunto es nulo o el usuario Principal no est\u00E1 en cach\u00E9
-jaasRealm.isInRole.principalCached = El Usuario Principal tiene {0} papeles de Principal
-jaasRealm.isInRole.possessesRole = El Usuario Principal tiene un papele de Principal llamado "{0}"
-jaasRealm.isInRole.match = Hallado papel de Principal coincidente.
-jaasRealm.isInRole.noMatch = NO hallado papel de Principal coincidente.
-jaasCallback.digestpassword = Resumida contrase\u00F1a "{0}" como "{1}"
-jaasCallback.username = Devuelto nombre de usuario "{0}"
-jaasCallback.password = Devuelta contrase\u00F1a "{0}"
-jdbcRealm.authenticateFailure = El usuario {0} NO ha sido autentificado correctamente
-jdbcRealm.authenticateSuccess = El usuario {0} ha sido autentificado correctamente
-jdbcRealm.close = Excepci\u00F3n al cerrar la conexi\u00F3n a la base de datos
-jdbcRealm.exception = Excepci\u00F3n al realizar la autentificaci\u00F3n
-jdbcRealm.getPassword.exception = Excepci\u00F3n recuperando contrase\u00F1a para "{0}"
-jdbcRealm.getRoles.exception = Excepci\u00F3n recuperando papeles para "{0}"
-jdbcRealm.open = Excepci\u00F3n abriendo la conexi\u00F3n a la base de datos
-jdbcRealm.open.invalidurl = El conductor "{0}" no soporta la url "{1}"
-jndiRealm.authenticateFailure = Autentificaci\u00F3n fallida para el usuario {0}
-jndiRealm.authenticateSuccess = Autentificaci\u00F3n correcta para el usuario {0}
-jndiRealm.close = Excepci\u00F3n al cerrar la conexi\u00F3n al servidor de directorio
-jndiRealm.exception = Excepci\u00F3n al realizar la autentificaci\u00F3n
-jndiRealm.open = Excepci\u00F3n al abrir la conexi\u00F3n al servidor de directorio
-memoryRealm.authenticateFailure = Autentificaci\u00F3n fallida para el usuario {0}
-memoryRealm.authenticateSuccess = Autentificaci\u00F3n correcta para el usuario {0}
-memoryRealm.loadExist = El fichero de usuarios {0} no ha podido ser le\u00EDdo
-memoryRealm.loadPath = Cargando los usuarios desde el fichero {0}
-memoryRealm.readXml = Excepci\u00F3n mientras se le\u00EDa el fichero de usuarios
-memoryRealm.xmlFeatureEncoding = Excepci\u00F3n al configurar resumidor para permitir nombres con codificaci\u00F3n java en ficheros XML. S\u00F3llo se soportan nombres con codificaci\u00F3n IANA.
-realmBase.algorithm = El algoritmo resumen (digest) {0} es inv\u00E1lido
-realmBase.alreadyStarted = Este dominio ya ha sido inicializado
-realmBase.delegatedCredentialFail = No pude obtener credenciales de delegado para el usuario [{0}]
-realmBase.digest = Error procesando las credenciales del usuario
-realmBase.forbidden = El acceso al recurso pedido ha sido denegado
-realmBase.hasRoleFailure = El usuario {0} NO desempe\u00F1a el papel de {1}
-realmBase.hasRoleSuccess = El usuario {0} desempe\u00F1a el papel de {1}
-realmBase.notAuthenticated = Error de Configuraci\u00F3n\: No se pueden realizar funciones de control de acceso sin un principal autentificado
-realmBase.notStarted = Este dominio a\u00FAn no ha sido inicializado
-realmBase.authenticateFailure = Nombre de usuario {0} NO autenticado con \u00E9xito
-realmBase.authenticateSuccess = Nombre de usuario {0} autenticado con \u00E9xito
-realmBase.gssNameFail = No pude extraer el nombre desde el GSSContext establecido
-userDatabaseRealm.authenticateError = Error de configuraci\u00F3n de Login autenticando nombre de usuario {0}
-userDatabaseRealm.lookup = Excepci\u00F3n buscando en Base de datos de Usuario mediante la clave {0}
-userDatabaseRealm.noDatabase = No se ha hallado componente de Base de datos de Usuario mediante la clave {0}
-userDatabaseRealm.noEngine = No se ha hallado componente de Motor en jerarqu\u00EDa de contenedor
-userDatabaseRealm.noGlobal = No se ha hallado contexto de recursos globales JNDI
-dataSourceRealm.authenticateFailure = Nombre de usuario {0} NO autenticado con \u00E9xito
-dataSourceRealm.authenticateSuccess = Nombre de usuario {0} autenticado con \u00E9xito
-dataSourceRealm.close = Excepci\u00F3n cerrando conexi\u00F3n a base de datos
-dataSourceRealm.exception = Excepci\u00F3n realizando autenticaci\u00F3n
-dataSourceRealm.getPassword.exception = Excepci\u00F3n recuperando contrase\u00F1a para "{0}"
-dataSourceRealm.getRoles.exception = Excepci\u00F3n recuperando papeles para "{0}"
-dataSourceRealm.open = Excepci\u00F3n abriendo conexi\u00F3n a base de datos
-combinedRealm.unexpectedMethod = Una llamada inesperada se realiz\u00F3 a un m\u00E9todo del reino combinado
-combinedRealm.getName = No se deber\u00EDa de llamar nunca al m\u00E9todo getName()
-combinedRealm.getPassword = No se deber\u00EDa de llamar nunca al m\u00E9todo getPassword()
-combinedRealm.getPrincipal = No se deber\u00EDa de llamar nunca al m\u00E9todo getPrincipal()
-combinedRealm.authStart = Intentando autentica al usuario "{0}" con el reino "{1}"
-combinedRealm.authFail = No pude autenticar al usuario "{0}" con el reino "{1}"
-combinedRealm.authSuccess = Usuario autenticado "{0}" con reino "{1}"
-combinedRealm.addRealm = A\u00F1adir reino "{0}", totalizando "{1}" reinos
-combinedRealm.realmStartFail = No pude arrancar reino "{0}"
-lockOutRealm.authLockedUser = Se ha intentado autentica al usuario bloqueado "{0}"
-lockOutRealm.removeWarning = Se ha quitado al usuario "{0}" de la cach\u00E9 de usuarios fallidos tras {1} secgundos para mantener la medida de cach\u00E9 dentro de los l\u00EDmites
+
+combinedRealm.addRealm=Añadir reino "{0}", totalizando "{1}" reinos
+combinedRealm.authFail=No pude autenticar al usuario "{0}" con el reino "{1}"
+combinedRealm.authStart=Intentando autentica al usuario "{0}" con el reino "{1}"
+combinedRealm.authSuccess=Usuario autenticado "{0}" con reino "{1}"
+combinedRealm.getName=No se debería de llamar nunca al método getName()
+combinedRealm.getPassword=No se debería de llamar nunca al método getPassword()
+combinedRealm.getPrincipal=No se debería de llamar nunca al método getPrincipal()
+combinedRealm.realmStartFail=No pude arrancar reino "{0}"
+combinedRealm.unexpectedMethod=Una llamada inesperada se realizó a un método del reino combinado
+
+dataSourceRealm.authenticateFailure=Nombre de usuario {0} NO autenticado con éxito
+dataSourceRealm.authenticateSuccess=Nombre de usuario {0} autenticado con éxito
+dataSourceRealm.close=Excepción cerrando conexión a base de datos
+dataSourceRealm.exception=Excepción realizando autenticación
+dataSourceRealm.getPassword.exception=Excepción recuperando contraseña para "{0}"
+dataSourceRealm.getRoles.exception=Excepción recuperando papeles para "{0}"
+dataSourceRealm.open=Excepción abriendo conexión a base de datos
+
+jaasCallback.digestpassword=Resumida contraseña "{0}" como "{1}"
+jaasCallback.password=Devuelta contraseña "{0}"
+jaasCallback.username=Devuelto nombre de usuario "{0}"
+
+jaasRealm.accountExpired=El usuario {0} NO ha sido autentificado porque ha expirado su cuenta
+jaasRealm.authenticateFailure=Nombre de usuario "{0}" NO autenticado con éxito
+jaasRealm.authenticateSuccess=Nombre de usuario "{0}" autenticado con éxito como Principal "{1}" -- También se ha creado el Asunto
+jaasRealm.beginLogin=JAASRealm login requerido para nombre de usuario "{0}" usando LoginContext para aplicación "{1}"
+jaasRealm.cachePrincipal=Usuario Principal "{0}" en caché; tiene {1} papel de Principal
+jaasRealm.checkPrincipal=Revisando Principal "{0}" [{1}]
+jaasRealm.credentialExpired=El usuario {0} NO ha sido autentificado porque ha expirado su credencial
+jaasRealm.failedLogin=El usuario {0} NO ha sido autentificado porque ha fallado el login
+jaasRealm.isInRole.match=Hallado papel de Principal coincidente.
+jaasRealm.isInRole.noMatch=NO hallado papel de Principal coincidente.
+jaasRealm.isInRole.noPrincipalOrRole=No se han hallado papeles de Principal. El usuario Principal o el Asunto es nulo o el usuario Principal no está en caché
+jaasRealm.isInRole.possessesRole=El Usuario Principal tiene un papele de Principal llamado "{0}"
+jaasRealm.isInRole.principalCached=El Usuario Principal tiene {0} papeles de Principal
+jaasRealm.isInRole.start=Revisando si el usuario Principal "{0}" tiene el papel "{1}"
+jaasRealm.loginContextCreated=JAAS LoginContext creado para nombre de usuario "{0}"
+jaasRealm.loginException=Excepción de Login autenticando nombre de usuario {0}
+jaasRealm.rolePrincipalAdd=Añadiend papel Principal "{0}" a los papeles de este usuario Principal
+jaasRealm.rolePrincipalFailure=No se han hallado papeles de Principal válidos.
+jaasRealm.rolePrincipalSuccess=hallado {0} papeles de Principal
+jaasRealm.unexpectedError=Error inesperado
+jaasRealm.userPrincipalFailure=No se ha hallado usuario Principal
+jaasRealm.userPrincipalSuccess=El Principal "{0}" es una clase válida de usuario. La vamos a usar como usuario Principal.
+
+jdbcRealm.authenticateFailure=El usuario {0} NO ha sido autentificado correctamente
+jdbcRealm.authenticateSuccess=El usuario {0} ha sido autentificado correctamente
+jdbcRealm.close=Excepción al cerrar la conexión a la base de datos
+jdbcRealm.exception=Excepción al realizar la autentificación
+jdbcRealm.getPassword.exception=Excepción recuperando contraseña para "{0}"
+jdbcRealm.getRoles.exception=Excepción recuperando papeles para "{0}"
+jdbcRealm.open=Excepción abriendo la conexión a la base de datos
+jdbcRealm.open.invalidurl=El conductor "{0}" no soporta la url "{1}"
+
+jndiRealm.authenticateFailure=Autentificación fallida para el usuario {0}
+jndiRealm.authenticateSuccess=Autentificación correcta para el usuario {0}
+jndiRealm.close=Excepción al cerrar la conexión al servidor de directorio
+jndiRealm.exception=Excepción al realizar la autentificación
+jndiRealm.open=Excepción al abrir la conexión al servidor de directorio
+
+lockOutRealm.authLockedUser=Se ha intentado autentica al usuario bloqueado "{0}"
+lockOutRealm.removeWarning=Se ha quitado al usuario "{0}" de la caché de usuarios fallidos tras {1} secgundos para mantener la medida de caché dentro de los límites
+
+memoryRealm.authenticateFailure=Autentificación fallida para el usuario {0}
+memoryRealm.authenticateSuccess=Autentificación correcta para el usuario {0}
+memoryRealm.loadExist=El fichero de usuarios {0} no ha podido ser leído
+memoryRealm.loadPath=Cargando los usuarios desde el fichero {0}
+memoryRealm.readXml=Excepción mientras se leía el fichero de usuarios
+memoryRealm.xmlFeatureEncoding=Excepción al configurar resumidor para permitir nombres con codificación java en ficheros XML. Sóllo se soportan nombres con codificación IANA.
+
+realmBase.algorithm=El algoritmo resumen (digest) {0} es inválido
+realmBase.alreadyStarted=Este dominio ya ha sido inicializado
+realmBase.authenticateFailure=Nombre de usuario {0} NO autenticado con éxito
+realmBase.authenticateSuccess=Nombre de usuario {0} autenticado con éxito
+realmBase.delegatedCredentialFail=No pude obtener credenciales de delegado para el usuario [{0}]
+realmBase.digest=Error procesando las credenciales del usuario
+realmBase.forbidden=El acceso al recurso pedido ha sido denegado
+realmBase.gssNameFail=No pude extraer el nombre desde el GSSContext establecido
+realmBase.hasRoleFailure=El usuario {0} NO desempeña el papel de {1}
+realmBase.hasRoleSuccess=El usuario {0} desempeña el papel de {1}
+realmBase.notAuthenticated=Error de Configuración: No se pueden realizar funciones de control de acceso sin un principal autentificado
+realmBase.notStarted=Este dominio aún no ha sido inicializado
+
+userDatabaseRealm.authenticateError=Error de configuración de Login autenticando nombre de usuario {0}
+userDatabaseRealm.lookup=Excepción buscando en Base de datos de Usuario mediante la clave {0}
+userDatabaseRealm.noDatabase=No se ha hallado componente de Base de datos de Usuario mediante la clave {0}
+userDatabaseRealm.noEngine=No se ha hallado componente de Motor en jerarquía de contenedor
+userDatabaseRealm.noGlobal=No se ha hallado contexto de recursos globales JNDI
diff --git a/java/org/apache/catalina/realm/LocalStrings_fr.properties b/java/org/apache/catalina/realm/LocalStrings_fr.properties
index f2c967c..aac571f 100644
--- a/java/org/apache/catalina/realm/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/realm/LocalStrings_fr.properties
@@ -13,42 +13,43 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# language
-
-# package org.apache.catalina.realm
-
-jaasRealm.accountExpired=le nom d''utilisateur {0} N''A PAS \u00e9t\u00e9 authentifi\u00e9 car le compte a expir\u00e9
-jaasRealm.authenticateSuccess=le nom d''utilisateur {0} a \u00e9t\u00e9 authentifi\u00e9 avec succ\u00e8s
-jaasRealm.credentialExpired=le nom d''utilisateur {0} N''A PAS \u00e9t\u00e9 authentifi\u00e9 car son cr\u00e9dit a expir\u00e9 (expired credential)
-jaasRealm.failedLogin=le nom d''utilisateur {0} N''A PAS \u00e9t\u00e9 authentifi\u00e9 car son contr\u00f4le d''acc\u00e8s (login) a \u00e9chou\u00e9
+jaasRealm.accountExpired=le nom d''utilisateur {0} N''A PAS été authentifié car le compte a expiré
+jaasRealm.authenticateSuccess=le nom d''utilisateur {0} a été authentifié avec succès
+jaasRealm.credentialExpired=le nom d''utilisateur {0} N''A PAS été authentifié car son crédit a expiré (expired credential)
+jaasRealm.failedLogin=le nom d''utilisateur {0} N''A PAS été authentifié car son contrôle d''accès (login) a échoué
 jaasRealm.loginException=Exception lors de l''authentification par login du nom d''utilisateur {0}
-jdbcRealm.authenticateFailure=le nom d''utilisateur {0} N''A PAS \u00e9t\u00e9 authentifi\u00e9
-jdbcRealm.authenticateSuccess=le nom d''utilisateur {0} a \u00e9t\u00e9 authentifi\u00e9 avec succ\u00e8s
-jdbcRealm.close=Exception lors de la fermeture de la connexion \u00e0 la base de donn\u00e9es
+
+jdbcRealm.authenticateFailure=le nom d''utilisateur {0} N''A PAS été authentifié
+jdbcRealm.authenticateSuccess=le nom d''utilisateur {0} a été authentifié avec succès
+jdbcRealm.close=Exception lors de la fermeture de la connexion à la base de données
 jdbcRealm.exception=Exception pendant le traitement de l''authentification
-jdbcRealm.open=Exception lors de l''ouverture de la base de donn\u00e9es
-jndiRealm.authenticateFailure=Le nom d''utilisateur {0} N''A PAS \u00e9t\u00e9 authentifi\u00e9
-jndiRealm.authenticateSuccess=Le nom d''utilisateur {0} a \u00e9t\u00e9 authentifi\u00e9 avec succ\u00e8s
-jndiRealm.close=Exception lors de la fermeture de la connexion au serveur d''acc\u00e8s (directory server)
+jdbcRealm.open=Exception lors de l''ouverture de la base de données
+
+jndiRealm.authenticateFailure=Le nom d''utilisateur {0} N''A PAS été authentifié
+jndiRealm.authenticateSuccess=Le nom d''utilisateur {0} a été authentifié avec succès
+jndiRealm.close=Exception lors de la fermeture de la connexion au serveur d''accès (directory server)
 jndiRealm.exception=Exception pendant le traitement de l''authentification
-jndiRealm.open=Exception lors de l''ouverture de la connexion au serveur d''acc\u00e8s (directory server)
-memoryRealm.authenticateFailure=le nom d''utilisateur {0} N''A PAS \u00e9t\u00e9 authentifi\u00e9
-memoryRealm.authenticateSuccess=le nom d''utilisateur {0} a \u00e9t\u00e9 authentifi\u00e9 avec succ\u00e8s
-memoryRealm.loadExist=Le fichier base de donn\u00e9es m\u00e9moire (memory database) {0} ne peut \u00eatre lu
-memoryRealm.loadPath=Chargement des utilisateurs depuis le fichier base de donn\u00e9es m\u00e9moire (memory database) {0}
-memoryRealm.readXml=Exception lors de la lecture du fichier base de donn\u00e9es m\u00e9moire (memory database)
-realmBase.algorithm=L''algorithme d''empreinte de message (message digest) {0} indiqu\u00e9 est invalide
-realmBase.alreadyStarted=Ce royaume (Realm) a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9marr\u00e9
-realmBase.digest=Erreur lors du traitement des empreintes (digest) des cr\u00e9dits utilisateur (user credentials)
-realmBase.forbidden=L''acc\u00e8s \u00e0 la ressource demand\u00e9e a \u00e9t\u00e9 interdit
-realmBase.hasRoleFailure=Le nom d''utilisateur {0} N''A PAS de r\u00f4le {1}
-realmBase.hasRoleSuccess=Le nom d''utilisateur {0} a pour r\u00f4le {1}
-realmBase.notAuthenticated=Erreur de configuration:  Impossible de conduire un contr\u00f4le d''acc\u00e8s sans un principal authentifi\u00e9 (authenticated principal)
-realmBase.notStarted=Ce royaume (Realm) n''a pas encore \u00e9t\u00e9 d\u00e9marr\u00e9
-realmBase.authenticateFailure=Le nom d''utilisateur {0} N''A PAS \u00e9t\u00e9 authentifi\u00e9
-realmBase.authenticateSuccess=Le nom d''utilisateur {0} a \u00e9t\u00e9 authentifi\u00e9 avec succ\u00e8s
-userDatabaseRealm.authenticateError=Erreur de configuration du contr\u00f4le d''acc\u00e8s (login) lors de l''authentification du nom d''utilisateur {0}
-userDatabaseRealm.lookup=Exception lors de la recherche dans la base de donn\u00e9es utilisateurs avec la cl\u00e9 {0}
-userDatabaseRealm.noDatabase=Aucun composant base de donn\u00e9es utilisateurs trouv\u00e9 pour la cl\u00e9 {0}
-userDatabaseRealm.noEngine=Aucun composant moteur (engine component) trouv\u00e9 dans la hi\u00e9rarchie des conteneurs
-userDatabaseRealm.noGlobal=Aucune ressource globale JNDI trouv\u00e9e
+jndiRealm.open=Exception lors de l''ouverture de la connexion au serveur d''accès (directory server)
+
+memoryRealm.authenticateFailure=le nom d''utilisateur {0} N''A PAS été authentifié
+memoryRealm.authenticateSuccess=le nom d''utilisateur {0} a été authentifié avec succès
+memoryRealm.loadExist=Le fichier base de données mémoire (memory database) {0} ne peut être lu
+memoryRealm.loadPath=Chargement des utilisateurs depuis le fichier base de données mémoire (memory database) {0}
+memoryRealm.readXml=Exception lors de la lecture du fichier base de données mémoire (memory database)
+
+realmBase.algorithm=L''algorithme d''empreinte de message (message digest) {0} indiqué est invalide
+realmBase.alreadyStarted=Ce royaume (Realm) a déjà été démarré
+realmBase.authenticateFailure=Le nom d''utilisateur {0} N''A PAS été authentifié
+realmBase.authenticateSuccess=Le nom d''utilisateur {0} a été authentifié avec succès
+realmBase.digest=Erreur lors du traitement des empreintes (digest) des crédits utilisateur (user credentials)
+realmBase.forbidden=L''accès à la ressource demandée a été interdit
+realmBase.hasRoleFailure=Le nom d''utilisateur {0} N''A PAS de rôle {1}
+realmBase.hasRoleSuccess=Le nom d''utilisateur {0} a pour rôle {1}
+realmBase.notAuthenticated=Erreur de configuration:  Impossible de conduire un contrôle d''accès sans un principal authentifié (authenticated principal)
+realmBase.notStarted=Ce royaume (Realm) n''a pas encore été démarré
+
+userDatabaseRealm.authenticateError=Erreur de configuration du contrôle d''accès (login) lors de l''authentification du nom d''utilisateur {0}
+userDatabaseRealm.lookup=Exception lors de la recherche dans la base de données utilisateurs avec la clé {0}
+userDatabaseRealm.noDatabase=Aucun composant base de données utilisateurs trouvé pour la clé {0}
+userDatabaseRealm.noEngine=Aucun composant moteur (engine component) trouvé dans la hiérarchie des conteneurs
+userDatabaseRealm.noGlobal=Aucune ressource globale JNDI trouvée
diff --git a/java/org/apache/catalina/realm/LocalStrings_ja.properties b/java/org/apache/catalina/realm/LocalStrings_ja.properties
index 71d60dc..bb64884 100644
--- a/java/org/apache/catalina/realm/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/realm/LocalStrings_ja.properties
@@ -13,48 +13,50 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# language ja
+dataSourceRealm.authenticateFailure=ユーザ名 {0} は認証に失敗しました
+dataSourceRealm.authenticateSuccess=ユーザ名 {0} は認証に成功しました
+dataSourceRealm.close=データベース接続をクローズ中の例外です
+dataSourceRealm.exception=認証を実行中の例外です
+dataSourceRealm.open=データベース接続をオープン中の例外です
 
-# package org.apache.catalina.realm
+jaasRealm.accountExpired=ユーザ名 {0} はアカウントの期限が切れているために認証されません
+jaasRealm.authenticateSuccess=ユーザ名 {0} は認証に成功しました
+jaasRealm.credentialExpired=ユーザ名 {0} は証明書の期限が切れたために認証されません
+jaasRealm.failedLogin=ユーザ名 {0} はログインに失敗したために認証されませんでした
+jaasRealm.loginException=ユーザ名 {0} の認証中にログイン例外が発生しました
+jaasRealm.unexpectedError=予測しないエラーです
 
-jaasRealm.accountExpired=\u30e6\u30fc\u30b6\u540d {0} \u306f\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u671f\u9650\u304c\u5207\u308c\u3066\u3044\u308b\u305f\u3081\u306b\u8a8d\u8a3c\u3055\u308c\u307e\u305b\u3093
-jaasRealm.authenticateSuccess=\u30e6\u30fc\u30b6\u540d {0} \u306f\u8a8d\u8a3c\u306b\u6210\u529f\u3057\u307e\u3057\u305f
-jaasRealm.credentialExpired=\u30e6\u30fc\u30b6\u540d {0} \u306f\u8a3c\u660e\u66f8\u306e\u671f\u9650\u304c\u5207\u308c\u305f\u305f\u3081\u306b\u8a8d\u8a3c\u3055\u308c\u307e\u305b\u3093
-jaasRealm.failedLogin=\u30e6\u30fc\u30b6\u540d {0} \u306f\u30ed\u30b0\u30a4\u30f3\u306b\u5931\u6557\u3057\u305f\u305f\u3081\u306b\u8a8d\u8a3c\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f
-jaasRealm.loginException=\u30e6\u30fc\u30b6\u540d {0} \u306e\u8a8d\u8a3c\u4e2d\u306b\u30ed\u30b0\u30a4\u30f3\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-jaasRealm.unexpectedError=\u4e88\u6e2c\u3057\u306a\u3044\u30a8\u30e9\u30fc\u3067\u3059
-jdbcRealm.authenticateFailure=\u30e6\u30fc\u30b6\u540d {0} \u306f\u8a8d\u8a3c\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-jdbcRealm.authenticateSuccess=\u30e6\u30fc\u30b6\u540d {0} \u306f\u8a8d\u8a3c\u306b\u6210\u529f\u3057\u307e\u3057\u305f
-jdbcRealm.close=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u30af\u30ed\u30fc\u30ba\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-jdbcRealm.exception=\u8a8d\u8a3c\u5b9f\u884c\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-jdbcRealm.open=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u30aa\u30fc\u30d7\u30f3\u4e2d\u306b\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-jndiRealm.authenticateFailure=\u30e6\u30fc\u30b6\u540d {0} \u306f\u8a8d\u8a3c\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-jndiRealm.authenticateSuccess=\u30e6\u30fc\u30b6\u540d {0} \u306f\u8a8d\u8a3c\u306b\u6210\u529f\u3057\u307e\u3057\u305f
-jndiRealm.close=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u63a5\u7d9a\u30af\u30ed\u30fc\u30ba\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-jndiRealm.exception=\u8a8d\u8a3c\u5b9f\u884c\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-jndiRealm.open=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u63a5\u7d9a\u30aa\u30fc\u30d7\u30f3\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-memoryRealm.authenticateFailure=\u30e6\u30fc\u30b6\u540d {0} \u306f\u8a8d\u8a3c\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-memoryRealm.authenticateSuccess=\u30e6\u30fc\u30b6\u540d {0} \u306f\u8a8d\u8a3c\u306b\u6210\u529f\u3057\u307e\u3057\u305f
-memoryRealm.loadExist=\u30e1\u30e2\u30ea\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u3092\u8aad\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093
-memoryRealm.loadPath=\u30e1\u30e2\u30ea\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb {0} \u304b\u3089\u30e6\u30fc\u30b6\u3092\u30ed\u30fc\u30c9\u3057\u307e\u3059
-memoryRealm.readXml=\u30e1\u30e2\u30ea\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-realmBase.algorithm=\u7121\u52b9\u306a\u30e1\u30c3\u30bb\u30fc\u30b8\u30c0\u30a4\u30b8\u30a7\u30b9\u30c8\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0 {0} \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059
-realmBase.alreadyStarted=\u3053\u306e\u30ec\u30eb\u30e0\u306f\u65e2\u306b\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059
-realmBase.digest=\u30e6\u30fc\u30b6\u306e\u8a3c\u660e\u66f8\u306e\u30c0\u30a4\u30b8\u30a7\u30b9\u30c8\u30a8\u30e9\u30fc
-realmBase.forbidden=\u8981\u6c42\u3055\u308c\u305f\u30ea\u30bd\u30fc\u30b9\u3078\u306e\u30a2\u30af\u30bb\u30b9\u304c\u62d2\u5426\u3055\u308c\u307e\u3057\u305f
-realmBase.hasRoleFailure=\u30e6\u30fc\u30b6\u540d {0} \u306f\u30ed\u30fc\u30eb {1} \u3092\u6301\u3063\u3066\u3044\u307e\u305b\u3093
-realmBase.hasRoleSuccess=\u30e6\u30fc\u30b6\u540d {0} \u306f\u30ed\u30fc\u30eb {1} \u3092\u6301\u3063\u3066\u3044\u307e\u3059
-realmBase.notAuthenticated=\u8a2d\u5b9a\u30a8\u30e9\u30fc:  \u8a8d\u8a3c\u3055\u308c\u305f\u4e3b\u4f53\u306a\u3057\u3067\u306f\u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u304c\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093
-realmBase.notStarted=\u3053\u306e\u30ec\u30eb\u30e0\u306f\u307e\u3060\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-realmBase.authenticateFailure=\u30e6\u30fc\u30b6\u540d {0} \u306f\u8a8d\u8a3c\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-realmBase.authenticateSuccess=\u30e6\u30fc\u30b6\u540d {0} \u306f\u8a8d\u8a3c\u306b\u6210\u529f\u3057\u307e\u3057\u305f
-userDatabaseRealm.authenticateError=\u30e6\u30fc\u30b6\u540d {0} \u3092\u8a8d\u8a3c\u4e2d\u306b\u30ed\u30b0\u30a4\u30f3\u8a2d\u5b9a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-userDatabaseRealm.lookup=\u30ad\u30fc {0} \u3067\u30e6\u30fc\u30b6\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u691c\u7d22\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-userDatabaseRealm.noDatabase=\u30ad\u30fc {0} \u3067\u30e6\u30fc\u30b6\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
-userDatabaseRealm.noEngine=\u30b3\u30f3\u30c6\u30ca\u968e\u5c64\u4e2d\u306b\u30a8\u30f3\u30b8\u30f3\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
-userDatabaseRealm.noGlobal=\u30b0\u30ed\u30fc\u30d0\u30eb\u306aJNDI\u30ea\u30bd\u30fc\u30b9\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
-dataSourceRealm.authenticateFailure=\u30e6\u30fc\u30b6\u540d {0} \u306f\u8a8d\u8a3c\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-dataSourceRealm.authenticateSuccess=\u30e6\u30fc\u30b6\u540d {0} \u306f\u8a8d\u8a3c\u306b\u6210\u529f\u3057\u307e\u3057\u305f
-dataSourceRealm.close=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u3092\u30af\u30ed\u30fc\u30ba\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-dataSourceRealm.exception=\u8a8d\u8a3c\u3092\u5b9f\u884c\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-dataSourceRealm.open=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u3092\u30aa\u30fc\u30d7\u30f3\u4e2d\u306e\u4f8b\u5916\u3067\u3059
+jdbcRealm.authenticateFailure=ユーザ名 {0} は認証に失敗しました
+jdbcRealm.authenticateSuccess=ユーザ名 {0} は認証に成功しました
+jdbcRealm.close=データベース接続クローズ中の例外です
+jdbcRealm.exception=認証実行中の例外です
+jdbcRealm.open=データベース接続オープン中に例外が発生しました
+
+jndiRealm.authenticateFailure=ユーザ名 {0} は認証に失敗しました
+jndiRealm.authenticateSuccess=ユーザ名 {0} は認証に成功しました
+jndiRealm.close=ディレクトリサーバ接続クローズ中の例外です
+jndiRealm.exception=認証実行中の例外です
+jndiRealm.open=ディレクトリサーバ接続オープン中の例外です
+
+memoryRealm.authenticateFailure=ユーザ名 {0} は認証に失敗しました
+memoryRealm.authenticateSuccess=ユーザ名 {0} は認証に成功しました
+memoryRealm.loadExist=メモリデータベースファイル {0} を読むことができません
+memoryRealm.loadPath=メモリデータベースファイル {0} からユーザをロードします
+memoryRealm.readXml=メモリデータベースファイルを読み込み中の例外です
+
+realmBase.algorithm=無効なメッセージダイジェストアルゴリズム {0} が指定されています
+realmBase.alreadyStarted=このレルムは既に起動されています
+realmBase.authenticateFailure=ユーザ名 {0} は認証に失敗しました
+realmBase.authenticateSuccess=ユーザ名 {0} は認証に成功しました
+realmBase.digest=ユーザの証明書のダイジェストエラー
+realmBase.forbidden=要求されたリソースへのアクセスが拒否されました
+realmBase.hasRoleFailure=ユーザ名 {0} はロール {1} を持っていません
+realmBase.hasRoleSuccess=ユーザ名 {0} はロール {1} を持っています
+realmBase.notAuthenticated=設定エラー:  認証された主体なしではアクセス制御が実行できません
+realmBase.notStarted=このレルムはまだ起動されていません
+
+userDatabaseRealm.authenticateError=ユーザ名 {0} を認証中にログイン設定エラーが発生しました
+userDatabaseRealm.lookup=キー {0} でユーザデータベースを検索中の例外です
+userDatabaseRealm.noDatabase=キー {0} でユーザデータベースコンポーネントが見つかりません
+userDatabaseRealm.noEngine=コンテナ階層中にエンジンコンポーネントが見つかりません
+userDatabaseRealm.noGlobal=グローバルなJNDIリソースコンテキストが見つかりません
diff --git a/java/org/apache/catalina/security/LocalStrings.properties b/java/org/apache/catalina/security/LocalStrings.properties
index a8439bf..b97a018 100644
--- a/java/org/apache/catalina/security/LocalStrings.properties
+++ b/java/org/apache/catalina/security/LocalStrings.properties
@@ -13,9 +13,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-SecurityUtil.doAsPrivilege=An exception occurs when running the PrivilegedExceptionAction block.
 SecurityListener.checkUmaskFail=Start attempted with umask setting of [{0}]. Running Tomcat without a umask at least as restrictive as [{1}] has been blocked by the Lifecycle listener org.apache.catalina.security.SecurityListener (usually configured in CATALINA_BASE/conf/server.xml)
 SecurityListener.checkUmaskNone=No umask setting was found in system property [{0}]. However, it appears Tomcat is running on a platform that supports umask. The system property is typically set in CATALINA_HOME/bin/catalina.sh. The Lifecycle listener org.apache.catalina.security.SecurityListener (usually configured in CATALINA_BASE/conf/server.xml) expects a umask at least as restrictive as [{1}]
 SecurityListener.checkUmaskParseFail=Failed to parse value [{0}] as a valid umask.
 SecurityListener.checkUmaskSkip=Unable to determine umask. It appears Tomcat is running on Windows so skip the umask check.
-SecurityListener.checkUserWarning=Start attempted while running as user [{0}]. Running Tomcat as this user has been blocked by the Lifecycle listener org.apache.catalina.security.SecurityListener (usually configured in CATALINA_BASE/conf/server.xml)
\ No newline at end of file
+SecurityListener.checkUserWarning=Start attempted while running as user [{0}]. Running Tomcat as this user has been blocked by the Lifecycle listener org.apache.catalina.security.SecurityListener (usually configured in CATALINA_BASE/conf/server.xml)
+
+SecurityUtil.doAsPrivilege=An exception occurs when running the PrivilegedExceptionAction block.
diff --git a/java/org/apache/catalina/security/LocalStrings_es.properties b/java/org/apache/catalina/security/LocalStrings_es.properties
index 39a79c6..a3f2be9 100644
--- a/java/org/apache/catalina/security/LocalStrings_es.properties
+++ b/java/org/apache/catalina/security/LocalStrings_es.properties
@@ -13,9 +13,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-SecurityUtil.doAsPrivilege = Ha tenido lugar una excepci\u00F3n al ejecutar el bloque PrivilegedExceptionAction.
-SecurityListener.checkUmaskFail = Intentado arranque con valor de umask de [{0}]. Ejecutando Tomcat sin umask al menos tan restrictivo como [{1}] ha sido bloqueado por el oyente de Ciclo de Vida  org.apache.catalina.security.SecurityListener (normalmente configurado en  CATALINA_BASE/conf/server.xml)
-SecurityListener.checkUmaskNone = No se ha hallado valor de umask en propiedad de sistema [{0}]. Si embargo, parece que Tomcat est\u00E1 siendo ejecutado en una plataforma que soporta umask. La propiedad del sistema se pone normalmente en CATALINA_HOME/bin/catalina.sh. El oyente de Ciclo de Vida org.apache.catalina.security.SecurityListener (normalmente configurado en CATALINA_BASE/conf/server.xml) espera un umask al menos tan restrictivo como [{1}]
-SecurityListener.checkUmaskParseFail = No pude anallizar el valor [{0}] como in v\u00E1lido umask.
-SecurityListener.checkUmaskSkip = No pude determinar umask. Parece que Tomcat se est\u00E1 ejecutando en Windows, por lo que se salta el chequeo de umsak.
-SecurityListener.checkUserWarning = Se ha intentado arrancar mientras se ejecutaba como usuario [{0}]. Ejecutando Tomcat como este usuario user ha sido bloqueado por el oyente de Ciclos de Vida org.apache.catalina.security.SecurityListener (normalmente configurado en  CATALINA_BASE/conf/server.xml)
+SecurityListener.checkUmaskFail=Intentado arranque con valor de umask de [{0}]. Ejecutando Tomcat sin umask al menos tan restrictivo como [{1}] ha sido bloqueado por el oyente de Ciclo de Vida  org.apache.catalina.security.SecurityListener (normalmente configurado en  CATALINA_BASE/conf/server.xml)
+SecurityListener.checkUmaskNone=No se ha hallado valor de umask en propiedad de sistema [{0}]. Si embargo, parece que Tomcat está siendo ejecutado en una plataforma que soporta umask. La propiedad del sistema se pone normalmente en CATALINA_HOME/bin/catalina.sh. El oyente de Ciclo de Vida org.apache.catalina.security.SecurityListener (normalmente configurado en CATALINA_BASE/conf/server.xml) espera un umask al menos tan restrictivo como [{1}]
+SecurityListener.checkUmaskParseFail=No pude anallizar el valor [{0}] como in válido umask.
+SecurityListener.checkUmaskSkip=No pude determinar umask. Parece que Tomcat se está ejecutando en Windows, por lo que se salta el chequeo de umsak.
+SecurityListener.checkUserWarning=Se ha intentado arrancar mientras se ejecutaba como usuario [{0}]. Ejecutando Tomcat como este usuario user ha sido bloqueado por el oyente de Ciclos de Vida org.apache.catalina.security.SecurityListener (normalmente configurado en  CATALINA_BASE/conf/server.xml)
+
+SecurityUtil.doAsPrivilege=Ha tenido lugar una excepción al ejecutar el bloque PrivilegedExceptionAction.
diff --git a/java/org/apache/catalina/security/LocalStrings_fr.properties b/java/org/apache/catalina/security/LocalStrings_fr.properties
index fe6388e..4effd99 100644
--- a/java/org/apache/catalina/security/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/security/LocalStrings_fr.properties
@@ -13,5 +13,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-SecurityUtil.doAsPrivilege=Une exception s''est produite lors de l''ex\u00e9cution du bloc "PrivilegedExceptionAction".
-
+SecurityUtil.doAsPrivilege=Une exception s''est produite lors de l''exécution du bloc "PrivilegedExceptionAction".
diff --git a/java/org/apache/catalina/security/LocalStrings_ja.properties b/java/org/apache/catalina/security/LocalStrings_ja.properties
index 34fd2ba..5a11680 100644
--- a/java/org/apache/catalina/security/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/security/LocalStrings_ja.properties
@@ -13,5 +13,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-SecurityUtil.doAsPrivilege=PrivilegedExceptionAction\u30d6\u30ed\u30c3\u30af\u3092\u5b9f\u884c\u4e2d\u306b\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-
+SecurityUtil.doAsPrivilege=PrivilegedExceptionActionブロックを実行中に例外が発生しました。
diff --git a/java/org/apache/catalina/servlets/LocalStrings.properties b/java/org/apache/catalina/servlets/LocalStrings.properties
index 35381f2..6b63a40 100644
--- a/java/org/apache/catalina/servlets/LocalStrings.properties
+++ b/java/org/apache/catalina/servlets/LocalStrings.properties
@@ -35,17 +35,18 @@ cgiServlet.runReaderInterrupt=Interrupted waiting for stderr reader thread
 cgiServlet.runStdErr=stderr line: [{0}]
 cgiServlet.runStdErrCount=Received [{0}] lines on stderr
 cgiServlet.runStdErrFail=I/O problems with stderr
+
 defaultServlet.blockExternalEntity=Blocked access to external entity with publicId [{0}] and systemId [{0}]
 defaultServlet.blockExternalEntity2=Blocked access to external entity with name [{0}], publicId [{1}], baseURI [{2}] and systemId [{3}]
 defaultServlet.blockExternalSubset=Blocked access to external subset with name [{0}] and baseURI [{1}]
 defaultServlet.missingResource=The requested resource ({0}) is not available
+
 defaultservlet.directorylistingfor=Directory Listing for:
-defaultservlet.upto=Up to:
-defaultservlet.subdirectories=Subdirectories:
 defaultservlet.files=Files:
 defaultservlet.skipfail=Only skipped [{0}] bytes when [{1}] were requested
-webdavservlet.jaxpfailed=JAXP initialization failed
-webdavservlet.enternalEntityIgnored=The request included a reference to an external entity with PublicID {0} and SystemID {1} which was ignored
+defaultservlet.subdirectories=Subdirectories:
+defaultservlet.upto=Up to:
+
 directory.filename=Filename
 directory.lastModified=Last Modified
 directory.parent=Up To {0}
@@ -53,3 +54,5 @@ directory.size=Size
 directory.title=Directory Listing For {0}
 directory.version=Tomcat Catalina version 4.0
 
+webdavservlet.enternalEntityIgnored=The request included a reference to an external entity with PublicID {0} and SystemID {1} which was ignored
+webdavservlet.jaxpfailed=JAXP initialization failed
diff --git a/java/org/apache/catalina/servlets/LocalStrings_es.properties b/java/org/apache/catalina/servlets/LocalStrings_es.properties
index 5731f08..02b3014 100644
--- a/java/org/apache/catalina/servlets/LocalStrings_es.properties
+++ b/java/org/apache/catalina/servlets/LocalStrings_es.properties
@@ -13,17 +13,20 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-defaultServlet.missingResource = El recurso requerido {0} no se encuentra disponible
-defaultservlet.directorylistingfor = Listado de Directorio para\:
-defaultservlet.upto = Atr\u00E1s a\:
-defaultservlet.subdirectories = Subdirectorios\:
-defaultservlet.files = Ficheros\:
-defaultservlet.skipfail = S\u00F3lo se han saltado [{0}] cuando se requirieron [{1}]
-webdavservlet.jaxpfailed = Fall\u00F3 la inicializaci\u00F3n de JAXP
-webdavservlet.enternalEntityIgnored = El requerimiento inclu\u00EDa una referencia a una entidad externa con PublicID {0} y SystemID {1} que fue ignorada
-directory.filename = Nombre de Fichero\:
-directory.lastModified = \u00DAltima Modificaci\u00F3n
-directory.parent = Atr\u00E1s A {0}
-directory.size = Medida
-directory.title = Listado de Directorio Para {0}
-directory.version = Tomcat Catalina versi\u00F3n 4.0
+defaultServlet.missingResource=El recurso requerido {0} no se encuentra disponible
+
+defaultservlet.directorylistingfor=Listado de Directorio para:
+defaultservlet.files=Ficheros:
+defaultservlet.skipfail=Sólo se han saltado [{0}] cuando se requirieron [{1}]
+defaultservlet.subdirectories=Subdirectorios:
+defaultservlet.upto=Atrás a:
+
+directory.filename=Nombre de Fichero:
+directory.lastModified=Última Modificación
+directory.parent=Atrás A {0}
+directory.size=Medida
+directory.title=Listado de Directorio Para {0}
+directory.version=Tomcat Catalina versión 4.0
+
+webdavservlet.enternalEntityIgnored=El requerimiento incluía una referencia a una entidad externa con PublicID {0} y SystemID {1} que fue ignorada
+webdavservlet.jaxpfailed=Falló la inicialización de JAXP
diff --git a/java/org/apache/catalina/servlets/LocalStrings_fr.properties b/java/org/apache/catalina/servlets/LocalStrings_fr.properties
index f64d887..8845a4f 100644
--- a/java/org/apache/catalina/servlets/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/servlets/LocalStrings_fr.properties
@@ -13,15 +13,16 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-defaultservlet.directorylistingfor=Liste du r\u00e9pertoire pour :
-defaultservlet.upto=Jusqu''\u00e0:
-defaultservlet.subdirectories=Sous-r\u00e9pertoires:
+defaultservlet.directorylistingfor=Liste du répertoire pour :
 defaultservlet.files=Fichiers:
-webdavservlet.jaxpfailed=Erreur d''initialisation de JAXP
+defaultservlet.subdirectories=Sous-répertoires:
+defaultservlet.upto=Jusqu''à:
+
 directory.filename=Nom de fichier
-directory.lastModified=Derni\u00e8re modification
-directory.parent=Jusqu''\u00e0 {0}
+directory.lastModified=Dernière modification
+directory.parent=Jusqu''à {0}
 directory.size=Taille
-directory.title=Liste du r\u00e9pertoire pour {0}
+directory.title=Liste du répertoire pour {0}
 directory.version=Tomcat Catalina version 4.0
 
+webdavservlet.jaxpfailed=Erreur d''initialisation de JAXP
diff --git a/java/org/apache/catalina/servlets/LocalStrings_ja.properties b/java/org/apache/catalina/servlets/LocalStrings_ja.properties
index 5417079..45e7ae9 100644
--- a/java/org/apache/catalina/servlets/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/servlets/LocalStrings_ja.properties
@@ -13,15 +13,16 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-defaultservlet.directorylistingfor=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u4e00\u89a7:
-defaultservlet.upto=\u89aa\u30c7\u30a3\u30ec\u30af\u30c8\u30ea:
-defaultservlet.subdirectories=\u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea:
-defaultservlet.files=\u30d5\u30a1\u30a4\u30eb:
-webdavservlet.jaxpfailed=JAXP\u306e\u521d\u671f\u5316\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-directory.filename=\u30d5\u30a1\u30a4\u30eb\u540d
-directory.lastModified=\u6700\u7d42\u66f4\u65b0
-directory.parent={0} \u306b\u79fb\u52d5
-directory.size=\u30b5\u30a4\u30ba
-directory.title={0} \u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u4e00\u89a7
-directory.version=Tomcat Catalina \u30d0\u30fc\u30b8\u30e7\u30f3 4.0
+defaultservlet.directorylistingfor=ディレクトリの一覧:
+defaultservlet.files=ファイル:
+defaultservlet.subdirectories=サブディレクトリ:
+defaultservlet.upto=親ディレクトリ:
 
+directory.filename=ファイル名
+directory.lastModified=最終更新
+directory.parent={0} に移動
+directory.size=サイズ
+directory.title={0} のディレクトリの一覧
+directory.version=Tomcat Catalina バージョン 4.0
+
+webdavservlet.jaxpfailed=JAXPの初期化に失敗しました
diff --git a/java/org/apache/catalina/session/LocalStrings.properties b/java/org/apache/catalina/session/LocalStrings.properties
index afc6f86..a0f5972 100644
--- a/java/org/apache/catalina/session/LocalStrings.properties
+++ b/java/org/apache/catalina/session/LocalStrings.properties
@@ -13,79 +13,86 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-applicationSession.session.ise=invalid session state
-applicationSession.value.iae=null value
-fileStore.saving=Saving Session {0} to file {1}
-fileStore.loading=Loading Session {0} from file {1}
-fileStore.removing=Removing Session {0} at file {1}
-fileStore.deleteFailed=Unable to delete file [{0}] which is preventing the creation of the session storage location
-fileStore.createFailed=Unable to create directory [{0}] for the storage of session data
-JDBCStore.close=Exception closing database connection {0}
-JDBCStore.saving=Saving Session {0} to database {1}
-JDBCStore.loading=Loading Session {0} from database {1}
-JDBCStore.removing=Removing Session {0} at database {1}
 JDBCStore.SQLException=SQL Error {0}
+JDBCStore.checkConnectionClassNotFoundException=JDBC driver class not found {0}
 JDBCStore.checkConnectionDBClosed=The database connection is null or was found to be closed. Trying to re-open it.
 JDBCStore.checkConnectionDBReOpenFail=The re-open on the database failed. The database could be down.
 JDBCStore.checkConnectionSQLException=A SQL exception occurred {0}
-JDBCStore.checkConnectionClassNotFoundException=JDBC driver class not found {0}
-JDBCStore.wrongDataSource=Cannot open JNDI DataSource [{0}]
-JDBCStore.missingDataSourceName=No valid JNDI name was given.
+JDBCStore.close=Exception closing database connection {0}
 JDBCStore.commitSQLException=SQLException committing connection before closing
-managerBase.createRandom=Created random number generator for session ID generation in {0}ms.
+JDBCStore.loading=Loading Session {0} from database {1}
+JDBCStore.missingDataSourceName=No valid JNDI name was given.
+JDBCStore.removing=Removing Session {0} at database {1}
+JDBCStore.saving=Saving Session {0} to database {1}
+JDBCStore.wrongDataSource=Cannot open JNDI DataSource [{0}]
+
+applicationSession.session.ise=invalid session state
+applicationSession.value.iae=null value
+
+fileStore.createFailed=Unable to create directory [{0}] for the storage of session data
+fileStore.deleteFailed=Unable to delete file [{0}] which is preventing the creation of the session storage location
+fileStore.loading=Loading Session {0} from file {1}
+fileStore.removing=Removing Session {0} at file {1}
+fileStore.saving=Saving Session {0} to file {1}
+
 managerBase.contextNull=The Container must be set to a non-null Context instance before the Manager is used
+managerBase.createRandom=Created random number generator for session ID generation in {0}ms.
 managerBase.createSession.ise=createSession: Too many active sessions
 managerBase.sessionAttributeNameFilter=Skipped session attribute named [{0}] because it did not match the name filter [{1}]
 managerBase.sessionAttributeValueClassNameFilter=Skipped session attribute named [{0}] because the value type [{1}] did not match the filter [{2}]
 managerBase.sessionTimeout=Invalid session timeout setting {0}
 managerBase.setContextNotNew=It is illegal to call setContext() to change the Context associated with a Manager if the Manager is not in the NEW state
 managerBase.setMaxInactiveIntervalUnused=Manager.setMaxInactiveInterval() is deprecated and calls to this method are ignored. Session timeouts should be configured in web.xml or via Context.setSessionTimeout(int timeoutInMinutes)
+
+persistentManager.activeSession=Session {0} has been idle for {1} seconds
+persistentManager.backupException=Exception occurred when backing up Session {0}: {1}
+persistentManager.backupMaxIdle=Backing up session {0} to Store, idle for {1} seconds
+persistentManager.deserializeError=Error deserializing Session {0}: {1}
+persistentManager.expiring=Expiring {0} sessions before saving them
+persistentManager.loading=Loading {0} persisted sessions
+persistentManager.processSwaps=Checking for sessions to swap out, {0} active sessions in memory
+persistentManager.serializeError=Error serializing Session {0}: {1}
+persistentManager.storeKeysException=Unable to determine the list of session IDs for sessions in the session store, assuming that the store is empty
+persistentManager.storeSizeException=Unable to determine the number of sessions in the session store, assuming that the store is empty
+persistentManager.swapIn=Swapping session {0} in from Store
+persistentManager.swapInException=Exception in the Store during swapIn: {0}
+persistentManager.swapInInvalid=Swapped session {0} is invalid
+persistentManager.swapMaxIdle=Swapping session {0} to Store, idle for {1} seconds
+persistentManager.swapTooManyActive=Swapping out session {0}, idle for {1} seconds too many sessions active
+persistentManager.tooManyActive=Too many active sessions, {0}, looking for idle sessions to swap out
+persistentManager.unloading=Saving {0} persisted sessions
+
 serverSession.value.iae=null value
+
 standardManager.expireException=processsExpire:  Exception during session expiration
 standardManager.loading=Loading persisted sessions from {0}
 standardManager.loading.cnfe=ClassNotFoundException while loading persisted sessions: {0}
 standardManager.loading.ioe=IOException while loading persisted sessions: {0}
+standardManager.managerLoad=Exception loading sessions from persistent storage
+standardManager.managerUnload=Exception unloading sessions to persistent storage
 standardManager.unloading=Saving persisted sessions to {0}
 standardManager.unloading.debug=Unloading persisted sessions
 standardManager.unloading.ioe=IOException while saving persisted sessions: {0}
 standardManager.unloading.nosessions=No persisted sessions to unload
-standardManager.managerLoad=Exception loading sessions from persistent storage
-standardManager.managerUnload=Exception unloading sessions to persistent storage
+
 standardSession.attributeEvent=Session attribute event listener threw exception
 standardSession.bindingEvent=Session binding event listener threw exception
-standardSession.invalidate.ise=invalidate: Session already invalidated
-standardSession.isNew.ise=isNew: Session already invalidated
 standardSession.getAttribute.ise=getAttribute: Session already invalidated
 standardSession.getAttributeNames.ise=getAttributeNames: Session already invalidated
 standardSession.getCreationTime.ise=getCreationTime: Session already invalidated
-standardSession.getThisAccessedTime.ise=getThisAccessedTime: Session already invalidated
-standardSession.getLastAccessedTime.ise=getLastAccessedTime: Session already invalidated
 standardSession.getId.ise=getId: Session already invalidated
+standardSession.getLastAccessedTime.ise=getLastAccessedTime: Session already invalidated
 standardSession.getMaxInactiveInterval.ise=getMaxInactiveInterval: Session already invalidated
+standardSession.getThisAccessedTime.ise=getThisAccessedTime: Session already invalidated
 standardSession.getValueNames.ise=getValueNames: Session already invalidated
+standardSession.invalidate.ise=invalidate: Session already invalidated
+standardSession.isNew.ise=isNew: Session already invalidated
 standardSession.logoutfail=Exception logging out user when expiring session
 standardSession.notDeserializable=Cannot deserialize session attribute {0} for session {1}
 standardSession.notSerializable=Cannot serialize session attribute {0} for session {1}
 standardSession.removeAttribute.ise=removeAttribute: Session already invalidated
+standardSession.sessionCreated=Created Session id = {0}
 standardSession.sessionEvent=Session event listener threw exception
 standardSession.setAttribute.iae=setAttribute: Non-serializable attribute {0}
 standardSession.setAttribute.ise=setAttribute: Session [{0}] has already been invalidated
 standardSession.setAttribute.namenull=setAttribute: name parameter cannot be null
-standardSession.sessionCreated=Created Session id = {0}
-persistentManager.loading=Loading {0} persisted sessions
-persistentManager.unloading=Saving {0} persisted sessions
-persistentManager.expiring=Expiring {0} sessions before saving them
-persistentManager.deserializeError=Error deserializing Session {0}: {1}
-persistentManager.serializeError=Error serializing Session {0}: {1}
-persistentManager.swapMaxIdle=Swapping session {0} to Store, idle for {1} seconds
-persistentManager.backupMaxIdle=Backing up session {0} to Store, idle for {1} seconds
-persistentManager.backupException=Exception occurred when backing up Session {0}: {1}
-persistentManager.tooManyActive=Too many active sessions, {0}, looking for idle sessions to swap out
-persistentManager.swapTooManyActive=Swapping out session {0}, idle for {1} seconds too many sessions active
-persistentManager.processSwaps=Checking for sessions to swap out, {0} active sessions in memory
-persistentManager.activeSession=Session {0} has been idle for {1} seconds
-persistentManager.swapIn=Swapping session {0} in from Store
-persistentManager.swapInException=Exception in the Store during swapIn: {0}
-persistentManager.swapInInvalid=Swapped session {0} is invalid
-persistentManager.storeKeysException=Unable to determine the list of session IDs for sessions in the session store, assuming that the store is empty
-persistentManager.storeSizeException=Unable to determine the number of sessions in the session store, assuming that the store is empty
\ No newline at end of file
diff --git a/java/org/apache/catalina/session/LocalStrings_es.properties b/java/org/apache/catalina/session/LocalStrings_es.properties
index 85d0fcc..1ab4e14 100644
--- a/java/org/apache/catalina/session/LocalStrings_es.properties
+++ b/java/org/apache/catalina/session/LocalStrings_es.properties
@@ -13,60 +13,67 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-applicationSession.session.ise = estado inv\u00E1lido de sesi\u00F3n
-applicationSession.value.iae = valor nulo
-fileStore.saving = Salvando Sesi\u00F3n {0} en archivo {1}
-fileStore.loading = Cargando Sesi\u00F3n {0} desde archivo {1}
-fileStore.removing = Quitando Sesi\u00F3n {0} en archivo {1}
-JDBCStore.close = Excepci\u00F3n cerrando conexi\u00F3n a base de datos {0}
-JDBCStore.saving = Salvando Sesi\u00F3n {0} en base de datos {1}
-JDBCStore.loading = Cargando Sesi\u00F3n {0} desde base de datos {1}
-JDBCStore.removing = Quitando Sesi\u00F3n {0} en base de datos {1}
-JDBCStore.SQLException = Error SQL {0}
-JDBCStore.checkConnectionDBClosed = La conexi\u00F3na a base de datos es nula o est\u00E1 cerrada. Intentando reabrirla.
-JDBCStore.checkConnectionDBReOpenFail = Fall\u00F3 la reapertura de la base de datos. Puede que la base de datos est\u00E9 ca\u00EDda.
-JDBCStore.checkConnectionSQLException = Ha tenido lugar una excepci\u00F3n SQL {0}
-JDBCStore.checkConnectionClassNotFoundException = No se ha hallado la clase del manejador (driver) JDBC {0}
-managerBase.createSession.ise = createSession\: Demasiadas sesiones activas
-managerBase.sessionTimeout = Valor inv\u00E1lido de Tiempo Agotado de sesi\u00F3n {0}
-serverSession.value.iae = valor nulo
-standardManager.expireException = processsExpire\: Excepci\u00F3n durante la expiraci\u00F3n de sesi\u00F3n
-standardManager.loading = Cargando sesiones persistidas desde {0}
-standardManager.loading.cnfe = ClassNotFoundException al cargar sesiones persistidas\: {0}
-standardManager.loading.ioe = IOException al cargar sesiones persistidas\: {0}
-standardManager.unloading = Salvando sesiones persistidas a {0}
-standardManager.unloading.ioe = IOException al salvar sesiones persistidas\: {0}
-standardManager.managerLoad = Excepci\u00F3n cargando sesiones desde almacenamiento persistente
-standardManager.managerUnload = Excepci\u00F3n descargando sesiones a almacenamiento persistente
-standardSession.attributeEvent = El oyente de eventos de atributo de Sesi\u00F3n lanz\u00F3 una excepci\u00F3n
-standardSession.bindingEvent = El oyente de eventos de ligado de Sesi\u00F3n lanz\u00F3 una excepci\u00F3n
-standardSession.invalidate.ise = invalidate\: La Sesi\u00F3n ya ha sido invalidada
-standardSession.isNew.ise = isNew\: La Sesi\u00F3n ya ha sido invalidada
-standardSession.getAttribute.ise = getAttribute\: La Sesi\u00F3n ya ha sido invalidada
-standardSession.getAttributeNames.ise = getAttributeNames\: La Sesi\u00F3n ya ha sido invalidada
-standardSession.getCreationTime.ise = getCreationTime\: La Sesi\u00F3n ya ha sido invalidada
-standardSession.getThisAccessedTime.ise = getThisAccessedTime\: La Sesi\u00F3n ya ha sido invalidada
-standardSession.getLastAccessedTime.ise = getLastAccessedTime\: La Sesi\u00F3n ya ha sido invalidada
-standardSession.getId.ise = getId\: La Sesi\u00F3n ya ha sido invalidada
-standardSession.getMaxInactiveInterval.ise = getMaxInactiveInterval\: La Sesi\u00F3n ya ha sido invalidada
-standardSession.getValueNames.ise = getValueNames\: La Sesi\u00F3n ya ha sido invalidada
-standardSession.notSerializable = No puedo serializar atributo de sesi\u00F3n {0} para sesi\u00F3n {1}
-standardSession.removeAttribute.ise = removeAttribute\: La Sesi\u00F3n ya ha sido invalidada
-standardSession.sessionEvent = El oyente de evento de Sesi\u00F3n lanz\u00F3 una execpci\u00F3n
-standardSession.setAttribute.iae = setAttribute\: Atributo {0} no serializable
-standardSession.setAttribute.ise = setAttribute\: La Sesi\u00F3n ya ha sido invalidada
-standardSession.setAttribute.namenull = setAttribute\: el nuevo par\u00E1metro no puede ser nulo
-standardSession.sessionCreated = Creada Sesi\u00F3n id \= {0}
-persistentManager.loading = Cargando {0} sesiones persistidas
-persistentManager.unloading = Salvando {0} sesiones persistidas
-persistentManager.expiring = Expirando {0} sesiones antes de salvarlas
-persistentManager.deserializeError = Error des-serializando Sesi\u00F3n {0}\: {1}
-persistentManager.serializeError = Error serializando Sesi\u00F3n {0}\: {1}
-persistentManager.swapMaxIdle = Intercambiando sesi\u00F3n {0} a fuera a Almac\u00E9n, ociosa durante {1} segundos
-persistentManager.backupMaxIdle = Respaldando sesi\u00F3n {0} a Almac\u00E9n, ociosa durante {1} segundos
-persistentManager.backupException = Ha tenido lugar una excepci\u00F3n al respaldar la Sesi\u00F3n {0}\: {1}
-persistentManager.tooManyActive = Demasiadas sesiones activas, {0}, buscando sesiones ociosas para intercambiar
-persistentManager.swapTooManyActive = Intercambiando sesi\u00F3n {0} a fuera, ociosa durante {1} segundos\: Demasiadas sesiones activas
-persistentManager.processSwaps = Mirando qu\u00E9 sesiones intercambiar a fuera, {0} sesiones activas en memoria
-persistentManager.activeSession = La sesi\u00F3n {0} ha estado ociosa durante {1} segundos
-persistentManager.swapIn = Intercambiando sesi\u00F3n {0} a dentro desde Almac\u00E9n
+JDBCStore.SQLException=Error SQL {0}
+JDBCStore.checkConnectionClassNotFoundException=No se ha hallado la clase del manejador (driver) JDBC {0}
+JDBCStore.checkConnectionDBClosed=La conexióna a base de datos es nula o está cerrada. Intentando reabrirla.
+JDBCStore.checkConnectionDBReOpenFail=Falló la reapertura de la base de datos. Puede que la base de datos esté caída.
+JDBCStore.checkConnectionSQLException=Ha tenido lugar una excepción SQL {0}
+JDBCStore.close=Excepción cerrando conexión a base de datos {0}
+JDBCStore.loading=Cargando Sesión {0} desde base de datos {1}
+JDBCStore.removing=Quitando Sesión {0} en base de datos {1}
+JDBCStore.saving=Salvando Sesión {0} en base de datos {1}
+
+applicationSession.session.ise=estado inválido de sesión
+applicationSession.value.iae=valor nulo
+
+fileStore.loading=Cargando Sesión {0} desde archivo {1}
+fileStore.removing=Quitando Sesión {0} en archivo {1}
+fileStore.saving=Salvando Sesión {0} en archivo {1}
+
+managerBase.createSession.ise=createSession: Demasiadas sesiones activas
+managerBase.sessionTimeout=Valor inválido de Tiempo Agotado de sesión {0}
+
+persistentManager.activeSession=La sesión {0} ha estado ociosa durante {1} segundos
+persistentManager.backupException=Ha tenido lugar una excepción al respaldar la Sesión {0}: {1}
+persistentManager.backupMaxIdle=Respaldando sesión {0} a Almacén, ociosa durante {1} segundos
+persistentManager.deserializeError=Error des-serializando Sesión {0}: {1}
+persistentManager.expiring=Expirando {0} sesiones antes de salvarlas
+persistentManager.loading=Cargando {0} sesiones persistidas
+persistentManager.processSwaps=Mirando qué sesiones intercambiar a fuera, {0} sesiones activas en memoria
+persistentManager.serializeError=Error serializando Sesión {0}: {1}
+persistentManager.swapIn=Intercambiando sesión {0} a dentro desde Almacén
+persistentManager.swapMaxIdle=Intercambiando sesión {0} a fuera a Almacén, ociosa durante {1} segundos
+persistentManager.swapTooManyActive=Intercambiando sesión {0} a fuera, ociosa durante {1} segundos: Demasiadas sesiones activas
+persistentManager.tooManyActive=Demasiadas sesiones activas, {0}, buscando sesiones ociosas para intercambiar
+persistentManager.unloading=Salvando {0} sesiones persistidas
+
+serverSession.value.iae=valor nulo
+
+standardManager.expireException=processsExpire: Excepción durante la expiración de sesión
+standardManager.loading=Cargando sesiones persistidas desde {0}
+standardManager.loading.cnfe=ClassNotFoundException al cargar sesiones persistidas: {0}
+standardManager.loading.ioe=IOException al cargar sesiones persistidas: {0}
+standardManager.managerLoad=Excepción cargando sesiones desde almacenamiento persistente
+standardManager.managerUnload=Excepción descargando sesiones a almacenamiento persistente
+standardManager.unloading=Salvando sesiones persistidas a {0}
+standardManager.unloading.ioe=IOException al salvar sesiones persistidas: {0}
+
+standardSession.attributeEvent=El oyente de eventos de atributo de Sesión lanzó una excepción
+standardSession.bindingEvent=El oyente de eventos de ligado de Sesión lanzó una excepción
+standardSession.getAttribute.ise=getAttribute: La Sesión ya ha sido invalidada
+standardSession.getAttributeNames.ise=getAttributeNames: La Sesión ya ha sido invalidada
+standardSession.getCreationTime.ise=getCreationTime: La Sesión ya ha sido invalidada
+standardSession.getId.ise=getId: La Sesión ya ha sido invalidada
+standardSession.getLastAccessedTime.ise=getLastAccessedTime: La Sesión ya ha sido invalidada
+standardSession.getMaxInactiveInterval.ise=getMaxInactiveInterval: La Sesión ya ha sido invalidada
+standardSession.getThisAccessedTime.ise=getThisAccessedTime: La Sesión ya ha sido invalidada
+standardSession.getValueNames.ise=getValueNames: La Sesión ya ha sido invalidada
+standardSession.invalidate.ise=invalidate: La Sesión ya ha sido invalidada
+standardSession.isNew.ise=isNew: La Sesión ya ha sido invalidada
+standardSession.notSerializable=No puedo serializar atributo de sesión {0} para sesión {1}
+standardSession.removeAttribute.ise=removeAttribute: La Sesión ya ha sido invalidada
+standardSession.sessionCreated=Creada Sesión id = {0}
+standardSession.sessionEvent=El oyente de evento de Sesión lanzó una execpción
+standardSession.setAttribute.iae=setAttribute: Atributo {0} no serializable
+standardSession.setAttribute.ise=setAttribute: La Sesión ya ha sido invalidada
+standardSession.setAttribute.namenull=setAttribute: el nuevo parámetro no puede ser nulo
diff --git a/java/org/apache/catalina/session/LocalStrings_fr.properties b/java/org/apache/catalina/session/LocalStrings_fr.properties
index f675222..7ea1f6f 100644
--- a/java/org/apache/catalina/session/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/session/LocalStrings_fr.properties
@@ -13,58 +13,65 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-applicationSession.session.ise=\u00e9tat de session invalide
+JDBCStore.SQLException=Erreur SQL {0}
+JDBCStore.checkConnectionClassNotFoundException=La classe du driver JDBC n''a pas été trouvée {0}
+JDBCStore.checkConnectionDBClosed=La connexion à la base de données est nulle ou a été trouvée fermée. Tentative de réouverture.
+JDBCStore.checkConnectionDBReOpenFail=La tentative de réouverture de la base de données a échoué. La base de données est peut-être arrêtée.
+JDBCStore.checkConnectionSQLException=Une exception SQL s''est produite {0}
+JDBCStore.loading=Chargement de la Session {0} depuis la base de données {1}
+JDBCStore.removing=Retrait de la Session {0} de la base de données {1}
+JDBCStore.saving=Sauvegarde de la Session {0} vers la base de données {1}
+
+applicationSession.session.ise=état de session invalide
 applicationSession.value.iae=valeur nulle
-fileStore.saving=Sauvegarde de la Session {0} vers le fichier {1}
+
 fileStore.loading=Chargement de la Session {0} depuis le fichier {1}
 fileStore.removing=Retrait de la Session {0} du fichier {1}
-JDBCStore.saving=Sauvegarde de la Session {0} vers la base de donn\u00e9es {1}
-JDBCStore.loading=Chargement de la Session {0} depuis la base de donn\u00e9es {1}
-JDBCStore.removing=Retrait de la Session {0} de la base de donn\u00e9es {1}
-JDBCStore.SQLException=Erreur SQL {0}
-JDBCStore.checkConnectionDBClosed=La connexion \u00e0 la base de donn\u00e9es est nulle ou a \u00e9t\u00e9 trouv\u00e9e ferm\u00e9e. Tentative de r\u00e9ouverture.
-JDBCStore.checkConnectionDBReOpenFail=La tentative de r\u00e9ouverture de la base de donn\u00e9es a \u00e9chou\u00e9. La base de donn\u00e9es est peut-\u00eatre arr\u00eat\u00e9e.
-JDBCStore.checkConnectionSQLException=Une exception SQL s''est produite {0}
-JDBCStore.checkConnectionClassNotFoundException=La classe du driver JDBC n''a pas \u00e9t\u00e9 trouv\u00e9e {0}
+fileStore.saving=Sauvegarde de la Session {0} vers le fichier {1}
+
 managerBase.createSession.ise="createSession": Trop de sessions actives
-managerBase.sessionTimeout=R\u00e9glage du d\u00e9lai d''inactivit\u00e9 (timeout) de session invalide {0}
+managerBase.sessionTimeout=Réglage du délai d''inactivité (timeout) de session invalide {0}
+
+persistentManager.activeSession=La session {0} a été en attente durant {1} secondes
+persistentManager.backupException=Exception lors de la sauvegarde de la session {0}: {1}
+persistentManager.backupMaxIdle=Sauvegarde de la session {0} vers le stockage (Store), en attente pour {1} secondes
+persistentManager.deserializeError=Erreur lors de la désérialisation de la session {0}: {1}
+persistentManager.expiring=Expiration de {0} sessions avant leur sauvegarde
+persistentManager.loading=Chargement de {0} sessions persistantes
+persistentManager.processSwaps=Recherche de sessions à basculer vers stockage (swap out), {0} sessions actives en mémoire
+persistentManager.serializeError=Erreur lors de la sérialisation de la session {0}: {1}
+persistentManager.swapIn=Basculement depuis le stockage (swap in) de la session {0}
+persistentManager.swapMaxIdle=Basculement de la session {0} vers le stockage (Store), en attente pour {1} secondes
+persistentManager.swapTooManyActive=Basculement vers stockage (swap out) de la session {0}, en attente pour {1} secondes trop de sessions actives
+persistentManager.tooManyActive=Trop de sessions actives, {0}, à la recherche de sessions en attente pour basculement vers stockage (swap out)
+persistentManager.unloading=Sauvegarde de {0} sessions persistantes
+
 serverSession.value.iae=valeur nulle
+
 standardManager.expireException="processsExpire":  Exception lors de l''expiration de la session
-standardManager.loading=Chargement des sessions qui ont persist\u00e9 depuis {0}
+standardManager.loading=Chargement des sessions qui ont persisté depuis {0}
 standardManager.loading.cnfe="ClassNotFoundException" lors du chargement de sessions persistantes: {0}
 standardManager.loading.ioe="IOException" lors du chargement de sessions persistantes: {0}
-standardManager.unloading=Sauvegarde des sessions ayant persist\u00e9 vers {0}
-standardManager.unloading.ioe="IOException" lors de la sauvegarde de sessions persistantes: {0}
 standardManager.managerLoad=Exception au chargement des sessions depuis le stockage persistant (persistent storage)
-standardManager.managerUnload=Exception au d\u00e9chargement des sessions vers le stockage persistant (persistent storage)
-standardSession.attributeEvent=L''\u00e9couteur d''\u00e9v\u00e8nement Attribut de Session (attribute event listener) a g\u00e9n\u00e9r\u00e9 une exception
-standardSession.invalidate.ise="invalidate": Session d\u00e9j\u00e0 invalid\u00e9e
-standardSession.isNew.ise="isNew": Session d\u00e9j\u00e0 invalid\u00e9e
-standardSession.getAttribute.ise="getAttribute": Session d\u00e9j\u00e0 invalid\u00e9e
-standardSession.getAttributeNames.ise="getAttributeNames": Session d\u00e9j\u00e0 invalid\u00e9e
-standardSession.getCreationTime.ise="getCreationTime": Session d\u00e9j\u00e0 invalid\u00e9e
-standardSession.getThisAccessedTime.ise="getThisAccessedTime": Session d\u00e9j\u00e0 invalid\u00e9e
-standardSession.getLastAccessedTime.ise="getLastAccessedTime": Session d\u00e9j\u00e0 invalid\u00e9e
-standardSession.getId.ise=getId: Session d\u00e9j\u00e0 invalid\u00e9e
-standardSession.getMaxInactiveInterval.ise="getMaxInactiveInterval": Session d\u00e9j\u00e0 invalid\u00e9e
-standardSession.getValueNames.ise="getValueNames": Session d\u00e9j\u00e0 invalid\u00e9e
-standardSession.notSerializable=Impossible de s\u00e9rialiser l''attribut de session {0} pour la session {1}
-standardSession.removeAttribute.ise="removeAttribute": Session d\u00e9j\u00e0 invalid\u00e9e
-standardSession.sessionEvent=L''\u00e9couteur d''\u00e9v\u00e8nement de session (session event listener) a g\u00e9n\u00e9r\u00e9 une exception
-standardSession.setAttribute.iae="setAttribute": Attribut {0} non s\u00e9rialisable
-standardSession.setAttribute.ise="setAttribute": Session d\u00e9j\u00e0 invalid\u00e9e
-standardSession.setAttribute.namenull="setAttribute": le nom de param\u00e8tre ne peut \u00eatre nul
-standardSession.sessionCreated=Cr\u00e9ation de l''Id de Session = {0}
-persistentManager.loading=Chargement de {0} sessions persistantes
-persistentManager.unloading=Sauvegarde de {0} sessions persistantes
-persistentManager.expiring=Expiration de {0} sessions avant leur sauvegarde
-persistentManager.deserializeError=Erreur lors de la d\u00e9s\u00e9rialisation de la session {0}: {1}
-persistentManager.serializeError=Erreur lors de la s\u00e9rialisation de la session {0}: {1}
-persistentManager.swapMaxIdle=Basculement de la session {0} vers le stockage (Store), en attente pour {1} secondes
-persistentManager.backupMaxIdle=Sauvegarde de la session {0} vers le stockage (Store), en attente pour {1} secondes
-persistentManager.backupException=Exception lors de la sauvegarde de la session {0}: {1}
-persistentManager.tooManyActive=Trop de sessions actives, {0}, \u00e0 la recherche de sessions en attente pour basculement vers stockage (swap out)
-persistentManager.swapTooManyActive=Basculement vers stockage (swap out) de la session {0}, en attente pour {1} secondes trop de sessions actives
-persistentManager.processSwaps=Recherche de sessions \u00e0 basculer vers stockage (swap out), {0} sessions actives en m\u00e9moire
-persistentManager.activeSession=La session {0} a \u00e9t\u00e9 en attente durant {1} secondes
-persistentManager.swapIn=Basculement depuis le stockage (swap in) de la session {0}
+standardManager.managerUnload=Exception au déchargement des sessions vers le stockage persistant (persistent storage)
+standardManager.unloading=Sauvegarde des sessions ayant persisté vers {0}
+standardManager.unloading.ioe="IOException" lors de la sauvegarde de sessions persistantes: {0}
+
+standardSession.attributeEvent=L''écouteur d''évènement Attribut de Session (attribute event listener) a généré une exception
+standardSession.getAttribute.ise="getAttribute": Session déjà invalidée
+standardSession.getAttributeNames.ise="getAttributeNames": Session déjà invalidée
+standardSession.getCreationTime.ise="getCreationTime": Session déjà invalidée
+standardSession.getId.ise=getId: Session déjà invalidée
+standardSession.getLastAccessedTime.ise="getLastAccessedTime": Session déjà invalidée
+standardSession.getMaxInactiveInterval.ise="getMaxInactiveInterval": Session déjà invalidée
+standardSession.getThisAccessedTime.ise="getThisAccessedTime": Session déjà invalidée
+standardSession.getValueNames.ise="getValueNames": Session déjà invalidée
+standardSession.invalidate.ise="invalidate": Session déjà invalidée
+standardSession.isNew.ise="isNew": Session déjà invalidée
+standardSession.notSerializable=Impossible de sérialiser l''attribut de session {0} pour la session {1}
+standardSession.removeAttribute.ise="removeAttribute": Session déjà invalidée
+standardSession.sessionCreated=Création de l''Id de Session = {0}
+standardSession.sessionEvent=L''écouteur d''évènement de session (session event listener) a généré une exception
+standardSession.setAttribute.iae="setAttribute": Attribut {0} non sérialisable
+standardSession.setAttribute.ise="setAttribute": Session déjà invalidée
+standardSession.setAttribute.namenull="setAttribute": le nom de paramètre ne peut être nul
diff --git a/java/org/apache/catalina/session/LocalStrings_ja.properties b/java/org/apache/catalina/session/LocalStrings_ja.properties
index bf11e71..0bef3db 100644
--- a/java/org/apache/catalina/session/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/session/LocalStrings_ja.properties
@@ -13,60 +13,67 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-applicationSession.session.ise=\u7121\u52b9\u306a\u30bb\u30c3\u30b7\u30e7\u30f3\u72b6\u614b\u3067\u3059
-applicationSession.value.iae=null\u5024\u3067\u3059
-fileStore.saving=\u30bb\u30c3\u30b7\u30e7\u30f3 {0} \u3092\u30d5\u30a1\u30a4\u30eb {1} \u306b\u4fdd\u5b58\u3057\u307e\u3059
-fileStore.loading=\u30bb\u30c3\u30b7\u30e7\u30f3 {0} \u3092\u30d5\u30a1\u30a4\u30eb {1} \u304b\u3089\u30ed\u30fc\u30c9\u3057\u307e\u3059
-fileStore.removing=\u30bb\u30c3\u30b7\u30e7\u30f3 {0} \u3092\u30d5\u30a1\u30a4\u30eb {1} \u304b\u3089\u524a\u9664\u3057\u307e\u3059
-JDBCStore.close=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a {0} \u3092\u30af\u30ed\u30fc\u30ba\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-JDBCStore.saving=\u30bb\u30c3\u30b7\u30e7\u30f3 {0} \u3092\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9 {1} \u306b\u4fdd\u5b58\u3057\u307e\u3059
-JDBCStore.loading=\u30bb\u30c3\u30b7\u30e7\u30f3 {0} \u3092\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9 {1} \u304b\u3089\u30ed\u30fc\u30c9\u3057\u307e\u3059
-JDBCStore.removing= \u30bb\u30c3\u30b7\u30e7\u30f3 {0} \u3092\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9 {1} \u304b\u3089\u524a\u9664\u3057\u307e\u3059
-JDBCStore.SQLException=SQL\u30a8\u30e9\u30fc {0}
-JDBCStore.checkConnectionDBClosed=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u304cnull\u3067\u3042\u308b\u304b\u3001\u30af\u30ed\u30fc\u30ba\u3055\u308c\u3066\u3044\u308b\u306e\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002\u518d\u30aa\u30fc\u30d7\u30f3\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-JDBCStore.checkConnectionDBReOpenFail=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u518d\u30aa\u30fc\u30d7\u30f3\u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u30c0\u30a6\u30f3\u3057\u3066\u3044\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
-JDBCStore.checkConnectionSQLException=SQL\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f {0}
-JDBCStore.checkConnectionClassNotFoundException=JDBC\u30c9\u30e9\u30a4\u30d0\u30af\u30e9\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093 {0}
-managerBase.createSession.ise=createSession: \u30a2\u30af\u30c6\u30a3\u30d6\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u591a\u3059\u304e\u307e\u3059
-managerBase.sessionTimeout=\u7121\u52b9\u306a\u30bb\u30c3\u30b7\u30e7\u30f3\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u8a2d\u5b9a\u3067\u3059 {0}
-serverSession.value.iae=null\u5024\u3067\u3059
-standardManager.expireException=processsExpire: \u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u7d42\u4e86\u51e6\u7406\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-standardManager.loading={0} \u304b\u3089\u6301\u7d9a\u3055\u308c\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u30ed\u30fc\u30c9\u3057\u3066\u3044\u307e\u3059
-standardManager.loading.cnfe=\u6301\u7d9a\u3055\u308c\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u30ed\u30fc\u30c9\u4e2d\u306bClassNotFoundException\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
-standardManager.loading.ioe=\u6301\u7d9a\u3055\u308c\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u30ed\u30fc\u30c9\u4e2d\u306eIOException\u3067\u3059: {0}
-standardManager.unloading=\u6301\u7d9a\u3055\u308c\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u3092 {0} \u306b\u4fdd\u5b58\u3057\u307e\u3059
-standardManager.unloading.ioe=\u6301\u7d9a\u3055\u308c\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u4fdd\u5b58\u4e2d\u306eIOException\u3067\u3059: {0}
-standardManager.managerLoad=\u6c38\u7d9a\u8a18\u61b6\u88c5\u7f6e\u304b\u3089\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u30ed\u30fc\u30c9\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-standardManager.managerUnload=\u6c38\u7d9a\u8a18\u61b6\u88c5\u7f6e\u306b\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u30a2\u30f3\u30ed\u30fc\u30c9\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-standardSession.attributeEvent=\u30bb\u30c3\u30b7\u30e7\u30f3\u5c5e\u6027\u30a4\u30d9\u30f3\u30c8\u30ea\u30b9\u30ca\u304c\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f
-standardSession.bindingEvent=\u30bb\u30c3\u30b7\u30e7\u30f3\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u30a4\u30d9\u30f3\u30c8\u30ea\u30b9\u30ca\u304c\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f
-standardSession.invalidate.ise=invalidate: \u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u65e2\u306b\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059
-standardSession.isNew.ise=isNew: \u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u65e2\u306b\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059
-standardSession.getAttribute.ise=getAttribute: \u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u65e2\u306b\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059
-standardSession.getAttributeNames.ise=getAttributeNames: \u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u65e2\u306b\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059
-standardSession.getCreationTime.ise=getCreationTime: \u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u65e2\u306b\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059
-standardSession.getThisAccessedTime.ise=getThisAccessedTime: \u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u65e2\u306b\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059
-standardSession.getLastAccessedTime.ise=getLastAccessedTime: \u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u65e2\u306b\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059
-standardSession.getId.ise=getId: \u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u65e2\u306b\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059
-standardSession.getMaxInactiveInterval.ise=getMaxInactiveInterval: \u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u65e2\u306b\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059
-standardSession.getValueNames.ise=getValueNames: \u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u65e2\u306b\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059
-standardSession.notSerializable=\u30bb\u30c3\u30b7\u30e7\u30f3 {1} \u306e\u305f\u3081\u306b\u30bb\u30c3\u30b7\u30e7\u30f3\u5c5e\u6027 {0} \u3092\u30b7\u30ea\u30a2\u30e9\u30a4\u30ba\u3067\u304d\u307e\u305b\u3093
-standardSession.removeAttribute.ise=removeAttribute: \u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u65e2\u306b\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059
-standardSession.sessionEvent=\u30bb\u30c3\u30b7\u30e7\u30f3\u30a4\u30d9\u30f3\u30c8\u30ea\u30b9\u30ca\u304c\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f
-standardSession.setAttribute.iae=setAttribute: \u30b7\u30ea\u30a2\u30e9\u30a4\u30ba\u3067\u304d\u306a\u3044\u5c5e\u6027\u3067\u3059
-standardSession.setAttribute.ise=setAttribute: \u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u65e2\u306b\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059
-standardSession.setAttribute.namenull=setAttribute: name\u30d1\u30e9\u30e1\u30bf\u306fnull\u3067\u3042\u3063\u3066\u306f\u3044\u3051\u307e\u305b\u3093
-standardSession.sessionCreated=\u30bb\u30c3\u30b7\u30e7\u30f3ID = {0} \u3092\u751f\u6210\u3057\u307e\u3057\u305f
-persistentManager.loading={0} \u306e\u6301\u7d9a\u3055\u308c\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u30ed\u30fc\u30c9\u3057\u307e\u3059
-persistentManager.unloading={0} \u306e\u6301\u7d9a\u3055\u308c\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u4fdd\u5b58\u3057\u307e\u3059
-persistentManager.expiring= {0} \u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u4fdd\u5b58\u3059\u308b\u524d\u306b\u671f\u9650\u5207\u308c\u306b\u306a\u308a\u307e\u3057\u305f
-persistentManager.deserializeError=\u30bb\u30c3\u30b7\u30e7\u30f3 {0} \u3092\u30c7\u30b7\u30ea\u30a2\u30e9\u30a4\u30ba\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059: {1}
-persistentManager.serializeError=\u30bb\u30c3\u30b7\u30e7\u30f3 {0} \u3092\u30b7\u30ea\u30a2\u30e9\u30a4\u30ba\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059: {1}
-persistentManager.swapMaxIdle={1}\u79d2\u9593\u30a2\u30a4\u30c9\u30eb\u3057\u3066\u3044\u308b\u30bb\u30c3\u30b7\u30e7\u30f3 {0} \u3092\u4fdd\u5b58\u3059\u308b\u305f\u3081\u306b\u30b9\u30ef\u30c3\u30d7\u3057\u3066\u3044\u307e\u3059
-persistentManager.backupMaxIdle={1}\u79d2\u9593\u30a2\u30a4\u30c9\u30eb\u3057\u3066\u3044\u308b\u30bb\u30c3\u30b7\u30e7\u30f3 {0} \u3092\u4fdd\u5b58\u3059\u308b\u305f\u3081\u306b\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3057\u3066\u3044\u307e\u3059
-persistentManager.backupException=\u30bb\u30c3\u30b7\u30e7\u30f3 {0} \u3092\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3059\u308b\u6642\u306b\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {1}
-persistentManager.tooManyActive=\u30a2\u30af\u30c6\u30a3\u30d6\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u591a\u3059\u304e\u307e\u3059\u3001{0}\u3001\u30b9\u30ef\u30c3\u30d7\u30a2\u30a6\u30c8\u3059\u308b\u305f\u3081\u306b\u30a2\u30a4\u30c9\u30eb\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u63a2\u3057\u3066\u3044\u307e\u3059
-persistentManager.swapTooManyActive=\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u591a\u3059\u304e\u308b\u306e\u3067\u3001{1}\u79d2\u30a2\u30a4\u30c9\u30eb\u3057\u3066\u3044\u308b\u30bb\u30c3\u30b7\u30e7\u30f3 {0} \u3092\u30b9\u30ef\u30c3\u30d7\u30a2\u30a6\u30c8\u3057\u307e\u3059
-persistentManager.processSwaps=\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u30b9\u30ef\u30c3\u30d7\u3059\u308b\u305f\u3081\u306b\u30c1\u30a7\u30c3\u30af\u3057\u3066\u3044\u307e\u3059, \u30e1\u30e2\u30ea\u4e2d\u306b {0} \u30a2\u30af\u30c6\u30a3\u30d6\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u5b58\u5728\u3057\u307e\u3059
-persistentManager.activeSession=\u30bb\u30c3\u30b7\u30e7\u30f3 {0} \u306f{1}\u79d2\u9593\u30a2\u30a4\u30c9\u30eb\u3057\u3066\u3044\u307e\u3059
-persistentManager.swapIn=\u30bb\u30c3\u30b7\u30e7\u30f3 {0} \u3092\u30b9\u30ef\u30c3\u30d7\u30a4\u30f3\u3057\u3066\u3044\u307e\u3059
+JDBCStore.SQLException=SQLエラー {0}
+JDBCStore.checkConnectionClassNotFoundException=JDBCドライバクラスが見つかりません {0}
+JDBCStore.checkConnectionDBClosed=データベース接続がnullであるか、クローズされているのが見つかりました。再オープンしてください。
+JDBCStore.checkConnectionDBReOpenFail=データベースの再オープンが失敗しました。データベースがダウンしているかもしれません。
+JDBCStore.checkConnectionSQLException=SQL例外が発生しました {0}
+JDBCStore.close=データベース接続 {0} をクローズ中の例外です
+JDBCStore.loading=セッション {0} をデータベース {1} からロードします
+JDBCStore.removing=セッション {0} をデータベース {1} から削除します
+JDBCStore.saving=セッション {0} をデータベース {1} に保存します
+
+applicationSession.session.ise=無効なセッション状態です
+applicationSession.value.iae=null値です
+
+fileStore.loading=セッション {0} をファイル {1} からロードします
+fileStore.removing=セッション {0} をファイル {1} から削除します
+fileStore.saving=セッション {0} をファイル {1} に保存します
+
+managerBase.createSession.ise=createSession: アクティブセッションが多すぎます
+managerBase.sessionTimeout=無効なセッションタイムアウト設定です {0}
+
+persistentManager.activeSession=セッション {0} は{1}秒間アイドルしています
+persistentManager.backupException=セッション {0} をバックアップする時に例外が発生しました: {1}
+persistentManager.backupMaxIdle={1}秒間アイドルしているセッション {0} を保存するためにバックアップしています
+persistentManager.deserializeError=セッション {0} をデシリアライズ中のエラーです: {1}
+persistentManager.expiring={0} のセッションを保存する前に期限切れになりました
+persistentManager.loading={0} の持続されたセッションをロードします
+persistentManager.processSwaps=セッションをスワップするためにチェックしています, メモリ中に {0} アクティブセッションが存在します
+persistentManager.serializeError=セッション {0} をシリアライズ中のエラーです: {1}
+persistentManager.swapIn=セッション {0} をスワップインしています
+persistentManager.swapMaxIdle={1}秒間アイドルしているセッション {0} を保存するためにスワップしています
+persistentManager.swapTooManyActive=セッションが多すぎるので、{1}秒アイドルしているセッション {0} をスワップアウトします
+persistentManager.tooManyActive=アクティブセッションが多すぎます、{0}、スワップアウトするためにアイドルセッションを探しています
+persistentManager.unloading={0} の持続されたセッションを保存します
+
+serverSession.value.iae=null値です
+
+standardManager.expireException=processsExpire: セッションの終了処理中の例外です
+standardManager.loading={0} から持続されたセッションをロードしています
+standardManager.loading.cnfe=持続されたセッションをロード中にClassNotFoundExceptionが発生しました: {0}
+standardManager.loading.ioe=持続されたセッションをロード中のIOExceptionです: {0}
+standardManager.managerLoad=永続記憶装置からセッションをロード中の例外です
+standardManager.managerUnload=永続記憶装置にセッションをアンロード中の例外です
+standardManager.unloading=持続されたセッションを {0} に保存します
+standardManager.unloading.ioe=持続されたセッションの保存中のIOExceptionです: {0}
+
+standardSession.attributeEvent=セッション属性イベントリスナが例外を投げました
+standardSession.bindingEvent=セッションバインディングイベントリスナが例外を投げました
+standardSession.getAttribute.ise=getAttribute: セッションは既に無効化されています
+standardSession.getAttributeNames.ise=getAttributeNames: セッションは既に無効化されています
+standardSession.getCreationTime.ise=getCreationTime: セッションは既に無効化されています
+standardSession.getId.ise=getId: セッションは既に無効化されています
+standardSession.getLastAccessedTime.ise=getLastAccessedTime: セッションは既に無効化されています
+standardSession.getMaxInactiveInterval.ise=getMaxInactiveInterval: セッションは既に無効化されています
+standardSession.getThisAccessedTime.ise=getThisAccessedTime: セッションは既に無効化されています
+standardSession.getValueNames.ise=getValueNames: セッションは既に無効化されています
+standardSession.invalidate.ise=invalidate: セッションは既に無効化されています
+standardSession.isNew.ise=isNew: セッションは既に無効化されています
+standardSession.notSerializable=セッション {1} のためにセッション属性 {0} をシリアライズできません
+standardSession.removeAttribute.ise=removeAttribute: セッションは既に無効化されています
+standardSession.sessionCreated=セッションID = {0} を生成しました
+standardSession.sessionEvent=セッションイベントリスナが例外を投げました
+standardSession.setAttribute.iae=setAttribute: シリアライズできない属性です
+standardSession.setAttribute.ise=setAttribute: セッションは既に無効化されています
+standardSession.setAttribute.namenull=setAttribute: nameパラメタはnullであってはいけません
diff --git a/java/org/apache/catalina/startup/LocalStrings.properties b/java/org/apache/catalina/startup/LocalStrings.properties
index e3ff0cd..ffcbd88 100644
--- a/java/org/apache/catalina/startup/LocalStrings.properties
+++ b/java/org/apache/catalina/startup/LocalStrings.properties
@@ -19,13 +19,14 @@ catalina.serverStartFail=The required Server component failed to start so Tomcat
 catalina.shutdownHookFail=The shutdown hook experienced an error while trying to stop the server
 catalina.stopServer=No shutdown port configured. Shut down server through OS signal. Server not shut down.
 catalina.stopServer.connectException=Could not contact {0}:{1}. Tomcat may not be running.
+
 contextConfig.altDDNotFound=alt-dd file {0} not found
 contextConfig.annotationsStackOverflow=Unable to complete the scan for annotations for web application [{0}] due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was [{1}]
-contextConfig.applicationUrl=Unable to determine URL for application web.xml
 contextConfig.applicationMissing=Missing application web.xml, using defaults only
 contextConfig.applicationParse=Parse error in application web.xml file at {0}
 contextConfig.applicationPosition=Occurred at line {0} column {1}
 contextConfig.applicationStart=Parsing application web.xml file at {0}
+contextConfig.applicationUrl=Unable to determine URL for application web.xml
 contextConfig.authenticatorConfigured=Configured an authenticator for method {0}
 contextConfig.authenticatorInstantiate=Cannot instantiate an authenticator of class {0}
 contextConfig.authenticatorMissing=Cannot configure an authenticator for method {0}
@@ -48,9 +49,9 @@ contextConfig.inputStreamJar=Unable to process Jar entry [{0}] from Jar [{1}] fo
 contextConfig.inputStreamJndi=Unable to process resource element [{0}] for annotations
 contextConfig.invalidSci=The ServletContentInitializer [{0}] could not be created
 contextConfig.invalidSciHandlesTypes=Unable to load class [{0}] to check against the @HandlesTypes annotation of one or more ServletContentInitializers.
-contextConfig.jarUrl=The connection created for URL [{0}] was not a JarUrlConnection
 contextConfig.jar=Unable to process resource [{0}] for annotations
 contextConfig.jarFile=Unable to process Jar [{0}] for annotations
+contextConfig.jarUrl=The connection created for URL [{0}] was not a JarUrlConnection
 contextConfig.jndiUrl=Unable to process JNDI URL [{0}] for annotations
 contextConfig.jndiUrlNotDirContextConn=The connection created for URL [{0}] was not a DirContextURLConnection
 contextConfig.jspFile.error=JSP file {0} must start with a ''/''
@@ -73,18 +74,23 @@ contextConfig.unknownUrlProtocol=The URL protocol [{0}] was not recognised durin
 contextConfig.urlPatternValue=Both the urlPatterns and value attributes were set for the {0} annotation on class [{1}]
 contextConfig.webinfClassesUrl=Unable to determine URL for [{0}]
 contextConfig.xmlSettings=Context [{0}] will parse web.xml and web-fragment.xml files with validation:{1} and namespaceAware:{2}
+
+embedded.authenticatorNotInstanceOfValve=Specified Authenticator is not a Valve
 embedded.noEngines=No engines have been defined yet
 embedded.notmp=Cannot find specified temporary folder at {0}
-embedded.authenticatorNotInstanceOfValve=Specified Authenticator is not a Valve
+
 engineConfig.cce=Lifecycle event data object {0} is not an Engine
 engineConfig.start=EngineConfig: Processing START
 engineConfig.stop=EngineConfig: Processing STOP
+
 expandWar.copy=Error copying {0} to {1}
 expandWar.createFailed=Unable to create the directory [{0}]
 expandWar.deleteFailed=[{0}] could not be completely deleted. The presence of the remaining files may cause problems
 expandWar.illegalPath=The archive [{0}] is malformed and will be ignored: an entry contains an illegal path [{1}] which was not expanded to [{2}] since that is outside of the defined docBase [{3}]
 expandWar.missingJarEntry=Cannot get input stream for JarEntry "{0}" - broken WAR file?
+
 failedContext.start=Failed to process either the global, per-host or context-specific context.xml file therefore the [{0}] Context cannot be started.
+
 hostConfig.appBase=Application base [{1}] for host [{0}] does not exist or is not a directory. deployOnStartUp and autoDeploy have been set to false to prevent deployment errors. Other errors may still occur.
 hostConfig.canonicalizing=Unable to determine canonical path for [{0}] while attempting to undeploy [{1}]
 hostConfig.cce=Lifecycle event data object {0} is not a Host
@@ -92,22 +98,22 @@ hostConfig.context.remove=Error while removing context [{0}]
 hostConfig.context.restart=Error during context [{0}] restart
 hostConfig.createDirs=Unable to create directory for deployment: {0}
 hostConfig.deploy=Deploying web application directory {0}
+hostConfig.deploy.error=Exception while deploying web application directory {0}
 hostConfig.deployDescriptor=Deploying configuration descriptor {0}
 hostConfig.deployDescriptor.blocked=The web application with context path [{0}] was not deployed because it contained a deployment descriptor [{1}] which may include configuration necessary for the secure deployment of the application but processing of deployment descriptors is prevented by the deployXML setting of this host. An appropriate descriptor should be created at [{2}] to deploy this application.
 hostConfig.deployDescriptor.error=Error deploying configuration descriptor {0}
-hostConfig.deployDescriptor.threaded.error=Error waiting for multi-thread deployment of context descriptors to complete
-hostConfig.deployDescriptor.localDocBaseSpecified=A docBase {0} inside the host appBase has been specified, and will be ignored
 hostConfig.deployDescriptor.finished=Deployment of configuration descriptor {0} has finished in {1} ms
+hostConfig.deployDescriptor.localDocBaseSpecified=A docBase {0} inside the host appBase has been specified, and will be ignored
+hostConfig.deployDescriptor.threaded.error=Error waiting for multi-thread deployment of context descriptors to complete
 hostConfig.deployDir=Deploying web application directory {0}
 hostConfig.deployDir.error=Error deploying web application directory {0}
-hostConfig.deployDir.threaded.error=Error waiting for multi-thread deployment of directories to complete
 hostConfig.deployDir.finished=Deployment of web application directory {0} has finished in {1} ms
+hostConfig.deployDir.threaded.error=Error waiting for multi-thread deployment of directories to complete
 hostConfig.deployWar=Deploying web application archive {0}
 hostConfig.deployWar.error=Error deploying web application archive {0}
+hostConfig.deployWar.finished=Deployment of web application archive {0} has finished in {1} ms
 hostConfig.deployWar.hiddenDir=The directory [{0}] will be ignored because the WAR [{1}] takes priority and unpackWARs is false
 hostConfig.deployWar.threaded.error=Error waiting for multi-thread deployment of WAR files to complete
-hostConfig.deployWar.finished=Deployment of web application archive {0} has finished in {1} ms
-hostConfig.deploy.error=Exception while deploying web application directory {0}
 hostConfig.deploying=Deploying discovered web applications
 hostConfig.docBaseUrlInvalid=The provided docBase cannot be expressed as a URL
 hostConfig.expand=Expanding web application archive {0}
@@ -118,22 +124,24 @@ hostConfig.illegalWarName=The war name [{0}] is invalid. The archive will be ign
 hostConfig.jmx.register=Register context [{0}] failed
 hostConfig.jmx.unregister=Unregister context [{0}] failed
 hostConfig.reload=Reloading context [{0}]
-hostConfig.removeXML=Context [{0}] is undeployed
 hostConfig.removeDIR=Directory {0} is undeployed
 hostConfig.removeWAR=War {0} is undeployed
+hostConfig.removeXML=Context [{0}] is undeployed
+hostConfig.resourceNotAbsolute=Unable to remove resource from context [{0}] since [{1}] is not absolute
 hostConfig.start=HostConfig: Processing START
 hostConfig.stop=HostConfig: Processing STOP
 hostConfig.undeploy=Undeploying context [{0}]
-hostConfig.resourceNotAbsolute=Unable to remove resource from context [{0}] since [{1}] is not absolute
 hostConfig.undeployVersion=Undeploying old version of context [{0}] which has no active session
+
 passwdUserDatabase.readFail=Failed to obtain a complete set of users from /etc/passwd
+
 tldConfig.addListeners=Adding {0} listeners from TLD files
 tldConfig.cce=Lifecycle event data object {0} is not a Context
 tldConfig.dirFail=Failed to process directory [{0}] for TLD files
 tldConfig.dirScan=Scanning for TLD files in directory [{0}]
-tldConfig.noTldInDir=No TLD files were found in directory [{0}].
 tldConfig.execute=Error processing TLD files for context with name [{0}]
 tldConfig.jarFail=Failed to process JAR [{0}] for TLD files
+tldConfig.noTldInDir=No TLD files were found in directory [{0}].
 tldConfig.noTldInJar=No TLD files were found in [{0}]. Consider adding the JAR to the org.apache.catalina.startup.TldConfig.jarsToSkip property in CATALINA_BASE/conf/catalina.properties file.
 tldConfig.noTldSummary=At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
 tldConfig.webinfFail=Failed to process TLD found at [{0}]
@@ -149,26 +157,29 @@ tomcat.addWebapp.conflictFile=Unable to deploy WAR at [{0}] to context path [{1}
 
 userConfig.database=Exception loading user database
 userConfig.deploy=Deploying web application for user {0}
+userConfig.deploy.threaded.error=Error waiting for multi-thread deployment of user directories to complete
 userConfig.deploying=Deploying user web applications
 userConfig.error=Error deploying web application for user {0}
 userConfig.start=UserConfig: Processing START
 userConfig.stop=UserConfig: Processing STOP
-userConfig.deploy.threaded.error=Error waiting for multi-thread deployment of user directories to complete
+
+versionLoggerListener.arg=Command line argument: {0}
+versionLoggerListener.catalina.base=CATALINA_BASE:         {0}
+versionLoggerListener.catalina.home=CATALINA_HOME:         {0}
+versionLoggerListener.env=Environment variable:  {0} = {1}
+versionLoggerListener.java.home=Java Home:             {0}
+versionLoggerListener.os.arch=Architecture:          {0}
+versionLoggerListener.os.name=OS Name:               {0}
+versionLoggerListener.os.version=OS Version:            {0}
+versionLoggerListener.prop=System property:       {0} = {1}
+versionLoggerListener.serverInfo.server.built=Server built:          {0}
+versionLoggerListener.serverInfo.server.number=Server number:         {0}
 versionLoggerListener.serverInfo.server.version=Server version:        {0}
-versionLoggerListener.serverInfo.server.built  =Server built:          {0}
-versionLoggerListener.serverInfo.server.number =Server number:         {0}
-versionLoggerListener.os.name                  =OS Name:               {0}
-versionLoggerListener.os.version               =OS Version:            {0}
-versionLoggerListener.os.arch                  =Architecture:          {0}
-versionLoggerListener.java.home                =Java Home:             {0}
-versionLoggerListener.vm.version               =JVM Version:           {0}
-versionLoggerListener.vm.vendor                =JVM Vendor:            {0}
-versionLoggerListener.catalina.base            =CATALINA_BASE:         {0}
-versionLoggerListener.catalina.home            =CATALINA_HOME:         {0}
-versionLoggerListener.arg                      =Command line argument: {0}
-versionLoggerListener.env                      =Environment variable:  {0} = {1}
-versionLoggerListener.prop                     =System property:       {0} = {1}
+versionLoggerListener.vm.vendor=JVM Vendor:            {0}
+versionLoggerListener.vm.version=JVM Version:           {0}
+
 webAnnotationSet.invalidInjection=Invalid method resource injection annotation.
+
 webRuleSet.absoluteOrdering=<absolute-ordering> element not valid in web-fragment.xml and will be ignored
 webRuleSet.absoluteOrderingCount=<absolute-ordering> element is limited to 1 occurrence
 webRuleSet.nameCount=<name> element is limited to 1 occurrence
@@ -176,5 +187,6 @@ webRuleSet.postconstruct.duplicate=Duplicate post construct method definition fo
 webRuleSet.predestroy.duplicate=Duplicate pre destroy method definition for class {0}
 webRuleSet.relativeOrdering=<ordering> element not valid in web.xml and will be ignored
 webRuleSet.relativeOrderingCount=<ordering> element is limited to 1 occurrence
+
 xmlErrorHandler.error=Non-fatal error [{0}] reported processing [{1}].
 xmlErrorHandler.warning=Warning [{0}] reported processing [{1}].
diff --git a/java/org/apache/catalina/startup/LocalStrings_es.properties b/java/org/apache/catalina/startup/LocalStrings_es.properties
index d4dd49f..d712a0a 100644
--- a/java/org/apache/catalina/startup/LocalStrings_es.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_es.properties
@@ -13,114 +13,124 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-catalina.configFail = No pude cargar la configuraci\u00F3n del servidor desde [{0}]
-catalina.shutdownHookFail = El gancho de apagado ha experimentado un error al intentar para el servidor
-catalina.stopServer = No se ha configurado puerto de apagado. Apagando el servidor a trav\u00E9s de se\u00F1al de SO. Servidor no apagado.
-contextConfig.altDDNotFound = fichero alt-dd {0} no hallado
-contextConfig.applicationUrl = No pude determinar la URL para la aplicaci\u00F3n web.xml
-contextConfig.applicationMissing = Falta el archivo web.xml de la aplicaci\u00F3n. Utilizando los par\u00E1metros por defecto
-contextConfig.applicationParse = Error de evaluaci\u00F3n (parse) en el archivo web.xml de la aplicaci\u00F3n a {0}
-contextConfig.applicationPosition = Se ha producido en la l\u00EDnea {0} columna {1}
-contextConfig.applicationStart = Analizando fichero de aplicaci\u00F3n web.xml en {0}
-contextConfig.authenticatorConfigured = Configuraci\u00F3n de un autentificador (authenticator) para el m\u00E9todo {0}
-contextConfig.authenticatorInstantiate = Imposible de instanciar un autenticador (authenticator) para la clase {0}
-contextConfig.authenticatorMissing = Imposible de configurar un autentificador (authenticator) para el m\u00E9todo {0}
-contextConfig.authenticatorResources = Imposible de cargar la lista de correspondencia de autenticadores (authenticators)
-contextConfig.badUrl = No pude procesar descriptor de contextor [{0}]
-contectConfig.baseError = No pude determinar $CATALINA_BASE
-contextConfig.cce = El objeto de los datos de evento de ciclo de vida (Lifecycle event data object) {0} no es un Contexto
-contextConfig.contextClose = Error cerrando context.xml\: {0}
-contextConfig.contextMissing = Falta context.xml\: {0}
-contextConfig.contextParse = Error de an\u00E1lisis en context.xml\: {0}
-contextConfig.defaultError = Error al procesar web.xml por defecto con nombre {0} en {1}
-contextConfig.defaultMissing = No se ha hallado web.xml global
-contextConfig.defaultPosition = Se ha producido en la l\u00EDnea {0} columna {1}
-contextConfig.destroy = ContextConfig\: Destruyendo
-contextConfig.fileUrl = No puedo crear un objeto Fichero desde la URL [{0}]
-contextConfig.fixDocBase = Excepci\u00F3n arreglando docBase\: {0}
-contextConfig.init = ContextConfig\: Inicializando
-contextConfig.inputStreamFile = No puedo procesar el fichero [{0}] para las anotaciones
-contextConfig.inputStreamJar = No puedo procesar la entrada de Jar [{0}] desde el Jar [{1}] para las anotaciones
-contextConfig.inputStreamJndi = No puedo procesar el elemento de recurso [{0}] para las anotaciones
-contextConfig.invalidSci = No se pudo crear el ServletContentInitializer [{0}]
-contextConfig.invalidSciHandlesTypes = No puedo cargar la clase [{0}] para revisar contra la anotaci\u00F3n  @HandlesTypes de uno o m\u00E1s ServletContentInitializers.
-contextConfig.jarUrl = La conexi\u00F3n creada para la URL [{0}] no era una JarUrlConnection
-contextConfig.jar = No puedo crear el recurso [{0}] para las anotaciones
-contextConfig.jndiUrl = No puedo procesar la URL JNDI [{0}] para las anotaciones
-contextConfig.jndiUrlNotDirContextConn = La conexi\u00F3n creada para la URL [{0}] no era una DirContextURLConnection
-contextConfig.jspFile.error = El archivo JSP {0} debe de comenzar con ''/''
-contextConfig.jspFile.warning = AVISO\: El archivo JSP {0} debe de comenzar con ''/'' en Servlet 2.4
-contextConfig.missingRealm = Alg\u00FAn reino (realm) no ha sido configurado para realizar la autenticaci\u00F3n
-contextConfig.resourceJarFail = Hallado JAR fallido a los procesos en URL [{0}] para recursos est\u00E1ticos a ser incluidos en contexto con nombre [{0}]
-contextConfig.role.auth = El nombre de papel de seguridad {0} es usado en un <auth-constraint> sin haber sido definido en <security-role>
-contextConfig.role.link = El nombre de papel de seguridad {0} es usado en un <role-link> sin haber sido definido en <security-role>
-contextConfig.role.runas = El nombre de papel de seguridad {0} es usado en un <run-as> sin haber sido definido en <security-role>
-contextConfig.servletContainerInitializerFail = Hallado JAR fallido a proceso en URL [{0}] para ServletContainerInitializers para el contexto con nombre [{1}]
-contextConfig.start = "ContextConfig"\: Procesando "START"
-contextConfig.stop = "ContextConfig"\: Procesando "STOP"
-contextConfig.unavailable = Esta aplicaci\u00F3n est\u00E1 marcada como no disponible debido a los errores precedentes
-contextConfig.unknownUrlProtocol = El protocolo de URL [{0}] no fue reconocido durante el proceso de anotaciones. Se ignor\u00F3 la URL [{1}].
-contextConfig.urlPatternValue = Ambis valores de urlPatterns y atributo fuerno puestos para anotaci\u00F3n de {0} de la clase [{1}]
-contextConfig.webinfClassesUrl = No pude determinar la URL para WEB-INF/classes
-contextConfig.xmlSettings = El contexto [{0}] analizar\u00E1 los ficheros web.xml y web-fragment.xml con validaci\u00F3n\:{1} y namespaceAware\:{2}
-embedded.noEngines = Alg\u00FAn motor (engine) no ha sido a\u00FAn definido
-embedded.notmp = No puedo hallar carpeta temporal especificada en {0}
-embedded.authenticatorNotInstanceOfValve = El Autenticado especificado no es un V\u00E1lvula
-engineConfig.cce = El objeto de los datos de evento de ciclo de vida (Lifecycle event data object) {0} no es un motor (engine)
-engineConfig.start = "EngineConfig"\: Procesando "START"
-engineConfig.stop = "EngineConfig"\: Procesando "STOP"
-expandWar.copy = Error copiando {0} a {1}
-expandWar.deleteFailed = [{0}] no pudo ser completamente borrado. La presencia de los ficheros restantes puede causar problemas
-expandWar.illegalPath = The archive [{0}] is malformed and will be ignored\: an entry contains an illegal path [{1}] which was not expanded to [{2}] since that is outside of the defined docBase [{3}]
-hostConfig.canonicalizing = Error al borrar redespliegue de recursos desde contexto [{0}]
-hostConfig.cce = El objeto de los datos de evento de ciclo de vida (Lifecycle event data object) {0} no es una m\u00E1quina (host)
-hostConfig.context.remove = Error al quitar contexto [{0}]
-hostConfig.context.restart = Error durante el arranque del contexto {0}
-hostConfig.createDirs = No puedo crear directorio para despliegue\: {0}
-hostConfig.deploy = Desplieque del directorio {0} de la aplicaci\u00F3n web
-hostConfig.deployDescriptor = Desplieque del descriptor de configuraci\u00F3n {0}
-hostConfig.deployDescriptor.error = Error durante el despliegue del descriptor de configuraci\u00F3n {0}
-hostConfig.deployDescriptor.localDocBaseSpecified = Se ha especificado un docBase {0} dentro del appBase de la m\u00E1quina y ser\u00E1 ignorado
-hostConfig.deployDir = Despliegue del directorio {0} de la aplicaci\u00F3n web
-hostConfig.deployDir.error = Error durante el despliegue del directorio {0} de la aplicaci\u00F3n web
-hostConfig.deployWar = Despliegue del archivo {0} de la aplicaci\u00F3n web
-hostConfig.deployWar.error = Error durante el despliegue del archivo {0} de la aplicaci\u00F3n web
-hostConfig.deploy.error = Excepci\u00F3n en el directorio {0} de la aplicaci\u00F3n web
-hostConfig.deploying = Desplegando aplicaciones web descubiertas
-hostConfig.expand = Descompresi\u00F3n del archivo {0} de la aplicaci\u00F3n web
-hostConfig.expand.error = Excepci\u00F3n durante la descompresi\u00F3n del archivo {0} de la aplicaci\u00F3n web
-hostConfig.expanding = Descubierta descompresi\u00F3n de archivos de aplicaciones web
-hostConfig.ignorePath = Ignorando ruta [{0}] en appBase para despliegue autom\u00E1tico
-hostConfig.illegalWarName = El nombre de war [{0}] es inv\u00E1lido. El archivo ser\u00E1 ignorado.
-hostConfig.jmx.register = Fall\u00F3 el registro del contexto [{0}]
-hostConfig.jmx.unregister = Fall\u00F3 el desregistro del contexto [{0}]
-hostConfig.reload = Fall\u00F3 la recarga del contexto [{0}]
-hostConfig.removeXML = El context [{0}] est\u00E1 replegado
-hostConfig.removeDIR = El directorio [{0}] est\u00E1 replegado
-hostConfig.removeWAR = El War [{0}] est\u00E1 replegado
-hostConfig.start = "HostConfig"\: Procesando "START"
-hostConfig.stop = "HostConfig"\: Procesando "STOP"
-hostConfig.undeploy = Repliegue (undeploy) de la aplicaci\u00F3n web que tiene como trayectoria de contexto {0}
-hostConfig.undeploy.error = Error durante el repliegue (undeploy) de la aplicaci\u00F3n web que tiene como trayectoria de contexto {0}
-tldConfig.addListeners = A\u00F1adiendo {0} oyentes desde ficheros TLD
-tldConfig.cce = El objeto de datos de eventos de Ciclo de vida {0} no se encuentra en el  Contexto
-tldConfig.dirFail = No pude procesar el directorio [{0}] para ficheros TLD
-tldConfig.dirScan = Explorando en busca de ficheros TLD en directorio [{0}]
-tldConfig.execute = Error al procesar ficheros TLD para el contexto con nombre [{0}]
-tldConfig.jarFail = No pude procesar el JAR [{0}] para ficheros TLD
-tldConfig.webinfFail = No pude procesar TLD hallado en [{0}]
-tldConfig.webinfScan = Esplorando WEB-INF en busca de ficheros TLD en [{0}]
-tldConfig.webxmlAdd = A\u00F1adiendo ruta [{0}] para URI [{1}]
-tldConfig.webxmlFail = No pude procesar TLD con ruta [{0}] y URI [{1}]
-tldConfig.webxmlSkip = La ruta [{1}] saltada desde URI [{0}] es un duplicado
-tldConfig.webxmlStart = Explorando elementos <taglib> en web.xml
-userConfig.database = Excepci\u00F3n durante la carga de base de datos de usuario
-userConfig.deploy = Despliegue de la aplicaci\u00F3n web para el usuario {0}
-userConfig.deploying = Desplegando aplicaciones web para el usuario
-userConfig.error = Error durante el despliegue de la aplicaci\u00F3n web para el usario {0}
-userConfig.start = "UserConfig"\: Tratamiento del "START"
-userConfig.stop = "UserConfig"\: Tratamiento del "STOP"
-webRuleSet.absoluteOrdering = Elemento <absolute-ordering> no v\u00E1lido en web-fragment.xml y ser\u00E1 ignorado
-webRuleSet.relativeOrdering = elemento <ordering> no v\u00E1lido en web.xml y ser\u00E1 ignorado
-xmlErrorHandler.error = Error no fatal [{0}] reportado por el proceso [{1}].
-xmlErrorHandler.warning = Aviso [{0}] reportado por el proceso [{1}].
+catalina.configFail=No pude cargar la configuración del servidor desde [{0}]
+catalina.shutdownHookFail=El gancho de apagado ha experimentado un error al intentar para el servidor
+catalina.stopServer=No se ha configurado puerto de apagado. Apagando el servidor a través de señal de SO. Servidor no apagado.
+
+contectConfig.baseError=No pude determinar $CATALINA_BASE
+
+contextConfig.altDDNotFound=fichero alt-dd {0} no hallado
+contextConfig.applicationMissing=Falta el archivo web.xml de la aplicación. Utilizando los parámetros por defecto
+contextConfig.applicationParse=Error de evaluación (parse) en el archivo web.xml de la aplicación a {0}
+contextConfig.applicationPosition=Se ha producido en la línea {0} columna {1}
+contextConfig.applicationStart=Analizando fichero de aplicación web.xml en {0}
+contextConfig.applicationUrl=No pude determinar la URL para la aplicación web.xml
+contextConfig.authenticatorConfigured=Configuración de un autentificador (authenticator) para el método {0}
+contextConfig.authenticatorInstantiate=Imposible de instanciar un autenticador (authenticator) para la clase {0}
+contextConfig.authenticatorMissing=Imposible de configurar un autentificador (authenticator) para el método {0}
+contextConfig.authenticatorResources=Imposible de cargar la lista de correspondencia de autenticadores (authenticators)
+contextConfig.badUrl=No pude procesar descriptor de contextor [{0}]
+contextConfig.cce=El objeto de los datos de evento de ciclo de vida (Lifecycle event data object) {0} no es un Contexto
+contextConfig.contextClose=Error cerrando context.xml: {0}
+contextConfig.contextMissing=Falta context.xml: {0}
+contextConfig.contextParse=Error de análisis en context.xml: {0}
+contextConfig.defaultError=Error al procesar web.xml por defecto con nombre {0} en {1}
+contextConfig.defaultMissing=No se ha hallado web.xml global
+contextConfig.defaultPosition=Se ha producido en la línea {0} columna {1}
+contextConfig.destroy=ContextConfig: Destruyendo
+contextConfig.fileUrl=No puedo crear un objeto Fichero desde la URL [{0}]
+contextConfig.fixDocBase=Excepción arreglando docBase: {0}
+contextConfig.init=ContextConfig: Inicializando
+contextConfig.inputStreamFile=No puedo procesar el fichero [{0}] para las anotaciones
+contextConfig.inputStreamJar=No puedo procesar la entrada de Jar [{0}] desde el Jar [{1}] para las anotaciones
+contextConfig.inputStreamJndi=No puedo procesar el elemento de recurso [{0}] para las anotaciones
+contextConfig.invalidSci=No se pudo crear el ServletContentInitializer [{0}]
+contextConfig.invalidSciHandlesTypes=No puedo cargar la clase [{0}] para revisar contra la anotación  @HandlesTypes de uno o más ServletContentInitializers.
+contextConfig.jar=No puedo crear el recurso [{0}] para las anotaciones
+contextConfig.jarUrl=La conexión creada para la URL [{0}] no era una JarUrlConnection
+contextConfig.jndiUrl=No puedo procesar la URL JNDI [{0}] para las anotaciones
+contextConfig.jndiUrlNotDirContextConn=La conexión creada para la URL [{0}] no era una DirContextURLConnection
+contextConfig.jspFile.error=El archivo JSP {0} debe de comenzar con ''/''
+contextConfig.jspFile.warning=AVISO: El archivo JSP {0} debe de comenzar con ''/'' en Servlet 2.4
+contextConfig.missingRealm=Algún reino (realm) no ha sido configurado para realizar la autenticación
+contextConfig.resourceJarFail=Hallado JAR fallido a los procesos en URL [{0}] para recursos estáticos a ser incluidos en contexto con nombre [{0}]
+contextConfig.role.auth=El nombre de papel de seguridad {0} es usado en un <auth-constraint> sin haber sido definido en <security-role>
+contextConfig.role.link=El nombre de papel de seguridad {0} es usado en un <role-link> sin haber sido definido en <security-role>
+contextConfig.role.runas=El nombre de papel de seguridad {0} es usado en un <run-as> sin haber sido definido en <security-role>
+contextConfig.servletContainerInitializerFail=Hallado JAR fallido a proceso en URL [{0}] para ServletContainerInitializers para el contexto con nombre [{1}]
+contextConfig.start="ContextConfig": Procesando "START"
+contextConfig.stop="ContextConfig": Procesando "STOP"
+contextConfig.unavailable=Esta aplicación está marcada como no disponible debido a los errores precedentes
+contextConfig.unknownUrlProtocol=El protocolo de URL [{0}] no fue reconocido durante el proceso de anotaciones. Se ignoró la URL [{1}].
+contextConfig.urlPatternValue=Ambis valores de urlPatterns y atributo fuerno puestos para anotación de {0} de la clase [{1}]
+contextConfig.webinfClassesUrl=No pude determinar la URL para WEB-INF/classes
+contextConfig.xmlSettings=El contexto [{0}] analizará los ficheros web.xml y web-fragment.xml con validación:{1} y namespaceAware:{2}
+
+embedded.authenticatorNotInstanceOfValve=El Autenticado especificado no es un Válvula
+embedded.noEngines=Algún motor (engine) no ha sido aún definido
+embedded.notmp=No puedo hallar carpeta temporal especificada en {0}
+
+engineConfig.cce=El objeto de los datos de evento de ciclo de vida (Lifecycle event data object) {0} no es un motor (engine)
+engineConfig.start="EngineConfig": Procesando "START"
+engineConfig.stop="EngineConfig": Procesando "STOP"
+
+expandWar.copy=Error copiando {0} a {1}
+expandWar.deleteFailed=[{0}] no pudo ser completamente borrado. La presencia de los ficheros restantes puede causar problemas
+expandWar.illegalPath=The archive [{0}] is malformed and will be ignored: an entry contains an illegal path [{1}] which was not expanded to [{2}] since that is outside of the defined docBase [{3}]
+
+hostConfig.canonicalizing=Error al borrar redespliegue de recursos desde contexto [{0}]
+hostConfig.cce=El objeto de los datos de evento de ciclo de vida (Lifecycle event data object) {0} no es una máquina (host)
+hostConfig.context.remove=Error al quitar contexto [{0}]
+hostConfig.context.restart=Error durante el arranque del contexto {0}
+hostConfig.createDirs=No puedo crear directorio para despliegue: {0}
+hostConfig.deploy=Desplieque del directorio {0} de la aplicación web
+hostConfig.deploy.error=Excepción en el directorio {0} de la aplicación web
+hostConfig.deployDescriptor=Desplieque del descriptor de configuración {0}
+hostConfig.deployDescriptor.error=Error durante el despliegue del descriptor de configuración {0}
+hostConfig.deployDescriptor.localDocBaseSpecified=Se ha especificado un docBase {0} dentro del appBase de la máquina y será ignorado
+hostConfig.deployDir=Despliegue del directorio {0} de la aplicación web
+hostConfig.deployDir.error=Error durante el despliegue del directorio {0} de la aplicación web
+hostConfig.deployWar=Despliegue del archivo {0} de la aplicación web
+hostConfig.deployWar.error=Error durante el despliegue del archivo {0} de la aplicación web
+hostConfig.deploying=Desplegando aplicaciones web descubiertas
+hostConfig.expand=Descompresión del archivo {0} de la aplicación web
+hostConfig.expand.error=Excepción durante la descompresión del archivo {0} de la aplicación web
+hostConfig.expanding=Descubierta descompresión de archivos de aplicaciones web
+hostConfig.ignorePath=Ignorando ruta [{0}] en appBase para despliegue automático
+hostConfig.illegalWarName=El nombre de war [{0}] es inválido. El archivo será ignorado.
+hostConfig.jmx.register=Falló el registro del contexto [{0}]
+hostConfig.jmx.unregister=Falló el desregistro del contexto [{0}]
+hostConfig.reload=Falló la recarga del contexto [{0}]
+hostConfig.removeDIR=El directorio [{0}] está replegado
+hostConfig.removeWAR=El War [{0}] está replegado
+hostConfig.removeXML=El context [{0}] está replegado
+hostConfig.start="HostConfig": Procesando "START"
+hostConfig.stop="HostConfig": Procesando "STOP"
+hostConfig.undeploy=Repliegue (undeploy) de la aplicación web que tiene como trayectoria de contexto {0}
+hostConfig.undeploy.error=Error durante el repliegue (undeploy) de la aplicación web que tiene como trayectoria de contexto {0}
+
+tldConfig.addListeners=Añadiendo {0} oyentes desde ficheros TLD
+tldConfig.cce=El objeto de datos de eventos de Ciclo de vida {0} no se encuentra en el  Contexto
+tldConfig.dirFail=No pude procesar el directorio [{0}] para ficheros TLD
+tldConfig.dirScan=Explorando en busca de ficheros TLD en directorio [{0}]
+tldConfig.execute=Error al procesar ficheros TLD para el contexto con nombre [{0}]
+tldConfig.jarFail=No pude procesar el JAR [{0}] para ficheros TLD
+tldConfig.webinfFail=No pude procesar TLD hallado en [{0}]
+tldConfig.webinfScan=Esplorando WEB-INF en busca de ficheros TLD en [{0}]
+tldConfig.webxmlAdd=Añadiendo ruta [{0}] para URI [{1}]
+tldConfig.webxmlFail=No pude procesar TLD con ruta [{0}] y URI [{1}]
+tldConfig.webxmlSkip=La ruta [{1}] saltada desde URI [{0}] es un duplicado
+tldConfig.webxmlStart=Explorando elementos <taglib> en web.xml
+
+userConfig.database=Excepción durante la carga de base de datos de usuario
+userConfig.deploy=Despliegue de la aplicación web para el usuario {0}
+userConfig.deploying=Desplegando aplicaciones web para el usuario
+userConfig.error=Error durante el despliegue de la aplicación web para el usario {0}
+userConfig.start="UserConfig": Tratamiento del "START"
+userConfig.stop="UserConfig": Tratamiento del "STOP"
+
+webRuleSet.absoluteOrdering=Elemento <absolute-ordering> no válido en web-fragment.xml y será ignorado
+webRuleSet.relativeOrdering=elemento <ordering> no válido en web.xml y será ignorado
+
+xmlErrorHandler.error=Error no fatal [{0}] reportado por el proceso [{1}].
+xmlErrorHandler.warning=Aviso [{0}] reportado por el proceso [{1}].
diff --git a/java/org/apache/catalina/startup/LocalStrings_fr.properties b/java/org/apache/catalina/startup/LocalStrings_fr.properties
index f78c2bf..b7295fb 100644
--- a/java/org/apache/catalina/startup/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_fr.properties
@@ -13,49 +13,53 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-contextConfig.applicationMissing=Le fichier web.xml de l''application est absent, utilisation des param\u00e8tres par d\u00e9faut
-contextConfig.applicationParse=Erreur d''\u00e9valuation (parse) dans le fichier web.xml de l''application \u00e0 {0}
-contextConfig.applicationPosition=S''est produite \u00e0 la ligne {0} colonne {1}
-contextConfig.authenticatorConfigured=Configuration d''un authentificateur (authenticator) pour la m\u00e9thode {0}
+contextConfig.applicationMissing=Le fichier web.xml de l''application est absent, utilisation des paramètres par défaut
+contextConfig.applicationParse=Erreur d''évaluation (parse) dans le fichier web.xml de l''application à {0}
+contextConfig.applicationPosition=S''est produite à la ligne {0} colonne {1}
+contextConfig.authenticatorConfigured=Configuration d''un authentificateur (authenticator) pour la méthode {0}
 contextConfig.authenticatorInstantiate=Impossible d''instancier un authentificateur (authenticator) pour la classe {0}
-contextConfig.authenticatorMissing=Impossible de configurer un authentificateur (authenticator) pour la m\u00e9thode {0}
+contextConfig.authenticatorMissing=Impossible de configurer un authentificateur (authenticator) pour la méthode {0}
 contextConfig.authenticatorResources=Impossible de charger la liste de correspondance des authentificateurs (authenticators)
-contextConfig.cce=L''objet donn\u00e9e \u00e9v\u00e8nement cycle de vie (Lifecycle event data object) {0} n''est pas un Contexte
-contextConfig.defaultPosition=S''est produite \u00e0 la ligne {0} colonne {1}
+contextConfig.cce=L''objet donnée évènement cycle de vie (Lifecycle event data object) {0} n''est pas un Contexte
+contextConfig.defaultPosition=S''est produite à la ligne {0} colonne {1}
 contextConfig.jspFile.error=Le fichier JSP {0} doit commencer par un ''/''
 contextConfig.jspFile.warning=ATTENTION: Le fichier JSP {0} doit commencer par un  ''/'' dans l''API Servlet 2.4
-contextConfig.missingRealm=Aucun royaume (realm) n''a \u00e9t\u00e9 configur\u00e9 pour r\u00e9aliser l''authentification
-contextConfig.role.auth=Le nom de r\u00f4le de s\u00e9curit\u00e9 {0} est utilis\u00e9 dans un <auth-constraint> sans avoir \u00e9t\u00e9 d\u00e9fini dans <security-role>
-contextConfig.role.link=Le nom de r\u00f4le de s\u00e9curit\u00e9 {0} est utilis\u00e9 dans un <role-link> sans avoir \u00e9t\u00e9 d\u00e9fini dans <security-role>
-contextConfig.role.runas=Le nom de r\u00f4le de s\u00e9curit\u00e9 {0} est utilis\u00e9 dans un <run-as> sans avoir \u00e9t\u00e9 d\u00e9fini dans <security-role>
+contextConfig.missingRealm=Aucun royaume (realm) n''a été configuré pour réaliser l''authentification
+contextConfig.role.auth=Le nom de rôle de sécurité {0} est utilisé dans un <auth-constraint> sans avoir été défini dans <security-role>
+contextConfig.role.link=Le nom de rôle de sécurité {0} est utilisé dans un <role-link> sans avoir été défini dans <security-role>
+contextConfig.role.runas=Le nom de rôle de sécurité {0} est utilisé dans un <run-as> sans avoir été défini dans <security-role>
 contextConfig.start="ContextConfig": Traitement du "START"
 contextConfig.stop="ContextConfig": Traitement du "STOP"
-contextConfig.unavailable=Cette application est marqu\u00e9e comme non disponible suite aux erreurs pr\u00e9c\u00e9dentes
-embedded.noEngines=Aucun moteur (engine) n''a encore \u00e9t\u00e9 d\u00e9fini
-engineConfig.cce=L''objet donn\u00e9e \u00e9v\u00e8nement cycle de vie (Lifecycle event data object) {0} n''est pas un moteur (engine)
+contextConfig.unavailable=Cette application est marquée comme non disponible suite aux erreurs précédentes
+
+embedded.noEngines=Aucun moteur (engine) n''a encore été défini
+
+engineConfig.cce=L''objet donnée évènement cycle de vie (Lifecycle event data object) {0} n''est pas un moteur (engine)
 engineConfig.start="EngineConfig": Traitement du "START"
 engineConfig.stop="EngineConfig": Traitement du "STOP"
-hostConfig.cce=L''objet donn\u00e9e \u00e9v\u00e8nement cycle de vie (Lifecycle event data object) {0} n''est pas un h\u00f4te
-hostConfig.deploy=D\u00e9ploiement du r\u00e9pertoire {0} de l''application web
-hostConfig.deployDescriptor=D\u00e9ploiement du descripteur de configuration {0}
-hostConfig.deployDescriptor.error=Erreur lors du d\u00e9ploiement du descripteur de configuration {0}
-hostConfig.deployDir=D\u00e9ploiement du r\u00e9pertoire {0} de l''application web
-hostConfig.deployDir.error=Erreur lors du d\u00e9ploiement du r\u00e9pertoire {0} de l''application web
-hostConfig.deployWar=D\u00e9ploiement de l''archive {0} de l''application web
-hostConfig.deployWar.error=Erreur lors du d\u00e9ploiement de l''archive {0} de l''application web
-hostConfig.deploy.error=Exception lors du r\u00e9pertoire {0} de l''application web
-hostConfig.deploying=D\u00e9ploiement des applications web d\u00e9couvertes (discovered)
-hostConfig.expand=D\u00e9compression de l''archive {0} de l''application web
-hostConfig.expand.error=Exception lors de la d\u00e9compression de l''archive {0} de l''application web
-hostConfig.expanding=D\u00e9compression des archives des applications web d\u00e9couvertes (discovered)
+
+hostConfig.cce=L''objet donnée évènement cycle de vie (Lifecycle event data object) {0} n''est pas un hôte
+hostConfig.deploy=Déploiement du répertoire {0} de l''application web
+hostConfig.deploy.error=Exception lors du répertoire {0} de l''application web
+hostConfig.deployDescriptor=Déploiement du descripteur de configuration {0}
+hostConfig.deployDescriptor.error=Erreur lors du déploiement du descripteur de configuration {0}
+hostConfig.deployDir=Déploiement du répertoire {0} de l''application web
+hostConfig.deployDir.error=Erreur lors du déploiement du répertoire {0} de l''application web
+hostConfig.deployWar=Déploiement de l''archive {0} de l''application web
+hostConfig.deployWar.error=Erreur lors du déploiement de l''archive {0} de l''application web
+hostConfig.deploying=Déploiement des applications web découvertes (discovered)
+hostConfig.expand=Décompression de l''archive {0} de l''application web
+hostConfig.expand.error=Exception lors de la décompression de l''archive {0} de l''application web
+hostConfig.expanding=Décompression des archives des applications web découvertes (discovered)
 hostConfig.start="HostConfig": Traitement du "START"
 hostConfig.stop="HostConfig": Traitement du "STOP"
 hostConfig.undeploy=Repli (undeploy) de l''application web ayant pour chemin de contexte {0}
 hostConfig.undeploy.error=Erreur lors du repli (undeploy) de l''application web ayant pour chemin de contexte {0}
-hostConfig.undeploying=Repli des applications web d\u00e9ploy\u00e9es
-userConfig.database=Exception lors du chargement de la base de donn\u00e9es utilisateur
-userConfig.deploy=D\u00e9ploiement de l''application web pour l''utilisateur {0}
-userConfig.deploying=D\u00e9ploiement des applications web utilisateur
-userConfig.error=Erreur lors du d\u00e9ploiement de l''application web pour l''utilisateur {0}
+hostConfig.undeploying=Repli des applications web déployées
+
+userConfig.database=Exception lors du chargement de la base de données utilisateur
+userConfig.deploy=Déploiement de l''application web pour l''utilisateur {0}
+userConfig.deploying=Déploiement des applications web utilisateur
+userConfig.error=Erreur lors du déploiement de l''application web pour l''utilisateur {0}
 userConfig.start="UserConfig": Traitement du "START"
 userConfig.stop="UserConfig": Traitement du "STOP"
diff --git a/java/org/apache/catalina/startup/LocalStrings_ja.properties b/java/org/apache/catalina/startup/LocalStrings_ja.properties
index 3539f0f..683e466 100644
--- a/java/org/apache/catalina/startup/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_ja.properties
@@ -13,53 +13,57 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-contextConfig.applicationMissing=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306eweb.xml\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u3060\u3051\u3092\u4f7f\u7528\u3057\u307e\u3059
-contextConfig.applicationParse=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306eweb.xml\u30d5\u30a1\u30a4\u30eb {0} \u306e\u89e3\u6790\u30a8\u30e9\u30fc\u3067\u3059
-contextConfig.applicationPosition={0}\u884c\u306e{1}\u5217\u76ee\u3067\u767a\u751f\u3057\u307e\u3057\u305f
-contextConfig.authenticatorConfigured=\u30e1\u30bd\u30c3\u30c9 {0} \u306e\u30aa\u30fc\u30bb\u30f3\u30c6\u30a3\u30b1\u30fc\u30bf\u3092\u8a2d\u5b9a\u3057\u307e\u3059
-contextConfig.authenticatorInstantiate=\u30af\u30e9\u30b9 {0} \u306e\u30aa\u30fc\u30bb\u30f3\u30c6\u30a3\u30b1\u30fc\u30bf\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093
-contextConfig.authenticatorMissing=\u30e1\u30bd\u30c3\u30c9 {0} \u306e\u30aa\u30fc\u30bb\u30f3\u30c6\u30a3\u30b1\u30fc\u30bf\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093
-contextConfig.authenticatorResources=\u30aa\u30fc\u30bb\u30f3\u30c6\u30a3\u30b1\u30fc\u30bf\u306e\u30de\u30c3\u30d7\u30ea\u30b9\u30c8\u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093
-contextConfig.cce=\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u30aa\u30d6\u30b8\u30a7\u30af\u30c8 {0} \u306f\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u306f\u3042\u308a\u307e\u305b\u3093
-contextConfig.defaultPosition={0}\u884c\u306e{1}\u5217\u76ee\u3067\u767a\u751f\u3057\u307e\u3057\u305f
-contextConfig.jspFile.error=JSP\u30d5\u30a1\u30a4\u30eb {0} \u306f''/''\u3067\u59cb\u307e\u3089\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-contextConfig.jspFile.warning=\u8b66\u544a: Servlet 2.4\u3067\u306fJSP\u30d5\u30a1\u30a4\u30eb {0} \u306f''/''\u3067\u59cb\u307e\u3089\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-contextConfig.missingRealm=\u8a8d\u8a3c\u3059\u308b\u305f\u3081\u306b\u30ec\u30eb\u30e0\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-contextConfig.role.auth=<security-role>\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u306a\u3044\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ed\u30fc\u30eb\u540d {0} \u304c<auth-constraint>\u306e\u4e2d\u3067\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f
-contextConfig.role.link=<security-role>\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u306a\u3044\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ed\u30fc\u30eb\u540d {0} \u304c<role-link>\u306e\u4e2d\u3067\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f
-contextConfig.role.runas=<security-role>\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u306a\u3044\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ed\u30fc\u30eb\u540d {0} \u304c<run-as>\u306e\u4e2d\u3067\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f
-contextConfig.start=ContextConfig: \u51e6\u7406\u3092\u958b\u59cb\u3057\u307e\u3059
-contextConfig.stop=ContextConfig: \u51e6\u7406\u3092\u505c\u6b62\u3057\u307e\u3059
-contextConfig.unavailable=\u524d\u306e\u30a8\u30e9\u30fc\u306e\u305f\u3081\u306b\u3053\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u5229\u7528\u3067\u304d\u306a\u3044\u3088\u3046\u306b\u30de\u30fc\u30af\u3057\u307e\u3059
-embedded.noEngines=\u307e\u3060\u30a8\u30f3\u30b8\u30f3\u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-engineConfig.cce=\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u30aa\u30d6\u30b8\u30a7\u30af\u30c8 {0} \u306f\u30a8\u30f3\u30b8\u30f3\u3067\u306f\u3042\u308a\u307e\u305b\u3093
-engineConfig.start=EngineConfig: \u51e6\u7406\u3092\u958b\u59cb\u3057\u307e\u3059
-engineConfig.stop=EngineConfig: \u51e6\u7406\u3092\u505c\u6b62\u3057\u307e\u3059
-hostConfig.cce=\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u30aa\u30d6\u30b8\u30a7\u30af\u30c8 {0} \u306f\u30db\u30b9\u30c8\u3067\u306f\u3042\u308a\u307e\u305b\u3093
-hostConfig.deploy=Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u3092\u914d\u5099\u3057\u307e\u3059
-hostConfig.deployDescriptor=\u8a2d\u5b9a\u8a18\u8ff0\u5b50 {0} \u3092\u914d\u5099\u3057\u307e\u3059
-hostConfig.deployDescriptor.error=\u8a2d\u5b9a\u8a18\u8ff0\u5b50 {0} \u3092\u914d\u5099\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059
-hostConfig.deployDir=Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u3092\u914d\u5099\u3057\u307e\u3059
-hostConfig.deployDir.error=Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u3092\u914d\u5099\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059
-hostConfig.deployWar=Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a2\u30fc\u30ab\u30a4\u30d6 {0} \u3092\u914d\u5099\u3057\u307e\u3059
-hostConfig.deployWar.error=Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a2\u30fc\u30ab\u30a4\u30d6 {0} \u3092\u914d\u5099\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059
-hostConfig.deploy.error=Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u3092\u914d\u5099\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-hostConfig.deploying=\u898b\u3064\u304b\u3063\u305fWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u914d\u5099\u3057\u307e\u3059
-hostConfig.expand=Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a2\u30fc\u30ab\u30a4\u30d6 {0} \u3092\u5c55\u958b\u3057\u307e\u3059
-hostConfig.expand.error=Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a2\u30fc\u30ab\u30a4\u30d6 {0} \u3092\u5c55\u958b\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-hostConfig.expanding=\u898b\u3064\u304b\u3063\u305fWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a2\u30fc\u30ab\u30a4\u30d6\u3092\u5c55\u958b\u3057\u307e\u3059
-hostConfig.context.restart=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8 {0} \u3092\u518d\u8d77\u52d5\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059
-hostConfig.removeXML=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8 {0} \u306e\u914d\u5099\u3092\u89e3\u9664\u3057\u307e\u3057\u305f
-hostConfig.removeDIR=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u306e\u914d\u5099\u3092\u89e3\u9664\u3057\u307e\u3057\u305f
-hostConfig.removeWAR=WAR\u30d5\u30a1\u30a4\u30eb {0} \u306e\u914d\u5099\u3092\u89e3\u9664\u3057\u307e\u3057\u305f
-hostConfig.start=HostConfig: \u51e6\u7406\u3092\u505c\u6b62\u3057\u307e\u3059
-hostConfig.stop=HostConfig: \u51e6\u7406\u3092\u505c\u6b62\u3057\u307e\u3059
-hostConfig.undeploy=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306eWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u914d\u5099\u3092\u89e3\u9664\u3057\u307e\u3059
-hostConfig.undeploy.error=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d1\u30b9 {0} \u306eWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u914d\u5099\u3092\u89e3\u9664\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059
-hostConfig.undeploying=\u914d\u5099\u3055\u308c\u305fWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u914d\u5099\u3092\u89e3\u9664\u3057\u3066\u3044\u307e\u3059
-userConfig.database=\u30e6\u30fc\u30b6\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30ed\u30fc\u30c9\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-userConfig.deploy=\u30e6\u30fc\u30b6 {0} \u306eWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u914d\u5099\u3057\u307e\u3059
-userConfig.deploying=\u30e6\u30fc\u30b6\u306eWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u914d\u5099\u3057\u307e\u3059
-userConfig.error=\u30e6\u30fc\u30b6 {0} \u306eWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u914d\u5099\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059
-userConfig.start=UserConfig: \u51e6\u7406\u3092\u958b\u59cb\u3057\u307e\u3059
-userConfig.stop=UserConfig: \u51e6\u7406\u3092\u505c\u6b62\u3057\u307e\u3059
+contextConfig.applicationMissing=アプリケーションのweb.xmlが見つかりません、デフォルトだけを使用します
+contextConfig.applicationParse=アプリケーションのweb.xmlファイル {0} の解析エラーです
+contextConfig.applicationPosition={0}行の{1}列目で発生しました
+contextConfig.authenticatorConfigured=メソッド {0} のオーセンティケータを設定します
+contextConfig.authenticatorInstantiate=クラス {0} のオーセンティケータをインスタンス化できません
+contextConfig.authenticatorMissing=メソッド {0} のオーセンティケータを設定できません
+contextConfig.authenticatorResources=オーセンティケータのマップリストをロードできません
+contextConfig.cce=ライフサイクルイベントデータオブジェクト {0} はコンテキストではありません
+contextConfig.defaultPosition={0}行の{1}列目で発生しました
+contextConfig.jspFile.error=JSPファイル {0} は''/''で始まらなければいけません
+contextConfig.jspFile.warning=警告: Servlet 2.4ではJSPファイル {0} は''/''で始まらなければいけません
+contextConfig.missingRealm=認証するためにレルムが設定されていません
+contextConfig.role.auth=<security-role>に定義されていないセキュリティロール名 {0} が<auth-constraint>の中で使用されました
+contextConfig.role.link=<security-role>に定義されていないセキュリティロール名 {0} が<role-link>の中で使用されました
+contextConfig.role.runas=<security-role>に定義されていないセキュリティロール名 {0} が<run-as>の中で使用されました
+contextConfig.start=ContextConfig: 処理を開始します
+contextConfig.stop=ContextConfig: 処理を停止します
+contextConfig.unavailable=前のエラーのためにこのアプリケーションは利用できないようにマークします
+
+embedded.noEngines=まだエンジンが定義されていません
+
+engineConfig.cce=ライフサイクルイベントデータオブジェクト {0} はエンジンではありません
+engineConfig.start=EngineConfig: 処理を開始します
+engineConfig.stop=EngineConfig: 処理を停止します
+
+hostConfig.cce=ライフサイクルイベントデータオブジェクト {0} はホストではありません
+hostConfig.context.restart=コンテキスト {0} を再起動中のエラーです
+hostConfig.deploy=Webアプリケーションディレクトリ {0} を配備します
+hostConfig.deploy.error=Webアプリケーションディレクトリ {0} を配備中の例外です
+hostConfig.deployDescriptor=設定記述子 {0} を配備します
+hostConfig.deployDescriptor.error=設定記述子 {0} を配備中のエラーです
+hostConfig.deployDir=Webアプリケーションディレクトリ {0} を配備します
+hostConfig.deployDir.error=Webアプリケーションディレクトリ {0} を配備中のエラーです
+hostConfig.deployWar=Webアプリケーションアーカイブ {0} を配備します
+hostConfig.deployWar.error=Webアプリケーションアーカイブ {0} を配備中のエラーです
+hostConfig.deploying=見つかったWebアプリケーションを配備します
+hostConfig.expand=Webアプリケーションアーカイブ {0} を展開します
+hostConfig.expand.error=Webアプリケーションアーカイブ {0} を展開中の例外です
+hostConfig.expanding=見つかったWebアプリケーションアーカイブを展開します
+hostConfig.removeDIR=ディレクトリ {0} の配備を解除しました
+hostConfig.removeWAR=WARファイル {0} の配備を解除しました
+hostConfig.removeXML=コンテキスト {0} の配備を解除しました
+hostConfig.start=HostConfig: 処理を停止します
+hostConfig.stop=HostConfig: 処理を停止します
+hostConfig.undeploy=コンテキストパス {0} のWebアプリケーションの配備を解除します
+hostConfig.undeploy.error=コンテキストパス {0} のWebアプリケーションの配備を解除中のエラーです
+hostConfig.undeploying=配備されたWebアプリケーションの配備を解除しています
+
+userConfig.database=ユーザデータベースのロード中の例外です
+userConfig.deploy=ユーザ {0} のWebアプリケーションを配備します
+userConfig.deploying=ユーザのWebアプリケーションを配備します
+userConfig.error=ユーザ {0} のWebアプリケーションを配備中のエラーです
+userConfig.start=UserConfig: 処理を開始します
+userConfig.stop=UserConfig: 処理を停止します
diff --git a/java/org/apache/catalina/tribes/membership/LocalStrings_es.properties b/java/org/apache/catalina/tribes/membership/LocalStrings_es.properties
index 7652bc2..9425aa4 100644
--- a/java/org/apache/catalina/tribes/membership/LocalStrings_es.properties
+++ b/java/org/apache/catalina/tribes/membership/LocalStrings_es.properties
@@ -13,4 +13,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-cluster.mbean.register.already = \u00A1El MBean {0} ya est\u00E1 registrado\!
+cluster.mbean.register.already=¡El MBean {0} ya está registrado!
diff --git a/java/org/apache/catalina/tribes/transport/LocalStrings.properties b/java/org/apache/catalina/tribes/transport/LocalStrings.properties
index 95ca0c0..6abbd7e 100644
--- a/java/org/apache/catalina/tribes/transport/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/transport/LocalStrings.properties
@@ -14,23 +14,23 @@
 # limitations under the License.
 
 IDataSender.ack.eof=EOF reached at local port [{0}:{1,number,integer}]
-IDataSender.ack.receive=Got ACK at local port [{0}:{1,number,integer}]
 IDataSender.ack.missing=Unable to read acknowledgement from [{0}:{1,number,integer}] in {2,number,integer} ms. Disconnecting socket, and trying again.
 IDataSender.ack.read=Read wait ack char [{2}] [{0}:{1,number,integer}]
+IDataSender.ack.receive=Got ACK at local port [{0}:{1,number,integer}]
 IDataSender.ack.start=Waiting for ACK message [{0}:{1,number,integer}]
 IDataSender.ack.wrong=Missing correct ACK after 10 bytes read at local port [{0}:{1,number,integer}]
 IDataSender.closeSocket=Sender close socket to [{0}:{1,number,integer}] (close count {2,number,integer})
 IDataSender.connect=Sender connect to [{0}:{1,number,integer}] (connect count {2,number,integer})
 IDataSender.create=Create sender [{0}:{1,number,integer}]
 IDataSender.disconnect=Sender disconnect from [{0}:{1,number,integer}] (disconnect count {2,number,integer})
-IDataSender.message.disconnect=Message transfered: Sender can''t disconnect from [{0}:{1,number,integer}]
 IDataSender.message.create=Message transfered: Sender can''t create current socket [{0}:{1,number,integer}]
+IDataSender.message.disconnect=Message transfered: Sender can''t disconnect from [{0}:{1,number,integer}]
 IDataSender.openSocket=Sender open socket to [{0}:{1,number,integer}] (open count {2,number,integer})
 IDataSender.openSocket.failure=Open sender socket [{0}:{1,number,integer}] failure! (open failure count {2,number,integer})
 IDataSender.send.again=Send data again to [{0}:{1,number,integer}]
 IDataSender.send.crash=Send message crashed [{0}:{1,number,integer}] type=[{2}], id=[{3}]
-IDataSender.send.message=Send message to [{0}:{1,number,integer}] id=[{2}] size={3,number,integer}
 IDataSender.send.lost=Message lost: [{0}:{1,number,integer}] type=[{2}], id=[{3}]
+IDataSender.send.message=Send message to [{0}:{1,number,integer}] id=[{2}] size={3,number,integer}
 IDataSender.senderModes.Configured=Configured a data replication sender for mode {0}
 IDataSender.senderModes.Instantiate=Can''t instantiate a data replication sender of class {0}
 IDataSender.senderModes.Missing=Can''t configure a data replication sender for mode {0}
diff --git a/java/org/apache/catalina/tribes/transport/LocalStrings_es.properties b/java/org/apache/catalina/tribes/transport/LocalStrings_es.properties
index 3eb00dd..8871987 100644
--- a/java/org/apache/catalina/tribes/transport/LocalStrings_es.properties
+++ b/java/org/apache/catalina/tribes/transport/LocalStrings_es.properties
@@ -13,27 +13,28 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-IDataSender.ack.eof = EOF alcanzado en puerto local [{0}\:{1,number,integer}]
-IDataSender.ack.receive = Obtenido ACK en puerto local [{0}\:{1,number,integer}]
-IDataSender.ack.missing = No puedo leer reconocimiento desde [{0}\:{1,number,integer}] en {2,number,integer} ms. Desconectando conector e intentando otra vez.
-IDataSender.ack.read = Car\u00E1cter de espera de lectura ack [{2}] [{0}\:{1,number,integer}]
-IDataSender.ack.start = Esperando por mensaje ACK [{0}\:{1,number,integer}]
-IDataSender.ack.wrong = Falta ACK correcto tras 10 bytes le\u00EDdos en puerto local [{0}\:{1,number,integer}]
-IDataSender.closeSocket = El remitente cerr\u00F3 el conector con [{0}\:{1,number,integer}] (contador de cierre {2,number,integer})
-IDataSender.connect = Remitente conectado con [{0}\:{1,number,integer}] (contador de conexi\u00F3n {2,number,integer})
-IDataSender.create = Crear remitente [{0}\:{1,number,integer}]
-IDataSender.disconnect = Remitente desconectado de [{0}\:{1,number,integer}] (contador de desconexi\u00F3n {2,number,integer})
-IDataSender.message.disconnect = Mensaje transferido\: El remitente no se pude desconectar de [{0}\:{1,number,integer}]
-IDataSender.message.create = Mensaje transferido\: El remitente no puede crear conector en curso [{0}\:{1,number,integer}]
-IDataSender.openSocket = Remitente abri\u00F3 conector con [{0}\:{1,number,integer}] (contador de apertura {2,number,integer})
-IDataSender.openSocket.failure = \u00A1No pude abrir conector de remitente [{0}\:{1,number,integer}]\! (contador de fallo de apertura {2,number,integer})
-IDataSender.send.again = Enviar datos de nuevo a [{0}\:{1,number,integer}]
-IDataSender.send.crash = Enviar mensaje se rompi\u00F3 [{0}\:{1,number,integer}] tipo\=[{2}], id\=[{3}]
-IDataSender.send.message = Enviar mensaje a [{0}\:{1,number,integer}] id\=[{2}] medida\={3,number,integer}
-IDataSender.send.lost = Mensaje perdido\: [{0}\:{1,number,integer}] tipo\=[{2}], id\=[{3}]
-IDataSender.senderModes.Configured = Configurado un remitente de r\u00E9plica de datos para el modo {0}
-IDataSender.senderModes.Instantiate = No puedo instanciar remitente de r\u00E9plica de datos de clase {0}
-IDataSender.senderModes.Missing = No puedo configurar remitente de r\u00E9plica de datos para modo {0}
-IDataSender.senderModes.Resources = No puedo cargar lista de mapeo de remitente de r\u00E9plica de datos de clase {0}
-IDataSender.stats = Estados de Env\u00EDo desde [{0}\:{1,number,integer}], Nr de bytes enviado\={2,number,integer} sobre {3} \= {4,number,integer} bytes/requerimiento, tiempo de proceso {5,number,integer} mseg, tiempo medio de proceso {6,number,integer} mseg
-PooledSender.senderDisconnectFail = No pude desconectar al remitente
+IDataSender.ack.eof=EOF alcanzado en puerto local [{0}:{1,number,integer}]
+IDataSender.ack.missing=No puedo leer reconocimiento desde [{0}:{1,number,integer}] en {2,number,integer} ms. Desconectando conector e intentando otra vez.
+IDataSender.ack.read=Carácter de espera de lectura ack [{2}] [{0}:{1,number,integer}]
+IDataSender.ack.receive=Obtenido ACK en puerto local [{0}:{1,number,integer}]
+IDataSender.ack.start=Esperando por mensaje ACK [{0}:{1,number,integer}]
+IDataSender.ack.wrong=Falta ACK correcto tras 10 bytes leídos en puerto local [{0}:{1,number,integer}]
+IDataSender.closeSocket=El remitente cerró el conector con [{0}:{1,number,integer}] (contador de cierre {2,number,integer})
+IDataSender.connect=Remitente conectado con [{0}:{1,number,integer}] (contador de conexión {2,number,integer})
+IDataSender.create=Crear remitente [{0}:{1,number,integer}]
+IDataSender.disconnect=Remitente desconectado de [{0}:{1,number,integer}] (contador de desconexión {2,number,integer})
+IDataSender.message.create=Mensaje transferido: El remitente no puede crear conector en curso [{0}:{1,number,integer}]
+IDataSender.message.disconnect=Mensaje transferido: El remitente no se pude desconectar de [{0}:{1,number,integer}]
+IDataSender.openSocket=Remitente abrió conector con [{0}:{1,number,integer}] (contador de apertura {2,number,integer})
+IDataSender.openSocket.failure=¡No pude abrir conector de remitente [{0}:{1,number,integer}]! (contador de fallo de apertura {2,number,integer})
+IDataSender.send.again=Enviar datos de nuevo a [{0}:{1,number,integer}]
+IDataSender.send.crash=Enviar mensaje se rompió [{0}:{1,number,integer}] tipo=[{2}], id=[{3}]
+IDataSender.send.lost=Mensaje perdido: [{0}:{1,number,integer}] tipo=[{2}], id=[{3}]
+IDataSender.send.message=Enviar mensaje a [{0}:{1,number,integer}] id=[{2}] medida={3,number,integer}
+IDataSender.senderModes.Configured=Configurado un remitente de réplica de datos para el modo {0}
+IDataSender.senderModes.Instantiate=No puedo instanciar remitente de réplica de datos de clase {0}
+IDataSender.senderModes.Missing=No puedo configurar remitente de réplica de datos para modo {0}
+IDataSender.senderModes.Resources=No puedo cargar lista de mapeo de remitente de réplica de datos de clase {0}
+IDataSender.stats=Estados de Envío desde [{0}:{1,number,integer}], Nr de bytes enviado={2,number,integer} sobre {3} = {4,number,integer} bytes/requerimiento, tiempo de proceso {5,number,integer} mseg, tiempo medio de proceso {6,number,integer} mseg
+
+PooledSender.senderDisconnectFail=No pude desconectar al remitente
diff --git a/java/org/apache/catalina/users/LocalStrings.properties b/java/org/apache/catalina/users/LocalStrings.properties
index 5728d20..bef4ed5 100644
--- a/java/org/apache/catalina/users/LocalStrings.properties
+++ b/java/org/apache/catalina/users/LocalStrings.properties
@@ -19,7 +19,7 @@ memoryUserDatabase.nullGroup=Null or zero length group name specified. The group
 memoryUserDatabase.nullRole=Null or zero length role name specified. The role will be ignored.
 memoryUserDatabase.nullUser=Null or zero length user name specified. The user will be ignored.
 memoryUserDatabase.readOnly=User database has been configured to be read only. Changes cannot be saved
-memoryUserDatabase.renameOld=Cannot rename original file to {0}
 memoryUserDatabase.renameNew=Cannot rename new file to {0}
+memoryUserDatabase.renameOld=Cannot rename original file to {0}
 memoryUserDatabase.writeException=IOException writing to {0}
 memoryUserDatabase.xmlFeatureEncoding=Exception configuring digester to permit java encoding names in XML files. Only IANA encoding names will be supported.
diff --git a/java/org/apache/catalina/users/LocalStrings_es.properties b/java/org/apache/catalina/users/LocalStrings_es.properties
index 17b99fb..5483cdb 100644
--- a/java/org/apache/catalina/users/LocalStrings_es.properties
+++ b/java/org/apache/catalina/users/LocalStrings_es.properties
@@ -13,12 +13,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-memoryUserDatabase.notPersistable = La base de datos de usuario no es persistible - no hay permisos de grabaci\u00F3n sobre el directorio
-memoryUserDatabase.nullGroup = Se ha especificado un nombre de grupo nulo o de tama\u00F1o cero. Se ignora el grupo.
-memoryUserDatabase.nullRole = Se ha especificado un nombre rol nulo o de tama\u00F1o cero. Se ignora el rol.
-memoryUserDatabase.nullUser = Se ha especificado un nombre de usuario nulo o de tama\u00F1o cero. Se ignora el usuario.
-memoryUserDatabase.readOnly = User database has been configured to be read only. Changes cannot be saved
-memoryUserDatabase.renameOld = Imposible de renombrar el archivo original a {0}
-memoryUserDatabase.renameNew = Imposible de renombrar el archivo nuevo a {0}
-memoryUserDatabase.writeException = IOException durante la escritura hacia {0}
-memoryUserDatabase.xmlFeatureEncoding = Excepci\u00F3n al configurar el resumidor para permitir nombres codificados en java en los ficheros XML. S\u00F3lo se soportar\u00E1n los nombres con codificaci\u00F3n IANA.
+memoryUserDatabase.notPersistable=La base de datos de usuario no es persistible - no hay permisos de grabación sobre el directorio
+memoryUserDatabase.nullGroup=Se ha especificado un nombre de grupo nulo o de tamaño cero. Se ignora el grupo.
+memoryUserDatabase.nullRole=Se ha especificado un nombre rol nulo o de tamaño cero. Se ignora el rol.
+memoryUserDatabase.nullUser=Se ha especificado un nombre de usuario nulo o de tamaño cero. Se ignora el usuario.
+memoryUserDatabase.readOnly=User database has been configured to be read only. Changes cannot be saved
+memoryUserDatabase.renameNew=Imposible de renombrar el archivo nuevo a {0}
+memoryUserDatabase.renameOld=Imposible de renombrar el archivo original a {0}
+memoryUserDatabase.writeException=IOException durante la escritura hacia {0}
+memoryUserDatabase.xmlFeatureEncoding=Excepción al configurar el resumidor para permitir nombres codificados en java en los ficheros XML. Sólo se soportarán los nombres con codificación IANA.
diff --git a/java/org/apache/catalina/users/LocalStrings_fr.properties b/java/org/apache/catalina/users/LocalStrings_fr.properties
index a69a06b..ed898da 100644
--- a/java/org/apache/catalina/users/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/users/LocalStrings_fr.properties
@@ -13,6 +13,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-memoryUserDatabase.renameOld=Impossible de renommer le fichier original en {0}
 memoryUserDatabase.renameNew=Impossible de renommer le nouveau fichier en {0}
-memoryUserDatabase.writeException=IOException lors de l''\u00e9criture vers {0}
+memoryUserDatabase.renameOld=Impossible de renommer le fichier original en {0}
+memoryUserDatabase.writeException=IOException lors de l''écriture vers {0}
diff --git a/java/org/apache/catalina/users/LocalStrings_ja.properties b/java/org/apache/catalina/users/LocalStrings_ja.properties
index 180a21f..1f6c0d0 100644
--- a/java/org/apache/catalina/users/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/users/LocalStrings_ja.properties
@@ -13,6 +13,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-memoryUserDatabase.renameOld=\u5143\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092 {0} \u306b\u5909\u66f4\u3067\u304d\u307e\u305b\u3093
-memoryUserDatabase.renameNew=\u65b0\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u540d\u3092 {0} \u306b\u5909\u66f4\u3067\u304d\u307e\u305b\u3093
-memoryUserDatabase.writeException={0} \u306b\u66f8\u304d\u8fbc\u307f\u4e2d\u306eIOException\u3067\u3059
+memoryUserDatabase.renameNew=新しいファイル名を {0} に変更できません
+memoryUserDatabase.renameOld=元のファイル名を {0} に変更できません
+memoryUserDatabase.writeException={0} に書き込み中のIOExceptionです
diff --git a/java/org/apache/catalina/util/LocalStrings.properties b/java/org/apache/catalina/util/LocalStrings.properties
index 0c1a37e..32c539d 100644
--- a/java/org/apache/catalina/util/LocalStrings.properties
+++ b/java/org/apache/catalina/util/LocalStrings.properties
@@ -13,18 +13,21 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-parameterMap.locked=No modifications are allowed to a locked ParameterMap
-resourceSet.locked=No modifications are allowed to a locked ResourceSet
-hexUtil.bad=Bad hexadecimal digit
-hexUtil.odd=Odd number of hexadecimal digits
+SecurityUtil.doAsPrivilege=An exception occurs when running the PrivilegedExceptionAction block.
+
 customObjectInputStream.logRequired=A valid logger is required for class name filtering with logging
 customObjectInputStream.nomatch=The class [{0}] did not match the regular expression [{1}] for classes allowed to be deserialized
-#Default Messages Utilized by the ExtensionValidator
-extensionValidator.web-application-manifest=Web Application Manifest
+
 extensionValidator.extension-not-found-error=ExtensionValidator[{0}][{1}]: Required extension [{2}] not found.
 extensionValidator.extension-validation-error=ExtensionValidator[{0}]: Failure to find [{1}] required extension(s).
 extensionValidator.failload=Failure loading extension [{0}]
+extensionValidator.web-application-manifest=Web Application Manifest
+
+hexUtil.bad=Bad hexadecimal digit
+hexUtil.odd=Odd number of hexadecimal digits
+
 introspection.classLoadFailed=Failed to load class [{0}]
+
 lifecycleBase.alreadyDestroyed=The destroy() method was called on component [{0}] after destroy() had already been called. The second call will be ignored.
 lifecycleBase.alreadyStarted=The start() method was called on component [{0}] after start() had already been called. The second call will be ignored.
 lifecycleBase.alreadyStopped=The stop() method was called on component [{0}] after stop() had already been called. The second call will be ignored.
@@ -36,6 +39,7 @@ lifecycleBase.invalidTransition=An invalid Lifecycle transition was attempted ([
 lifecycleBase.setState=Setting state for [{0}] to [{1}]
 lifecycleBase.startFail=Failed to start component [{0}]
 lifecycleBase.stopFail=Failed to stop component [{0}]
+
 lifecycleMBeanBase.registerFail=Failed to register object [{0}] with name [{1}] during component initialisation
 lifecycleMBeanBase.unregisterFail=Failed to unregister MBean with name [{0}] during component destruction
 lifecycleMBeanBase.unregisterNoServer=No MBean server was available to unregister the MBean [{0}]
@@ -45,13 +49,16 @@ netmask.cidrNotNumeric=The CIDR [{0}] is not numeric
 netmask.cidrTooBig=The CIDR [{0}] is greater than the address length [{1}]
 netmask.invalidAddress=The address [{0}] is not valid
 
+parameterMap.locked=No modifications are allowed to a locked ParameterMap
+
 requestUtil.convertHexDigit.notHex=[{0}] is not a hexadecimal digit
 requestUtil.parseParameters.uee=Unable to parse the parameters since the encoding [{0}] is not supported.
 requestUtil.urlDecode.missingDigit=The % character must be followed by two hexademical digits
 requestUtil.urlDecode.uee=Unable to URL decode the specified input since the encoding [{0}] is not supported.
-SecurityUtil.doAsPrivilege=An exception occurs when running the PrivilegedExceptionAction block.
+
+resourceSet.locked=No modifications are allowed to a locked ResourceSet
+
 sessionIdGeneratorBase.createRandom=Creation of SecureRandom instance for session ID generation using [{0}] took [{1}] milliseconds.
 sessionIdGeneratorBase.random=Exception initializing random number generator of class [{0}]. Falling back to java.secure.SecureRandom
 sessionIdGeneratorBase.randomAlgorithm=Exception initializing random number generator using algorithm [{0}]
 sessionIdGeneratorBase.randomProvider=Exception initializing random number generator using provider [{0}]
-
diff --git a/java/org/apache/catalina/util/LocalStrings_es.properties b/java/org/apache/catalina/util/LocalStrings_es.properties
index 5307e18..c56eb4b 100644
--- a/java/org/apache/catalina/util/LocalStrings_es.properties
+++ b/java/org/apache/catalina/util/LocalStrings_es.properties
@@ -13,14 +13,18 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-parameterMap.locked = No se permiten modificaciones en un ParameterMap bloqueado
-resourceSet.locked = No se permiten modificaciones en un ResourceSet bloqueado
-hexUtil.bad = D\u00EDgito hexadecimal incorrecto
-hexUtil.odd = N\u00FAmero de d\u00EDgitos hexadecimales impar
-#Default Messages Utilized by the ExtensionValidator
-extensionValidator.web-application-manifest = Manifiesto de Aplicaci\u00F3n Web
-extensionValidator.extension-not-found-error = ExtensionValidator[{0}][{1}]\: La extensi\u00F3n no encuentra el "{2}" requerido.
-extensionValidator.extension-validation-error = ExtensionValidator[{0}]\: Imposible de hallar la(s) extension(es) {1} requerida(s).
-extensionValidator.failload = No pude cargar la extensi\u00F3n {0}
-SecurityUtil.doAsPrivilege = Una excepci\u00F3n se ha producido durante la ejecuci\u00F3n del bloque PrivilegedExceptionAction.
-sessionIdGeneratorBase.random = Excepci\u00F3n inicializando generador de n\u00FAmeros aleatorios de clase {0}
+SecurityUtil.doAsPrivilege=Una excepción se ha producido durante la ejecución del bloque PrivilegedExceptionAction.
+
+extensionValidator.extension-not-found-error=ExtensionValidator[{0}][{1}]: La extensión no encuentra el "{2}" requerido.
+extensionValidator.extension-validation-error=ExtensionValidator[{0}]: Imposible de hallar la(s) extension(es) {1} requerida(s).
+extensionValidator.failload=No pude cargar la extensión {0}
+extensionValidator.web-application-manifest=Manifiesto de Aplicación Web
+
+hexUtil.bad=Dígito hexadecimal incorrecto
+hexUtil.odd=Número de dígitos hexadecimales impar
+
+parameterMap.locked=No se permiten modificaciones en un ParameterMap bloqueado
+
+resourceSet.locked=No se permiten modificaciones en un ResourceSet bloqueado
+
+sessionIdGeneratorBase.random=Excepción inicializando generador de números aleatorios de clase {0}
diff --git a/java/org/apache/catalina/util/LocalStrings_fr.properties b/java/org/apache/catalina/util/LocalStrings_fr.properties
index 97e1dc6..ec14b40 100644
--- a/java/org/apache/catalina/util/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/util/LocalStrings_fr.properties
@@ -13,13 +13,17 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-parameterMap.locked=Aucune modification n''est authoris\u00e9e sur un ParameterMap verrouill\u00e9
-resourceSet.locked=Aucune modification n''est authoris\u00e9e sur un ResourceSet verrouill\u00e9
-hexUtil.bad=Mauvais digit hexadecimal
-hexUtil.odd=Nombre impair de digits hexadecimaux
-#Default Messages Utilized by the ExtensionValidator
-extensionValidator.web-application-manifest=Web Application Manifest
+SecurityUtil.doAsPrivilege=Une exception s''est produite lors de l''execution du bloc PrivilegedExceptionAction.
+
 extensionValidator.extension-not-found-error=ExtensionValidator[{0}][{1}]: L''extension requise "{2}" est introuvable.
 extensionValidator.extension-validation-error=ExtensionValidator[{0}]: Impossible de trouver {1} extension(s) requise(s).
-SecurityUtil.doAsPrivilege=Une exception s''est produite lors de l''execution du bloc PrivilegedExceptionAction.
-sessionIdGeneratorBase.random=Exception durant l''initialisation de la classe du g\u00e9n\u00e9rateur de nombre al\u00e9atoire {0}
+extensionValidator.web-application-manifest=Web Application Manifest
+
+hexUtil.bad=Mauvais digit hexadecimal
+hexUtil.odd=Nombre impair de digits hexadecimaux
+
+parameterMap.locked=Aucune modification n''est authorisée sur un ParameterMap verrouillé
+
+resourceSet.locked=Aucune modification n''est authorisée sur un ResourceSet verrouillé
+
+sessionIdGeneratorBase.random=Exception durant l''initialisation de la classe du générateur de nombre aléatoire {0}
diff --git a/java/org/apache/catalina/util/LocalStrings_ja.properties b/java/org/apache/catalina/util/LocalStrings_ja.properties
index d31911a..f466f31 100644
--- a/java/org/apache/catalina/util/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/util/LocalStrings_ja.properties
@@ -13,14 +13,18 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-parameterMap.locked=\u30ed\u30c3\u30af\u3055\u308c\u305fParameterMap\u306f\u5909\u66f4\u304c\u8a31\u3055\u308c\u307e\u305b\u3093
-resourceSet.locked=\u30ed\u30c3\u30af\u3055\u308c\u305fResourceSet\u306f\u5909\u66f4\u304c\u8a31\u3055\u308c\u307e\u305b\u3093
-hexUtil.bad=\u7121\u52b9\u306a16\u9032\u6570\u5024\u3067\u3059
-hexUtil.odd=\u5947\u6570\u6841\u306e16\u9032\u6570\u5024\u3067\u3059
-#Default Messages Utilized by the ExtensionValidator
-extensionValidator.web-application-manifest=Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30de\u30cb\u30d5\u30a7\u30b9\u30c8
-extensionValidator.extension-not-found-error=ExtensionValidator[{0}][{1}]: \u5fc5\u8981\u306a\u62e1\u5f35 "{2}" \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-extensionValidator.extension-validation-error=ExtensionValidator[{0}]: \u5fc5\u8981\u306a\u62e1\u5f35 "{1}" \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
-extensionValidator.failload=\u62e1\u5f35 {0} \u306e\u30ed\u30fc\u30c9\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-SecurityUtil.doAsPrivilege=PrivilegedExceptionAction\u30d6\u30ed\u30c3\u30af\u3092\u5b9f\u884c\u4e2d\u306b\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-sessionIdGeneratorBase.random=\u30af\u30e9\u30b9 {0} \u306e\u4e71\u6570\u767a\u751f\u5668\u306e\u521d\u671f\u5316\u306e\u4f8b\u5916\u3067\u3059
+SecurityUtil.doAsPrivilege=PrivilegedExceptionActionブロックを実行中に例外が発生しました。
+
+extensionValidator.extension-not-found-error=ExtensionValidator[{0}][{1}]: 必要な拡張 "{2}" が見つかりません。
+extensionValidator.extension-validation-error=ExtensionValidator[{0}]: 必要な拡張 "{1}" が見つかりません。
+extensionValidator.failload=拡張 {0} のロードに失敗しました
+extensionValidator.web-application-manifest=Webアプリケーションマニフェスト
+
+hexUtil.bad=無効な16進数値です
+hexUtil.odd=奇数桁の16進数値です
+
+parameterMap.locked=ロックされたParameterMapは変更が許されません
+
+resourceSet.locked=ロックされたResourceSetは変更が許されません
+
+sessionIdGeneratorBase.random=クラス {0} の乱数発生器の初期化の例外です
diff --git a/java/org/apache/catalina/valves/LocalStrings.properties b/java/org/apache/catalina/valves/LocalStrings.properties
index 85a0d8f..477c8ab 100644
--- a/java/org/apache/catalina/valves/LocalStrings.properties
+++ b/java/org/apache/catalina/valves/LocalStrings.properties
@@ -13,137 +13,131 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-requestFilterValve.next=No ''next'' valve has been configured
-requestFilterValve.syntax=Syntax error in request filter pattern {0}
-valveBase.noNext=Configuration error: No ''next'' valve configured
-jdbcAccessLogValve.exception=Exception performing insert access entry
-jdbcAccessLogValve.close=Exception closing database connection
-cometConnectionManagerValve.event=Exception processing event
-cometConnectionManagerValve.listenerEvent=Exception processing session listener event
-
-# Access log valve
-accessLogValve.openFail=Failed to open access log file [{0}]
+accessLogValve.alreadyExists=Failed to rename access log from [{0}] to [{1}], file already exists.
 accessLogValve.closeFail=Failed to close access log file
 accessLogValve.deleteFail=Failed to delete old access log [{0}]
+accessLogValve.invalidLocale=Failed to set locale to [{0}]
+accessLogValve.invalidPortType=Invalid port type [{0}], using server (local) port
 accessLogValve.openDirFail=Failed to create directory [{0}] for access logs
-accessLogValve.rotateFail=Failed to rotate access log
+accessLogValve.openFail=Failed to open access log file [{0}]
 accessLogValve.renameFail=Failed to rename access log from [{0}] to [{1}]
-accessLogValve.alreadyExists=Failed to rename access log from [{0}] to [{1}], file already exists.
-accessLogValve.invalidLocale=Failed to set locale to [{0}]
+accessLogValve.rotateFail=Failed to rotate access log
 accessLogValve.unsupportedEncoding=Failed to set encoding to [{0}], will use the system default character set.
-accessLogValve.invalidPortType=Invalid port type [{0}], using server (local) port
 
-# Error report valve
-errorReportValve.statusHeader=HTTP Status {0} \u2013 {1}
-errorReportValve.type=Type
-errorReportValve.exceptionReport=Exception Report
-errorReportValve.statusReport=Status Report
-errorReportValve.message=Message
+cometConnectionManagerValve.event=Exception processing event
+cometConnectionManagerValve.listenerEvent=Exception processing session listener event
+
+# Default error page should not have '[' ']' symbols around substituted text fragments.
+# https://bz.apache.org/bugzilla/show_bug.cgi?id=61134
 errorReportValve.description=Description
 errorReportValve.exception=Exception
-errorReportValve.rootCause=Root Cause
+errorReportValve.exceptionReport=Exception Report
+errorReportValve.message=Message
+errorReportValve.noDescription=No description available
 errorReportValve.note=Note
+errorReportValve.rootCause=Root Cause
 errorReportValve.rootCauseInLogs=The full stack trace of the root cause is available in the server logs.
+errorReportValve.statusHeader=HTTP Status {0} – {1}
+errorReportValve.statusReport=Status Report
+errorReportValve.type=Type
 errorReportValve.unknownReason=Unknown Reason
-errorReportValve.noDescription=No description available
-
-remoteCidrValve.invalid=Invalid configuration provided for [{0}]. See previous messages for details.
-remoteCidrValve.noRemoteIp=Client does not have an IP address. Request denied.
 
-# Remote IP valve
-remoteIpValve.syntax=Invalid regular expressions [{0}] provided.
-remoteIpValve.invalidPortHeader=Invalid value [{0}] found for port in HTTP header [{1}]
-
-# Request filter valve - RemoteAddrValve, RemoteHostValve
-requestFilterValve.configInvalid=One or more invalid configuration settings were provided for the Remote[Addr|Host]Valve which prevented the Valve and its parent containers from starting
-requestFilterValve.deny=Denied request for [{0}] based on property [{1}]
-
-sslValve.certError=Failed to process certificate string [{0}] to create a java.security.cert.X509Certificate object
-sslValve.invalidProvider=The SSL provider specified on the connector associated with this request of [{0}] is invalid. The certificate data could not be processed.
-
-#Stuck thread detection Valve
-stuckThreadDetectionValve.notifyStuckThreadDetected=Thread "{0}" (id={6}) has been active for {1} milliseconds (since {2}) to serve the same request for {4} and may be stuck (configured threshold for this StuckThreadDetectionValve is {5} seconds). There is/are {3} thread(s) in total that are monitored by this Valve and may be stuck.
-stuckThreadDetectionValve.notifyStuckThreadCompleted=Thread "{0}" (id={3}) was previously reported to be stuck but has completed. It was active for approximately {1} milliseconds.{2,choice,0#|0< There is/are still {2} thread(s) that are monitored by this Valve and may be stuck.}
-stuckThreadDetectionValve.notifyStuckThreadInterrupted=Thread "{0}" (id={5}) has been interrupted because it was active for {1} milliseconds (since {2}) to serve the same request for {3} and was probably stuck (configured interruption threshold for this StuckThreadDetectionValve is {4} seconds).
-
-# HTTP status reports (error codes only)
-# All status codes registered with IANA can be found at
-# http://www.iana.org/assignments/http-status-codes/http-status-codes.xml
-# The list might be kept in sync with the one in
-# org/apache/tomcat/util/http/res/LocalStrings.properties.
-http.400.reason=Bad Request
 http.400.desc=The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
-http.401.reason=Unauthorized
+http.400.reason=Bad Request
 http.401.desc=The request has not been applied because it lacks valid authentication credentials for the target resource.
-http.402.reason=Payment Required
+http.401.reason=Unauthorized
 http.402.desc=This status code is reserved for future use.
-http.403.reason=Forbidden
+http.402.reason=Payment Required
 http.403.desc=The server understood the request but refuses to authorize it.
-http.404.reason=Not Found
+http.403.reason=Forbidden
 http.404.desc=The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
-http.405.reason=Method Not Allowed
+http.404.reason=Not Found
 http.405.desc=The method received in the request-line is known by the origin server but not supported by the target resource.
+http.405.reason=Method Not Allowed
+http.406.desc=The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.
 http.406.reason=Not Acceptable
-http.406.desc= The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request, and the server is unwilling to supply a default representation.
-http.407.reason=Proxy Authentication Required
 http.407.desc=This status code is similar to 401 (Unauthorized), but it indicates that the client needs to authenticate itself in order to use a proxy.
+http.407.reason=Proxy Authentication Required
+http.408.desc=The server did not receive a complete request message within the time that it was prepared to wait.
 http.408.reason=Request Timeout
-http.408.desc= The server did not receive a complete request message within the time that it was prepared to wait.
-http.409.reason=Conflict
 http.409.desc=The request could not be completed due to a conflict with the current state of the target resource.
+http.409.reason=Conflict
+http.410.desc=Access to the target resource is no longer available at the origin server and that this condition is likely to be permanent.
 http.410.reason=Gone
-http.410.desc= Access to the target resource is no longer available at the origin server and that this condition is likely to be permanent.
-http.411.reason=Length Required
 http.411.desc=The server refuses to accept the request without a defined Content-Length.
-http.412.reason=Precondition Failed
+http.411.reason=Length Required
 http.412.desc=One or more conditions given in the request header fields evaluated to false when tested on the server.
-http.413.reason=Payload Too Large
+http.412.reason=Precondition Failed
 http.413.desc=The server is refusing to process a request because the request payload is larger than the server is willing or able to process.
-http.414.reason=URI Too Long
+http.413.reason=Payload Too Large
 http.414.desc=The server is refusing to service the request because the request-target is longer than the server is willing to interpret.
-http.415.reason=Unsupported Media Type
+http.414.reason=URI Too Long
 http.415.desc=The origin server is refusing to service the request because the payload is in a format not supported by this method on the target resource.
-http.416.reason=Range Not Satisfiable
+http.415.reason=Unsupported Media Type
 http.416.desc=None of the ranges in the request's Range header field overlap the current extent of the selected resource or that the set of ranges requested has been rejected due to invalid ranges or an excessive request of small or overlapping ranges.
-http.417.reason=Expectation Failed
+http.416.reason=Range Not Satisfiable
 http.417.desc=The expectation given in the request's Expect header field could not be met by at least one of the inbound servers.
-http.421.reason=Misdirected Request
+http.417.reason=Expectation Failed
 http.421.desc=The request was directed at a server that is not able to produce a response.
-http.422.reason=Unprocessable Entity
+http.421.reason=Misdirected Request
 http.422.desc=The server understands the content type of the request entity, and the syntax of the request entity is correct but was unable to process the contained instructions.
-http.423.reason=Locked
+http.422.reason=Unprocessable Entity
 http.423.desc=The source or destination resource of a method is locked.
-http.424.reason=Failed Dependency
+http.423.reason=Locked
 http.424.desc=The method could not be performed on the resource because the requested action depended on another action and that action failed.
-http.426.reason=Upgrade Required
+http.424.reason=Failed Dependency
 http.426.desc=the server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.
-http.428.reason=Precondition Required
+http.426.reason=Upgrade Required
 http.428.desc=The origin server requires the request to be conditional.
-http.429.reason=Too Many Requests
+http.428.reason=Precondition Required
 http.429.desc=The user has sent too many requests in a given amount of time ("rate limiting").
-http.431.reason=Request Header Fields Too Large
+http.429.reason=Too Many Requests
 http.431.desc=The server is unwilling to process the request because its header fields are too large.
-http.451.reason=Unavailable For Legal Reasons
+http.431.reason=Request Header Fields Too Large
 http.451.desc=The server refused this request for legal reasons.
-http.500.reason=Internal Server Error
+http.451.reason=Unavailable For Legal Reasons
 http.500.desc=The server encountered an unexpected condition that prevented it from fulfilling the request.
-http.501.reason=Not Implemented
+http.500.reason=Internal Server Error
 http.501.desc=The server does not support the functionality required to fulfill the request.
-http.502.reason=Bad Gateway
+http.501.reason=Not Implemented
 http.502.desc=The server, while acting as a gateway or proxy, received an invalid response from an inbound server it accessed while attempting to fulfill the request.
-http.503.reason=Service Unavailable
+http.502.reason=Bad Gateway
 http.503.desc=The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.
-http.504.reason=Gateway Timeout
+http.503.reason=Service Unavailable
 http.504.desc=The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server it needed to access in order to complete the request.
-http.505.reason=HTTP Version Not Supported
+http.504.reason=Gateway Timeout
 http.505.desc=The server does not support, or refuses to support, the major version of HTTP that was used in the request message.
-http.506.reason=Variant Also Negotiates
+http.505.reason=HTTP Version Not Supported
 http.506.desc=The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and is thereforenot a proper end point in the negotiation process.
-http.507.reason=Insufficient Storage
+http.506.reason=Variant Also Negotiates
 http.507.desc=The method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.
-http.508.reason=Loop Detected
+http.507.reason=Insufficient Storage
 http.508.desc=The server terminated an operation because it encountered an infinite loop while processing a request with "Depth: infinity".
-http.510.reason=Not Extended
+http.508.reason=Loop Detected
 http.510.desc=The policy for accessing the resource has not been met in the request
-http.511.reason=Network Authentication Required
+http.510.reason=Not Extended
 http.511.desc=The client needs to authenticate to gain network access.
+http.511.reason=Network Authentication Required
+
+jdbcAccessLogValve.close=Exception closing database connection
+jdbcAccessLogValve.exception=Exception performing insert access entry
+
+remoteCidrValve.invalid=Invalid configuration provided for [{0}]. See previous messages for details.
+remoteCidrValve.noRemoteIp=Client does not have an IP address. Request denied.
+
+remoteIpValve.invalidPortHeader=Invalid value [{0}] found for port in HTTP header [{1}]
+remoteIpValve.syntax=Invalid regular expressions [{0}] provided.
+
+requestFilterValve.configInvalid=One or more invalid configuration settings were provided for the Remote[Addr|Host]Valve which prevented the Valve and its parent containers from starting
+requestFilterValve.deny=Denied request for [{0}] based on property [{1}]
+requestFilterValve.next=No ''next'' valve has been configured
+requestFilterValve.syntax=Syntax error in request filter pattern {0}
+
+sslValve.certError=Failed to process certificate string [{0}] to create a java.security.cert.X509Certificate object
+sslValve.invalidProvider=The SSL provider specified on the connector associated with this request of [{0}] is invalid. The certificate data could not be processed.
+
+stuckThreadDetectionValve.notifyStuckThreadCompleted=Thread "{0}" (id={3}) was previously reported to be stuck but has completed. It was active for approximately {1} milliseconds.{2,choice,0#|0< There is/are still {2} thread(s) that are monitored by this Valve and may be stuck.}
+stuckThreadDetectionValve.notifyStuckThreadDetected=Thread "{0}" (id={6}) has been active for {1} milliseconds (since {2}) to serve the same request for {4} and may be stuck (configured threshold for this StuckThreadDetectionValve is {5} seconds). There is/are {3} thread(s) in total that are monitored by this Valve and may be stuck.
+stuckThreadDetectionValve.notifyStuckThreadInterrupted=Thread "{0}" (id={5}) has been interrupted because it was active for {1} milliseconds (since {2}) to serve the same request for {3} and was probably stuck (configured interruption threshold for this StuckThreadDetectionValve is {4} seconds).
+
+valveBase.noNext=Configuration error: No ''next'' valve configured
diff --git a/java/org/apache/catalina/valves/LocalStrings_es.properties b/java/org/apache/catalina/valves/LocalStrings_es.properties
index 2feccc5..0ff392f 100644
--- a/java/org/apache/catalina/valves/LocalStrings_es.properties
+++ b/java/org/apache/catalina/valves/LocalStrings_es.properties
@@ -13,60 +13,65 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-requestFilterValve.next = No hay ''siguiente'' v\u00E1lvula configurada
-requestFilterValve.syntax = Error de sint\u00E1xis en petici\u00F3n de filtro patr\u00F3n {0}
-valveBase.noNext = Error de configuraci\u00F3n\: No hay ''siguiente'' v\u00E1lvula configurada
-jdbcAccessLogValve.exception = Excepci\u00F3n realizando entrada de acceso a inserci\u00F3n
-jdbcAccessLogValve.close = Excepci\u00F3n cerrando conexi\u00F3n a base de datos
-cometConnectionManagerValve.event = Excepci\u00F3n procesando evento
-cometConnectionManagerValve.listenerEvent = Excepci\u00F3n procesando evento de oyente de sesi\u00F3n
-accessLogValve.closeFail = No pude cerrar fichero de historial
-accessLogValve.openDirFail = No pude crear directorio [{0}] para historiales de acceso
-accessLogValve.rotateFail = No pude rotar historial de acceso
-# Error report valve
-errorReportValve.statusHeader = Estado HTTP {0} \u2013 {1}
+accessLogValve.closeFail=No pude cerrar fichero de historial
+accessLogValve.openDirFail=No pude crear directorio [{0}] para historiales de acceso
+accessLogValve.rotateFail=No pude rotar historial de acceso
+
+cometConnectionManagerValve.event=Excepción procesando evento
+cometConnectionManagerValve.listenerEvent=Excepción procesando evento de oyente de sesión
+
+errorReportValve.description=descripción
+errorReportValve.exception=excepción
+errorReportValve.exceptionReport=Informe de Excepción
+errorReportValve.message=mensaje
+errorReportValve.note=nota
+errorReportValve.rootCause=causa raíz
+errorReportValve.rootCauseInLogs=La traza completa de la causa de este error se encuentra en los archivos de diario del servidor.
+errorReportValve.statusHeader=Estado HTTP {0} – {1}
+errorReportValve.statusReport=Informe de estado
 errorReportValve.type=Tipo
-errorReportValve.exceptionReport = Informe de Excepci\u00F3n
-errorReportValve.statusReport = Informe de estado
-errorReportValve.message = mensaje
-errorReportValve.description = descripci\u00F3n
-errorReportValve.exception = excepci\u00F3n
-errorReportValve.rootCause = causa ra\u00EDz
-errorReportValve.note = nota
-errorReportValve.rootCauseInLogs = La traza completa de la causa de este error se encuentra en los archivos de diario del servidor.
 
-remoteIpValve.syntax = Se han suministrado expresiones regulares [{0}] no v\u00E1lidas.
-remoteIpValve.invalidPortHeader = Valor inv\u00E1lido [{0}] hallado para el puerto en cabecera HTTP [{1}]
-sslValve.certError = No pude procesar cadena de certificado [{0}] para crear un objeto  java.security.cert.X509Certificate
-sslValve.invalidProvider = El proveedor de SSL especificado en el conecto asociado con este requerimiento de [{0}] ies inv\u00E1lido. No se pueden procesar los datos del certificado.
-stuckThreadDetectionValve.notifyStuckThreadDetected = El hilo  "{0}" (id={6}) ha estado activo durante {1} miilisegundos (desde {2}) para servir el mismo requerimiento para {4} y puede estar atascado (el umbral configurado para este StuckThreadDetectionValve es de {5} segundos). Hay {3} hilo(s) en total que son monitorizados por esta V\u00E1lvula y pueden estar atascados.
-stuckThreadDetectionValve.notifyStuckThreadCompleted = El hilo "{0}" (id={3}), que previamente se report\u00F3 como atascado, se ha completado. Estuvo activo por aproximadamente {1} milisegundos. {2, choice,0\#|0< Hay a\u00FAn {2} hilo(s) que son monitorizados por esta V\u00E1lvula y pueden estar atascados.}
+http.400.desc=El requerimiento enviado por el cliente era sintácticamente incorrecto.
+http.401.desc=Este requerimiento requiere autenticación HTTP.
+http.402.desc=Se requiere pago para acceder a este recurso.
+http.403.desc=El acceso al recurso especificado ha sido prohibido.
+http.404.desc=El recurso requerido no está disponible.
+http.405.desc=El método HTTP especificado no está permitido para el recurso requerido.
+http.406.desc=El recurso identificado por este requerimiento sólo es capaz de generar respuestas con características no aceptables con arreglo a las cabeceras "accept" de requerimiento.
+http.407.desc=El cliente debe de ser primero autenticado en el apoderado.
+http.408.desc=El cliente no produjo un requerimiento dentro del tiempo en que el servidor estaba preparado esperando.
+http.409.desc=El requerimiento no pudo ser completado debido a un conflicto con el estado actual del recurso.
+http.410.desc=El recurso requerido ya no está disponible y no se conoce dirección de reenvío.
+http.411.desc=Este requerimiento no puede ser manejado sin un tamaño definido de contenido.
+http.412.desc=Una precondición especificada ha fallado para este requerimiento.
+http.413.desc=La entidad de requerimiento es mayor de lo que el servidor quiere o puede procesar.
+http.414.desc=El servidor rechazó este requerimiento porque la URI requerida era demasiado larga.
+http.415.desc=El servidor rechazó este requerimiento porque la entidad requerida se encuentra en un formato no soportado por el recurso requerido para el método requerido.
+http.416.desc=El rango de byte requerido no puede ser satisfecho.
+http.417.desc=Lo que se espera dado por la cabecera "Expect" de requerimiento no pudo ser completado.
+http.422.desc=El servidor entendió el tipo de contenido y la sintáxis del requerimiento pero no pudo procesar las instrucciones contenidas.
+http.423.desc=La fuente o recurso de destino de un método está bloqueada.
+http.500.desc=El servidor encontró un error interno que hizo que no pudiera rellenar este requerimiento.
+http.501.desc=El servidor no soporta la funcionalidad necesaria para rellenar este requerimiento.
+http.502.desc=Este servidor recibió una respuesta inválida desde un servidor que consultó cuando actuaba como apoderado o pasarela.
+http.503.desc=El servicio requerido no está disponible en este momento.
+http.504.desc=El servidor recibió un Tiempo Agotado desde un servidor superior cuando actuaba como pasarela o apoderado.
+http.505.desc=El servidor no soporta la versión de protocolo HTTP requerida.
+http.507.desc=El recurso no tiene espacio suficiente para registrar el estado del recurso tras la ejecución de este método.
+
+jdbcAccessLogValve.close=Excepción cerrando conexión a base de datos
+jdbcAccessLogValve.exception=Excepción realizando entrada de acceso a inserción
+
+remoteIpValve.invalidPortHeader=Valor inválido [{0}] hallado para el puerto en cabecera HTTP [{1}]
+remoteIpValve.syntax=Se han suministrado expresiones regulares [{0}] no válidas.
+
+requestFilterValve.next=No hay ''siguiente'' válvula configurada
+requestFilterValve.syntax=Error de sintáxis en petición de filtro patrón {0}
+
+sslValve.certError=No pude procesar cadena de certificado [{0}] para crear un objeto  java.security.cert.X509Certificate
+sslValve.invalidProvider=El proveedor de SSL especificado en el conecto asociado con este requerimiento de [{0}] ies inválido. No se pueden procesar los datos del certificado.
+
+stuckThreadDetectionValve.notifyStuckThreadCompleted=El hilo "{0}" (id={3}), que previamente se reportó como atascado, se ha completado. Estuvo activo por aproximadamente {1} milisegundos. {2, choice,0#|0< Hay aún {2} hilo(s) que son monitorizados por esta Válvula y pueden estar atascados.}
+stuckThreadDetectionValve.notifyStuckThreadDetected=El hilo  "{0}" (id={6}) ha estado activo durante {1} miilisegundos (desde {2}) para servir el mismo requerimiento para {4} y puede estar atascado (el umbral configurado para este StuckThreadDetectionValve es de {5} segundos). Hay {3} hilo(s) en total que son monitorizados por esta Válvula y pueden estar atascados.
 
-# HTTP status reports
-http.400.desc = El requerimiento enviado por el cliente era sint\u00E1cticamente incorrecto.
-http.401.desc = Este requerimiento requiere autenticaci\u00F3n HTTP.
-http.402.desc = Se requiere pago para acceder a este recurso.
-http.403.desc = El acceso al recurso especificado ha sido prohibido.
-http.404.desc = El recurso requerido no est\u00E1 disponible.
-http.405.desc = El m\u00E9todo HTTP especificado no est\u00E1 permitido para el recurso requerido.
-http.406.desc = El recurso identificado por este requerimiento s\u00F3lo es capaz de generar respuestas con caracter\u00EDsticas no aceptables con arreglo a las cabeceras "accept" de requerimiento.
-http.407.desc = El cliente debe de ser primero autenticado en el apoderado.
-http.408.desc = El cliente no produjo un requerimiento dentro del tiempo en que el servidor estaba preparado esperando.
-http.409.desc = El requerimiento no pudo ser completado debido a un conflicto con el estado actual del recurso.
-http.410.desc = El recurso requerido ya no est\u00E1 disponible y no se conoce direcci\u00F3n de reenv\u00EDo.
-http.411.desc = Este requerimiento no puede ser manejado sin un tama\u00F1o definido de contenido.
-http.412.desc = Una precondici\u00F3n especificada ha fallado para este requerimiento.
-http.413.desc = La entidad de requerimiento es mayor de lo que el servidor quiere o puede procesar.
-http.414.desc = El servidor rechaz\u00F3 este requerimiento porque la URI requerida era demasiado larga.
-http.415.desc = El servidor rechaz\u00F3 este requerimiento porque la entidad requerida se encuentra en un formato no soportado por el recurso requerido para el m\u00E9todo requerido.
-http.416.desc = El rango de byte requerido no puede ser satisfecho.
-http.417.desc = Lo que se espera dado por la cabecera "Expect" de requerimiento no pudo ser completado.
-http.422.desc = El servidor entendi\u00F3 el tipo de contenido y la sint\u00E1xis del requerimiento pero no pudo procesar las instrucciones contenidas.
-http.423.desc = La fuente o recurso de destino de un m\u00E9todo est\u00E1 bloqueada.
-http.500.desc = El servidor encontr\u00F3 un error interno que hizo que no pudiera rellenar este requerimiento.
-http.501.desc = El servidor no soporta la funcionalidad necesaria para rellenar este requerimiento.
-http.502.desc = Este servidor recibi\u00F3 una respuesta inv\u00E1lida desde un servidor que consult\u00F3 cuando actuaba como apoderado o pasarela.
-http.503.desc = El servicio requerido no est\u00E1 disponible en este momento.
-http.504.desc = El servidor recibi\u00F3 un Tiempo Agotado desde un servidor superior cuando actuaba como pasarela o apoderado.
-http.505.desc = El servidor no soporta la versi\u00F3n de protocolo HTTP requerida.
-http.507.desc = El recurso no tiene espacio suficiente para registrar el estado del recurso tras la ejecuci\u00F3n de este m\u00E9todo.
+valveBase.noNext=Error de configuración: No hay ''siguiente'' válvula configurada
diff --git a/java/org/apache/catalina/valves/LocalStrings_fr.properties b/java/org/apache/catalina/valves/LocalStrings_fr.properties
index 6306acd..abe6c9f 100644
--- a/java/org/apache/catalina/valves/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/valves/LocalStrings_fr.properties
@@ -13,47 +13,46 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-requestFilterValve.next=Aucune Valve ''suivante'' n''a \u00e9t\u00e9 configur\u00e9e
-requestFilterValve.syntax=Erreur de syntaxe dans le pattern de filtre de requ\u00eate {0}
-valveBase.noNext=Erreur de configuration: aucune Valve ''suivante'' n''a \u00e9t\u00e9 configur\u00e9e
-
-# Error report valve
-errorReportValve.statusHeader=\u00c9tat HTTP {0} \u2013 {1}
-errorReportValve.type=Type
-errorReportValve.exceptionReport=Rapport d''exception
-errorReportValve.statusReport=Rapport d''\u00e9tat
-errorReportValve.message=message
 errorReportValve.description=description
 errorReportValve.exception=exception
-errorReportValve.rootCause=cause m\u00e8re
+errorReportValve.exceptionReport=Rapport d''exception
+errorReportValve.message=message
 errorReportValve.note=note
-errorReportValve.rootCauseInLogs=La trace compl\u00e8te de la cause m\u00e8re de cette erreur est disponible dans les fichiers journaux de ce serveur.
+errorReportValve.rootCause=cause mère
+errorReportValve.rootCauseInLogs=La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de ce serveur.
+errorReportValve.statusHeader=État HTTP {0} – {1}
+errorReportValve.statusReport=Rapport d''état
+errorReportValve.type=Type
+
+http.400.desc=La requête envoyée par le client était syntaxiquement incorrecte.
+http.401.desc=La requête nécessite une authentification HTTP.
+http.402.desc=Un paiement est demandé pour accéder à cette ressource.
+http.403.desc=L''accès à la ressource demandée a été interdit.
+http.404.desc=La ressource demandée n''est pas disponible.
+http.405.desc=La méthode HTTP spécifiée n''est pas autorisée pour la ressource demandée.
+http.406.desc=La ressource identifiée par cette requête n''est capable de générer des réponses qu''avec des caractéristiques incompatible avec la directive "accept" présente dans l''entête de requête.
+http.407.desc=Le client doit d''abord s''authentifier auprès du relais.
+http.408.desc=Le client n''a pas produit de requête pendant le temps d''attente du serveur.
+http.409.desc=La requête ne peut être finalisée suite à un conflit lié à l''état de la ressource.
+http.410.desc=La ressource demandée n''est pas disponible, et aucune addresse de rebond (forwarding) n''est connue.
+http.411.desc=La requête ne peut être traitée sans définition d''une taille de contenu (content length).
+http.412.desc=Une condition préalable demandée n''est pas satisfaite pour cette requête.
+http.413.desc=L''entité de requête est plus importante que ce que le serveur veut ou peut traiter.
+http.414.desc=Le serveur a refusé cette requête car l''URI de requête est trop longue.
+http.415.desc=Le serveur a refusé cette requête car l''entité de requête est dans un format non supporté par la ressource demandée avec la méthode spécifiée.
+http.416.desc=La plage d''octets demandée (byte range) ne peut être satisfaite.
+http.417.desc=L''attente indiquée dans la directive "Expect" de l''entête de requête ne peut être satisfaite.
+http.422.desc=Le serveur a compris le type de contenu (content type) ainsi que la syntaxe de la requête mais a été incapable de traiter les instructions contenues.
+http.423.desc=La ressource source ou destination de la méthode est verrouillée.
+http.500.desc=Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.
+http.501.desc=Le serveur ne supporte pas la fonctionnalité demandée pour satisfaire cette requête.
+http.502.desc=Le serveur a reçu une réponse invalide d''un serveur qu''il consultait en tant que relais ou passerelle.
+http.503.desc=Le service demandé n''est pas disponible actuellement.
+http.504.desc=Le serveur a reçu un dépassement de delai (timeout) d''un serveur amont qu''il consultait en tant que relais ou passerelle.
+http.505.desc=Le serveur ne supporte pas la version demandée du protocole HTTP.
+http.507.desc=L''espace disponible est insuffisant pour enregistrer l''état de la ressource après exécution de cette méthode.
+
+requestFilterValve.next=Aucune Valve ''suivante'' n''a été configurée
+requestFilterValve.syntax=Erreur de syntaxe dans le pattern de filtre de requête {0}
 
-# HTTP status reports
-http.400.desc=La requ\u00eate envoy\u00e9e par le client \u00e9tait syntaxiquement incorrecte.
-http.401.desc=La requ\u00eate n\u00e9cessite une authentification HTTP.
-http.402.desc=Un paiement est demand\u00e9 pour acc\u00e9der \u00e0 cette ressource.
-http.403.desc=L''acc\u00e8s \u00e0 la ressource demand\u00e9e a \u00e9t\u00e9 interdit.
-http.404.desc=La ressource demand\u00e9e n''est pas disponible.
-http.405.desc=La m\u00e9thode HTTP sp\u00e9cifi\u00e9e n''est pas autoris\u00e9e pour la ressource demand\u00e9e.
-http.406.desc=La ressource identifi\u00e9e par cette requ\u00eate n''est capable de g\u00e9n\u00e9rer des r\u00e9ponses qu''avec des caract\u00e9ristiques incompatible avec la directive "accept" pr\u00e9sente dans l''ent\u00eate de requ\u00eate.
-http.407.desc=Le client doit d''abord s''authentifier aupr\u00e8s du relais.
-http.408.desc=Le client n''a pas produit de requ\u00eate pendant le temps d''attente du serveur.
-http.409.desc=La requ\u00eate ne peut \u00eatre finalis\u00e9e suite \u00e0 un conflit li\u00e9 \u00e0 l''\u00e9tat de la ressource.
-http.410.desc=La ressource demand\u00e9e n''est pas disponible, et aucune addresse de rebond (forwarding) n''est connue.
-http.411.desc=La requ\u00eate ne peut \u00eatre trait\u00e9e sans d\u00e9finition d''une taille de contenu (content length).
-http.412.desc=Une condition pr\u00e9alable demand\u00e9e n''est pas satisfaite pour cette requ\u00eate.
-http.413.desc=L''entit\u00e9 de requ\u00eate est plus importante que ce que le serveur veut ou peut traiter.
-http.414.desc=Le serveur a refus\u00e9 cette requ\u00eate car l''URI de requ\u00eate est trop longue.
-http.415.desc=Le serveur a refus\u00e9 cette requ\u00eate car l''entit\u00e9 de requ\u00eate est dans un format non support\u00e9 par la ressource demand\u00e9e avec la m\u00e9thode sp\u00e9cifi\u00e9e.
-http.416.desc=La plage d''octets demand\u00e9e (byte range) ne peut \u00eatre satisfaite.
-http.417.desc=L''attente indiqu\u00e9e dans la directive "Expect" de l''ent\u00eate de requ\u00eate ne peut \u00eatre satisfaite.
-http.422.desc=Le serveur a compris le type de contenu (content type) ainsi que la syntaxe de la requ\u00eate mais a \u00e9t\u00e9 incapable de traiter les instructions contenues.
-http.423.desc=La ressource source ou destination de la m\u00e9thode est verrouill\u00e9e.
-http.500.desc=Le serveur a rencontr\u00e9 une erreur interne qui l''a emp\u00each\u00e9 de satisfaire la requ\u00eate.
-http.501.desc=Le serveur ne supporte pas la fonctionnalit\u00e9 demand\u00e9e pour satisfaire cette requ\u00eate.
-http.502.desc=Le serveur a re\u00e7u une r\u00e9ponse invalide d''un serveur qu''il consultait en tant que relais ou passerelle.
-http.503.desc=Le service demand\u00e9 n''est pas disponible actuellement.
-http.504.desc=Le serveur a re\u00e7u un d\u00e9passement de delai (timeout) d''un serveur amont qu''il consultait en tant que relais ou passerelle.
-http.505.desc=Le serveur ne supporte pas la version demand\u00e9e du protocole HTTP.
-http.507.desc=L''espace disponible est insuffisant pour enregistrer l''\u00e9tat de la ressource apr\u00e8s ex\u00e9cution de cette m\u00e9thode.
+valveBase.noNext=Erreur de configuration: aucune Valve ''suivante'' n''a été configurée
diff --git a/java/org/apache/catalina/valves/LocalStrings_ja.properties b/java/org/apache/catalina/valves/LocalStrings_ja.properties
index a7e9afd..c60eecf 100644
--- a/java/org/apache/catalina/valves/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/valves/LocalStrings_ja.properties
@@ -13,18 +13,19 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-requestFilterValve.next=\u6b21\u306e\u30d0\u30eb\u30d6\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-requestFilterValve.syntax=\u30ea\u30af\u30a8\u30b9\u30c8\u30d5\u30a3\u30eb\u30bf\u30d1\u30bf\u30fc\u30f3 {0} \u306b\u69cb\u6587\u30a8\u30e9\u30fc\u304c\u3042\u308a\u307e\u3059
-jdbcAccessLogValve.exception=\u30a2\u30af\u30bb\u30b9\u30a8\u30f3\u30c8\u30ea\u306e\u633f\u5165\u3092\u5b9f\u884c\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-jdbcAccessLogValve.close=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u3092\u30af\u30ed\u30fc\u30ba\u4e2d\u306e\u4f8b\u5916\u3067\u3059
+errorReportValve.description=説明
+errorReportValve.exception=例外
+errorReportValve.message=メッセージ
+errorReportValve.note=注意
+errorReportValve.rootCause=原因
+errorReportValve.rootCauseInLogs=原因のすべてのスタックトレースは、のログに記録されています
+errorReportValve.statusHeader=HTTPステータス {0} - {1}
+errorReportValve.statusReport=ステータスレポート
 
-# Error report valve
-valveBase.noNext=\u8a2d\u5b9a\u30a8\u30e9\u30fc: \u6b21\u306e\u30d0\u30eb\u30d6\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-errorReportValve.statusHeader=HTTP\u30b9\u30c6\u30fc\u30bf\u30b9 {0} - {1}
-errorReportValve.statusReport=\u30b9\u30c6\u30fc\u30bf\u30b9\u30ec\u30dd\u30fc\u30c8
-errorReportValve.message=\u30e1\u30c3\u30bb\u30fc\u30b8
-errorReportValve.description=\u8aac\u660e
-errorReportValve.exception=\u4f8b\u5916
-errorReportValve.rootCause=\u539f\u56e0
-errorReportValve.note=\u6ce8\u610f
-errorReportValve.rootCauseInLogs=\u539f\u56e0\u306e\u3059\u3079\u3066\u306e\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u306f\u3001\u306e\u30ed\u30b0\u306b\u8a18\u9332\u3055\u308c\u3066\u3044\u307e\u3059
+jdbcAccessLogValve.close=データベース接続をクローズ中の例外です
+jdbcAccessLogValve.exception=アクセスエントリの挿入を実行中の例外です
+
+requestFilterValve.next=次のバルブが設定されていません
+requestFilterValve.syntax=リクエストフィルタパターン {0} に構文エラーがあります
+
+valveBase.noNext=設定エラー: 次のバルブが設定されていません
diff --git a/java/org/apache/catalina/websocket/LocalStrings.properties b/java/org/apache/catalina/websocket/LocalStrings.properties
index 7a497f6..089dfee 100644
--- a/java/org/apache/catalina/websocket/LocalStrings.properties
+++ b/java/org/apache/catalina/websocket/LocalStrings.properties
@@ -15,17 +15,17 @@
 
 frame.eos=The end of the stream was reached before the expected number of payload bytes could be read
 frame.invalidUtf8=A sequence of bytes was received that did not represent valid UTF-8
-frame.readFailed=Failed to read the first byte of the next WebSocket frame. The return value from the read was [{0}]
-frame.readEos=The end of the stream was reached when trying to read the first byte of a new WebSocket frame
 frame.notMasked=The client frame was not masked but all client frames must be masked
+frame.readEos=The end of the stream was reached when trying to read the first byte of a new WebSocket frame
+frame.readFailed=Failed to read the first byte of the next WebSocket frame. The return value from the read was [{0}]
 
 is.notContinuation=A frame with the OpCode [{0}] was received when a continuation frame was expected
 is.unknownOpCode=A frame with the unrecognized OpCode [{0}] was received
 
 message.bufferTooSmall=The buffer is not big enough to contain the message currently being processed
 
-servlet.reqUpgradeFail=Unable to cast to the Tomcat internal request class in order to complete HTTP upgrade
-
 outbound.closed=The WebSocket connection has been closed
 
-wrapper.invalid=An attempt was made to access the request object passed to WebSocketServlet.createWebSocketInbound() outside of that method
\ No newline at end of file
+servlet.reqUpgradeFail=Unable to cast to the Tomcat internal request class in order to complete HTTP upgrade
+
+wrapper.invalid=An attempt was made to access the request object passed to WebSocketServlet.createWebSocketInbound() outside of that method
diff --git a/java/org/apache/coyote/LocalStrings.properties b/java/org/apache/coyote/LocalStrings.properties
index 96ada01..13c9950 100644
--- a/java/org/apache/coyote/LocalStrings.properties
+++ b/java/org/apache/coyote/LocalStrings.properties
@@ -17,24 +17,25 @@ abstractConnectionHandler.error=Error reading request, ignored
 abstractConnectionHandler.ioexception.debug=IOExceptions are normal, ignored
 abstractConnectionHandler.socketexception.debug=SocketExceptions are normal, ignored
 
-abstractProcessor.fallToDebug=\n Note: further occurrences of request parsing errors will be logged at DEBUG level.
+abstractProcessor.fallToDebug=\n\
+\ Note: further occurrences of request parsing errors will be logged at DEBUG level.
 abstractProcessor.hostInvalid=The host [{0}] is not valid
 abstractProcessor.nonContainerThreadError=An error occurred in processing while on a non-container thread. The connection will be closed immediately
 
+abstractProtocolHandler.destroy=Destroying ProtocolHandler [{0}]
+abstractProtocolHandler.destroyError=Failed to destroy end point associated with ProtocolHandler [{0}]
 abstractProtocolHandler.getAttribute=Get attribute [{0}] with value [{1}]
-abstractProtocolHandler.setAttribute=Set attribute [{0}] with value [{1}]
 abstractProtocolHandler.init=Initializing ProtocolHandler [{0}]
 abstractProtocolHandler.initError=Failed to initialize end point associated with ProtocolHandler [{0}]
 abstractProtocolHandler.mbeanRegistrationFailed=Failed to register MBean [{0}] for ProtocolHandler [{1}]
-abstractProtocolHandler.start=Starting ProtocolHandler [{0}]
-abstractProtocolHandler.startError=Failed to start end point associated with ProtocolHandler [{0}]
 abstractProtocolHandler.pause=Pausing ProtocolHandler [{0}]
 abstractProtocolHandler.pauseError=Failed to pause end point associated with ProtocolHandler [{0}]
 abstractProtocolHandler.resume=Resuming ProtocolHandler [{0}]
 abstractProtocolHandler.resumeError=Failed to resume end point associated with ProtocolHandler [{0}]
+abstractProtocolHandler.setAttribute=Set attribute [{0}] with value [{1}]
+abstractProtocolHandler.start=Starting ProtocolHandler [{0}]
+abstractProtocolHandler.startError=Failed to start end point associated with ProtocolHandler [{0}]
 abstractProtocolHandler.stop=Stopping ProtocolHandler [{0}]
 abstractProtocolHandler.stopError=Failed to stop end point associated with ProtocolHandler [{0}]
-abstractProtocolHandler.destroy=Destroying ProtocolHandler [{0}]
-abstractProtocolHandler.destroyError=Failed to destroy end point associated with ProtocolHandler [{0}]
 
 asyncStateMachine.invalidAsyncState=Calling [{0}] is not valid for a request with Async state [{1}]
diff --git a/java/org/apache/coyote/LocalStrings_es.properties b/java/org/apache/coyote/LocalStrings_es.properties
index 6de4884..2cff96d 100644
--- a/java/org/apache/coyote/LocalStrings_es.properties
+++ b/java/org/apache/coyote/LocalStrings_es.properties
@@ -13,4 +13,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-abstractConnectionHandler.error = Error leyendo requerimiento, ignorado
+abstractConnectionHandler.error=Error leyendo requerimiento, ignorado
diff --git a/java/org/apache/coyote/ajp/LocalStrings.properties b/java/org/apache/coyote/ajp/LocalStrings.properties
index fa3bfa2..fe816fa 100644
--- a/java/org/apache/coyote/ajp/LocalStrings.properties
+++ b/java/org/apache/coyote/ajp/LocalStrings.properties
@@ -13,29 +13,29 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-ajpprotocol.endpoint.starterror=Error starting endpoint
-ajpprotocol.init=Initializing Coyote AJP/1.3 on {0}
-ajpprotocol.start=Starting Coyote AJP/1.3 on {0}
-ajpprotocol.failedwrite=Socket write failed
-ajpprotocol.request.register=Error registering request processor in JMX
+ajpMessage.invalidPos=Requested read of bytes at position [{0}] which is beyond the end of the AJP message
 
-ajpprocessor.failedread=Socket read failed
+ajpmessage.invalid=Invalid message received with signature {0}
+ajpmessage.invalidLength=Invalid message received with length {0}
+ajpmessage.null=Cannot append null value
+ajpmessage.overflow=Overflow error for buffer adding {0} bytes at position {1}
+ajpmessage.read=Requested {0} bytes exceeds message available data
+
+ajpprocessor.certs.fail=Certificate conversion failed
+ajpprocessor.comet.notsupported=The Comet protocol is not supported by this connector
 ajpprocessor.failedflush=Failed to flush AJP message
+ajpprocessor.failedread=Socket read failed
 ajpprocessor.failedsend=Failed to send AJP message
 ajpprocessor.header.error=Header message parsing failed
 ajpprocessor.header.tooLong=Header message of length [{0}] received but the packetSize is only [{1}]
+ajpprocessor.httpupgrade.notsupported=HTTP upgrades are not supported by this connector
 ajpprocessor.request.prepare=Error preparing request
 ajpprocessor.request.process=Error processing request
-ajpprocessor.certs.fail=Certificate conversion failed
 ajpprocessor.socket.info=Exception getting socket information
-ajpprocessor.comet.notsupported=The Comet protocol is not supported by this connector
 ajpprocessor.ssl.notsupported=The SSL protocol is not supported by this connector
-ajpprocessor.httpupgrade.notsupported=HTTP upgrades are not supported by this connector
-
-ajpmessage.null=Cannot append null value
-ajpmessage.overflow=Overflow error for buffer adding {0} bytes at position {1}
-ajpmessage.read=Requested {0} bytes exceeds message available data
-ajpmessage.invalid=Invalid message received with signature {0}
-ajpmessage.invalidLength=Invalid message received with length {0}
-ajpMessage.invalidPos=Requested read of bytes at position [{0}] which is beyond the end of the AJP message
 
+ajpprotocol.endpoint.starterror=Error starting endpoint
+ajpprotocol.failedwrite=Socket write failed
+ajpprotocol.init=Initializing Coyote AJP/1.3 on {0}
+ajpprotocol.request.register=Error registering request processor in JMX
+ajpprotocol.start=Starting Coyote AJP/1.3 on {0}
diff --git a/java/org/apache/coyote/ajp/LocalStrings_es.properties b/java/org/apache/coyote/ajp/LocalStrings_es.properties
index aefccc5..cc0bb47 100644
--- a/java/org/apache/coyote/ajp/LocalStrings_es.properties
+++ b/java/org/apache/coyote/ajp/LocalStrings_es.properties
@@ -13,22 +13,23 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-ajpprotocol.endpoint.starterror = Error arrancando punto final
-ajpprotocol.init = Inicializando Coyote AJP/1.3 en {0}
-ajpprotocol.proto.error = Error leyendo requerimiento, ignorado
-ajpprotocol.start = Arrancando Coyote AJP/1.3 en {0}
-ajpprotocol.failedwrite = Fallo en escritura de Conector
-ajpprotocol.request.register = Error registrando procesador de requerimiento en JMX
+ajpmessage.invalid=Mensaje inválido recibido con firma {0}
+ajpmessage.null=No puedo añadir valor nulo
+ajpmessage.overflow=Error de desbordamiento en búfer al añadir {0} bytes en posición {1}
+ajpmessage.read=Los {0} bytes requeridos exceden los datos disponibles de mensaje
 
-ajpprocessor.failedread = Fallo en lectura de Conector
-ajpprocessor.failedflush = No pude vaciar mensaje AJP
-ajpprocessor.failedsend = No pude enviar mensaje AJP
-ajpprocessor.header.error = Fallo en an\u00E1lisis de mensaje de cabecera
-ajpprocessor.request.prepare = Error preparando requerimiento
-ajpprocessor.request.process = Error procesando requerimiento
-ajpprocessor.certs.fail = Fallo en conversi\u00F3n de Certificado
-ajpprocessor.socket.info = Excepci\u00F3n obteniendo informaci\u00F3n de conector
-ajpmessage.null = No puedo a\u00F1adir valor nulo
-ajpmessage.overflow = Error de desbordamiento en b\u00FAfer al a\u00F1adir {0} bytes en posici\u00F3n {1}
-ajpmessage.read = Los {0} bytes requeridos exceden los datos disponibles de mensaje
-ajpmessage.invalid = Mensaje inv\u00E1lido recibido con firma {0}
+ajpprocessor.certs.fail=Fallo en conversión de Certificado
+ajpprocessor.failedflush=No pude vaciar mensaje AJP
+ajpprocessor.failedread=Fallo en lectura de Conector
+ajpprocessor.failedsend=No pude enviar mensaje AJP
+ajpprocessor.header.error=Fallo en análisis de mensaje de cabecera
+ajpprocessor.request.prepare=Error preparando requerimiento
+ajpprocessor.request.process=Error procesando requerimiento
+ajpprocessor.socket.info=Excepción obteniendo información de conector
+
+ajpprotocol.endpoint.starterror=Error arrancando punto final
+ajpprotocol.failedwrite=Fallo en escritura de Conector
+ajpprotocol.init=Inicializando Coyote AJP/1.3 en {0}
+ajpprotocol.proto.error=Error leyendo requerimiento, ignorado
+ajpprotocol.request.register=Error registrando procesador de requerimiento en JMX
+ajpprotocol.start=Arrancando Coyote AJP/1.3 en {0}
diff --git a/java/org/apache/coyote/http11/LocalStrings.properties b/java/org/apache/coyote/http11/LocalStrings.properties
index b8bd146..e41e9d2 100644
--- a/java/org/apache/coyote/http11/LocalStrings.properties
+++ b/java/org/apache/coyote/http11/LocalStrings.properties
@@ -13,20 +13,17 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-http11protocol.endpoint.starterror=Error starting endpoint
-http11protocol.proto.error=Error reading request, ignored
-http11protocol.proto.ioexception.debug=IOException reading request
-http11protocol.proto.ioexception.info=IOException reading request, ignored
-http11protocol.proto.socketexception.debug=SocketException reading request
-http11protocol.proto.socketexception.info=SocketException reading request, ignored
-http11protocol.start=Starting Coyote HTTP/1.1 on {0}
+http11Processor.upgrade=An internal error has occurred as upgraded connections should only be processed by the dedicated upgrade processor implementations
 
-http11processor.regexp.error=Error parsing regular expression {0}
-http11processor.fallToDebug=\n Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
-http11processor.filter.unknown=Unknown filter {0}
+http11processor.comet.notsupported=The Comet protocol is not supported by this connector
+http11processor.fallToDebug=\n\
+\ Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
 http11processor.filter.error=Error intializing filter {0}
+http11processor.filter.unknown=Unknown filter {0}
 http11processor.header.parse=Error parsing HTTP request header
 http11processor.neverused=This method should never be used
+http11processor.regexp.error=Error parsing regular expression {0}
+http11processor.request.finish=Error finishing request
 http11processor.request.inconsistentHosts=The host specified in the request line is not consistent with the host header
 http11processor.request.invalidScheme=The HTTP request contained an absolute URI with an invalid scheme
 http11processor.request.invalidUri==The HTTP request contained an invalid URI
@@ -35,23 +32,27 @@ http11processor.request.multipleHosts=The request contained multiple host header
 http11processor.request.noHostHeader=The HTTP/1.1 request did not provide a host header
 http11processor.request.prepare=Error preparing request
 http11processor.request.process=Error processing request
-http11processor.request.finish=Error finishing request
 http11processor.response.finish=Error finishing response
+http11processor.sendfile.error=Error sending data using sendfile. May be caused by invalid request attributes for start/end points
 http11processor.socket.info=Exception getting socket information
 http11processor.socket.ssl=Exception getting SSL attributes
 http11processor.socket.sslreneg=Exception re-negotiating SSL connection
 http11processor.socket.timeout=Error setting socket timeout
-http11processor.comet.notsupported=The Comet protocol is not supported by this connector
-http11processor.sendfile.error=Error sending data using sendfile. May be caused by invalid request attributes for start/end points
-http11Processor.upgrade=An internal error has occurred as upgraded connections should only be processed by the dedicated upgrade processor implementations
 
-iib.apr.sslGeneralError=An APR general error was returned by the SSL read operation on APR/native socket [{0}] with wrapper [{1}]. It will be treated as EAGAIN and the socket returned to the poller.
+http11protocol.endpoint.starterror=Error starting endpoint
+http11protocol.proto.error=Error reading request, ignored
+http11protocol.proto.ioexception.debug=IOException reading request
+http11protocol.proto.ioexception.info=IOException reading request, ignored
+http11protocol.proto.socketexception.debug=SocketException reading request
+http11protocol.proto.socketexception.info=SocketException reading request, ignored
+http11protocol.start=Starting Coyote HTTP/1.1 on {0}
 
+iib.apr.sslGeneralError=An APR general error was returned by the SSL read operation on APR/native socket [{0}] with wrapper [{1}]. It will be treated as EAGAIN and the socket returned to the poller.
 iib.eof.error=Unexpected EOF read on the socket
+iib.invalidHttpProtocol=Invalid character found in the HTTP protocol
+iib.invalidRequestTarget=Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
 iib.invalidheader=The HTTP header line [{0}] does not conform to RFC 7230 and has been ignored.
 iib.invalidmethod=Invalid character found in method name. HTTP method names must be tokens
-iib.invalidRequestTarget=Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
-iib.invalidHttpProtocol=Invalid character found in the HTTP protocol
 iib.parseheaders.ise.error=Unexpected state: headers already parsed. Buffer not recycled?
 iib.requestheadertoolarge.error=Request header is too large
 
diff --git a/java/org/apache/coyote/http11/LocalStrings_es.properties b/java/org/apache/coyote/http11/LocalStrings_es.properties
index 838cf4a..23b5525 100644
--- a/java/org/apache/coyote/http11/LocalStrings_es.properties
+++ b/java/org/apache/coyote/http11/LocalStrings_es.properties
@@ -13,26 +13,28 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-http11protocol.endpoint.starterror = Error arrancando punto final (endpoint)
-http11protocol.proto.error = Error leyendo requerimiento, ignorado
-http11protocol.proto.ioexception.debug = IOException leyendo requerimiento
-http11protocol.proto.ioexception.info = IOException leyendo requerimiento, ignorada
-http11protocol.proto.socketexception.debug = SocketException leyendo requerimiento
-http11protocol.proto.socketexception.info = SocketException leyendo requerimiento, ignorada
-http11protocol.start = Arrancando Coyote HTTP/1.1 en puerto {0}
-http11processor.regexp.error = Error al analizar expresi\u00F3n regular {0}
-http11processor.filter.unknown = Filtro desconocido {0}
-http11processor.filter.error = Error inicializando filtro {0}
-http11processor.header.parse = Error analizando cabecera de requerimiento HTTP
-http11processor.neverused = Este m\u00E9todo no deber\u00EDa de usarse nunca
-http11processor.request.prepare = Error preparando requerimiento
-http11processor.request.process = Error procesando requerimiento
-http11processor.request.finish = Error acabando requerimiento
-http11processor.response.finish = Error acabando respuesta
-http11processor.socket.info = Excepci\u00F3n obteniendo informaci\u00F3n de conector
-http11processor.socket.ssl = Excepci\u00F3n obteniendo atributos SSL
-http11processor.socket.sslreneg = Excepci\u00F3n renegociando la conexi\u00F3n SSL
-http11processor.socket.timeout = Error poniendo tiempo agotado para conector
-iib.eof.error = Inesperado Fin De Archivo (EOF) le\u00EDdo en el enchufe (socket)
-iib.requestheadertoolarge.error = La cabecera del requerimiento es demasido grande
-iib.invalidmethod = Car\u00E1cter inv\u00E1lido (CR o LF) hallado en el nombre del m\u00E9todo
+http11processor.filter.error=Error inicializando filtro {0}
+http11processor.filter.unknown=Filtro desconocido {0}
+http11processor.header.parse=Error analizando cabecera de requerimiento HTTP
+http11processor.neverused=Este método no debería de usarse nunca
+http11processor.regexp.error=Error al analizar expresión regular {0}
+http11processor.request.finish=Error acabando requerimiento
+http11processor.request.prepare=Error preparando requerimiento
+http11processor.request.process=Error procesando requerimiento
+http11processor.response.finish=Error acabando respuesta
+http11processor.socket.info=Excepción obteniendo información de conector
+http11processor.socket.ssl=Excepción obteniendo atributos SSL
+http11processor.socket.sslreneg=Excepción renegociando la conexión SSL
+http11processor.socket.timeout=Error poniendo tiempo agotado para conector
+
+http11protocol.endpoint.starterror=Error arrancando punto final (endpoint)
+http11protocol.proto.error=Error leyendo requerimiento, ignorado
+http11protocol.proto.ioexception.debug=IOException leyendo requerimiento
+http11protocol.proto.ioexception.info=IOException leyendo requerimiento, ignorada
+http11protocol.proto.socketexception.debug=SocketException leyendo requerimiento
+http11protocol.proto.socketexception.info=SocketException leyendo requerimiento, ignorada
+http11protocol.start=Arrancando Coyote HTTP/1.1 en puerto {0}
+
+iib.eof.error=Inesperado Fin De Archivo (EOF) leído en el enchufe (socket)
+iib.invalidmethod=Carácter inválido (CR o LF) hallado en el nombre del método
+iib.requestheadertoolarge.error=La cabecera del requerimiento es demasido grande
diff --git a/java/org/apache/coyote/http11/LocalStrings_fr.properties b/java/org/apache/coyote/http11/LocalStrings_fr.properties
index cb4e2b3..c43f9cd 100644
--- a/java/org/apache/coyote/http11/LocalStrings_fr.properties
+++ b/java/org/apache/coyote/http11/LocalStrings_fr.properties
@@ -13,13 +13,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-http11protocol.endpoint.starterror=Erreur au d\u00e9marrage du point de contact
-http11protocol.proto.error=Erreur \u00e0 la lecture de la requ\u00eate, ignor\u00e9
-http11protocol.proto.ioexception.debug=Exception d'entr\u00e9e/sortie (IOException) \u00e0 la lecture de la requ\u00eate
-http11protocol.proto.ioexception.info=Exception d'entr\u00e9e/sortie \u00e0 la lecture de la requ\u00eate, ignor\u00e9
-http11protocol.proto.socketexception.debug=Exception "Socket" (SocketException) \u00e0 la lecture de la requ\u00eate
-http11protocol.proto.socketexception.info=Exception "Socket" (SocketException) \u00e0 la lecture de la requ\u00eate, ignor\u00e9
-http11protocol.start=D\u00e9marrage de Coyote HTTP/1.1 sur {0}
+http11protocol.endpoint.starterror=Erreur au démarrage du point de contact
+http11protocol.proto.error=Erreur à la lecture de la requête, ignoré
+http11protocol.proto.ioexception.debug=Exception d'entrée/sortie (IOException) à la lecture de la requête
+http11protocol.proto.ioexception.info=Exception d'entrée/sortie à la lecture de la requête, ignoré
+http11protocol.proto.socketexception.debug=Exception "Socket" (SocketException) à la lecture de la requête
+http11protocol.proto.socketexception.info=Exception "Socket" (SocketException) à la lecture de la requête, ignoré
+http11protocol.start=Démarrage de Coyote HTTP/1.1 sur {0}
 
-iib.eof.error=Fin de flux (EOF) inattendue \u00e0 la lecture sur la socket
-iib.requestheadertoolarge.error=L'ent\u00eate de requ\u00eate est trop important
+iib.eof.error=Fin de flux (EOF) inattendue à la lecture sur la socket
+iib.requestheadertoolarge.error=L'entête de requête est trop important
diff --git a/java/org/apache/coyote/http11/LocalStrings_ja.properties b/java/org/apache/coyote/http11/LocalStrings_ja.properties
index 6fa4032..6fa7fb2 100644
--- a/java/org/apache/coyote/http11/LocalStrings_ja.properties
+++ b/java/org/apache/coyote/http11/LocalStrings_ja.properties
@@ -13,13 +13,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-http11protocol.endpoint.starterror=\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3092\u8d77\u52d5\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059
-http11protocol.proto.error=\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059\u304c\u3001\u7121\u8996\u3055\u308c\u307e\u3057\u305f
-http11protocol.proto.ioexception.debug=\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u306eIOException\u3067\u3059
-http11protocol.proto.ioexception.info=\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u306eIOException\u3067\u3059\u304c\u3001\u7121\u8996\u3055\u308c\u307e\u3057\u305f
-http11protocol.proto.socketexception.debug=\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u306eSocketException\u3067\u3059
-http11protocol.proto.socketexception.info=\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u306eSocketException\u3067\u3059\u304c\u3001\u7121\u8996\u3055\u308c\u307e\u3057\u305f
-http11protocol.start=Coyote HTTP/1.1\u3092 {0} \u3067\u8d77\u52d5\u3057\u307e\u3059
+http11protocol.endpoint.starterror=エンドポイントを起動中のエラーです
+http11protocol.proto.error=リクエストを読み込み中のエラーですが、無視されました
+http11protocol.proto.ioexception.debug=リクエストを読み込み中のIOExceptionです
+http11protocol.proto.ioexception.info=リクエストを読み込み中のIOExceptionですが、無視されました
+http11protocol.proto.socketexception.debug=リクエストを読み込み中のSocketExceptionです
+http11protocol.proto.socketexception.info=リクエストを読み込み中のSocketExceptionですが、無視されました
+http11protocol.start=Coyote HTTP/1.1を {0} で起動します
 
-iib.eof.error=\u30bd\u30b1\u30c3\u30c8\u304b\u3089\u4e88\u671f\u3057\u306a\u3044EOF\u3092\u8aad\u307f\u8fbc\u307f\u307e\u3057\u305f
-iib.requestheadertoolarge.error=\u30ea\u30af\u30a8\u30b9\u30c8\u30d8\u30c3\u30c0\u304c\u9577\u3059\u304e\u307e\u3059
+iib.eof.error=ソケットから予期しないEOFを読み込みました
+iib.requestheadertoolarge.error=リクエストヘッダが長すぎます
diff --git a/java/org/apache/coyote/http11/filters/LocalStrings.properties b/java/org/apache/coyote/http11/filters/LocalStrings.properties
index 0542fb5..c0dc9d1 100644
--- a/java/org/apache/coyote/http11/filters/LocalStrings.properties
+++ b/java/org/apache/coyote/http11/filters/LocalStrings.properties
@@ -13,9 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-chunkedInputFilter.error=No data available due to previous error
 chunkedInputFilter.eos=Unexpected end of stream while reading request body
 chunkedInputFilter.eosTrailer=Unexpected end of stream while reading trailer headers
+chunkedInputFilter.error=No data available due to previous error
 chunkedInputFilter.invalidCrlf=Invalid end of line sequence (character other than CR or LF found)
 chunkedInputFilter.invalidCrlfCRCR=Invalid end of line sequence (CRCR)
 chunkedInputFilter.invalidCrlfNoCR=Invalid end of line sequence (No CR before LF)
@@ -24,4 +24,4 @@ chunkedInputFilter.invalidHeader=Invalid chunk header
 chunkedInputFilter.maxExtension=maxExtensionSize exceeded
 chunkedInputFilter.maxTrailer=maxTrailerSize exceeded
 
-inputFilter.maxSwallow=maxSwallowSize exceeded
\ No newline at end of file
+inputFilter.maxSwallow=maxSwallowSize exceeded
diff --git a/java/org/apache/coyote/http11/upgrade/LocalStrings.properties b/java/org/apache/coyote/http11/upgrade/LocalStrings.properties
index 46cd875..dc12758 100644
--- a/java/org/apache/coyote/http11/upgrade/LocalStrings.properties
+++ b/java/org/apache/coyote/http11/upgrade/LocalStrings.properties
@@ -18,20 +18,20 @@ abstractProcessor.onDataAvailableFail=Failed to process data available event
 abstractProcessor.onWritePossibleFail=Failed to process write possible event
 abstractProcessor.osCloseFail=Failed to close output stream associated with upgraded connection
 
+apr.clientAbort=The client aborted the connection.
+apr.closed=The socket [{0}] associated with this connection has been closed.
+apr.read.error=Unexpected error [{0}] reading data from the APR/native socket [{1}] with wrapper [{2}].
+apr.read.sslGeneralError=An APR general error was returned by the SSL read operation on APR/native socket [{0}] with wrapper [{1}]. It will be treated as EAGAIN and the socket returned to the poller.
+apr.write.error=Unexpected error [{0}] writing data to the APR/native socket [{1}] with wrapper [{2}].
+
+nio.eof.error=Unexpected EOF read on the socket
+
 upgrade.sis.isFinished.ise=It is illegal to call isFinished() when the ServletInputStream is not in non-blocking mode (i.e. setReadListener() must be called first)
 upgrade.sis.isReady.ise=It is illegal to call isReady() when the ServletInputStream is not in non-blocking mode (i.e. setReadListener() must be called first)
+upgrade.sis.read.ise=It is illegal to call any of the read() methods in non-blocking mode without first checking that there is data available by calling isReady()
 upgrade.sis.readListener.null=It is illegal to pass null to setReadListener()
 upgrade.sis.readListener.set=It is illegal to call setReadListener() more than once for the same upgraded connection
-upgrade.sis.read.ise=It is illegal to call any of the read() methods in non-blocking mode without first checking that there is data available by calling isReady()
+upgrade.sis.write.ise=It is illegal to call any of the write() methods in non-blocking mode without first checking that there is space available by calling isReady()
 upgrade.sos.canWrite.ise=It is illegal to call canWrite() when the ServletOutputStream is not in non-blocking mode (i.e. setWriteListener() must be called first)
 upgrade.sos.writeListener.null=It is illegal to pass null to setWriteListener()
 upgrade.sos.writeListener.set=It is illegal to call setWriteListener() more than once for the same upgraded connection
-upgrade.sis.write.ise=It is illegal to call any of the write() methods in non-blocking mode without first checking that there is space available by calling isReady()
-
-apr.clientAbort=The client aborted the connection.
-apr.read.error=Unexpected error [{0}] reading data from the APR/native socket [{1}] with wrapper [{2}].
-apr.read.sslGeneralError=An APR general error was returned by the SSL read operation on APR/native socket [{0}] with wrapper [{1}]. It will be treated as EAGAIN and the socket returned to the poller.
-apr.write.error=Unexpected error [{0}] writing data to the APR/native socket [{1}] with wrapper [{2}].
-apr.closed=The socket [{0}] associated with this connection has been closed.
-
-nio.eof.error=Unexpected EOF read on the socket
diff --git a/java/org/apache/jasper/resources/LocalStrings.properties b/java/org/apache/jasper/resources/LocalStrings.properties
index 9ed2441..febd0ad 100644
--- a/java/org/apache/jasper/resources/LocalStrings.properties
+++ b/java/org/apache/jasper/resources/LocalStrings.properties
@@ -13,232 +13,414 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Default localized string information
-# Localized this the Default Locale as is en_US
+jasper.error.emptybodycontent.nonempty=According to TLD, tag {0} must be empty, but is not
 
+jsp.buffer.size.zero=Buffer size <= 0
+jsp.cmd_line.usage=Usage: jsptoservlet [-dd <path/to/outputDirectory>] [-keepgenerated] <.jsp files>
+jsp.engine.info=Jasper JSP 2.2 Engine
+jsp.error.action.isnottagfile={0} action can be used in tag files only
+jsp.error.action.istagfile={0} action cannot be used in a tag file
+jsp.error.attempt_to_clear_flushed_buffer=Error: Attempt to clear a buffer that's already been flushed
+jsp.error.attr.novalue=Attribute {0} has no value
+jsp.error.attr.quoted=Attribute value should be quoted
+jsp.error.attribute.custom.non_rt_with_expr=According to TLD or attribute directive in tag file, attribute {0} does not accept any expressions
+jsp.error.attribute.deferredmix=Cannot use both ${} and #{} EL expressions in the same attribute value
+jsp.error.attribute.duplicate=Attribute qualified names must be unique within an element
+jsp.error.attribute.invalidPrefix=The attribute prefix [{0}] does not correspond to any imported tag library
+jsp.error.attribute.noequal=equal symbol expected
+jsp.error.attribute.noescape=Attribute value {0} is quoted with {1} which must be escaped when used within the value
+jsp.error.attribute.noquote=quote symbol expected
+jsp.error.attribute.nowhitespace=The JSP specification requires that an attribute name is preceded by whitespace
+jsp.error.attribute.null_name=Null attribute name
+jsp.error.attribute.standard.non_rt_with_expr=The {0} attribute of the {1} standard action does not accept any expressions
+jsp.error.attribute.unterminated=attribute for {0} is not properly terminated
+jsp.error.attributes.not.allowed={0} must not have any attributes
+jsp.error.bad.scratch.dir=The scratchDir you specified: {0} is unusable.
+jsp.error.badGetReader=Cannot create a reader when the stream is not buffered
+jsp.error.badStandardAction=Invalid standard action
+jsp.error.bad_attribute=Attribute {0} invalid for tag {1} according to TLD
+jsp.error.bad_string_Character=Cannot extract a Character from a zero length array
+jsp.error.bad_string_char=Cannot extract a char from a zero length array
+jsp.error.bad_tag=No tag "{0}" defined in tag library imported with prefix "{1}"
+jsp.error.badtaglib=Unable to open taglibrary {0} : {1}
+jsp.error.beans.introspection=An exception occurred while introspecting the read method of property ''{0}'' in a bean of type ''{1}'':\n\
+{2}
+jsp.error.beans.nobeaninfo=No BeanInfo for the bean of type ''{0}'' could be found, the class likely does not exist.
+jsp.error.beans.nomethod=Cannot find a method to read property ''{0}'' in a bean of type ''{1}''
+jsp.error.beans.nomethod.setproperty=Can''t find a method to write property ''{0}'' of type ''{1}'' in a bean of type ''{2}''
+jsp.error.beans.noproperty=Cannot find any information on property ''{0}'' in a bean of type ''{1}''
+jsp.error.beans.nullbean=Attempted a bean operation on a null object.
+jsp.error.beans.property.conversion=Unable to convert string "{0}" to class "{1}" for attribute "{2}": {3}
+jsp.error.beans.propertyeditor.notregistered=Property Editor not registered with the PropertyEditorManager
+jsp.error.beans.setproperty.noindexset=Cannot set indexed property
+jsp.error.bug48498=Unable to display JSP extract. Probably due to an XML parser bug (see Tomcat bug 48498 for details).
+jsp.error.classname=Can't determine classname from .class file
+jsp.error.closeindividualparam=param tag needs to be closed with "/>"
+jsp.error.closeparams=param tag needs to be closed with /params
+jsp.error.coerce_to_type=Cannot coerce value ({2}) to type ({1}) for attribute {0}.
+jsp.error.compilation=Error compiling file: {0} {1}
 jsp.error.compiler=No Java compiler available
 jsp.error.compiler.config=No Java compiler available for configuration options compilerClassName: [{0}] and compiler: [{1}]
-jsp.error.no.scratch.dir=The JSP engine is not configured with a scratch dir.\
-\n Please add \"jsp.initparams=scratchdir=<dir-name>\" \
-\n in the servlets.properties file for this context.
-jsp.error.bad.scratch.dir=The scratchDir you specified: {0} is unusable.
-jsp.message.scratch.dir.is=Scratch dir for the JSP engine is: {0}
-jsp.message.parent_class_loader_is=Parent class loader is: {0}
-jsp.message.dont.modify.servlets=IMPORTANT: Do not modify the generated servlets
+jsp.error.config_pagedir_encoding_mismatch=Page-encoding specified in jsp-property-group ({0}) is different from that specified in page directive ({1})
+jsp.error.corresponding.servlet=Generated servlet error:\n
+jsp.error.could.not.add.taglibraries=Could not add one or more tag libraries.
+jsp.error.data.file.processing=Error processing file "{0}"
+jsp.error.data.file.read=Error reading file "{0}"
+jsp.error.data.file.write=Error while writing data file
+jsp.error.deferredmethodandvalue='deferredValue' and 'deferredMethod' cannot be both 'true'
+jsp.error.deferredmethodsignaturewithoutdeferredmethod=Cannot specify a method signature if 'deferredMethod' is not 'true'
+jsp.error.deferredvaluetypewithoutdeferredvalue=Cannot specify a value type if 'deferredValue' is not 'true'
+jsp.error.directive.isnottagfile={0} directive can only be used in a tag file
+jsp.error.directive.istagfile={0} directive cannot be used in a tag file
+jsp.error.duplicate.name.jspattribute=The attribute {0} specified in the standard or custom action also appears as the value of the name attribute in the enclosed jsp:attribute
+jsp.error.duplicateqname=An attribute with duplicate qualified name [{0}] was found. Attribute qualified names must be unique within an element.
+jsp.error.dynamic.attributes.not.implemented=The {0} tag declares that it accepts dynamic attributes but does not implement the required interface
+jsp.error.el.parse={0} : {1}
+jsp.error.el.template.deferred=#{...} is not allowed in template text
+jsp.error.el_interpreter_class.instantiation=Failed to load or instantiate ELInterpreter class [{0}]
+jsp.error.empty.body.not.allowed=Empty body not allowed for {0}
+jsp.error.fallback.invalidUse=jsp:fallback must be a direct child of jsp:plugin
+jsp.error.file.already.registered=Recursive include of file {0}
+jsp.error.file.cannot.read=Cannot read file: {0}
+jsp.error.file.not.found=File "{0}" not found
+jsp.error.file.not.registered=file {0} not seen in include
+jsp.error.flush=Exception occurred when flushing data
+jsp.error.fragmentWithDeclareOrScope=Both 'fragment' and 'declare' or 'scope' attributes specified in variable directive
+jsp.error.fragmentwithrtexprvalue=Cannot specify both 'fragment' and 'rtexprvalue' attributes.  If 'fragment' is present, 'rtexprvalue' is fixed as 'true'
+jsp.error.fragmentwithtype=Cannot specify both 'fragment' and 'type' attributes.  If 'fragment' is present, 'type' is fixed as 'javax.servlet.jsp.tagext.JspFragment'
+jsp.error.function.classnotfound=The class {0} specified in TLD for the function {1} cannot be found: {2}
+jsp.error.getproperty.beanNotFound=getProperty: Bean {0} not found
+jsp.error.include.bad.file=Bad file argument to include
+jsp.error.include.badflush=jsp:include page="..." flush="true" is the only valid combination in JSP 1.0
+jsp.error.include.exception=Unable to include {0}
+jsp.error.include.flush.invalid.value=Invalid value for the flush attribute: {0}
+jsp.error.include.missing.file=Missing file argument to include
+jsp.error.include.noflush=jsp:include needs to have "flush=true"
+jsp.error.include.tag=Invalid jsp:include tag
+jsp.error.internal.evaluator_not_found=Internal error: unable to load expression evaluator
+jsp.error.internal.filenotfound=Internal Error: File {0} not found
+jsp.error.internal.tldinit=Unable to initialize TldLocationsCache: {0}
+jsp.error.internal.unexpected_node_type=Internal Error: Unexpected node type encountered
+jsp.error.invalid.attribute={0} has invalid attribute: {1}
+jsp.error.invalid.bean=The value for the useBean class attribute {0} is invalid.
+jsp.error.invalid.directive=Invalid directive
+jsp.error.invalid.expression="{0}" contains invalid expression(s): {1}
+jsp.error.invalid.forward=Invalid forward tag
+jsp.error.invalid.implicit=Invalid implicit TLD for tag file at {0}
+jsp.error.invalid.implicit.version=Invalid JSP version defined in implicit TLD for tag file at {0}
+jsp.error.invalid.javaEncoding=Invalid java encodings. Tried {0} and then {1}. Both failed.
+jsp.error.invalid.scope=Illegal value of ''scope'' attribute: {0} (must be one of "page", "request", "session", or "application")
+jsp.error.invalid.tagdir=Tag file directory {0} does not start with "/WEB-INF/tags"
+jsp.error.invalid.version=Invalid JSP version defined for tag file at {0}
+jsp.error.ise_on_clear=Illegal to clear() when buffer size == 0
+jsp.error.java.line.number=An error occurred at line: [{0}] in the generated java file: [{1}]
+jsp.error.javac=Javac exception
+jsp.error.javac.env=Environment:
+jsp.error.jspbody.emptybody.only=The {0} tag can only have jsp:attribute in its body.
+jsp.error.jspbody.invalidUse=jsp:body must be the subelement of a standard or custom action
+jsp.error.jspbody.required=Must use jsp:body to specify tag body for {0} if jsp:attribute is used.
+jsp.error.jspc.missingTarget=Missing target: Must specify -webapp or -uriroot, or one or more JSP pages
+jsp.error.jspc.no_uriroot=The uriroot is not specified and cannot be located with the specified JSP file(s)
+jsp.error.jspc.uriroot_not_dir=The -uriroot option must specify a pre-existing directory
+jsp.error.jspelement.missing.name=Mandatory XML-style 'name' attribute missing
+jsp.error.jspoutput.conflict=&lt;jsp:output&gt;: illegal to have multiple occurrences of "{0}" with different values (old: {1}, new: {2})
+jsp.error.jspoutput.doctypenamesystem=&lt;jsp:output&gt;: 'doctype-root-element' and 'doctype-system' attributes must appear together
+jsp.error.jspoutput.doctypepublicsystem=&lt;jsp:output&gt;: 'doctype-system' attribute must appear if 'doctype-public' attribute appears
+jsp.error.jspoutput.invalidUse=&lt;jsp:output&gt; must not be used in standard syntax
+jsp.error.jspoutput.nonemptybody=&lt;jsp:output&gt; must not have a body
+jsp.error.jsproot.version.invalid=Invalid version number: "{0}", must be "1.2", "2.0", "2.1" or "2.2"
+jsp.error.jsptext.badcontent='&lt;', when appears in the body of &lt;jsp:text&gt;, must be encapsulated within a CDATA
+jsp.error.lastModified=Unable to determine last modified date for file [{0}]
+jsp.error.library.invalid=JSP page is invalid according to library {0}: {1}
+jsp.error.literal_with_void=A literal value was specified for attribute {0} that is defined as a deferred method with a return type of void. JSP.2.3.4 does not permit literal values in this case
+jsp.error.loadclass.taghandler=Unable to load tag handler class "{0}" for tag "{1}"
+jsp.error.location=line: {0}, column: {1}
+jsp.error.mandatory.attribute={0}: Mandatory attribute {1} missing
+jsp.error.missing.tagInfo=TagInfo object for {0} is missing from TLD
+jsp.error.missing_attribute=According to the TLD or the tag file, attribute {0} is mandatory for tag {1}
+jsp.error.missing_var_or_varReader=Missing 'var' or 'varReader' attribute
+jsp.error.more.than.one.taglib=More than one taglib in the TLD: {0}
+jsp.error.multiple.jsp=Cannot have multiple specifications of
+jsp.error.multiple.line.number=\n\
+\n\
+An error occurred between lines: {0} and {1} in the jsp file: {2}\n\
+\n
+jsp.error.namedAttribute.invalidUse=jsp:attribute must be the subelement of a standard or custom action
+jsp.error.needAlternateJavaEncoding=Default java encoding {0} is invalid on your java platform. An alternate can be specified via the ''javaEncoding'' parameter of JspServlet.
+jsp.error.nested.jspattribute=A jsp:attribute standard action cannot be nested within another jsp:attribute standard action
+jsp.error.nested.jspbody=A jsp:body standard action cannot be nested within another jsp:body or jsp:attribute standard action
+jsp.error.nested_jsproot=Nested &lt;jsp:root&gt;
+jsp.error.no.more.content=End of content reached while more parsing required: tag nesting error?
+jsp.error.no.scratch.dir=The JSP engine is not configured with a scratch dir.\n\
+\ Please add "jsp.initparams=scratchdir=<dir-name>" \n\
+\ in the servlets.properties file for this context.
+jsp.error.no.scriptlets=Scripting elements ( &lt;%!, &lt;jsp:declaration, &lt;%=, &lt;jsp:expression, &lt;%, &lt;jsp:scriptlet ) are disallowed here.
+jsp.error.noFunction=The function {0} cannot be located with the specified prefix
+jsp.error.noFunctionMethod=Method "{0}" for function "{1}" not found in class "{2}"
+jsp.error.noFunctionPrefix=The function {0} must be used with a prefix when a default namespace is not specified
+jsp.error.nomatching.fragment=Cannot find an attribute directive (with name={0} and fragment=true) prior to the fragment directive.
+jsp.error.non_null_tei_and_var_subelems=Tag {0} has one or more variable subelements and a TagExtraInfo class that returns one or more VariableInfo
 jsp.error.not.impl.comments=Internal error: Comments not implemented
-jsp.error.not.impl.directives=Internal error: Directives not implemented
 jsp.error.not.impl.declarations=Internal error: Declarations not implemented
+jsp.error.not.impl.directives=Internal error: Directives not implemented
 jsp.error.not.impl.expressions=Internal error: Expressions not implemented
-jsp.error.not.impl.scriptlets=Internal error: Scriptlets not implemented
-jsp.error.not.impl.usebean=Internal error: useBean not implemented
-jsp.error.not.impl.getp=Internal error: getProperty not implemented
-jsp.error.not.impl.setp=Internal error: setProperty not implemented
-jsp.error.not.impl.plugin=Internal error: plugin not implemented
 jsp.error.not.impl.forward=Internal error: forward not implemented
+jsp.error.not.impl.getp=Internal error: getProperty not implemented
 jsp.error.not.impl.include=Internal error: include not implemented
-jsp.error.unavailable=JSP has been marked unavailable
-jsp.error.usebean.missing.attribute=useBean: id attribute missing or misspelled
-jsp.error.usebean.missing.type=useBean ({0}): Either class or type attribute must be \
-specified:
-jsp.error.usebean.duplicate=useBean: Duplicate bean name: {0}
-jsp.error.usebean.prohibited.as.session=Can''t use as session bean {0} since it is prohibited \
-by jsp directive defined earlier:
-jsp.error.usebean.not.both=useBean: Can't specify both class and beanName attribute:
-jsp.error.usebean.bad.type.cast=useBean ({0}): Type ({1}) is not assignable from class ({2})
-jsp.error.invalid.scope=Illegal value of \''scope\'' attribute: {0} (must be one of \"page\", \"request\", \"session\", or \"application\")
-jsp.error.classname=Can't determine classname from .class file
+jsp.error.not.impl.plugin=Internal error: plugin not implemented
+jsp.error.not.impl.scriptlets=Internal error: Scriptlets not implemented
+jsp.error.not.impl.setp=Internal error: setProperty not implemented
+jsp.error.not.impl.taglib=Internal error: Tag extensions not implemented
+jsp.error.not.impl.usebean=Internal error: useBean not implemented
+jsp.error.not.in.template={0} not allowed in a template text body.
 jsp.error.outputfolder=No output folder
-jsp.warning.bad.type=Warning: bad type in .class file
-jsp.error.data.file.write=Error while writing data file
+jsp.error.overflow=Error: JSP Buffer overflow
+jsp.error.page.bad_b_and_a_combo=Page directive: Illegal combination of buffer="none" && autoFlush="false"
+jsp.error.page.conflict.autoflush=Page directive: illegal to have multiple occurrences of ''autoFlush'' with different values (old: {0}, new: {1})
+jsp.error.page.conflict.buffer=Page directive: illegal to have multiple occurrences of ''buffer'' with different values (old: {0}, new: {1})
 jsp.error.page.conflict.contenttype=Page directive: illegal to have multiple occurrences of ''contentType'' with different values (old: {0}, new: {1})
-jsp.error.page.invalid.contenttype=Page directive: invalid value for contentType
+jsp.error.page.conflict.deferredsyntaxallowedasliteral=Page directive: illegal to have multiple occurrences of ''deferredSyntaxAllowedAsLiteral'' with different values (old: {0}, new: {1})
+jsp.error.page.conflict.errorpage=Page directive: illegal to have multiple occurrences of ''errorPage'' with different values (old: {0}, new: {1})
+jsp.error.page.conflict.extends=Page directive: illegal to have multiple occurrences of ''extends'' with different values (old: {0}, new: {1})
+jsp.error.page.conflict.info=Page directive: illegal to have multiple occurrences of ''info'' with different values (old: {0}, new: {1})
+jsp.error.page.conflict.iselignored=Page directive: illegal to have multiple occurrences of ''isELIgnored'' with different values (old: {0}, new: {1})
+jsp.error.page.conflict.iserrorpage=Page directive: illegal to have multiple occurrences of ''isErrorPage'' with different values (old: {0}, new: {1})
+jsp.error.page.conflict.isthreadsafe=Page directive: illegal to have multiple occurrences of ''isThreadSafe'' with different values (old: {0}, new: {1})
+jsp.error.page.conflict.language=Page directive: illegal to have multiple occurrences of ''language'' with different values (old: {0}, new: {1})
 jsp.error.page.conflict.session=Page directive: illegal to have multiple occurrences of ''session'' with different values (old: {0}, new: {1})
-jsp.error.page.invalid.session=Page directive: invalid value for session
-jsp.error.page.conflict.buffer=Page directive: illegal to have multiple occurrences of ''buffer'' with different values (old: {0}, new: {1})
-jsp.error.page.invalid.buffer=Page directive: invalid value for buffer
-jsp.error.page.conflict.autoflush=Page directive: illegal to have multiple occurrences of ''autoFlush'' with different values (old: {0}, new: {1})
+jsp.error.page.conflict.trimdirectivewhitespaces=Page directive: illegal to have multiple occurrences of ''trimDirectiveWhitespaces'' with different values (old: {0}, new: {1})
+jsp.error.page.defafteruse.language=Page directive: can't define language after a scriptlet
 jsp.error.page.invalid.autoflush=Page directive: invalid value for autoFlush
+jsp.error.page.invalid.buffer=Page directive: invalid value for buffer
+jsp.error.page.invalid.contenttype=Page directive: invalid value for contentType
+jsp.error.page.invalid.deferredsyntaxallowedasliteral=Page directive: invalid value for deferredSyntaxAllowedAsLiteral
 jsp.error.page.invalid.import=Page directive: invalid value for import
-jsp.error.page.conflict.isthreadsafe=Page directive: illegal to have multiple occurrences of ''isThreadSafe'' with different values (old: {0}, new: {1})
-jsp.error.page.invalid.isthreadsafe=Page directive: invalid value for isThreadSafe
-jsp.error.page.conflict.info=Page directive: illegal to have multiple occurrences of ''info'' with different values (old: {0}, new: {1})
 jsp.error.page.invalid.info=Page directive: invalid value for info
-jsp.error.page.conflict.iserrorpage=Page directive: illegal to have multiple occurrences of ''isErrorPage'' with different values (old: {0}, new: {1})
+jsp.error.page.invalid.iselignored=Page directive: invalid value for isELIgnored
 jsp.error.page.invalid.iserrorpage=Page directive: invalid value for isErrorPage
-jsp.error.page.conflict.errorpage=Page directive: illegal to have multiple occurrences of ''errorPage'' with different values (old: {0}, new: {1})
-jsp.error.page.conflict.language=Page directive: illegal to have multiple occurrences of ''language'' with different values (old: {0}, new: {1})
-jsp.error.tag.conflict.language=Tag directive: illegal to have multiple occurrences of ''language'' with different values (old: {0}, new: {1})
+jsp.error.page.invalid.isthreadsafe=Page directive: invalid value for isThreadSafe
+jsp.error.page.invalid.session=Page directive: invalid value for session
+jsp.error.page.invalid.trimdirectivewhitespaces=Page directive: invalid value for trimDirectiveWhitespaces
 jsp.error.page.language.nonjava=Page directive: invalid language attribute
-jsp.error.tag.language.nonjava=Tag directive: invalid language attribute
-jsp.error.page.defafteruse.language=Page directive: can't define language after a scriptlet
-jsp.error.page.nomapping.language=Page directive: No mapping for language:
-jsp.error.page.conflict.extends=Page directive: illegal to have multiple occurrences of ''extends'' with different values (old: {0}, new: {1})
-jsp.error.page.conflict.iselignored=Page directive: illegal to have multiple occurrences of ''isELIgnored'' with different values (old: {0}, new: {1})
-jsp.error.tag.conflict.iselignored=Tag directive: illegal to have multiple occurrences of ''isELIgnored'' with different values (old: {0}, new: {1})
-jsp.error.page.invalid.iselignored=Page directive: invalid value for isELIgnored
-jsp.error.tag.invalid.iselignored=Tag directive: invalid value for isELIgnored
 jsp.error.page.multi.pageencoding=Page directive must not have multiple occurrences of pageencoding
-jsp.error.tag.conflict.attr=Tag directive: illegal to have multiple occurrences of the attribute \"{0}\" with different values (old: {1}, new: {2})
-jsp.error.tag.multi.pageencoding=Tag directive must not have multiple occurrences of pageencoding
-jsp.error.page.bad_b_and_a_combo=Page directive: Illegal combination of buffer=\"none\" && autoFlush=\"false\"
-jsp.error.not.impl.taglib=Internal error: Tag extensions not implemented
-jsp.error.include.missing.file=Missing file argument to include
-jsp.error.include.bad.file=Bad file argument to include
-jsp.error.include.exception=Unable to include {0}
-jsp.error.stream.close.failed=Failed to close stream
-jsp.error.stream.closed=Stream closed
-jsp.error.invalid.forward=Invalid forward tag
-jsp.error.unknownException=Unhandled error! You might want to consider having an error page \
-to report such errors more gracefully
-jsp.error.invalid.directive=Invalid directive
-jsp.error.invalid.implicit=Invalid implicit TLD for tag file at {0}
-jsp.error.invalid.implicit.version=Invalid JSP version defined in implicit TLD for tag file at {0}
-jsp.error.invalid.version=Invalid JSP version defined for tag file at {0}
-jsp.error.directive.istagfile={0} directive cannot be used in a tag file
-jsp.error.directive.isnottagfile={0} directive can only be used in a tag file
-jsp.error.tagfile.tld.name=The \"name\" attribute of the tag directive has a value {0} while the \"name\" tag of the \"tag-file\" element in the TLD is {1}
-jsp.error.action.istagfile={0} action cannot be used in a tag file
-jsp.error.action.isnottagfile={0} action can be used in tag files only
-jsp.error.unterminated=Unterminated {0} tag
-jsp.error.usebean.notinsamefile=useBean tag must begin and end in the same physical file
-jsp.error.loadclass.taghandler=Unable to load tag handler class \"{0}\" for tag \"{1}\"
-jsp.error.unable.compile=Unable to compile class for JSP
-jsp.error.unable.load=Unable to load class for JSP
-jsp.error.unable.rename=Unable to rename class file {0} to {1}
-jsp.error.mandatory.attribute={0}: Mandatory attribute {1} missing
-jsp.error.flush=Exception occurred when flushing data
-jsp.engine.info=Jasper JSP 2.2 Engine
-jsp.error.invalid.expression="{0}" contains invalid expression(s): {1}
-jsp.error.invalid.attribute={0} has invalid attribute: {1}
-jsp.error.usebean.class.notfound=Class: {0} not found
-jsp.error.file.cannot.read=Cannot read file: {0}
-jsp.error.file.already.registered=Recursive include of file {0}
-jsp.error.file.not.registered=file {0} not seen in include
-jsp.error.quotes.unterminated=Unterminated quotes
-jsp.error.attr.quoted=Attribute value should be quoted
-jsp.error.attr.novalue=Attribute {0} has no value
-jsp.error.tag.attr.unterminated=Unterminated tag attribute list
+jsp.error.page.noSession=Cannot access session scope in page that does not participate in any session
+jsp.error.page.nomapping.language=Page directive: No mapping for language:
+jsp.error.param.invalidUse=The jsp:param action must not be used outside the jsp:include, jsp:forward, or jsp:params elements
 jsp.error.param.noname=No name in PARAM tag
 jsp.error.param.novalue=No value in PARAM tag
-jsp.error.beans.nullbean=Attempted a bean operation on a null object.
-jsp.error.beans.nobeaninfo=No BeanInfo for the bean of type ''{0}'' could be found, the class likely does not exist.
-jsp.error.beans.introspection=An exception occurred while introspecting the read method of property ''{0}'' in a bean of type ''{1}'':\n{2}
-jsp.error.beans.nomethod=Cannot find a method to read property ''{0}'' in a bean of type ''{1}''
-jsp.error.beans.nomethod.setproperty=Can''t find a method to write property ''{0}'' of type ''{1}'' in a bean of type ''{2}''
-jsp.error.beans.noproperty=Cannot find any information on property ''{0}'' in a bean of type ''{1}''
-jsp.error.beans.property.conversion=Unable to convert string \"{0}\" to class \"{1}\" for attribute \"{2}\": {3}
-jsp.error.beans.propertyeditor.notregistered=Property Editor not registered with the PropertyEditorManager
-jsp.error.beans.setproperty.noindexset=Cannot set indexed property
-jsp.error.include.tag=Invalid jsp:include tag
-jsp.error.include.noflush=jsp:include needs to have \"flush=true\"
-jsp.error.include.badflush=jsp:include page=\"...\" flush=\"true\" is the only valid combination in JSP 1.0
-jsp.error.attempt_to_clear_flushed_buffer=Error: Attempt to clear a buffer that's already been flushed
-jsp.error.overflow=Error: JSP Buffer overflow
-jsp.error.paramexpected=Expecting \"jsp:param\" standard action with \"name\" and \"value\" attributes
-jsp.error.param.invalidUse=The jsp:param action must not be used outside the jsp:include, jsp:forward, or jsp:params elements
-jsp.error.params.invalidUse=jsp:params must be a direct child of jsp:plugin
-jsp.error.fallback.invalidUse=jsp:fallback must be a direct child of jsp:plugin
-jsp.error.namedAttribute.invalidUse=jsp:attribute must be the subelement of a standard or custom action
-jsp.error.jspbody.invalidUse=jsp:body must be the subelement of a standard or custom action
-jsp.error.closeindividualparam=param tag needs to be closed with \"/>\"
-jsp.error.closeparams=param tag needs to be closed with /params
+jsp.error.paramexpected=Expecting "jsp:param" standard action with "name" and "value" attributes
 jsp.error.params.emptyBody=jsp:params must contain at least one nested jsp:param
 jsp.error.params.illegalChild=jsp:params must not have any nested elements other than jsp:param
-jsp.error.plugin.notype=type not declared in jsp:plugin
+jsp.error.params.invalidUse=jsp:params must be a direct child of jsp:plugin
+jsp.error.parse.error.in.TLD=Parse Error in the tag library descriptor: {0}
+jsp.error.parse.xml=XML parsing error on file {0}
+jsp.error.parse.xml.invalidPublicId=Invalid PUBLIC ID: {0}
+jsp.error.parse.xml.line=XML parsing error on file {0}: (line {1}, col {2})
+jsp.error.parse.xml.scripting.invalid.body=Body of {0} element must not contain any XML elements
 jsp.error.plugin.badtype=Illegal value for 'type' attribute in jsp:plugin: must be 'bean' or 'applet'
 jsp.error.plugin.nocode=code not declared in jsp:plugin
-jsp.error.ise_on_clear=Illegal to clear() when buffer size == 0
-jsp.error.setproperty.beanNotFound=setProperty: Bean {0} not found
-jsp.error.getproperty.beanNotFound=getProperty: Bean {0} not found
+jsp.error.plugin.notype=type not declared in jsp:plugin
+jsp.error.plugin.wrongRootElement=Name of root element in {0} different from {1}
+jsp.error.prefix.refined=Attempt to redefine the prefix {0} to {1}, when it was already defined as {2} in the current scope.
+jsp.error.prefix.use_before_dcl=The prefix {0} specified in this tag directive has been previously used by an action in file {1} line {2}.
+jsp.error.prolog_config_encoding_mismatch=Page-encoding specified in XML prolog ({0}) is different from that specified in jsp-property-group ({1})
+jsp.error.prolog_pagedir_encoding_mismatch=Page-encoding specified in XML prolog ({0}) is different from that specified in page directive ({1})
+jsp.error.quotes.unterminated=Unterminated quotes
+jsp.error.scripting.variable.missing_name=Unable to determine scripting variable name from attribute {0}
+jsp.error.servlet.destroy.failed=Exception during Servlet.destroy() for JSP page
 jsp.error.setproperty.ClassNotFound=setProperty: Class {0} not found
-jsp.error.javac=Javac exception
-jsp.error.javac.env=Environment:
-jsp.error.compilation=Error compiling file: {0} {1}
-jsp.error.setproperty.invalidSyntax=setProperty: can't have non-null value when property=*
+jsp.error.setproperty.arrayVal=setProperty: can''t set array property {0} through a string constant value
 jsp.error.setproperty.beanInfoNotFound=setproperty: beanInfo for bean {0} not found
+jsp.error.setproperty.beanNotFound=setProperty: Bean {0} not found
+jsp.error.setproperty.invalidSyntax=setProperty: can't have non-null value when property=*
 jsp.error.setproperty.paramOrValue=setProperty: either param or value can be present
-jsp.error.setproperty.arrayVal=setProperty: can''t set array property {0} through a string constant value
-jsp.error.undeclared_namespace=A custom tag was encountered with an undeclared namespace [{0}]
-jsp.warning.keepgen=Warning: Invalid value for the initParam keepgenerated. Will use the default value of \"false\"
-jsp.warning.xpoweredBy=Warning: Invalid value for the initParam xpoweredBy. Will use the default value of \"false\"
-jsp.warning.enablePooling=Warning: Invalid value for the initParam enablePooling. Will use the default value of \"true\"
-jsp.warning.invalidTagPoolSize=Warning: Invalid value for the init parameter named tagPoolSize. Will use default size of {0}
-jsp.warning.mappedFile=Warning: Invalid value for the initParam mappedFile. Will use the default value of \"false\"
-jsp.warning.classDebugInfo=Warning: Invalid value for the initParam classdebuginfo. Will use the default value of \"false\"
-jsp.warning.checkInterval=Warning: Invalid value for the initParam checkInterval. Will use the default value of \"300\" seconds
-jsp.warning.modificationTestInterval=Warning: Invalid value for the initParam modificationTestInterval. Will use the default value of \"4\" seconds
-jsp.warning.recompileOnFail=Warning: Invalid value for the initParam recompileOnFail. Will use the default value of \"false\"
-jsp.warning.development=Warning: Invalid value for the initParam development. Will use the default value of \"true\"
-jsp.warning.fork=Warning: Invalid value for the initParam fork. Will use the default value of \"true\"
-jsp.warning.reloading=Warning: Invalid value for the initParam reloading. Will use the default value of \"true\"
-jsp.warning.dumpSmap=Warning: Invalid value for the initParam dumpSmap. Will use the default value of \"false\"
-jsp.warning.genchararray=Warning: Invalid value for the initParam genStringAsCharArray. Will use the default value of \"false\"
-jsp.warning.suppressSmap=Warning: Invalid value for the initParam suppressSmap. Will use the default value of \"false\"
-jsp.warning.displaySourceFragment=Warning: Invalid value for the initParam displaySourceFragment. Will use the default value of \"true\"
-jsp.warning.maxLoadedJsps=Warning: Invalid value for the initParam maxLoadedJsps. Will use the default value of \"-1\"
-jsp.warning.jspIdleTimeout=Warning: Invalid value for the initParam jspIdleTimeout. Will use the default value of \"-1\"
-jsp.error.badtaglib=Unable to open taglibrary {0} : {1}
-jsp.error.badGetReader=Cannot create a reader when the stream is not buffered
-jsp.warning.quoteAttributeEL=Warning: Invalid value for the initParam quoteAttributeEL. Will use the default value of \"false\"
-jsp.warning.unknown.element.in.taglib=Unknown element ({0}) in taglib
-jsp.warning.unknown.element.in.tag=Unknown element ({0}) in tag
-jsp.warning.unknown.element.in.tagfile=Unknown element ({0}) in tag-file
-jsp.warning.unknown.element.in.attribute=Unknown element ({0}) in attribute
-jsp.warning.unknown.element.in.variable=Unknown element ({0}) in variable
-jsp.warning.unknown.element.in.validator=Unknown element ({0}) in validator
-jsp.warning.unknown.element.in.initParam=Unknown element ({0}) in validator''s init-param
-jsp.warning.unknown.element.in.function=Unknown element ({0}) in function
-jsp.warning.unknown.sourceVM=Unknown source VM [{0}] ignored
-jsp.warning.unknown.targetVM=Unknown target VM [{0}] ignored
-jsp.warning.unsupported.sourceVM=Unsupported source VM [{0}] requested, using [{1}]
-jsp.warning.unsupported.targetVM=Unsupported target VM [{0}] requested, using [{1}]
-jsp.error.more.than.one.taglib=More than one taglib in the TLD: {0}
+jsp.error.signature.classnotfound=The class {0} specified in the method signature in TLD for the function {1} cannot be found. {2}
+jsp.error.simpletag.badbodycontent=The TLD for the class {0} specifies an invalid body-content (JSP) for a SimpleTag.
+jsp.error.single.line.number=An error occurred at line: {0} in the jsp file: {1}
+jsp.error.stream.close.failed=Failed to close stream
+jsp.error.stream.closed=Stream closed
+jsp.error.tag.attr.unterminated=Unterminated tag attribute list
+jsp.error.tag.conflict.attr=Tag directive: illegal to have multiple occurrences of the attribute "{0}" with different values (old: {1}, new: {2})
+jsp.error.tag.conflict.deferredsyntaxallowedasliteral=Tag directive: illegal to have multiple occurrences of ''deferredSyntaxAllowedAsLiteral'' with different values (old: {0}, new: {1})
+jsp.error.tag.conflict.iselignored=Tag directive: illegal to have multiple occurrences of ''isELIgnored'' with different values (old: {0}, new: {1})
+jsp.error.tag.conflict.language=Tag directive: illegal to have multiple occurrences of ''language'' with different values (old: {0}, new: {1})
+jsp.error.tag.conflict.trimdirectivewhitespaces=Tag directive: illegal to have multiple occurrences of ''trimDirectiveWhitespaces'' with different values (old: {0}, new: {1})
+jsp.error.tag.invalid.deferredsyntaxallowedasliteral=Tag directive: invalid value for deferredSyntaxAllowedAsLiteral
+jsp.error.tag.invalid.iselignored=Tag directive: invalid value for isELIgnored
+jsp.error.tag.invalid.trimdirectivewhitespaces=Tag directive: invalid value for trimDirectiveWhitespaces
+jsp.error.tag.language.nonjava=Tag directive: invalid language attribute
+jsp.error.tag.multi.pageencoding=Tag directive must not have multiple occurrences of pageencoding
+jsp.error.tagdirective.badbodycontent=Invalid body-content ({0}) in tag directive
+jsp.error.tagfile.badSuffix=Missing ".tag" suffix in tag file path {0}
+jsp.error.tagfile.illegalPath=Illegal tag file path: {0}, must start with "/WEB-INF/tags" or "/META-INF/tags"
+jsp.error.tagfile.missingPath=Path not specified to tag file
+jsp.error.tagfile.nameFrom.badAttribute=The attribute directive (declared in line {1} and whose name attribute is "{0}", the value of this name-from-attribute attribute) must be of type java.lang.String, is "required" and not a "rtexprvalue".
+jsp.error.tagfile.nameFrom.noAttribute=Cannot find an attribute directive with a name attribute with a value "{0}", the value of this name-from-attribute attribute.
+jsp.error.tagfile.nameNotUnique=The value of {0} and the value of {1} in line {2} are the same.
+jsp.error.tagfile.tld.name=The "name" attribute of the tag directive has a value {0} while the "name" tag of the "tag-file" element in the TLD is {1}
+jsp.error.taglib.reserved.prefix=The taglib prefix {0} is reserved
+jsp.error.taglibDirective.absUriCannotBeResolved=The absolute uri: {0} cannot be resolved in either web.xml or the jar files deployed with this application
+jsp.error.taglibDirective.both_uri_and_tagdir=Both 'uri' and 'tagdir' attributes specified
+jsp.error.taglibDirective.missing.location=Neither 'uri' nor 'tagdir' attribute specified
+jsp.error.tei.invalid.attributes=Validation error messages from TagExtraInfo for {0}
 jsp.error.teiclass.instantiation=Failed to load or instantiate TagExtraInfo class: {0}
-jsp.error.non_null_tei_and_var_subelems=Tag {0} has one or more variable subelements and a TagExtraInfo class that returns one or more VariableInfo
-jsp.error.parse.error.in.TLD=Parse Error in the tag library descriptor: {0}
+jsp.error.text.has_subelement=&lt;jsp:text&gt; must not have any subelements
+jsp.error.tld.fn.duplicate.name=Duplicate function name {0} in tag library {1}
+jsp.error.tld.fn.invalid.signature=Invalid syntax for function signature in TLD.  Tag Library: {0}, Function: {1}
+jsp.error.tld.fn.invalid.signature.commaexpected=Invalid syntax for function signature in TLD.  Comma '','' expected.  Tag Library: {0}, Function: {1}.
+jsp.error.tld.invalid_tld_file=Invalid tld file: "{0}", see JSP 2.2 specification section 7.3.1 for more details
+jsp.error.tld.mandatory.element.missing=Mandatory TLD element {0} missing or empty in TLD {1}
+jsp.error.tld.missing_jar=Missing JAR resource "{0}" containing TLD
+jsp.error.tld.unable_to_get_jar=Unable to get JAR resource "{0}" containing TLD: {1}
+jsp.error.tld.unable_to_read=Unable to read TLD "{1}" from JAR file "{0}": {2}
+jsp.error.tldInWebDotXmlNotFound=Could not locate TLD {1} for URI {0} specified in web.xml
+jsp.error.tlv.invalid.page=Validation error messages from TagLibraryValidator for {0} in {1}
+jsp.error.tlvclass.instantiation=Failed to load or instantiate TagLibraryValidator class: {0}
+jsp.error.unable.compile=Unable to compile class for JSP
+jsp.error.unable.load=Unable to load class for JSP
+jsp.error.unable.rename=Unable to rename class file {0} to {1}
 jsp.error.unable.to.open.TLD=Unable to open the tag library descriptor: {0}
-jsp.buffer.size.zero=Buffer size <= 0
-jsp.error.file.not.found=File \"{0}\" not found
-jsp.message.copyinguri=Copying {0} into {1}
-jsp.message.htmlcomment=\nStripping Comment: \t{0}
-jsp.message.handling_directive=\nHandling Directive: {0}\t{1}
-jsp.message.handling_plugin=\nPlugin: {0}
-jsp.message.package_name_is=Package name is: {0}
-jsp.message.class_name_is=Class name is: {0}
-jsp.message.java_file_name_is=Java file name is: {0}
-jsp.message.class_file_name_is=Class file name is: {0}
+jsp.error.unable.to_convert_string=Unable to convert a String to {0} for attribute {1}
+jsp.error.unable.to_find_method=Unable to find setter method for attribute: {0}
+jsp.error.unable.to_introspect=Unable to introspect on tag handler class: {0} because of {1}
+jsp.error.unable.to_load_taghandler_class=Unable to load tag handler class {0} because of {1}
+jsp.error.unavailable=JSP has been marked unavailable
+jsp.error.unbalanced.endtag=The end tag "&lt;/{0}" is unbalanced
+jsp.error.undeclared_namespace=A custom tag was encountered with an undeclared namespace [{0}]
+jsp.error.unknownException=Unhandled error! You might want to consider having an error page to report such errors more gracefully
+jsp.error.unknown_attribute_type=Unknown attribute type ({1}) for attribute {0}.
+jsp.error.unsupported.encoding=Unsupported encoding: {0}
+jsp.error.unterminated=Unterminated {0} tag
+jsp.error.unterminated.user.tag=Unterminated user-defined tag: ending tag {0} not found or incorrectly nested
+jsp.error.usebean.bad.type.cast=useBean ({0}): Type ({1}) is not assignable from class ({2})
+jsp.error.usebean.class.notfound=Class: {0} not found
+jsp.error.usebean.duplicate=useBean: Duplicate bean name: {0}
+jsp.error.usebean.missing.attribute=useBean: id attribute missing or misspelled
+jsp.error.usebean.missing.type=useBean ({0}): Either class or type attribute must be specified:
+jsp.error.usebean.noSession=Illegal for useBean to use session scope when JSP page declares (via page directive) that it does not participate in sessions
+jsp.error.usebean.not.both=useBean: Can't specify both class and beanName attribute:
+jsp.error.usebean.notinsamefile=useBean tag must begin and end in the same physical file
+jsp.error.usebean.prohibited.as.session=Can''t use as session bean {0} since it is prohibited by jsp directive defined earlier:
+jsp.error.var_and_varReader=Only one of 'var' or 'varReader' may be specified
+jsp.error.variable.alias=Both or none of the name-from-attribute and alias attributes must be specified in a variable directive
+jsp.error.variable.both.name=Cannot specify both name-given or name-from-attribute attributes in a variable directive
+jsp.error.variable.either.name=Either name-given or name-from-attribute attribute must be specified in a variable directive
+jsp.error.webxml_not_found=Could not locate web.xml
+jsp.error.xml.badStandardAction=Invalid standard action: {0}
+jsp.error.xml.bad_tag=No tag "{0}" defined in tag library associated with uri "{1}"
+jsp.error.xml.closeQuoteMissingInTextDecl=closing quote in the value following "{0}" in the text declaration is missing.
+jsp.error.xml.closeQuoteMissingInXMLDecl=closing quote in the value following "{0}" in the XML declaration is missing.
+jsp.error.xml.encodingByteOrderUnsupported=Given byte order for encoding "{0}" is not supported.
+jsp.error.xml.encodingDeclInvalid=Invalid encoding name "{0}".
+jsp.error.xml.encodingDeclRequired=The encoding declaration is required in the text declaration.
+jsp.error.xml.eqRequiredInTextDecl=The '' = '' character must follow "{0}" in the text declaration.
+jsp.error.xml.eqRequiredInXMLDecl=The '' = '' character must follow "{0}" in the XML declaration.
+jsp.error.xml.expectedByte=Expected byte {0} of {1}-byte UTF-8 sequence.
+jsp.error.xml.invalidASCII=Byte "{0}" not 7-bit ASCII.
+jsp.error.xml.invalidByte=Invalid byte {0} of {1}-byte UTF-8 sequence.
+jsp.error.xml.invalidCharInContent=An invalid XML character (Unicode: 0x{0}) was found in the element content of the document.
+jsp.error.xml.invalidCharInPI=An invalid XML character (Unicode: 0x{0}) was found in the processing instruction.
+jsp.error.xml.invalidCharInTextDecl=An invalid XML character (Unicode: 0x{0}) was found in the text declaration.
+jsp.error.xml.invalidCharInXMLDecl=An invalid XML character (Unicode: 0x{0}) was found in the XML declaration.
+jsp.error.xml.invalidHighSurrogate=High surrogate bits in UTF-8 sequence must not exceed 0x10 but found 0x{0}.
+jsp.error.xml.morePseudoAttributes=more pseudo attributes is expected.
+jsp.error.xml.noMorePseudoAttributes=no more pseudo attributes is allowed.
+jsp.error.xml.operationNotSupported=Operation "{0}" not supported by {1} reader.
+jsp.error.xml.pseudoAttrNameExpected=a pseudo attribute name is expected.
+jsp.error.xml.quoteRequiredInTextDecl=The value following "{0}" in the text declaration must be a quoted string.
+jsp.error.xml.quoteRequiredInXMLDecl=The value following "{0}" in the XML declaration must be a quoted string.
+jsp.error.xml.reservedPITarget=The processing instruction target matching "[xX][mM][lL]" is not allowed.
+jsp.error.xml.sdDeclInvalid=The standalone document declaration value must be "yes" or "no", not "{0}".
+jsp.error.xml.spaceRequiredBeforeEncodingInTextDecl=White space is required before the encoding pseudo attribute in the text declaration.
+jsp.error.xml.spaceRequiredBeforeEncodingInXMLDecl=White space is required before the encoding pseudo attribute in the XML declaration.
+jsp.error.xml.spaceRequiredBeforeStandalone=White space is required before the encoding pseudo attribute in the XML declaration.
+jsp.error.xml.spaceRequiredBeforeVersionInTextDecl=White space is required before the version pseudo attribute in the text declaration.
+jsp.error.xml.spaceRequiredBeforeVersionInXMLDecl=White space is required before the version pseudo attribute in the XML declaration.
+jsp.error.xml.spaceRequiredInPI=White space is required between the processing instruction target and data.
+jsp.error.xml.versionInfoRequired=The version is required in the XML declaration.
+jsp.error.xml.versionNotSupported=XML version "{0}" is not supported, only XML 1.0 is supported.
+jsp.error.xml.xmlDeclUnterminated=The XML declaration must end with "?>".
+jsp.error.xmlns.redefinition.notimplemented=Internal error: Attempt to redefine xmlns:{0}.  Redefinition of namespaces is not implemented.
+jsp.exception=An exception occurred processing JSP page {0} at line {1}
+jsp.info.ignoreSetting=Ignored setting for [{0}] of [{1}] because a SecurityManager was enabled
 jsp.message.accepted=Accepted {0} at {1}
 jsp.message.adding_jar=Adding jar {0} to my classpath
+jsp.message.class_file_name_is=Class file name is: {0}
+jsp.message.class_name_is=Class name is: {0}
 jsp.message.compiling_with=Compiling with: {0}
-jsp.message.template_text=template text
-jsp.error.missing_attribute=According to the TLD or the tag file, attribute {0} is mandatory for tag {1}
-jsp.error.bad_attribute=Attribute {0} invalid for tag {1} according to TLD
-jsp.error.tld.unable_to_read=Unable to read TLD \"{1}\" from JAR file \"{0}\": {2}
-jsp.error.tld.unable_to_get_jar=Unable to get JAR resource \"{0}\" containing TLD: {1}
-jsp.error.tld.missing_jar=Missing JAR resource \"{0}\" containing TLD
-jsp.error.tld.invalid_tld_file=Invalid tld file: \"{0}\", see JSP 2.2 specification section 7.3.1 for more details
-jsp.error.webxml_not_found=Could not locate web.xml
-jsp.cmd_line.usage=Usage: jsptoservlet [-dd <path/to/outputDirectory>] [-keepgenerated] \
-<.jsp files>
+jsp.message.copyinguri=Copying {0} into {1}
 jsp.message.cp_is=Classpath {0} is: {1}
-jsp.error.unable.to_load_taghandler_class=Unable to load tag handler class {0} because of {1}
-jsp.error.unable.to_find_method=Unable to find setter method for attribute: {0}
-jsp.error.unable.to_convert_string=Unable to convert a String to {0} for attribute {1}
-jsp.error.unable.to_introspect=Unable to introspect on tag handler class: {0} because of {1}
-jsp.error.bad_tag=No tag \"{0}\" defined in tag library imported with prefix \"{1}\"
-jsp.error.xml.bad_tag=No tag \"{0}\" defined in tag library associated with uri \"{1}\"
-jsp.error.bad_string_Character=Cannot extract a Character from a zero length array
-jsp.error.bad_string_char=Cannot extract a char from a zero length array
+jsp.message.dont.modify.servlets=IMPORTANT: Do not modify the generated servlets
+jsp.message.handling_directive=\n\
+Handling Directive: {0} {1}
+jsp.message.handling_plugin=\n\
+Plugin: {0}
+jsp.message.htmlcomment=\n\
+Stripping Comment: {0}
+jsp.message.java_file_name_is=Java file name is: {0}
+jsp.message.jsp_added=Adding JSP for path [{0}] to queue of context [{1}]
+jsp.message.jsp_queue_created=Created jsp queue with length {0} for context [{1}]
+jsp.message.jsp_queue_update=Updating JSP for path [{0}] in queue of context [{1}]
+jsp.message.jsp_removed_excess=Removing excess JSP for path [{0}] from queue of context [{1}]
+jsp.message.jsp_removed_idle=Removing idle JSP for path [{0}] in context [{1}] after {2} seconds");
+jsp.message.jsp_unload_check=Checking JSPs for unload in context [{0}], JSP count: {1} queue length: {2}
+jsp.message.package_name_is=Package name is: {0}
+jsp.message.parent_class_loader_is=Parent class loader is: {0}
+jsp.message.scratch.dir.is=Scratch dir for the JSP engine is: {0}
+jsp.message.template_text=template text
+jsp.parser.sax.featurenotrecognized=SAX feature not recognized: {0}
+jsp.parser.sax.featurenotsupported=SAX feature not supported: {0}
+jsp.parser.sax.propertynotrecognized=SAX property not recognized: {0}
+jsp.parser.sax.propertynotsupported=SAX property not supported: {0}
+jsp.tldCache.noTldInJar=No TLD files were found in [{0}]. Consider adding the JAR to the tomcat.util.scan.DefaultJarScanner.jarsToSkip or org.apache.catalina.startup.TldConfig.jarsToSkip property in CATALINA_BASE/conf/catalina.properties file.
+jsp.tldCache.noTldSummary=At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
+jsp.warning.bad.type=Warning: bad type in .class file
+jsp.warning.bad.urlpattern.propertygroup=Bad value {0} in the url-pattern subelement in web.xml
+jsp.warning.checkInterval=Warning: Invalid value for the initParam checkInterval. Will use the default value of "300" seconds
+jsp.warning.classDebugInfo=Warning: Invalid value for the initParam classdebuginfo. Will use the default value of "false"
 jsp.warning.compiler.class.cantcreate=Can''t create an instance of specified compiler plugin class {0} due to {1}. Will default to Sun Java Compiler.
 jsp.warning.compiler.class.notfound=Specified compiler plugin class {0} not found. Will default to Sun Java Compiler.
-jsp.warning.compiler.path.notfound=Specified compiler path {0} not found. Will default to system PATH.
 jsp.warning.compiler.classfile.delete.fail=Failed to delete generated class file [{0}]
 jsp.warning.compiler.classfile.delete.fail.unknown=Failed to delete generated class file(s)
 jsp.warning.compiler.javafile.delete.fail=Failed to delete generated Java file [{0}]
 jsp.warning.compiler.javafile.delete.fail.unknown=Failed to delete generated Java file(s)
-jsp.error.jspc.uriroot_not_dir=The -uriroot option must specify a pre-existing directory
-jsp.error.jspc.missingTarget=Missing target: Must specify -webapp or -uriroot, or one or more JSP pages
-jsp.error.jspc.no_uriroot=The uriroot is not specified and cannot be located with the specified JSP file(s)
+jsp.warning.compiler.path.notfound=Specified compiler path {0} not found. Will default to system PATH.
+jsp.warning.development=Warning: Invalid value for the initParam development. Will use the default value of "true"
+jsp.warning.displaySourceFragment=Warning: Invalid value for the initParam displaySourceFragment. Will use the default value of "true"
+jsp.warning.dumpSmap=Warning: Invalid value for the initParam dumpSmap. Will use the default value of "false"
+jsp.warning.enablePooling=Warning: Invalid value for the initParam enablePooling. Will use the default value of "true"
+jsp.warning.fork=Warning: Invalid value for the initParam fork. Will use the default value of "true"
+jsp.warning.genchararray=Warning: Invalid value for the initParam genStringAsCharArray. Will use the default value of "false"
+jsp.warning.invalidTagPoolSize=Warning: Invalid value for the init parameter named tagPoolSize. Will use default size of {0}
+jsp.warning.jspIdleTimeout=Warning: Invalid value for the initParam jspIdleTimeout. Will use the default value of "-1"
+jsp.warning.keepgen=Warning: Invalid value for the initParam keepgenerated. Will use the default value of "false"
+jsp.warning.mappedFile=Warning: Invalid value for the initParam mappedFile. Will use the default value of "false"
+jsp.warning.maxLoadedJsps=Warning: Invalid value for the initParam maxLoadedJsps. Will use the default value of "-1"
+jsp.warning.modificationTestInterval=Warning: Invalid value for the initParam modificationTestInterval. Will use the default value of "4" seconds
+jsp.warning.noJarScanner=Warning: No org.apache.tomcat.JarScanner set in ServletContext. Falling back to default JarScanner implementation.
+jsp.warning.quoteAttributeEL=Warning: Invalid value for the initParam quoteAttributeEL. Will use the default value of "false"
+jsp.warning.recompileOnFail=Warning: Invalid value for the initParam recompileOnFail. Will use the default value of "false"
+jsp.warning.reloading=Warning: Invalid value for the initParam reloading. Will use the default value of "true"
+jsp.warning.suppressSmap=Warning: Invalid value for the initParam suppressSmap. Will use the default value of "false"
+jsp.warning.unknown.element.in.attribute=Unknown element ({0}) in attribute
+jsp.warning.unknown.element.in.function=Unknown element ({0}) in function
+jsp.warning.unknown.element.in.initParam=Unknown element ({0}) in validator''s init-param
+jsp.warning.unknown.element.in.tag=Unknown element ({0}) in tag
+jsp.warning.unknown.element.in.tagfile=Unknown element ({0}) in tag-file
+jsp.warning.unknown.element.in.taglib=Unknown element ({0}) in taglib
+jsp.warning.unknown.element.in.validator=Unknown element ({0}) in validator
+jsp.warning.unknown.element.in.variable=Unknown element ({0}) in variable
+jsp.warning.unknown.sourceVM=Unknown source VM [{0}] ignored
+jsp.warning.unknown.targetVM=Unknown target VM [{0}] ignored
+jsp.warning.unsupported.sourceVM=Unsupported source VM [{0}] requested, using [{1}]
+jsp.warning.unsupported.targetVM=Unsupported target VM [{0}] requested, using [{1}]
+jsp.warning.xpoweredBy=Warning: Invalid value for the initParam xpoweredBy. Will use the default value of "false"
+
+jspc.delete.fail=Failed to delete file [{0}]
+jspc.error.emptyWebApp=-webapp requires a trailing file argument
+jspc.error.fileDoesNotExist=The file argument ''{0}'' does not exist
+jspc.error.generalException=ERROR-the file ''{0}'' generated the following general exception:
+jspc.error.jasperException=error-the file ''{0}'' generated the following parse exception: {1}
 jspc.generation.result=Generation completed with [{0}] errors in [{1}] milliseconds
 jspc.implicit.uriRoot=uriRoot implicitly set to [{0}]
 jspc.usage=Usage: jspc <options> [--] <jsp files>\n\
@@ -277,24 +459,12 @@ where options include:\n\
 \    -source <version>   Set the -source argument to the compiler (default 1.6)\n\
 \    -target <version>   Set the -target argument to the compiler (default 1.6)\n\
 \    -threadCount <count>  Number of threads to use for compilation.\n\
-\                          (\"2.0C\" means two threads per core)\n\
-
-jspc.webxml.header=<?xml version="1.0" encoding="ISO-8859-1"?>\n\
-\<web-app xmlns="http://java.sun.com/xml/ns/javaee"\n\
-\         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
-\         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee\n\
-\                             http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"\n\
-\         version="3.0"\n\
-\         metadata-complete="false">\n\
-<!--\n\
-Automatically created by Apache Tomcat JspC.\n\
--->\n\
-\n
-jspc.webxml.footer=\n\
-</web-app>\n\
+\                          ("2.0C" means two threads per core)\n
+jspc.webfrg.footer=\n\
+</web-fragment>\n\
 \n
 jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
-\<web-fragment xmlns="http://java.sun.com/xml/ns/javaee"\n\
+<web-fragment xmlns="http://java.sun.com/xml/ns/javaee"\n\
 \         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
 \         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee\n\
 \                 http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd"\n\
@@ -306,223 +476,37 @@ jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
 Automatically created by Apache Tomcat JspC.\n\
 -->\n\
 \n
-jspc.webfrg.footer=\n\
-</web-fragment>\n\
-\n
-jspc.webinc.header=\n\
-<!--\n\
-Automatically created by Apache Tomcat JspC.\n\
--->\n
 jspc.webinc.footer=\n\
 <!--\n\
 End of content automatically created by Apache Tomcat JspC.\n\
 -->\n
+jspc.webinc.header=\n\
+<!--\n\
+Automatically created by Apache Tomcat JspC.\n\
+-->\n
 jspc.webinc.insertEnd=<!-- JSPC servlet mappings end -->
 jspc.webinc.insertStart=<!-- JSPC servlet mappings start -->
-jspc.error.jasperException=error-the file ''{0}'' generated the following parse exception: {1}
-jspc.error.generalException=ERROR-the file ''{0}'' generated the following general exception:
-jspc.error.fileDoesNotExist=The file argument ''{0}'' does not exist
-jspc.error.emptyWebApp=-webapp requires a trailing file argument
-jspc.delete.fail=Failed to delete file [{0}]
-jsp.error.library.invalid=JSP page is invalid according to library {0}: {1}
-jsp.error.tlvclass.instantiation=Failed to load or instantiate TagLibraryValidator class: {0}
-jsp.error.tlv.invalid.page=Validation error messages from TagLibraryValidator for {0} in {1}
-jsp.error.tei.invalid.attributes=Validation error messages from TagExtraInfo for {0}
-jsp.parser.sax.propertynotsupported=SAX property not supported: {0}
-jsp.parser.sax.propertynotrecognized=SAX property not recognized: {0}
-jsp.parser.sax.featurenotsupported=SAX feature not supported: {0}
-jsp.parser.sax.featurenotrecognized=SAX feature not recognized: {0}
-jsp.error.no.more.content=End of content reached while more parsing required: tag nesting error?
-jsp.error.parse.xml=XML parsing error on file {0}
-jsp.error.parse.xml.line=XML parsing error on file {0}: (line {1}, col {2})
-jsp.error.parse.xml.scripting.invalid.body=Body of {0} element must not contain any XML elements
-jsp.error.internal.tldinit=Unable to initialize TldLocationsCache: {0}
-jsp.error.internal.filenotfound=Internal Error: File {0} not found
-jsp.error.internal.evaluator_not_found=Internal error: unable to load expression evaluator
-jsp.error.parse.xml.invalidPublicId=Invalid PUBLIC ID: {0}
-jsp.error.include.flush.invalid.value=Invalid value for the flush attribute: {0}
-jsp.error.unsupported.encoding=Unsupported encoding: {0}
-tld.error.variableNotAllowed=It is an error for a tag that has one or more variable subelements to have a TagExtraInfo class that returns a non-null object.
-jsp.error.tldInWebDotXmlNotFound=Could not locate TLD {1} for URI {0} specified in web.xml
-jsp.error.taglibDirective.absUriCannotBeResolved=The absolute uri: {0} cannot be resolved in either web.xml or the jar files deployed with this application
-jsp.error.taglibDirective.missing.location=Neither 'uri' nor 'tagdir' attribute specified
-jsp.error.taglibDirective.both_uri_and_tagdir=Both 'uri' and 'tagdir' attributes specified
-jsp.error.invalid.tagdir=Tag file directory {0} does not start with \"/WEB-INF/tags\"
-jsp.error.unterminated.user.tag=Unterminated user-defined tag: ending tag {0} not found or incorrectly nested
-#jspx.error.templateDataNotInJspCdata=Validation Error: Element &lt;{0}&gt; cannot have template data. Template data must be encapsulated within a &lt;jsp:cdata&gt; element. [JSP1.2 PFD section 5.1.9]\nTemplate data in error: {1}
-jspx.error.templateDataNotInJspCdata=Validation Error: Element &lt;{0}&gt; cannot have template data. Template data must be encapsulated within a &lt;jsp:text&gt; element. [JSP1.2 PFD section 5.1.9]\nTemplate data in error: {1}
-#Error while processing taglib jar file {0}: {1}
-jsp.error.taglib.reserved.prefix=The taglib prefix {0} is reserved
-jsp.error.invalid.javaEncoding=Invalid java encodings. Tried {0} and then {1}. Both failed.
-jsp.error.needAlternateJavaEncoding=Default java encoding {0} is invalid on your java platform. An alternate can be specified via the ''javaEncoding'' parameter of JspServlet.
-#Error when compiling, used for jsp line number error messages
-jsp.error.single.line.number=An error occurred at line: {0} in the jsp file: {1}
-jsp.error.multiple.line.number=\n\nAn error occurred between lines: {0} and {1} in the jsp file: {2}\n\n
-jsp.error.java.line.number=An error occurred at line: [{0}] in the generated java file: [{1}]
-jsp.error.location=line: {0}, column: {1}
-jsp.error.corresponding.servlet=Generated servlet error:\n
-jsp.error.empty.body.not.allowed=Empty body not allowed for {0}
-jsp.error.jspbody.required=Must use jsp:body to specify tag body for {0} if jsp:attribute is used.
-jsp.error.jspbody.emptybody.only=The {0} tag can only have jsp:attribute in its body.
-jsp.error.no.scriptlets=Scripting elements ( &lt;%!, &lt;jsp:declaration, &lt;%=, &lt;jsp:expression, &lt;%, &lt;jsp:scriptlet ) are disallowed here.
-jsp.error.internal.unexpected_node_type=Internal Error: Unexpected node type encountered
-jsp.error.tld.fn.invalid.signature=Invalid syntax for function signature in TLD.  Tag Library: {0}, Function: {1}
-jsp.error.tld.fn.duplicate.name=Duplicate function name {0} in tag library {1}
-jsp.error.tld.fn.invalid.signature.commaexpected=Invalid syntax for function signature in TLD.  Comma '','' expected.  Tag Library: {0}, Function: {1}.
-jsp.error.tld.mandatory.element.missing=Mandatory TLD element {0} missing or empty in TLD {1}
-jsp.error.dynamic.attributes.not.implemented=The {0} tag declares that it accepts dynamic attributes but does not implement the required interface
-jsp.error.nomatching.fragment=Cannot find an attribute directive (with name={0} and fragment=true) prior to the fragment directive.
-jsp.error.attribute.noequal=equal symbol expected
-jsp.error.attribute.noquote=quote symbol expected
-jsp.error.attribute.unterminated=attribute for {0} is not properly terminated
-jsp.error.attribute.noescape=Attribute value {0} is quoted with {1} which must be escaped when used within the value
-jsp.error.attribute.nowhitespace=The JSP specification requires that an attribute name is preceded by whitespace
-jsp.error.attribute.duplicate=Attribute qualified names must be unique within an element
-jsp.error.missing.tagInfo=TagInfo object for {0} is missing from TLD
-jsp.error.deferredmethodsignaturewithoutdeferredmethod=Cannot specify a method signature if 'deferredMethod' is not 'true'
-jsp.error.deferredvaluetypewithoutdeferredvalue=Cannot specify a value type if 'deferredValue' is not 'true'
-jsp.error.deferredmethodandvalue='deferredValue' and 'deferredMethod' cannot be both 'true'
-jsp.error.fragmentwithtype=Cannot specify both 'fragment' and 'type' attributes.  If 'fragment' is present, 'type' is fixed as 'javax.servlet.jsp.tagext.JspFragment'
-jsp.error.fragmentwithrtexprvalue=Cannot specify both 'fragment' and 'rtexprvalue' attributes.  If 'fragment' is present, 'rtexprvalue' is fixed as 'true'
-jsp.error.fragmentWithDeclareOrScope=Both 'fragment' and 'declare' or 'scope' attributes specified in variable directive
-jsp.error.var_and_varReader=Only one of \'var\' or \'varReader\' may be specified
-jsp.error.missing_var_or_varReader=Missing \'var\' or \'varReader\' attribute
-jsp.warning.bad.urlpattern.propertygroup=Bad value {0} in the url-pattern subelement in web.xml
-jsp.error.literal_with_void=A literal value was specified for attribute {0} that is defined as a deferred method with a return type of void. JSP.2.3.4 does not permit literal values in this case
-jsp.error.unknown_attribute_type=Unknown attribute type ({1}) for attribute {0}.
-jsp.error.coerce_to_type=Cannot coerce value ({2}) to type ({1}) for attribute {0}.
-jsp.error.jspelement.missing.name=Mandatory XML-style \'name\' attribute missing
-jsp.error.xmlns.redefinition.notimplemented=Internal error: Attempt to redefine xmlns:{0}.  Redefinition of namespaces is not implemented.
-jsp.error.could.not.add.taglibraries=Could not add one or more tag libraries.
-jsp.error.duplicate.name.jspattribute=The attribute {0} specified in the standard or custom action also appears as the value of the name attribute in the enclosed jsp:attribute
-jsp.error.not.in.template={0} not allowed in a template text body.
-jsp.error.badStandardAction=Invalid standard action
-jsp.error.xml.badStandardAction=Invalid standard action: {0}
-jsp.error.tagdirective.badbodycontent=Invalid body-content ({0}) in tag directive
-jsp.error.simpletag.badbodycontent=The TLD for the class {0} specifies an invalid body-content (JSP) for a SimpleTag.
-jsp.error.config_pagedir_encoding_mismatch=Page-encoding specified in jsp-property-group ({0}) is different from that specified in page directive ({1})
-jsp.error.prolog_pagedir_encoding_mismatch=Page-encoding specified in XML prolog ({0}) is different from that specified in page directive ({1})
-jsp.error.prolog_config_encoding_mismatch=Page-encoding specified in XML prolog ({0}) is different from that specified in jsp-property-group ({1})
-jsp.error.attribute.custom.non_rt_with_expr=According to TLD or attribute directive in tag file, attribute {0} does not accept any expressions
-jsp.error.attribute.standard.non_rt_with_expr=The {0} attribute of the {1} standard action does not accept any expressions
-jsp.error.attribute.deferredmix=Cannot use both ${} and #{} EL expressions in the same attribute value
-jsp.error.scripting.variable.missing_name=Unable to determine scripting variable name from attribute {0}
-jasper.error.emptybodycontent.nonempty=According to TLD, tag {0} must be empty, but is not
-jsp.error.tagfile.nameNotUnique=The value of {0} and the value of {1} in line {2} are the same.
-jsp.error.tagfile.nameFrom.noAttribute=Cannot find an attribute directive with a name attribute with a value \"{0}\", the value of this name-from-attribute attribute.
-jsp.error.tagfile.nameFrom.badAttribute=The attribute directive (declared in line {1} and whose name attribute is \"{0}\", the value of this name-from-attribute attribute) must be of type java.lang.String, is \"required\" and not a \"rtexprvalue\".
-jsp.error.page.noSession=Cannot access session scope in page that does not participate in any session
-jsp.error.usebean.noSession=Illegal for useBean to use session scope when JSP page declares (via page directive) that it does not participate in sessions
-jsp.error.xml.encodingByteOrderUnsupported = Given byte order for encoding \"{0}\" is not supported.
-jsp.error.xml.encodingDeclInvalid = Invalid encoding name \"{0}\".
-jsp.error.xml.encodingDeclRequired = The encoding declaration is required in the text declaration.
-jsp.error.xml.morePseudoAttributes = more pseudo attributes is expected.
-jsp.error.xml.noMorePseudoAttributes = no more pseudo attributes is allowed.
-jsp.error.xml.versionInfoRequired = The version is required in the XML declaration.
-jsp.error.xml.xmlDeclUnterminated = The XML declaration must end with \"?>\".
-jsp.error.xml.reservedPITarget = The processing instruction target matching \"[xX][mM][lL]\" is not allowed.
-jsp.error.xml.spaceRequiredInPI = White space is required between the processing instruction target and data.
-jsp.error.xml.invalidCharInContent = An invalid XML character (Unicode: 0x{0}) was found in the element content of the document.
-jsp.error.xml.spaceRequiredBeforeStandalone = White space is required before the encoding pseudo attribute in the XML declaration.
-jsp.error.xml.sdDeclInvalid = The standalone document declaration value must be \"yes\" or \"no\", not \"{0}\".
-jsp.error.xml.invalidCharInPI = An invalid XML character (Unicode: 0x{0}) was found in the processing instruction.
-jsp.error.xml.versionNotSupported = XML version \"{0}\" is not supported, only XML 1.0 is supported.
-jsp.error.xml.pseudoAttrNameExpected = a pseudo attribute name is expected.
-jsp.error.xml.expectedByte = Expected byte {0} of {1}-byte UTF-8 sequence.
-jsp.error.xml.invalidByte = Invalid byte {0} of {1}-byte UTF-8 sequence.
-jsp.error.xml.operationNotSupported = Operation \"{0}\" not supported by {1} reader.
-jsp.error.xml.invalidHighSurrogate = High surrogate bits in UTF-8 sequence must not exceed 0x10 but found 0x{0}.
-jsp.error.xml.invalidASCII = Byte \"{0}\" not 7-bit ASCII.
-jsp.error.xml.spaceRequiredBeforeEncodingInXMLDecl = White space is required before the encoding pseudo attribute in the XML declaration.
-jsp.error.xml.spaceRequiredBeforeEncodingInTextDecl = White space is required before the encoding pseudo attribute in the text declaration.
-jsp.error.xml.spaceRequiredBeforeVersionInTextDecl = White space is required before the version pseudo attribute in the text declaration.
-jsp.error.xml.spaceRequiredBeforeVersionInXMLDecl = White space is required before the version pseudo attribute in the XML declaration.
-jsp.error.xml.eqRequiredInXMLDecl = The '' = '' character must follow \"{0}\" in the XML declaration.
-jsp.error.xml.eqRequiredInTextDecl = The '' = '' character must follow \"{0}\" in the text declaration.
-jsp.error.xml.quoteRequiredInTextDecl = The value following \"{0}\" in the text declaration must be a quoted string.
-jsp.error.xml.quoteRequiredInXMLDecl = The value following \"{0}\" in the XML declaration must be a quoted string.
-jsp.error.xml.invalidCharInTextDecl = An invalid XML character (Unicode: 0x{0}) was found in the text declaration.
-jsp.error.xml.invalidCharInXMLDecl = An invalid XML character (Unicode: 0x{0}) was found in the XML declaration.
-jsp.error.xml.closeQuoteMissingInTextDecl = closing quote in the value following \"{0}\" in the text declaration is missing.
-jsp.error.xml.closeQuoteMissingInXMLDecl = closing quote in the value following \"{0}\" in the XML declaration is missing.
-jsp.error.multiple.jsp = Cannot have multiple specifications of
-jsp.error.jspoutput.conflict=&lt;jsp:output&gt;: illegal to have multiple occurrences of \"{0}\" with different values (old: {1}, new: {2})
-jsp.error.jspoutput.doctypenamesystem=&lt;jsp:output&gt;: 'doctype-root-element' and 'doctype-system' attributes must appear together
-jsp.error.jspoutput.doctypepublicsystem=&lt;jsp:output&gt;: 'doctype-system' attribute must appear if 'doctype-public' attribute appears
-jsp.error.jspoutput.nonemptybody=&lt;jsp:output&gt; must not have a body
-jsp.error.jspoutput.invalidUse=&lt;jsp:output&gt; must not be used in standard syntax
-jsp.error.attributes.not.allowed = {0} must not have any attributes
-jsp.error.tagfile.badSuffix=Missing \".tag\" suffix in tag file path {0}
-jsp.error.tagfile.illegalPath=Illegal tag file path: {0}, must start with \"/WEB-INF/tags\" or \"/META-INF/tags\"
-jsp.error.tagfile.missingPath=Path not specified to tag file
-jsp.error.plugin.wrongRootElement=Name of root element in {0} different from {1}
-jsp.error.attribute.invalidPrefix=The attribute prefix [{0}] does not correspond to any imported tag library
-jsp.error.nested.jspattribute=A jsp:attribute standard action cannot be nested within another jsp:attribute standard action
-jsp.error.nested.jspbody=A jsp:body standard action cannot be nested within another jsp:body or jsp:attribute standard action
-jsp.error.variable.either.name=Either name-given or name-from-attribute attribute must be specified in a variable directive
-jsp.error.variable.both.name=Cannot specify both name-given or name-from-attribute attributes in a variable directive
-jsp.error.variable.alias=Both or none of the name-from-attribute and alias attributes must be specified in a variable directive
-jsp.error.attribute.null_name=Null attribute name
-jsp.error.jsptext.badcontent=\'&lt;\', when appears in the body of &lt;jsp:text&gt;, must be encapsulated within a CDATA
-jsp.error.jsproot.version.invalid=Invalid version number: \"{0}\", must be \"1.2\", \"2.0\", \"2.1\" or \"2.2\"
-jsp.error.noFunctionPrefix=The function {0} must be used with a prefix when a default namespace is not specified
-jsp.error.noFunction=The function {0} cannot be located with the specified prefix
-jsp.error.noFunctionMethod=Method \"{0}\" for function \"{1}\" not found in class \"{2}\"
-jsp.error.function.classnotfound=The class {0} specified in TLD for the function {1} cannot be found: {2}
-jsp.error.signature.classnotfound=The class {0} specified in the method signature in TLD for the function {1} cannot be found. {2}
-jsp.error.text.has_subelement=&lt;jsp:text&gt; must not have any subelements
-jsp.error.data.file.read=Error reading file \"{0}\"
-jsp.error.data.file.processing=Error processing file \"{0}\"
-jsp.error.prefix.refined=Attempt to redefine the prefix {0} to {1}, when it was already defined as {2} in the current scope.
-jsp.error.nested_jsproot=Nested &lt;jsp:root&gt;
-jsp.error.unbalanced.endtag=The end tag \"&lt;/{0}\" is unbalanced
-jsp.error.invalid.bean=The value for the useBean class attribute {0} is invalid.
-jsp.error.prefix.use_before_dcl=The prefix {0} specified in this tag directive has been previously used by an action in file {1} line {2}.
-jsp.error.lastModified=Unable to determine last modified date for file [{0}]
-jsp.info.ignoreSetting=Ignored setting for [{0}] of [{1}] because a SecurityManager was enabled
-
-jsp.exception=An exception occurred processing JSP page {0} at line {1}
-
-# JSP 2.1
-jsp.error.el.template.deferred=#{...} is not allowed in template text
-jsp.error.el.parse={0} : {1}
-jsp.error.page.invalid.deferredsyntaxallowedasliteral=Page directive: invalid value for deferredSyntaxAllowedAsLiteral
-jsp.error.tag.invalid.deferredsyntaxallowedasliteral=Tag directive: invalid value for deferredSyntaxAllowedAsLiteral
-jsp.error.page.conflict.deferredsyntaxallowedasliteral=Page directive: illegal to have multiple occurrences of ''deferredSyntaxAllowedAsLiteral'' with different values (old: {0}, new: {1})
-jsp.error.tag.conflict.deferredsyntaxallowedasliteral=Tag directive: illegal to have multiple occurrences of ''deferredSyntaxAllowedAsLiteral'' with different values (old: {0}, new: {1})
-
-jsp.error.page.invalid.trimdirectivewhitespaces=Page directive: invalid value for trimDirectiveWhitespaces
-jsp.error.tag.invalid.trimdirectivewhitespaces=Tag directive: invalid value for trimDirectiveWhitespaces
-jsp.error.page.conflict.trimdirectivewhitespaces=Page directive: illegal to have multiple occurrences of ''trimDirectiveWhitespaces'' with different values (old: {0}, new: {1})
-jsp.error.tag.conflict.trimdirectivewhitespaces=Tag directive: illegal to have multiple occurrences of ''trimDirectiveWhitespaces'' with different values (old: {0}, new: {1})
-
-# JSP Servlet
-jsp.error.servlet.destroy.failed=Exception during Servlet.destroy() for JSP page
-
-# JarScanner
-jsp.warning.noJarScanner=Warning: No org.apache.tomcat.JarScanner set in ServletContext. Falling back to default JarScanner implementation.
+jspc.webxml.footer=\n\
+</web-app>\n\
+\n
+jspc.webxml.header=<?xml version="1.0" encoding="ISO-8859-1"?>\n\
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"\n\
+\         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
+\         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee\n\
+\                             http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"\n\
+\         version="3.0"\n\
+\         metadata-complete="false">\n\
+<!--\n\
+Automatically created by Apache Tomcat JspC.\n\
+-->\n\
+\n
 
-# JavacErrorDetail
-jsp.error.bug48498=Unable to display JSP extract. Probably due to an XML parser bug (see Tomcat bug 48498 for details).
+jspx.error.templateDataNotInJspCdata=Validation Error: Element &lt;{0}&gt; cannot have template data. Template data must be encapsulated within a &lt;jsp:text&gt; element. [JSP1.2 PFD section 5.1.9]\n\
+Template data in error: {1}
 
-# UniqueAttributesImpl
-jsp.error.duplicateqname=An attribute with duplicate qualified name [{0}] was found. Attribute qualified names must be unique within an element.
+org.apache.jasper.compiler.ELParser.invalidQuotesForStringLiteral=The String literal [{0}] is not valid. It must be contained within single or double quotes.
+org.apache.jasper.compiler.ELParser.invalidQuoting=The expression [{0}] is not valid. Within a quoted String only [], [''] and ["] may be escaped with [].
 
-# JSP unloading handling
-jsp.message.jsp_queue_created=Created jsp queue with length {0} for context [{1}]
-jsp.message.jsp_added=Adding JSP for path [{0}] to queue of context [{1}]
-jsp.message.jsp_queue_update=Updating JSP for path [{0}] in queue of context [{1}]
-jsp.message.jsp_removed_excess=Removing excess JSP for path [{0}] from queue of context [{1}]
-jsp.message.jsp_removed_idle=Removing idle JSP for path [{0}] in context [{1}] after {2} seconds");
-jsp.message.jsp_unload_check=Checking JSPs for unload in context [{0}], JSP count: {1} queue length: {2}
+tld.error.variableNotAllowed=It is an error for a tag that has one or more variable subelements to have a TagExtraInfo class that returns a non-null object.
 
 xmlParser.skipBomFail=Failed to skip BOM when parsing XML input stream
-
-jsp.tldCache.noTldInJar=No TLD files were found in [{0}]. Consider adding the JAR to the tomcat.util.scan.DefaultJarScanner.jarsToSkip or org.apache.catalina.startup.TldConfig.jarsToSkip property in CATALINA_BASE/conf/catalina.properties file.
-jsp.tldCache.noTldSummary=At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
-
-#ELInterpreter
-jsp.error.el_interpreter_class.instantiation=Failed to load or instantiate ELInterpreter class [{0}]
-
-org.apache.jasper.compiler.ELParser.invalidQuotesForStringLiteral=The String literal [{0}] is not valid. It must be contained within single or double quotes.
-org.apache.jasper.compiler.ELParser.invalidQuoting=The expression [{0}] is not valid. Within a quoted String only [\\], [''] and ["] may be escaped with [\\].
diff --git a/java/org/apache/jasper/resources/LocalStrings_es.properties b/java/org/apache/jasper/resources/LocalStrings_es.properties
index 760de5a..96a0149 100644
--- a/java/org/apache/jasper/resources/LocalStrings_es.properties
+++ b/java/org/apache/jasper/resources/LocalStrings_es.properties
@@ -12,274 +12,442 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-#
-# Default localized string information
-# Localized para Locale es_ES
-jsp.error.compiler = No hay compilador Java disponible
-jsp.error.no.scratch.dir = El motor JSP no tiene configurado un directorio de trabajo.\n\
-    \ A\u00F1ada "jsp.initparams\=scratchdir\=<dir-name>" \n\
-    \ en el fichero servlets.properties para este contexto.
-jsp.error.bad.scratch.dir = El directorio de trabajo especificado\: {0} no es utilizable.
-jsp.message.scratch.dir.is = El directorio de trabajo para el motor JSP es\: {0}
-jsp.message.parent_class_loader_is = El cargador de clases es\: {0}
-jsp.message.dont.modify.servlets = IMPORTANTE\: No modifique los servlets generados
-jsp.error.not.impl.comments = Error Interno\: Comments no implementado
-jsp.error.not.impl.directives = Error Interno\: Directives no implementado
-jsp.error.not.impl.declarations = Error Interno\: Declarations no implementado
-jsp.error.not.impl.expressions = Error Interno\: Expressions no implementado
-jsp.error.not.impl.scriptlets = Error Interno\: Scriptlets no implementado
-jsp.error.not.impl.usebean = Error Interno\: useBean no implementado
-jsp.error.not.impl.getp = Error Interno\: getProperty no implementado
-jsp.error.not.impl.setp = Error Interno\: setProperty no implementado
-jsp.error.not.impl.plugin = Error Interno\: plugin no implementado
-jsp.error.not.impl.forward = Error Interno\: forward no implementado
-jsp.error.not.impl.include = Error Interno\: include no implementado
-jsp.error.unavailable = JSP ha sido marcado como no disponible
-jsp.error.usebean.missing.attribute = useBean\: falta atributo id o est\u00E1 mal digitado
-jsp.error.usebean.missing.type = useBean ({0})\: Se debe de especificar atributo class o type\:
-jsp.error.usebean.duplicate = useBean\: Nombre de bean duplicado\: {0}
-jsp.error.usebean.prohibited.as.session = No puedo usar como bean de sesi\u00F3n {0} ya que est\u00E1 prohibido por directiva jsp definida previamente\:
-jsp.error.usebean.not.both = useBean\: No puede especificar ambos atributos class y beanName\:
-jsp.error.usebean.bad.type.cast = useBean ({0})\: Tipo ({1}) no es asignable desde clase ({2})
-jsp.error.invalid.scope = Valor ilegal de atributo ''scope''\: {0} (debe de ser uno de "page", "request", "session", o "application")
-jsp.error.classname = No pude determinar el nombre de clase desde el fichero .class
-jsp.error.outputfolder = no hay carpeta de salida
-jsp.warning.bad.type = Aviso\: tipo incorrecto en archivo .class
-jsp.error.data.file.write = Error mientras escrib\u00EDa el archivo de datos
-jsp.error.page.conflict.contenttype = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''contentType'' con valores distintos (viejo\: {0}, nuevo\: {1})
-jsp.error.page.invalid.contenttype = Directiva Page\: valor incorrecto para contentType
-jsp.error.page.conflict.session = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''session'' con valores distintos (viejo\: {0}, nuevo\: {1})
-jsp.error.page.invalid.session = Directiva Page\: valor incorrecto para session
-jsp.error.page.conflict.buffer = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''buffer''con valores distintos (viejo\: {0}, nuevo\: {1})
-jsp.error.page.invalid.buffer = Directiva Page\: valor incorrecto para b\u00FAfer
-jsp.error.page.conflict.autoflush = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''autoFlush'' con valores distintos (viejo\: {0}, nuevo\: {1})
-jsp.error.page.invalid.autoflush = \=Directiva Page\: valor incorrecto para autoFlush
-jsp.error.page.conflict.isthreadsafe = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''isThreadSafe'' con valores distintos (viejo\: {0}, nuevo\: {1})
-jsp.error.page.invalid.isthreadsafe = \=Directiva Page\: valor incorrecto para isThreadSafe
-jsp.error.page.conflict.info = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''info'' con valores distintos (viejo\: {0}, nuevo\: {1})
-jsp.error.page.invalid.info = \=Directiva Page\: valor incorrecto para info
-jsp.error.page.conflict.iserrorpage = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''isErrorPage'' con valores distintos (viejo\: {0}, nuevo\: {1})
-jsp.error.page.invalid.iserrorpage = \=Directiva Page\: valor incorrecto para isErrorPage
-jsp.error.page.conflict.errorpage = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''errorPage'' con valores distintos (viejo\: {0}, nuevo\: {1})
-jsp.error.page.conflict.language = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''language'' con valores distintos (viejo\: {0}, nuevo\: {1})
-jsp.error.tag.conflict.language = Directiva Tag\: es ilegal tener m\u00FAltiples ocurrencias de ''language'' con valores distintos (viejo\: {0}, nuevo\: {1})
-jsp.error.page.language.nonjava = Directiva Page\: atributo language incorrecto
-jsp.error.tag.language.nonjava = Directiva Tag\: atributo language incorrecto
-jsp.error.page.defafteruse.language = Directiva Page\: No puedo definir lenguage tras un scriptlet
-jsp.error.page.nomapping.language = Directiva Page\: No hay mapeado para language\:
-jsp.error.page.conflict.extends = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''extends'' con valores distintos (viejo\: {0}, nuevo\: {1})
-jsp.error.page.conflict.iselignored = Directiva Page\: es ilegal tener m\u00FAltiples ocurrencias de ''isELIgnored'' con valores distintos (viejo\: {0}, nuevo\: {1})
-jsp.error.tag.conflict.iselignored = Directiva Tag\: es ilegal tener m\u00FAltiples ocurrencias de ''isELIgnored'' con valores distintos (viejo\: {0}, nuevo\: {1})
-jsp.error.page.invalid.iselignored = Directiva Page\: valor inv\u00E1lido para isELIgnored
-jsp.error.tag.invalid.iselignored = Directiva Tag\: valor incorrecto para isELIgnored
-jsp.error.page.multi.pageencoding = La directiva Page no debe de tener m\u00FAltiples ocurrencias de pageencoding
-jsp.error.tag.conflict.attr = Directiva Tag\: es ilegal tener m\u00FAltiples ocurrencias del atributo "{0}" con valores distintos (viejo\: {1}, nuevo\: {2})
-jsp.error.tag.multi.pageencoding = La directiva Tag no debe de tener m\u00FAltiples ocurrencias de pageencoding
-jsp.error.page.bad_b_and_a_combo = Directiva Page\: Combinaci\u00F3n ilegal de buffer\="none" y autoFlush\="false"
-jsp.error.not.impl.taglib = Error Interno\: Tag extensions no implementado
-jsp.error.include.missing.file = No tiene argumento de nombre de fichero
-jsp.error.include.bad.file = Argumento de nombre de fichero no v\u00E1lido
-jsp.error.include.exception = No se puede incluir {0}
-jsp.error.stream.close.failed = No pude cerrar el flujo
-jsp.error.stream.closed = Stream cerrado
-jsp.error.invalid.forward = Tag forward no v\u00E1lido
-jsp.error.unknownException = \u00A1Error no caturado\!. Deber\u00EDas de considerar el poner una p\u00E1gina de error para avisar de los errores m\u00E1s elegantemente
-jsp.error.invalid.directive = Directiva no v\u00E1lida
-jsp.error.invalid.implicit = TLD impl\u00EDcito inv\u00E1lido para fichero de marca en {0}
-jsp.error.invalid.implicit.version = Versi\u00F3n inv\u00E1lida de JSP definida en TLD impl\u00EDcito para fichero de marca en {0}
-jsp.error.invalid.version = Versi\u00F3n inv\u00E1lida de JSP definida para fichero de marca en {0}
-jsp.error.directive.istagfile = La Directiva {0} no puede usarse en archivo de tag
-jsp.error.directive.isnottagfile = La Directiva {0} s\u00F3lo se puede usar en un archivo de tag
-jsp.error.tagfile.tld.name = El atributo "name" de la directiva tag tiene un valor {0} mientras que el tag "name" del elemento "tag-file" en el TLD es {1}
-jsp.error.action.istagfile = La acci\u00F3n {0} no se puede usar en un archivo tag
-jsp.error.action.isnottagfile = La acci\u00F3n {0} s\u00F3lo se puede usar en archivos tag
-jsp.error.unterminated = Tag {0} no terminado
-jsp.error.usebean.notinsamefile = El Tag useBean debe de empezar y terminar en el mismo archivo f\u00EDsico
-jsp.error.loadclass.taghandler = No se puede cargar la clase {0}
-jsp.error.unable.compile = No se puede compilar la clase para JSP
-jsp.error.unable.load = No se puede cargar la clase para JSP
-jsp.error.unable.rename = No se puede renombrar el archivo de clase {0} a {1}
-jsp.error.mandatory.attribute = {0}\: Falta atributo obligatorio {1}
-jsp.error.flush = Excepci\u00F3n sucedida al vaciar los datos
-jsp.engine.info = Motor Jasper JSP 2.2
-jsp.error.invalid.expression = "{0}" contiene expresiones incorrectas\: {1}
-jsp.error.invalid.attribute = {0}\: Atributo incorrecto, {1}
-jsp.error.usebean.class.notfound = Clase\: {0} no hallada
-jsp.error.file.cannot.read = No se puede leer el archivo\: {0}
-jsp.error.file.already.registered = El archivo {0} ya se ha visto, \u00BFpodr\u00EDa ser un include recursivo?
-jsp.error.file.not.registered = Archivo {0} not visto en include
-jsp.error.quotes.unterminated = Comillas no terminadas
-jsp.error.attr.quoted = El valor del atributo deber\u00EDa ir entre comillas
-jsp.error.attr.novalue = Atributo {0} no tiene valor
-jsp.error.tag.attr.unterminated = Lista de atributos del tag no terminada
-jsp.error.param.noname = No hay nombre en el tag PARAM
-jsp.error.param.novalue = No hay valor en el tag PARAM
-jsp.error.beans.nullbean = Se ha intentado una operaci\u00F3n de bean en un objeto nulo
-jsp.error.beans.nobeaninfo = No se puede encontrar BeanInfo para el bean  ''{0}'' seguramente la clase no existe
-jsp.error.beans.introspection = Una excepci\u00F3n ha tenido lugar mientras se le\u00EDa el m\u00E9todo de lectura de la propiedad ''{0}'' en un bean del tipo ''{1}''\:\n\
-    {2}
-jsp.error.beans.nomethod = No puedo encontrar un m\u00E9todo para leer la propiedad ''{0}'' en un bean del tipo ''{1}''
-jsp.error.beans.nomethod.setproperty = No puedo encontrar un m\u00E9todo para escribir la propiedad ''{0}'' en un bean del tipo ''{2}''
-jsp.error.beans.noproperty = No puedo encontrar informaci\u00F3n de la propiedad ''{0}'' en un bean del tipo ''{1}''
-jsp.error.beans.property.conversion = No puedo convertir cadena "{0}" a clase "{1}" para atributo "{2}"\: {3}
-jsp.error.beans.propertyeditor.notregistered = Editor de Propiedades no registrado con el PropertyEditorManager
-jsp.error.beans.setproperty.noindexset = No puedo poner la propiedad indexada
-jsp.error.include.tag = Tag jsp\:include no v\u00E1lido
-jsp.error.include.noflush = jsp\:include necesita tener "flush\=true"
-jsp.error.include.badflush = jsp\:include page\="..." flush\="true" es la \u00FAnica combinaci\u00F3n v\u00E1lida en JSP 1.0
-jsp.error.attempt_to_clear_flushed_buffer = Error\: Se ha intentado limpiar un buffer que ya hab\u00EDa sido escrito
-jsp.error.overflow = Error\:Buffer de JSP desbordado
-jsp.error.paramexpected = El tag "param" era esperado con los atributos "name" y "value" despu\u00E9s del tag "params".
-jsp.error.param.invalidUse = La acci\u00F3n jsp\:param no debe de ser usada fuera de los elementos jsp\:include, jsp\:forward o jsp\:params
-jsp.error.params.invalidUse = jsp\:params debe de ser un hijo directo de jsp\:plugin
-jsp.error.fallback.invalidUse = jsp\:fallback debe de ser un hijo directo de jsp\:plugin
-jsp.error.namedAttribute.invalidUse = jsp\:attribute debe de ser el subelemento de una acci\u00F3n est\u00E1ndar o de cliente
-jsp.error.jspbody.invalidUse = jsp\:body debe de ser el subelemento de una acci\u00F3n est\u00E1ndar o de cliente
-jsp.error.closeindividualparam = El tag param necesita ser cerrado con "/>"
-jsp.error.closeparams = El tag param necesita ser cerrado con /params
-jsp.error.params.emptyBody = jsp\:params debe de contener al menos un jsp\:param anidado
-jsp.error.params.illegalChild = jsp\:params no debe de contener elementos anidados que no sean jsp\:param
-jsp.error.plugin.notype = Tipo no declarado en jsp\:plugin
-jsp.error.plugin.badtype = Valor ilegal para atributo 'type' en jsp\:plugin\: debe de ser 'bean' o 'applet'
-jsp.error.plugin.nocode = C\u00F3digo no declarado en jsp\:plugin
-jsp.error.ise_on_clear = Es ilegal usar clear() cuando el tama\u00F1o del buffer es cero
-jsp.error.setproperty.beanNotFound = setProperty\: Bean {0} no encontrado
-jsp.error.getproperty.beanNotFound = getProperty\: Bean {0} no encontrado
-jsp.error.setproperty.ClassNotFound = setProperty\: clase {0} no encontrada
-jsp.error.javac = Excepci\u00F3n de Javac
-jsp.error.javac.env = Entorno
-jsp.error.compilation = Error compilando fichero\: {0} {1}
-jsp.error.setproperty.invalidSyntax = setproperty\: no puedo tener valor no nulo si la propiedad\=*
-jsp.error.setproperty.beanInfoNotFound = setproperty\: beanInfo para bean {0} no encontrado
-jsp.error.setproperty.paramOrValue = setProperty\: O param o value pueden estar presentes
-jsp.error.setproperty.arrayVal = setProperty\: No puede escribir en la propiedad de array {0} a trav\u00E9s de una valor de cadena literal
-jsp.error.undeclared_namespace = Se ha encontrado una etiqueta con espacio de nombre [{0}] sin declarar
-jsp.warning.keepgen = Aviso\: valor incorrecto para el initParam keepgen. Se usar\u00E1 el valor por defecto de "false"
-jsp.warning.xpoweredBy = Aviso\: valor incorrecto para el initParam xpoweredBy. Se usar\u00E1 el valor por defecto de "false"
-jsp.warning.enablePooling = Aviso\: valor incorrecto para el initParam enablePooling. Se usar\u00E1 el valor por defecto de "true"
-jsp.warning.invalidTagPoolSize = Aviso\: valor incorrecto para el par\u00E1metro init llamado tagPoolSize. Se usar\u00E1 la medida por defecto de {0}
-jsp.warning.mappedFile = Aviso\: valor incorrecto para el initParam mappedFile. Se usar\u00E1 el valor por defecto de "false"
-jsp.warning.classDebugInfo = Aviso\: valor incorrecto para el initParam classdebuginfo. Se usar\u00E1 el valor por defecto de "false"
-jsp.warning.checkInterval = Aviso\: valor incorrecto para el initParam checkInterval. Se usar\u00E1 el valor por defecto de "300" segundos
-jsp.warning.modificationTestInterval = Aviso\: valor incorrecto para el initParam modificationTestInterval. Se usar\u00E1 el valor por defecto de "4" segundos
-jsp.warning.recompileOnFail = Aviso\: Valor inv\u00E1lido para el initParam recompileOnFail. Usar\u00E9 el valor por defecto de "falso "false"
-jsp.warning.development = Aviso\: valor incorrecto para el initParam development. Se usar\u00E1 el valor por defecto de "true"
-jsp.warning.fork = Aviso\: valor incorrecto para el initParam fork. Se usar\u00E1 el valor por defecto de "true"
-jsp.warning.reloading = Aviso\: valor incorrecto para el initParam reloading. Se usar\u00E1 el valor por defecto de "true"
-jsp.warning.dumpSmap = Aviso\: valor incorrecto para el initParam dumpSmap. Se usar\u00E1 el valor por defecto de "false"
-jsp.warning.genchararray = Aviso\: valor incorrecto para el initParam genStringAsCharArray. Se usar\u00E1 el valor por defecto de "false"
-jsp.warning.suppressSmap = Aviso\: valor incorrecto para el initParam suppressSmap. Se usar\u00E1 el valor por defecto de "false"
-jsp.warning.displaySourceFragment = Aviso\: valor incorrecto para el initParam displaySourceFragment. Se usar\u00E1 el valor por defecto de "verdadero"
-jsp.warning.maxLoadedJsps = Aviso\: Valor inv\u00E1lido para el initParam maxLoadedJsps. Usar\u00E9 el valor por defecto de "-1"
-jsp.warning.jspIdleTimeout = Aviso\: Valor inv\u00E1lido para el initParam jspIdleTimeout. Usar\u00E9 el valor por defecto de "-1"
-jsp.error.badtaglib = No se puede abrir la biblioteca de tags {0}\: {1}
-jsp.error.badGetReader = No se puede crear un reader cuando el stream no tiene buffer
-jsp.warning.unknown.element.in.taglib = Elemento desconocido ({0}) en taglib
-jsp.warning.unknown.element.in.tag = Elemento desconocido ({0}) en tag
-jsp.warning.unknown.element.in.tagfile = Elemento desconocido ({0}) en tag-file
-jsp.warning.unknown.element.in.attribute = Elemento desconocido ({0}) en attribute
-jsp.warning.unknown.element.in.variable = Elemento desconocido ({0}) en variable
-jsp.warning.unknown.element.in.validator = Elemento desconocido ({0}) en validator
-jsp.warning.unknown.element.in.initParam = Elemento desconocido ({0}) en init-param de validator
-jsp.warning.unknown.element.in.function = Elemento desconocido ({0}) en function
-jsp.error.more.than.one.taglib = M\u00E1s de una biblioteca de tags en el TLD\: {0}
-jsp.error.teiclass.instantiation = No se puede cargar la clase TagExtraInfo llamada\: {0}
-jsp.error.non_null_tei_and_var_subelems = Tag {0} tiene uno o m\u00E1s subelementos variable y una clase TagExtraInfo que devuelve una o m\u00E1s VariableInfo
-jsp.error.parse.error.in.TLD = Error de an\u00E1lisis en el descriptor de biblioteca de tags\: {0}
-jsp.error.unable.to.open.TLD = No se puede abrir el descriptor de biblioteca de tags\: {0}
-jsp.buffer.size.zero = Tama\u00F1o de buffer <\= 0
-jsp.error.file.not.found = Archivo JSP "{0}" no encontrado
-jsp.message.copyinguri = Copiando {0} en {1}
-jsp.message.htmlcomment = \n\
-    Quitando comentario\: \t{0}
-jsp.message.handling_directive = \n\
-    Resolviendo directiva\: {0}\t{1}
-jsp.message.handling_plugin = \n\
-    Plugin\: {0}
-jsp.message.package_name_is = El Nombre del Package es\: {0}
-jsp.message.class_name_is = El Nombre de la clase es\: {0}
-jsp.message.java_file_name_is = El Nombre del Archivo Java es\: {0}
-jsp.message.class_file_name_is = El Nombre del Archivo de clase es\: {0}
-jsp.message.accepted = Acept\u00F3 {0} en {1}
-jsp.message.adding_jar = A\u00F1adiendo jar {0} a mi classpath
-jsp.message.compiling_with = Compilado con\: {0}
-jsp.message.template_text = texto plantilla
-jsp.error.missing_attribute = De acuerdo con el TLD el atributo {0} es obligatorio para el tag {1}
-jsp.error.bad_attribute = El atributo {0} no es v\u00E1lido seg\u00FAn el TLD especificado
-jsp.error.tld.unable_to_read = Imposible de leer TLD "{1}" desde archivo JAR "{0}"\: {2}
-jsp.error.tld.unable_to_get_jar = Imposible obtener recurso JAR "{0}" conteniendo TLD\: {1}
-jsp.error.tld.missing_jar = Falta recurso JAR "{0}" conteniendo TLD
-jsp.error.webxml_not_found = No puedo localizar web.xml
-jsp.cmd_line.usage = Uso\: jsptoservlet [-dd <ruta/a/DirectorioSalida>] [-keepgenerated] <Archivos .jsp>
-jsp.message.cp_is = Classpath {0} es\: {1}
-jsp.error.unable.to_load_taghandler_class = No se puede cargar clase manejadora {0} del tag a causa de {1}
-jsp.error.unable.to_find_method = No se puede encontrar el m\u00E9todo de escritura para el atributo\: {0}
-jsp.error.unable.to_convert_string = No pude convertir un String a {0} para atributo {1}
-jsp.error.unable.to_introspect = No se puede hacer introspecci\u00F3n en manejador de tag clase\: {0} a causa de {1}
-jsp.error.bad_tag = No existe el tag {0} en la biblioteca importada con prefijo {1}
-jsp.error.xml.bad_tag = No se ha definido el tag "{0}" en la biblioteca tag asociada con uri "{1}"
-jsp.error.bad_string_Character = No puede extraer un Character desde un array de tama\u00F1o cero
-jsp.error.bad_string_char = No puede extraer un char desde un array de tama\u00F1o cero
-jsp.warning.compiler.class.cantcreate = No puedo crear una instancia de la clase especificada {0} de plugin del compilador debido a {1}. Se usar\u00E1 el compilador Java de Sun.
-jsp.warning.compiler.class.notfound = No puedo encontrar una instancia de la clase {0} de plugin de compilador. Se usar\u00E1 el compilador del Java de Sun.
-jsp.warning.compiler.path.notfound = Trayectoria del compilador especificado {0} no encontrada. Se usar\u00E1 el PATH del sistema.
-jsp.warning.compiler.classfile.delete.fail = No pude borrar el fichero generado de clase [{0}]
-jsp.warning.compiler.classfile.delete.fail.unknown = No pude borrar los ficheros generados de clase
-jsp.warning.compiler.javafile.delete.fail = No pude borrar el fichero generado de Java [{0}]
-jsp.warning.compiler.javafile.delete.fail.unknown = No pude borrar los ficheros generados de Java
-jsp.error.jspc.uriroot_not_dir = La opci\u00F3n -uriroot debe de especificar un directorio ya existente
-jsp.error.jspc.missingTarget = Falta target\: Debe de especificar -webapp o -uriroot o una o m\u00E1s p\u00E1ginas JSP
-jsp.error.jspc.no_uriroot = No se ha especificado uriroot y no puede ser localizado en los archivos JSP especificados
-jspc.implicit.uriRoot = uriRoot implicitamente puesto a "{0}"
-jspc.usage = Uso\: jspc <opciones> [--] <Archivos JSP>\n\
-    donde <Archivos JSP> son\:\n\
-    \    -webapp <dir>      Un directorio conteniendo una web-app. Todas las\n\
-    \                       p\u00E1ginas jsp ser\u00E1n compiladas recursivamente\n\
-    o cualquier n\u00FAmero de\n\
-    \    <Archivo>          Un Archivo para ser interpretado como una p\u00E1gina jsp\n\
-    y donde <opciones> incluyen\:\n\
-    \    -help              Muestra este mensaje de ayuda\n\
-    \    -v                 Modo detallado\n\
-    \    -d <dir>           Directorio de salida\n\
-    \    -l                 Muestra el nombre de la p\u00E1gina JSP al ocurrir un fallo\n\
-    \    -s                 Muestra el nombre de la p\u00E1gina JSP al tener \u00E9xito\n\
-    \    -p <name>          Nombre del package objetivo\n\
-    \                       (por defecto org.apache.jsp)\n\
-    \    -c <name>          Nombre de la clase objetivo\n\
-    \                       (s\u00F3lo se aplica a la primera p\u00E1gina JSP)\n\
-    \    -mapped            Genera llamadas separadas a write() para cada l\u00EDnea de\n\
-    \                       HTML en el JSP\n\
-    \    -die[\#]            Genera un c\u00F3digo de retorno de error (\#) en errores\n\
-    \                       fatales. (por defecto 1).\n\
-    \    -uribase <dir>     El directorio uri de donde deben de partir las\n\
-    \                       compilaciones. (por defecto "/")\n\
-    \    -uriroot <dir>     Igual que -webapp\n\
-    \    -compile           Compila los servlets generados\n\
-    \    -webinc <file>     Crea unos mapeos parciales de servlet en el archivo\n\
-    \    -webxml <file>     Crea un web.xml completo en el archivo.\n\
-    \    -ieplugin <clsid>  Java Plugin classid para Internet Explorer\n\
-    \    -classpath <path>  Pasa por alto la propiedad de sistema java.class.path\n\
-    \    -xpoweredBy        A\u00F1ade cabecera de respuesta  X-Powered-By\n\
-    \    -trimSpaces         Remove template text that consists entirely of whitespace\n\
-    \    -javaEncoding <enc> Set the encoding charset for Java classes (default UTF-8)\n\
-    \    -source <version>   Set the -source argument to the compiler (default 1.6)\n\
-    \    -target <version>   Set the -target argument to the compiler (default 1.6)\n
-jspc.webxml.header=<?xml version="1.0" encoding="ISO-8859-1"?>\n\
-\<web-app xmlns="http://java.sun.com/xml/ns/javaee"\n\
-\         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
-\         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee\n\
-\                             http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"\n\
-\         version="3.0"\n\
-\         metadata-complete="false">\n\
-<!--\n\
-Creado automaticamente mediante Apache Tomcat JspC.\n\
--->\n\
+
+jasper.error.emptybodycontent.nonempty=Según el TLD, el tag {0} debe de estar vacío, pero no lo está
+
+jsp.buffer.size.zero=Tamaño de buffer <= 0
+jsp.cmd_line.usage=Uso: jsptoservlet [-dd <ruta/a/DirectorioSalida>] [-keepgenerated] <Archivos .jsp>
+jsp.engine.info=Motor Jasper JSP 2.2
+jsp.error.action.isnottagfile=La acción {0} sólo se puede usar en archivos tag
+jsp.error.action.istagfile=La acción {0} no se puede usar en un archivo tag
+jsp.error.attempt_to_clear_flushed_buffer=Error: Se ha intentado limpiar un buffer que ya había sido escrito
+jsp.error.attr.novalue=Atributo {0} no tiene valor
+jsp.error.attr.quoted=El valor del atributo debería ir entre comillas
+jsp.error.attribute.custom.non_rt_with_expr=Según el TLD o la directiva attribute del archivo tag, el atributo {0} no acepta expresiones
+jsp.error.attribute.deferredmix=No puedo sar ambas espresiones EL ${} y #{} en el mismo valor de atributo
+jsp.error.attribute.duplicate=Los nombre cualificados de atributo deben de ser únicos dentro de un elemento
+jsp.error.attribute.invalidPrefix=El prefijo de atributo {0} no se correponde con ninguna biblioteca importada
+jsp.error.attribute.noequal=se esperaba símbolo igual
+jsp.error.attribute.noescape=El valor de atributo {0} está entrecomillado con {1} que debe de usar escape al usarse dentro del valor
+jsp.error.attribute.noquote=se esperaba símbolo comillas
+jsp.error.attribute.nowhitespace=La especificación JSP requiere que un nombre de atributo sea precedido por un espacio en blanco
+jsp.error.attribute.null_name=Nombre de atributo nulo
+jsp.error.attribute.standard.non_rt_with_expr=El atributo {0} de la acción estándar {1} no acepta expresiones
+jsp.error.attribute.unterminated=el atributo para {0} no está terminado correctamente
+jsp.error.attributes.not.allowed={0} no debe de tener atributos
+jsp.error.bad.scratch.dir=El directorio de trabajo especificado: {0} no es utilizable.
+jsp.error.badGetReader=No se puede crear un reader cuando el stream no tiene buffer
+jsp.error.badStandardAction=Acción estándar incorrecta
+jsp.error.bad_attribute=El atributo {0} no es válido según el TLD especificado
+jsp.error.bad_string_Character=No puede extraer un Character desde un array de tamaño cero
+jsp.error.bad_string_char=No puede extraer un char desde un array de tamaño cero
+jsp.error.bad_tag=No existe el tag {0} en la biblioteca importada con prefijo {1}
+jsp.error.badtaglib=No se puede abrir la biblioteca de tags {0}: {1}
+jsp.error.beans.introspection=Una excepción ha tenido lugar mientras se leía el método de lectura de la propiedad ''{0}'' en un bean del tipo ''{1}'':\n\
+{2}
+jsp.error.beans.nobeaninfo=No se puede encontrar BeanInfo para el bean  ''{0}'' seguramente la clase no existe
+jsp.error.beans.nomethod=No puedo encontrar un método para leer la propiedad ''{0}'' en un bean del tipo ''{1}''
+jsp.error.beans.nomethod.setproperty=No puedo encontrar un método para escribir la propiedad ''{0}'' en un bean del tipo ''{2}''
+jsp.error.beans.noproperty=No puedo encontrar información de la propiedad ''{0}'' en un bean del tipo ''{1}''
+jsp.error.beans.nullbean=Se ha intentado una operación de bean en un objeto nulo
+jsp.error.beans.property.conversion=No puedo convertir cadena "{0}" a clase "{1}" para atributo "{2}": {3}
+jsp.error.beans.propertyeditor.notregistered=Editor de Propiedades no registrado con el PropertyEditorManager
+jsp.error.beans.setproperty.noindexset=No puedo poner la propiedad indexada
+jsp.error.bug48498=No puedo mostrar extracto de JSP. Probablemente debido a un error de analizador XML (ver error 48498 de Tomcat para detalles).
+jsp.error.classname=No pude determinar el nombre de clase desde el fichero .class
+jsp.error.closeindividualparam=El tag param necesita ser cerrado con "/>"
+jsp.error.closeparams=El tag param necesita ser cerrado con /params
+jsp.error.coerce_to_type=No puedo coaccionar el valor ({2}) a tipo ({1}) para atributo {0}.
+jsp.error.compilation=Error compilando fichero: {0} {1}
+jsp.error.compiler=No hay compilador Java disponible
+jsp.error.config_pagedir_encoding_mismatch=El Page-encoding especificado en jsp-property-group ({0}) es diferente del especificado en la diectiva page ({1})
+jsp.error.corresponding.servlet=Error de servlet generado:\n
+jsp.error.could.not.add.taglibraries=No pude añadir una o más bibliotecas.
+jsp.error.data.file.read=Error leyendo archivo "{0}"
+jsp.error.data.file.write=Error mientras escribía el archivo de datos
+jsp.error.deferredmethodandvalue='deferredValue' y 'deferredMethod' no pueden ser ambos 'verdadero'
+jsp.error.deferredmethodsignaturewithoutdeferredmethod=No puedo especificar firma de método si 'deferredMethod' no es 'verdadero'
+jsp.error.deferredvaluetypewithoutdeferredvalue=No puedo especificar un tipo de valor si 'deferredValue' no es 'verdadero'
+jsp.error.directive.isnottagfile=La Directiva {0} sólo se puede usar en un archivo de tag
+jsp.error.directive.istagfile=La Directiva {0} no puede usarse en archivo de tag
+jsp.error.duplicate.name.jspattribute=El atributo {0} especificado en la acción standard o custom también aparece como el valor del atributo name en jsp:attribute
+jsp.error.duplicateqname=Se ha hallado un atributo con nombre cualificado duplicado [{0}]. Los nombres de atributos cuallificados deben de se únicos dentro de un elemento.
+jsp.error.dynamic.attributes.not.implemented=El tag {0} declara que acepta atributos dinámicos pero no implementa la interfaz requerida
+jsp.error.el.parse={0} : {1}
+jsp.error.el.template.deferred=#{..} no está permitido en texto de plantilla
+jsp.error.el_interpreter_class.instantiation=No se puede cargar la clase ELInterpreter llamada [{0}]
+jsp.error.empty.body.not.allowed=Cuerpo vacío no permitido para {0}
+jsp.error.fallback.invalidUse=jsp:fallback debe de ser un hijo directo de jsp:plugin
+jsp.error.file.already.registered=El archivo {0} ya se ha visto, ¿podría ser un include recursivo?
+jsp.error.file.cannot.read=No se puede leer el archivo: {0}
+jsp.error.file.not.found=Archivo JSP "{0}" no encontrado
+jsp.error.file.not.registered=Archivo {0} not visto en include
+jsp.error.flush=Excepción sucedida al vaciar los datos
+jsp.error.fragmentWithDeclareOrScope=Ambos atributos 'fragment' y 'declare' o 'scope' se han especificado en la directiva variable
+jsp.error.fragmentwithrtexprvalue=No puede especificar ambos atributos 'fragment' y 'rtexprvalue'.  Si está presente 'fragment', 'rtexprvalue' se pone como 'true'
+jsp.error.fragmentwithtype=No puede especificar ambos atributos 'fragment' y 'type'. Si está presente 'fragment', 'type' se pone como 'javax.servlet.jsp.tagext.JspFragment'
+jsp.error.function.classnotfound=La clase {0} especificada en el TLD para la función {1} no se puede hallar: {2}
+jsp.error.getproperty.beanNotFound=getProperty: Bean {0} no encontrado
+jsp.error.include.bad.file=Argumento de nombre de fichero no válido
+jsp.error.include.badflush=jsp:include page="..." flush="true" es la única combinación válida en JSP 1.0
+jsp.error.include.exception=No se puede incluir {0}
+jsp.error.include.flush.invalid.value=Valor incorrecto para atributo flush: {0}
+jsp.error.include.missing.file=No tiene argumento de nombre de fichero
+jsp.error.include.noflush=jsp:include necesita tener "flush=true"
+jsp.error.include.tag=Tag jsp:include no válido
+jsp.error.internal.evaluator_not_found=Error interno: no pude cargar evaluador de expresiones
+jsp.error.internal.filenotfound=Error Interno: Archivo {0} no hallado
+jsp.error.internal.tldinit=No pude inicializar TldLocationsCache: {0}
+jsp.error.internal.unexpected_node_type=Error Interno: Encontrado tipo de nodo inesperado
+jsp.error.invalid.attribute={0}: Atributo incorrecto, {1}
+jsp.error.invalid.bean=El valor el atributo de clsae useBean {0} es inválido.
+jsp.error.invalid.directive=Directiva no válida
+jsp.error.invalid.expression="{0}" contiene expresiones incorrectas: {1}
+jsp.error.invalid.forward=Tag forward no válido
+jsp.error.invalid.implicit=TLD implícito inválido para fichero de marca en {0}
+jsp.error.invalid.implicit.version=Versión inválida de JSP definida en TLD implícito para fichero de marca en {0}
+jsp.error.invalid.javaEncoding=Codificaciones java incorrectas. Intenté {0} y luego {1}. Ambas fallaron.
+jsp.error.invalid.scope=Valor ilegal de atributo ''scope'': {0} (debe de ser uno de "page", "request", "session", o "application")
+jsp.error.invalid.tagdir=El directorio de archivo Tag {0} no comienza con "/WEB-INF/tags"
+jsp.error.invalid.version=Versión inválida de JSP definida para fichero de marca en {0}
+jsp.error.ise_on_clear=Es ilegal usar clear() cuando el tamaño del buffer es cero
+jsp.error.java.line.number=Ha tenido lugar un error en la línea: [{0}] en el fichero java generado: [{1}]
+jsp.error.javac=Excepción de Javac
+jsp.error.javac.env=Entorno
+jsp.error.jspbody.emptybody.only=El tag {0} sólo puede tener jsp:attribute en su cuerpo.
+jsp.error.jspbody.invalidUse=jsp:body debe de ser el subelemento de una acción estándar o de cliente
+jsp.error.jspbody.required=Se debe de usar jsp:body para especificar cuerpo tag para {0} si se usa jsp:attribute.
+jsp.error.jspc.missingTarget=Falta target: Debe de especificar -webapp o -uriroot o una o más páginas JSP
+jsp.error.jspc.no_uriroot=No se ha especificado uriroot y no puede ser localizado en los archivos JSP especificados
+jsp.error.jspc.uriroot_not_dir=La opción -uriroot debe de especificar un directorio ya existente
+jsp.error.jspelement.missing.name=Falta atributo obligatorio XML-style 'name'
+jsp.error.jspoutput.conflict=&lt;jsp:output&gt;: ilegal tener ocurrencias múltiples de "{0}" con diferentes valores (viejo: {1}, nuevo: {2})
+jsp.error.jspoutput.doctypenamesystem=&lt;jsp:output&gt;: atributos 'doctype-root-element' y 'doctype-system' deben de aparecer juntos
+jsp.error.jspoutput.doctypepulicsystem=&lt;jsp:output&gt;: atributo 'doctype-system' debe de aparecer si aparece atributo 'doctype-public'
+jsp.error.jspoutput.invalidUse=&lt;jsp:output&gt; no se debe de usar en sintáxis estándar
+jsp.error.jspoutput.nonemptybody=&lt;jsp:output&gt; no debe de tener un cuerpo
+jsp.error.jsproot.version.invalid=Número incorrecto de versión: "{0}", debe de ser "1.2" o "2.0" o "2.1" o "2.2"
+jsp.error.jsptext.badcontent='&lt;', cuando aparece en el cuerpo de &lt;jsp:text&gt;, debe de estar encapsulado dentro de un CDATA
+jsp.error.lastModified=No puedo determinar la última fecha de modificación para el fichero [{0}]
+jsp.error.library.invalid=La página JSP es incorrecta de acuerdo a la biblioteca {0}: {1}
+jsp.error.literal_with_void=Se especificó un valor literal para el atributo {0} que está definido como un método diferido con un tipo nulo de retorno. JSP.2.3.4 no permite valores de literal en este caso
+jsp.error.loadclass.taghandler=No se puede cargar la clase {0}
+jsp.error.location=línea: {0}, columna: {1}
+jsp.error.mandatory.attribute={0}: Falta atributo obligatorio {1}
+jsp.error.missing.tagInfo=El objeto TagInfo para {0} falta del TLD
+jsp.error.missing_attribute=De acuerdo con el TLD el atributo {0} es obligatorio para el tag {1}
+jsp.error.missing_var_or_varReader=Falta atributo 'var' o 'varReader'
+jsp.error.more.than.one.taglib=Más de una biblioteca de tags en el TLD: {0}
+jsp.error.multiple.jsp=No puedo tener múltiples especificaciones de
+jsp.error.multiple.line.number=\n\
+\n\
+Ha tenido lugar un error entre las líneas: {0} y {1} en el archivo jsp: {2}\n\
+\n
+jsp.error.namedAttribute.invalidUse=jsp:attribute debe de ser el subelemento de una acción estándar o de cliente
+jsp.error.needAlternateJavaEncoding=La codificación java por defecto {0} es incorrecta en tu plataforma java. Se puede especificar una alternativa vía parámetro ''javaEncoding'' de JspServlet.
+jsp.error.nested.jspattribute=Una acción estándar jsp:attribute no puede estar anidada dentro de otra acción estándar jsp:attribute
+jsp.error.nested.jspbody=Una acción estándar jsp:body no puede estar anidada dentro de otra acción estándar jsp:body o jsp:attribute
+jsp.error.nested_jsproot=&lt;jsp:root&gt; anidado
+jsp.error.no.more.content=Alcanzado fin de contenido mietras se requería más análisis: ¿error de anidamiento de tag?
+jsp.error.no.scratch.dir=El motor JSP no tiene configurado un directorio de trabajo.\n\
+\ Añada "jsp.initparams=scratchdir=<dir-name>" \n\
+\ en el fichero servlets.properties para este contexto.
+jsp.error.no.scriptlets=Los elementos de Scripting (&lt;%!, &lt;jsp:declaration, &lt;%=, &lt;jsp:expression, &lt;%, &lt;jsp:scriptlet ) no están permitidos aquí.
+jsp.error.noFunction=La función {0} no puede ser localizada mediante el prefijo especificado
+jsp.error.noFunctionMethod=El método "{0}" para la función "{1}" no se pudo hallar en la clase "{2}"
+jsp.error.noFunctionPrefix=La función {0} debe de usarse con un prefijo cuando no se especifica un espacio de nombres por defecto
+jsp.error.nomatching.fragment=No puedo hallar una directiva de atributo (con name={0} y fragment=true) antes de la directiva de fragment.
+jsp.error.non_null_tei_and_var_subelems=Tag {0} tiene uno o más subelementos variable y una clase TagExtraInfo que devuelve una o más VariableInfo
+jsp.error.not.impl.comments=Error Interno: Comments no implementado
+jsp.error.not.impl.declarations=Error Interno: Declarations no implementado
+jsp.error.not.impl.directives=Error Interno: Directives no implementado
+jsp.error.not.impl.expressions=Error Interno: Expressions no implementado
+jsp.error.not.impl.forward=Error Interno: forward no implementado
+jsp.error.not.impl.getp=Error Interno: getProperty no implementado
+jsp.error.not.impl.include=Error Interno: include no implementado
+jsp.error.not.impl.plugin=Error Interno: plugin no implementado
+jsp.error.not.impl.scriptlets=Error Interno: Scriptlets no implementado
+jsp.error.not.impl.setp=Error Interno: setProperty no implementado
+jsp.error.not.impl.taglib=Error Interno: Tag extensions no implementado
+jsp.error.not.impl.usebean=Error Interno: useBean no implementado
+jsp.error.not.in.template={0} no permitido en una plantilla cuerpo de texto.
+jsp.error.outputfolder=no hay carpeta de salida
+jsp.error.overflow=Error:Buffer de JSP desbordado
+jsp.error.page.bad_b_and_a_combo=Directiva Page: Combinación ilegal de buffer="none" y autoFlush="false"
+jsp.error.page.conflict.autoflush=Directiva Page: es ilegal tener múltiples ocurrencias de ''autoFlush'' con valores distintos (viejo: {0}, nuevo: {1})
+jsp.error.page.conflict.buffer=Directiva Page: es ilegal tener múltiples ocurrencias de ''buffer''con valores distintos (viejo: {0}, nuevo: {1})
+jsp.error.page.conflict.contenttype=Directiva Page: es ilegal tener múltiples ocurrencias de ''contentType'' con valores distintos (viejo: {0}, nuevo: {1})
+jsp.error.page.conflict.deferredsyntaxallowedasliteral=Directiva de página: es ilegal tener múltiples ocurrencias de ''deferredSyntaxAllowedAsLiteral'' con diferentes valores (viejo: {0}, nuevo: {1})
+jsp.error.page.conflict.errorpage=Directiva Page: es ilegal tener múltiples ocurrencias de ''errorPage'' con valores distintos (viejo: {0}, nuevo: {1})
+jsp.error.page.conflict.extends=Directiva Page: es ilegal tener múltiples ocurrencias de ''extends'' con valores distintos (viejo: {0}, nuevo: {1})
+jsp.error.page.conflict.info=Directiva Page: es ilegal tener múltiples ocurrencias de ''info'' con valores distintos (viejo: {0}, nuevo: {1})
+jsp.error.page.conflict.iselignored=Directiva Page: es ilegal tener múltiples ocurrencias de ''isELIgnored'' con valores distintos (viejo: {0}, nuevo: {1})
+jsp.error.page.conflict.iserrorpage=Directiva Page: es ilegal tener múltiples ocurrencias de ''isErrorPage'' con valores distintos (viejo: {0}, nuevo: {1})
+jsp.error.page.conflict.isthreadsafe=Directiva Page: es ilegal tener múltiples ocurrencias de ''isThreadSafe'' con valores distintos (viejo: {0}, nuevo: {1})
+jsp.error.page.conflict.language=Directiva Page: es ilegal tener múltiples ocurrencias de ''language'' con valores distintos (viejo: {0}, nuevo: {1})
+jsp.error.page.conflict.session=Directiva Page: es ilegal tener múltiples ocurrencias de ''session'' con valores distintos (viejo: {0}, nuevo: {1})
+jsp.error.page.conflict.trimdirectivewhitespaces=Directiva de página: es ilegal tener múltiples ocurrencias de ''trimDirectivewhitespaces'' con diferentes valores (viejo: {0}, nuevo: {1})
+jsp.error.page.defafteruse.language=Directiva Page: No puedo definir lenguage tras un scriptlet
+jsp.error.page.invalid.autoflush==Directiva Page: valor incorrecto para autoFlush
+jsp.error.page.invalid.buffer=Directiva Page: valor incorrecto para búfer
+jsp.error.page.invalid.contenttype=Directiva Page: valor incorrecto para contentType
+jsp.error.page.invalid.deferredsyntaxallowedasliteral=Directiva de página: valor inválido para deferredSyntaxAllowedAsLiteral
+jsp.error.page.invalid.info==Directiva Page: valor incorrecto para info
+jsp.error.page.invalid.iselignored=Directiva Page: valor inválido para isELIgnored
+jsp.error.page.invalid.iserrorpage==Directiva Page: valor incorrecto para isErrorPage
+jsp.error.page.invalid.isthreadsafe==Directiva Page: valor incorrecto para isThreadSafe
+jsp.error.page.invalid.session=Directiva Page: valor incorrecto para session
+jsp.error.page.invalid.trimdirectivewhitespaces=Directiva de página: valor inválido para trimDirectiveWhitespaces
+jsp.error.page.language.nonjava=Directiva Page: atributo language incorrecto
+jsp.error.page.multi.pageencoding=La directiva Page no debe de tener múltiples ocurrencias de pageencoding
+jsp.error.page.noSession=No puedo acceder al ámbito de sesión en una página que no participa en una sesión
+jsp.error.page.nomapping.language=Directiva Page: No hay mapeado para language:
+jsp.error.param.invalidUse=La acción jsp:param no debe de ser usada fuera de los elementos jsp:include, jsp:forward o jsp:params
+jsp.error.param.noname=No hay nombre en el tag PARAM
+jsp.error.param.novalue=No hay valor en el tag PARAM
+jsp.error.paramexpected=El tag "param" era esperado con los atributos "name" y "value" después del tag "params".
+jsp.error.params.emptyBody=jsp:params debe de contener al menos un jsp:param anidado
+jsp.error.params.illegalChild=jsp:params no debe de contener elementos anidados que no sean jsp:param
+jsp.error.params.invalidUse=jsp:params debe de ser un hijo directo de jsp:plugin
+jsp.error.parse.error.in.TLD=Error de análisis en el descriptor de biblioteca de tags: {0}
+jsp.error.parse.xml=Error de análisis XML en archivo {0}
+jsp.error.parse.xml.invalidPublicId=PUBLIC ID incorrecta: {0}
+jsp.error.parse.xml.line=Error de análisis XML en archivo {0}: (línea {1}, col {2})
+jsp.error.parse.xml.scripting.invalid.body=El cuerpo de elemento {0} no debe de contener elementos XML
+jsp.error.plugin.badtype=Valor ilegal para atributo 'type' en jsp:plugin: debe de ser 'bean' o 'applet'
+jsp.error.plugin.nocode=Código no declarado en jsp:plugin
+jsp.error.plugin.notype=Tipo no declarado en jsp:plugin
+jsp.error.plugin.wrongRootElement=El nombre del elemento raíz en {0} difiere de {1}
+jsp.error.prefix.refined=Intento de redefinir el prefijo {0} por {1}, cuando ya estaba definido como {2} en el ámbito en curso.
+jsp.error.prefix.use_before_dcl=El prefijo {0} especificado en esta directiva de marca ha sido usado previamente mediante un fichero de acción {1} línea {2}.
+jsp.error.prolog_config_encoding_mismatch=El Page-encoding especificado en XML prolog ({0}) difiere del especificado en jsp-property-group ({1})
+jsp.error.prolog_pagedir_encoding_mismatch=El Page-encoding especificado en XML prolog ({0}) difiere del especificado en la directiva page ({1})
+jsp.error.quotes.unterminated=Comillas no terminadas
+jsp.error.scripting.variable.missing_name=Imposible determinar nombre de variable de scripting desde atributo {0}
+jsp.error.setproperty.ClassNotFound=setProperty: clase {0} no encontrada
+jsp.error.setproperty.arrayVal=setProperty: No puede escribir en la propiedad de array {0} a través de una valor de cadena literal
+jsp.error.setproperty.beanInfoNotFound=setproperty: beanInfo para bean {0} no encontrado
+jsp.error.setproperty.beanNotFound=setProperty: Bean {0} no encontrado
+jsp.error.setproperty.invalidSyntax=setproperty: no puedo tener valor no nulo si la propiedad=*
+jsp.error.setproperty.paramOrValue=setProperty: O param o value pueden estar presentes
+jsp.error.signature.classnotfound=La clase {0} especificada en la firma del método en el TLD para la función {1} no se puede hallar. {2}
+jsp.error.simpletag.badbodycontent=El TLD para la clase {0} especifica un body-content es incorrecto (JSP) para un SimpleTag.
+jsp.error.single.line.number=Ha tenido lugar un error en la línea: {0} en el archivo jsp: {1}
+jsp.error.stream.close.failed=No pude cerrar el flujo
+jsp.error.stream.closed=Stream cerrado
+jsp.error.tag.attr.unterminated=Lista de atributos del tag no terminada
+jsp.error.tag.conflict.attr=Directiva Tag: es ilegal tener múltiples ocurrencias del atributo "{0}" con valores distintos (viejo: {1}, nuevo: {2})
+jsp.error.tag.conflict.deferredsyntaxallowedasliteral=Directiva de marca: es ilegal tener múltiples ocurrencias de ''deferredSyntaxAllowedAsLiteral'' con diferentes valores (viejo: {0}, nuevo: {1})
+jsp.error.tag.conflict.iselignored=Directiva Tag: es ilegal tener múltiples ocurrencias de ''isELIgnored'' con valores distintos (viejo: {0}, nuevo: {1})
+jsp.error.tag.conflict.language=Directiva Tag: es ilegal tener múltiples ocurrencias de ''language'' con valores distintos (viejo: {0}, nuevo: {1})
+jsp.error.tag.conflict.trimdirectivewhitespaces=Directiva de marca: es ilegal tener múltiples ocurrencias de ''trimDirectivewhitespaces'' con diferentes valores (viejo: {0}, nuevo: {1})
+jsp.error.tag.invalid.deferredsyntaxallowedasliteral=Directiva de marca: valor inválido para deferredSyntaxAllowedAsLiteral
+jsp.error.tag.invalid.iselignored=Directiva Tag: valor incorrecto para isELIgnored
+jsp.error.tag.invalid.trimdirectivewhitespaces=Directiva de marca: valor inválido para trimDirectiveWhitespaces
+jsp.error.tag.language.nonjava=Directiva Tag: atributo language incorrecto
+jsp.error.tag.multi.pageencoding=La directiva Tag no debe de tener múltiples ocurrencias de pageencoding
+jsp.error.tagdirective.badbodycontent=body-content incorrecto ({0}) en directiva tag
+jsp.error.tagfile.badSuffix=Falta sufijo ".tag" en trayectoria de archivo de tag {0}
+jsp.error.tagfile.illegalPath=Trayectoria de archivo de tag: {0}, debe de comenzar con "/WEB-INF/tags" o "/META-INF/tags"
+jsp.error.tagfile.nameFrom.badAttribute=La directiva attribute (declarada en la línea {1} y cuyo atributo name es "{0}", el valor de este atributo name-from-attribute attribute) debe de ser del tipo java.lang.String, es "required" y no un "rtexprvalue".
+jsp.error.tagfile.nameFrom.noAttribute=No puedo hallar una directiva attribute con un atributo name con un valor "{0}", el valor de este atributo name-from-attribute.
+jsp.error.tagfile.nameNotUnique=El valor de {0} y el valor de {1} en la línea {2} son el mismo.
+jsp.error.tagfile.tld.name=El atributo "name" de la directiva tag tiene un valor {0} mientras que el tag "name" del elemento "tag-file" en el TLD es {1}
+jsp.error.taglib.reserved.prefix=El prefijo taglib {0} está reservado
+jsp.error.taglibDirective.absUriCannotBeResolved=La uri absoluta: {0} no puede resolverse o en web.xml o el los archivos jar desplegados con esta aplicación
+jsp.error.taglibDirective.both_uri_and_tagdir=Se han especificado ambos atributos 'uri' y 'tagdir'
+jsp.error.taglibDirective.missing.location=No se ha especificado ni el atributo 'uri' ni el 'tagdir'
+jsp.error.tei.invalid.attributes=Mensajes de error de validación desde TagExtraInfo para {0}
+jsp.error.teiclass.instantiation=No se puede cargar la clase TagExtraInfo llamada: {0}
+jsp.error.text.has_subelement=&lt;jsp:text&gt; no debe de tener subelementos
+jsp.error.tld.fn.duplicate.name=Nombre duplicado de función {0} en biblioteca de tag {1}
+jsp.error.tld.fn.invalid.signature=Sintáxis incorrecta para firma de función en TLD. Biblioteca de Tag: {0}, Función: {1}
+jsp.error.tld.fn.invalid.signature.commaexpected=Sintáxis incorrecta para firma de función en TLD. Se esperaba Coma '',''. Biblioteca de Tag: {0}, Función: {1}.
+jsp.error.tld.mandatory.element.missing=Falta o está vacío elemento TLD obligatorio: {0}
+jsp.error.tld.missing_jar=Falta recurso JAR "{0}" conteniendo TLD
+jsp.error.tld.unable_to_get_jar=Imposible obtener recurso JAR "{0}" conteniendo TLD: {1}
+jsp.error.tld.unable_to_read=Imposible de leer TLD "{1}" desde archivo JAR "{0}": {2}
+jsp.error.tldInWebDotXmlNotFound=No pude localizar TLD {1} para URI {0} especificado en web.xml
+jsp.error.tlv.invalid.page=Mensajes de error de validación desde TagLibraryValidator para {0} in {1}
+jsp.error.tlvclass.instantiation=No pude cargar o instanciar clase TagLibraryValidator: {0}
+jsp.error.unable.compile=No se puede compilar la clase para JSP
+jsp.error.unable.load=No se puede cargar la clase para JSP
+jsp.error.unable.rename=No se puede renombrar el archivo de clase {0} a {1}
+jsp.error.unable.to.open.TLD=No se puede abrir el descriptor de biblioteca de tags: {0}
+jsp.error.unable.to_convert_string=No pude convertir un String a {0} para atributo {1}
+jsp.error.unable.to_find_method=No se puede encontrar el método de escritura para el atributo: {0}
+jsp.error.unable.to_introspect=No se puede hacer introspección en manejador de tag clase: {0} a causa de {1}
+jsp.error.unable.to_load_taghandler_class=No se puede cargar clase manejadora {0} del tag a causa de {1}
+jsp.error.unavailable=JSP ha sido marcado como no disponible
+jsp.error.unbalanced.endtag=El tgag final "&lt;/{0}" está desequilibrado
+jsp.error.undeclared_namespace=Se ha encontrado una etiqueta con espacio de nombre [{0}] sin declarar
+jsp.error.unknownException=¡Error no caturado!. Deberías de considerar el poner una página de error para avisar de los errores más elegantemente
+jsp.error.unknown_attribute_type=Tipo de atributo desconocido ({1}) para atributo {0}.
+jsp.error.unsupported.encoding=Codificación no soportada: {0}
+jsp.error.unterminated=Tag {0} no terminado
+jsp.error.unterminated.user.tag=Tag definido por usuario no terminado: tag final {0} no hallado o anidado incorrectamente
+jsp.error.usebean.bad.type.cast=useBean ({0}): Tipo ({1}) no es asignable desde clase ({2})
+jsp.error.usebean.class.notfound=Clase: {0} no hallada
+jsp.error.usebean.duplicate=useBean: Nombre de bean duplicado: {0}
+jsp.error.usebean.missing.attribute=useBean: falta atributo id o está mal digitado
+jsp.error.usebean.missing.type=useBean ({0}): Se debe de especificar atributo class o type:
+jsp.error.usebean.noSession=Es ilegal para useBean el usar ámbito de sesión cuando la página JSP declara (vía directiva de página) que no participa en sesiones
+jsp.error.usebean.not.both=useBean: No puede especificar ambos atributos class y beanName:
+jsp.error.usebean.notinsamefile=El Tag useBean debe de empezar y terminar en el mismo archivo físico
+jsp.error.usebean.prohibited.as.session=No puedo usar como bean de sesión {0} ya que está prohibido por directiva jsp definida previamente:
+jsp.error.var_and_varReader=Sólo se puede especificar uno de 'var' o 'varReader'
+jsp.error.variable.alias=Ambos atributos o ninguno de name-from-attribute y alias pueden ser especificados en una directiva variable
+jsp.error.variable.both.name=No se puede especificar ambos atributos name-given o name-from-attribute en una directiva variable
+jsp.error.variable.either.name=O el atributo name-given o name-from-attribute deben de ser especificados en una directiva variable
+jsp.error.webxml_not_found=No puedo localizar web.xml
+jsp.error.xml.badStandardAction=Acción estándar incorrecta: {0}
+jsp.error.xml.bad_tag=No se ha definido el tag "{0}" en la biblioteca tag asociada con uri "{1}"
+jsp.error.xml.closeQuoteMissingInTextDecl=Faltan las comillas de cierre en el valor que sigue a "{0}" en la declaración text.
+jsp.error.xml.closeQuoteMissingInXMLDecl=Faltan las comillas de cierre en el valor que sigue a  "{0}" en la declaración XML.
+jsp.error.xml.encodingByteOrderUnsupported=El orden de byte dado para encoding "{0}" no está soportado
+jsp.error.xml.encodingDeclInvalid=Nombre de codificación "{0}" incorrecto.
+jsp.error.xml.encodingDeclRequired=Se necesita la declaración encoding en la declaración de texto
+jsp.error.xml.eqRequiredInTextDecl=El carácter '' = '' debe de serguir a "{0}" en la declaración text.
+jsp.error.xml.eqRequiredInXMLDecl=El carácter '' = '' debe de serguir a "{0}" en la declaración XML.
+jsp.error.xml.expectedByte=Se esperaba byte {0} de {1}-byte de secuencia UTF-8.
+jsp.error.xml.invalidASCII=El Byte "{0}" no es ASCII de 7-bit.
+jsp.error.xml.invalidByte=Incorrecto byte {0} de {1}-byte de secuencia UTF-8.
+jsp.error.xml.invalidCharInContent=Un carácter XML incorrecto (Unicode: 0x{0}) se halló en el contenido del elemento del documento.
+jsp.error.xml.invalidCharInPI=Se halló un carácter XML incorrecto (Unicode: 0x{0}) en la instrucción de procesamiento
+jsp.error.xml.invalidCharInTextDecl=Un carácter XML incorrecto (Unicode: 0x{0}) se halló en la declaración text
+jsp.error.xml.invalidCharInXMLDecl=Un carácter XML incorrecto (Unicode: 0x{0}) se halló en la declaración XML
+jsp.error.xml.invalidHighSurrogate=Los bits de surrogación alta en secuencai UTF-8 no deben de exceder 0x10 pero se halló 0x{0}.
+jsp.error.xml.morePseudoAttributes=se esperan más pseudo-atributos
+jsp.error.xml.noMorePseudoAttributes=no se permiten más pseudo-atributos.
+jsp.error.xml.operationNotSupported=La operación "{0}" no está soportada por lector {1}.
+jsp.error.xml.pseudoAttrNameExpected=se esperaba un pseudo-atributo name.
+jsp.error.xml.quoteRequiredInTextDecl=El valor que sigue a "{0}" en la declaración text debe de ser una cadena entre comillas.
+jsp.error.xml.quoteRequiredInXMLDecl=El valor que sigue a "{0}" en la declaración XML debe de ser un cadena entre comillas.
+jsp.error.xml.reservedPITarget=La instrucción de procesamiento que coincide con "[xX][mM][lL]" no está permitida.
+jsp.error.xml.sdDeclInvalid=El valor de declaración de documento standalone debe de ser "yes" o "no", no "{0}".
+jsp.error.xml.spaceRequiredBeforeEncodingInTextDecl=Se necesita espacio en blanco antes del pseudo-atributo encoding en la declaración text.
+jsp.error.xml.spaceRequiredBeforeEncodingInXMLDecl=Se necesita espacio en blanco antes del pseudo-atributo encoding en la declaración XML.
+jsp.error.xml.spaceRequiredBeforeStandalone=Se necesita un espacio en blanco antes del pseudo-atributo encoding en la declaración XML.
+jsp.error.xml.spaceRequiredBeforeVersionInTextDecl=Se necesita espacio en blanco antes del pseudo-atributo version en la declaración text.
+jsp.error.xml.spaceRequiredBeforeVersionInXMLDecl=Se necesita espacio en blanco antes del pseudo-atributo version en la declaración XML.
+jsp.error.xml.spaceRequiredInPI=Se necesita un espacio en blanco entre la instrucción de procesamiento y los datos.
+jsp.error.xml.versionInfoRequired=Se requiere la versión en la declaración XML.
+jsp.error.xml.versionNotSupported=No se soporta la versión XML "{0}", sólo se soporta XML 1.0
+jsp.error.xml.xmlDeclUnterminated=La declaración XML debe de terminar con "?>".
+jsp.error.xmlns.redefinition.notimplemented=Error interno: Intento de redefinir xmlns:{0}. La redefinición de espacios de nombre no está implementada.
+jsp.exception=Ha sucedido una excepción al procesar la página JSP {0} en línea {1}
+jsp.message.accepted=Aceptó {0} en {1}
+jsp.message.adding_jar=Añadiendo jar {0} a mi classpath
+jsp.message.class_file_name_is=El Nombre del Archivo de clase es: {0}
+jsp.message.class_name_is=El Nombre de la clase es: {0}
+jsp.message.compiling_with=Compilado con: {0}
+jsp.message.copyinguri=Copiando {0} en {1}
+jsp.message.cp_is=Classpath {0} es: {1}
+jsp.message.dont.modify.servlets=IMPORTANTE: No modifique los servlets generados
+jsp.message.handling_directive=\n\
+Resolviendo directiva: {0} {1}
+jsp.message.handling_plugin=\n\
+Plugin: {0}
+jsp.message.htmlcomment=\n\
+Quitando comentario: {0}
+jsp.message.java_file_name_is=El Nombre del Archivo Java es: {0}
+jsp.message.jsp_added=Añadiendo JSP para ruta [{0}] a cola de contexto [{1}]
+jsp.message.jsp_queue_created=Creada cola jsp con tamaño {0} para el contexto [{1}]
+jsp.message.jsp_queue_update=Actuallizando JSP para ruta [{0}] en cola de contexto [{1}]
+jsp.message.jsp_removed_excess=Quitando exceso de JSP para ruta [{0}] desde cola de contexto [{1}]
+jsp.message.jsp_removed_idle=Quitando JSP ocioso para ruta [{0}] en contexto [{1}] tras {2} segundos");
+jsp.message.jsp_unload_check=Revisando JSPs para descaga en contexto [{0}], contador JSP: {1} tamalo de cola: {2}
+jsp.message.package_name_is=El Nombre del Package es: {0}
+jsp.message.parent_class_loader_is=El cargador de clases es: {0}
+jsp.message.scratch.dir.is=El directorio de trabajo para el motor JSP es: {0}
+jsp.message.template_text=texto plantilla
+jsp.parser.sax.featurenotrecognized=Característica SAX no reconocida: {0}
+jsp.parser.sax.featurenotsupported=Característica SAX no soportada: {0}
+jsp.parser.sax.propertynotrecognized=Propiedad SAX no reconocida: {0}
+jsp.parser.sax.propertynotsupported=Propiedad SAX no soportada: {0}
+jsp.tldCache.noTldInJar=No se han hallado ficheros TLD en [{0}]. Considera añadir el JAR a la propiedad tomcat.util.scan.DefaultJarScanner.jarsToSkip en el fichero  CATALINA_BASE/conf/catalina.propeperties.
+jsp.tldCache.noTldSummary=Al menos un JAR, que se ha explorado buscando TLDs, aún no contenía TLDs. Activar historial de depuración para este historiador para una completa lista de los JARs que fueron explorados y de los que nos se halló TLDs. Saltarse JARs no necesarios durante la exploración puede dar lugar a una mejora de tiempo significativa en el arranque y compilación de JSP .
+jsp.warning.bad.type=Aviso: tipo incorrecto en archivo .class
+jsp.warning.bad.urlpattern.propertygroup=Valor malo {0} en el subelemento url-pattern en web.xml
+jsp.warning.checkInterval=Aviso: valor incorrecto para el initParam checkInterval. Se usará el valor por defecto de "300" segundos
+jsp.warning.classDebugInfo=Aviso: valor incorrecto para el initParam classdebuginfo. Se usará el valor por defecto de "false"
+jsp.warning.compiler.class.cantcreate=No puedo crear una instancia de la clase especificada {0} de plugin del compilador debido a {1}. Se usará el compilador Java de Sun.
+jsp.warning.compiler.class.notfound=No puedo encontrar una instancia de la clase {0} de plugin de compilador. Se usará el compilador del Java de Sun.
+jsp.warning.compiler.classfile.delete.fail=No pude borrar el fichero generado de clase [{0}]
+jsp.warning.compiler.classfile.delete.fail.unknown=No pude borrar los ficheros generados de clase
+jsp.warning.compiler.javafile.delete.fail=No pude borrar el fichero generado de Java [{0}]
+jsp.warning.compiler.javafile.delete.fail.unknown=No pude borrar los ficheros generados de Java
+jsp.warning.compiler.path.notfound=Trayectoria del compilador especificado {0} no encontrada. Se usará el PATH del sistema.
+jsp.warning.development=Aviso: valor incorrecto para el initParam development. Se usará el valor por defecto de "true"
+jsp.warning.displaySourceFragment=Aviso: valor incorrecto para el initParam displaySourceFragment. Se usará el valor por defecto de "verdadero"
+jsp.warning.dumpSmap=Aviso: valor incorrecto para el initParam dumpSmap. Se usará el valor por defecto de "false"
+jsp.warning.enablePooling=Aviso: valor incorrecto para el initParam enablePooling. Se usará el valor por defecto de "true"
+jsp.warning.fork=Aviso: valor incorrecto para el initParam fork. Se usará el valor por defecto de "true"
+jsp.warning.genchararray=Aviso: valor incorrecto para el initParam genStringAsCharArray. Se usará el valor por defecto de "false"
+jsp.warning.invalidTagPoolSize=Aviso: valor incorrecto para el parámetro init llamado tagPoolSize. Se usará la medida por defecto de {0}
+jsp.warning.jspIdleTimeout=Aviso: Valor inválido para el initParam jspIdleTimeout. Usaré el valor por defecto de "-1"
+jsp.warning.keepgen=Aviso: valor incorrecto para el initParam keepgen. Se usará el valor por defecto de "false"
+jsp.warning.mappedFile=Aviso: valor incorrecto para el initParam mappedFile. Se usará el valor por defecto de "false"
+jsp.warning.maxLoadedJsps=Aviso: Valor inválido para el initParam maxLoadedJsps. Usaré el valor por defecto de "-1"
+jsp.warning.modificationTestInterval=Aviso: valor incorrecto para el initParam modificationTestInterval. Se usará el valor por defecto de "4" segundos
+jsp.warning.noJarScanner=Aviso: No se ha puesto org.apache.tomcat.JarScanner en ServletContext. Volviendo a la implementación por defecto de JarScanner.
+jsp.warning.recompileOnFail=Aviso: Valor inválido para el initParam recompileOnFail. Usaré el valor por defecto de "falso "false"
+jsp.warning.reloading=Aviso: valor incorrecto para el initParam reloading. Se usará el valor por defecto de "true"
+jsp.warning.suppressSmap=Aviso: valor incorrecto para el initParam suppressSmap. Se usará el valor por defecto de "false"
+jsp.warning.unknown.element.in.attribute=Elemento desconocido ({0}) en attribute
+jsp.warning.unknown.element.in.function=Elemento desconocido ({0}) en function
+jsp.warning.unknown.element.in.initParam=Elemento desconocido ({0}) en init-param de validator
+jsp.warning.unknown.element.in.tag=Elemento desconocido ({0}) en tag
+jsp.warning.unknown.element.in.tagfile=Elemento desconocido ({0}) en tag-file
+jsp.warning.unknown.element.in.taglib=Elemento desconocido ({0}) en taglib
+jsp.warning.unknown.element.in.validator=Elemento desconocido ({0}) en validator
+jsp.warning.unknown.element.in.variable=Elemento desconocido ({0}) en variable
+jsp.warning.xpoweredBy=Aviso: valor incorrecto para el initParam xpoweredBy. Se usará el valor por defecto de "false"
+
+jspc.delete.fail=No pude borrar el fichero [{0}]
+jspc.error.emptyWebApp=-webapp necesita un argumento de archivo
+jspc.error.fileDoesNotExist=El archivo ''{0}'' utilizado como argumento no existe.
+jspc.error.generalException=ERROR-el archivo ''{0}'' ha generado la excepción general siguiente:
+jspc.error.jasperException=error-el archivo ''{0}'' ha generado la excepción de sintáxis siguiente: {1}
+jspc.implicit.uriRoot=uriRoot implicitamente puesto a "{0}"
+jspc.usage=Uso: jspc <opciones> [--] <Archivos JSP>\n\
+donde <Archivos JSP> son:\n\
+\    -webapp <dir>      Un directorio conteniendo una web-app. Todas las\n\
+\                       páginas jsp serán compiladas recursivamente\n\
+o cualquier número de\n\
+\    <Archivo>          Un Archivo para ser interpretado como una página jsp\n\
+y donde <opciones> incluyen:\n\
+\    -help              Muestra este mensaje de ayuda\n\
+\    -v                 Modo detallado\n\
+\    -d <dir>           Directorio de salida\n\
+\    -l                 Muestra el nombre de la página JSP al ocurrir un fallo\n\
+\    -s                 Muestra el nombre de la página JSP al tener éxito\n\
+\    -p <name>          Nombre del package objetivo\n\
+\                       (por defecto org.apache.jsp)\n\
+\    -c <name>          Nombre de la clase objetivo\n\
+\                       (sólo se aplica a la primera página JSP)\n\
+\    -mapped            Genera llamadas separadas a write() para cada línea de\n\
+\                       HTML en el JSP\n\
+\    -die[#]            Genera un código de retorno de error (#) en errores\n\
+\                       fatales. (por defecto 1).\n\
+\    -uribase <dir>     El directorio uri de donde deben de partir las\n\
+\                       compilaciones. (por defecto "/")\n\
+\    -uriroot <dir>     Igual que -webapp\n\
+\    -compile           Compila los servlets generados\n\
+\    -webinc <file>     Crea unos mapeos parciales de servlet en el archivo\n\
+\    -webxml <file>     Crea un web.xml completo en el archivo.\n\
+\    -ieplugin <clsid>  Java Plugin classid para Internet Explorer\n\
+\    -classpath <path>  Pasa por alto la propiedad de sistema java.class.path\n\
+\    -xpoweredBy        Añade cabecera de respuesta  X-Powered-By\n\
+\    -trimSpaces         Remove template text that consists entirely of whitespace\n\
+\    -javaEncoding <enc> Set the encoding charset for Java classes (default UTF-8)\n\
+\    -source <version>   Set the -source argument to the compiler (default 1.6)\n\
+\    -target <version>   Set the -target argument to the compiler (default 1.6)\n
+jspc.webfrg.footer=\n\
+</web-fragment>\n\
 \n
-jspc.webxml.footer = \n\
-    </web-app>\n\
-    \n
 jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
-\<web-fragment xmlns="http://java.sun.com/xml/ns/javaee"\n\
+<web-fragment xmlns="http://java.sun.com/xml/ns/javaee"\n\
 \         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
 \         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee\n\
 \                 http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd"\n\
@@ -291,204 +459,34 @@ jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
 Creado automaticamente mediante Apache Tomcat JspC.\n\
 -->\n\
 \n
-jspc.webfrg.footer=\n\
-</web-fragment>\n\
-\n
+jspc.webinc.footer=\n\
+<!--\n\
+End of content automatically created by Apache Tomcat JspC.\n\
+-->\n
 jspc.webinc.header=\n\
 <!--\n\
 Creado automaticamente mediante Apache Tomcat JspC.\n\
 -->\n
-jspc.webinc.footer=\n\
+jspc.webinc.insertEnd=<!-- Fin de mapeos de servlet JSPC -->
+jspc.webinc.insertStart=<!-- Inicio de mapeos de servlet JSPC -->
+jspc.webxml.footer=\n\
+</web-app>\n\
+\n
+jspc.webxml.header=<?xml version="1.0" encoding="ISO-8859-1"?>\n\
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"\n\
+\         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
+\         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee\n\
+\                             http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"\n\
+\         version="3.0"\n\
+\         metadata-complete="false">\n\
 <!--\n\
-End of content automatically created by Apache Tomcat JspC.\n\
--->\n
-jspc.webinc.insertEnd = <\!-- Fin de mapeos de servlet JSPC -->
-jspc.webinc.insertStart = <\!-- Inicio de mapeos de servlet JSPC -->
-jspc.error.jasperException = error-el archivo ''{0}'' ha generado la excepci\u00F3n de sint\u00E1xis siguiente\: {1}
-jspc.error.generalException = ERROR-el archivo ''{0}'' ha generado la excepci\u00F3n general siguiente\:
-jspc.error.fileDoesNotExist = El archivo ''{0}'' utilizado como argumento no existe.
-jspc.error.emptyWebApp = -webapp necesita un argumento de archivo
-jspc.delete.fail = No pude borrar el fichero [{0}]
-jsp.error.library.invalid = La p\u00E1gina JSP es incorrecta de acuerdo a la biblioteca {0}\: {1}
-jsp.error.tlvclass.instantiation = No pude cargar o instanciar clase TagLibraryValidator\: {0}
-jsp.error.tlv.invalid.page = Mensajes de error de validaci\u00F3n desde TagLibraryValidator para {0} in {1}
-jsp.error.tei.invalid.attributes = Mensajes de error de validaci\u00F3n desde TagExtraInfo para {0}
-jsp.parser.sax.propertynotsupported = Propiedad SAX no soportada\: {0}
-jsp.parser.sax.propertynotrecognized = Propiedad SAX no reconocida\: {0}
-jsp.parser.sax.featurenotsupported = Caracter\u00EDstica SAX no soportada\: {0}
-jsp.parser.sax.featurenotrecognized = Caracter\u00EDstica SAX no reconocida\: {0}
-jsp.error.no.more.content = Alcanzado fin de contenido mietras se requer\u00EDa m\u00E1s an\u00E1lisis\: \u00BFerror de anidamiento de tag?
-jsp.error.parse.xml = Error de an\u00E1lisis XML en archivo {0}
-jsp.error.parse.xml.line = Error de an\u00E1lisis XML en archivo {0}\: (l\u00EDnea {1}, col {2})
-jsp.error.parse.xml.scripting.invalid.body = El cuerpo de elemento {0} no debe de contener elementos XML
-jsp.error.internal.tldinit = No pude inicializar TldLocationsCache\: {0}
-jsp.error.internal.filenotfound = Error Interno\: Archivo {0} no hallado
-jsp.error.internal.evaluator_not_found = Error interno\: no pude cargar evaluador de expresiones
-jsp.error.parse.xml.invalidPublicId = PUBLIC ID incorrecta\: {0}
-jsp.error.include.flush.invalid.value = Valor incorrecto para atributo flush\: {0}
-jsp.error.unsupported.encoding = Codificaci\u00F3n no soportada\: {0}
-tld.error.variableNotAllowed = Es un error para un tag, que tiene uno o m\u00E1s subelementos variables, el tener una clase TagExtraInfo que devuelve un objeto no nulo.
-jsp.error.tldInWebDotXmlNotFound = No pude localizar TLD {1} para URI {0} especificado en web.xml
-jsp.error.taglibDirective.absUriCannotBeResolved = La uri absoluta\: {0} no puede resolverse o en web.xml o el los archivos jar desplegados con esta aplicaci\u00F3n
-jsp.error.taglibDirective.missing.location = No se ha especificado ni el atributo 'uri' ni el 'tagdir'
-jsp.error.taglibDirective.both_uri_and_tagdir = Se han especificado ambos atributos 'uri' y 'tagdir'
-jsp.error.invalid.tagdir = El directorio de archivo Tag {0} no comienza con "/WEB-INF/tags"
-jsp.error.unterminated.user.tag = Tag definido por usuario no terminado\: tag final {0} no hallado o anidado incorrectamente
-#jspx.error.templateDataNotInJspCdata=Validation Error: Element &lt;{0}&gt; cannot have template data. Template data must be encapsulated within a &lt;jsp:cdata&gt; element. [JSP1.2 PFD section 5.1.9]\nTemplate data in error: {1}
-jspx.error.templateDataNotInJspCdata = Error de Validaci\u00F3n\: El Elemento &lt;{0}&gt; no puede tener datos plantilla. Los datos plantilla deben de estar encapsulados dentro de un elemento &lt;jsp\:text&gt;. [JSP1.2 PFD secci\u00F3n 5.1.9]\n\
-    Datos de Plantilla en error\: {1}
-#Error while processing taglib jar file {0}: {1}
-jsp.error.taglib.reserved.prefix = El prefijo taglib {0} est\u00E1 reservado
-jsp.error.invalid.javaEncoding = Codificaciones java incorrectas. Intent\u00E9 {0} y luego {1}. Ambas fallaron.
-jsp.error.needAlternateJavaEncoding = La codificaci\u00F3n java por defecto {0} es incorrecta en tu plataforma java. Se puede especificar una alternativa v\u00EDa par\u00E1metro ''javaEncoding'' de JspServlet.
-#Error when compiling, used for jsp line number error messages
-jsp.error.single.line.number = Ha tenido lugar un error en la l\u00EDnea\: {0} en el archivo jsp\: {1}
-jsp.error.multiple.line.number = \n\
-    \n\
-    Ha tenido lugar un error entre las l\u00EDneas\: {0} y {1} en el archivo jsp\: {2}\n\
-    \n
-jsp.error.java.line.number = Ha tenido lugar un error en la l\u00EDnea\: [{0}] en el fichero java generado: [{1}]
-jsp.error.location = l\u00EDnea\: {0}, columna\: {1}
-jsp.error.corresponding.servlet = Error de servlet generado\:\n
-jsp.error.empty.body.not.allowed = Cuerpo vac\u00EDo no permitido para {0}
-jsp.error.jspbody.required = Se debe de usar jsp\:body para especificar cuerpo tag para {0} si se usa jsp\:attribute.
-jsp.error.jspbody.emptybody.only = El tag {0} s\u00F3lo puede tener jsp\:attribute en su cuerpo.
-jsp.error.no.scriptlets = Los elementos de Scripting (&lt;%\!, &lt;jsp\:declaration, &lt;%\=, &lt;jsp\:expression, &lt;%, &lt;jsp\:scriptlet ) no est\u00E1n permitidos aqu\u00ED.
-jsp.error.internal.unexpected_node_type = Error Interno\: Encontrado tipo de nodo inesperado
-jsp.error.tld.fn.invalid.signature = Sint\u00E1xis incorrecta para firma de funci\u00F3n en TLD. Biblioteca de Tag\: {0}, Funci\u00F3n\: {1}
-jsp.error.tld.fn.duplicate.name = Nombre duplicado de funci\u00F3n {0} en biblioteca de tag {1}
-jsp.error.tld.fn.invalid.signature.commaexpected = Sint\u00E1xis incorrecta para firma de funci\u00F3n en TLD. Se esperaba Coma '',''. Biblioteca de Tag\: {0}, Funci\u00F3n\: {1}.
-jsp.error.tld.mandatory.element.missing = Falta o est\u00E1 vac\u00EDo elemento TLD obligatorio\: {0}
-jsp.error.dynamic.attributes.not.implemented = El tag {0} declara que acepta atributos din\u00E1micos pero no implementa la interfaz requerida
-jsp.error.nomatching.fragment = No puedo hallar una directiva de atributo (con name\={0} y fragment\=true) antes de la directiva de fragment.
-jsp.error.attribute.noequal = se esperaba s\u00EDmbolo igual
-jsp.error.attribute.noquote = se esperaba s\u00EDmbolo comillas
-jsp.error.attribute.unterminated = el atributo para {0} no est\u00E1 terminado correctamente
-jsp.error.attribute.noescape = El valor de atributo {0} est\u00E1 entrecomillado con {1} que debe de usar escape al usarse dentro del valor
-jsp.error.attribute.nowhitespace = La especificaci\u00F3n JSP requiere que un nombre de atributo sea precedido por un espacio en blanco
-jsp.error.attribute.duplicate = Los nombre cualificados de atributo deben de ser \u00FAnicos dentro de un elemento
-jsp.error.missing.tagInfo = El objeto TagInfo para {0} falta del TLD
-jsp.error.deferredmethodsignaturewithoutdeferredmethod = No puedo especificar firma de m\u00E9todo si 'deferredMethod' no es 'verdadero'
-jsp.error.deferredvaluetypewithoutdeferredvalue = No puedo especificar un tipo de valor si 'deferredValue' no es 'verdadero'
-jsp.error.deferredmethodandvalue = 'deferredValue' y 'deferredMethod' no pueden ser ambos 'verdadero'
-jsp.error.fragmentwithtype = No puede especificar ambos atributos 'fragment' y 'type'. Si est\u00E1 presente 'fragment', 'type' se pone como 'javax.servlet.jsp.tagext.JspFragment'
-jsp.error.fragmentwithrtexprvalue = No puede especificar ambos atributos 'fragment' y 'rtexprvalue'.  Si est\u00E1 presente 'fragment', 'rtexprvalue' se pone como 'true'
-jsp.error.fragmentWithDeclareOrScope = Ambos atributos 'fragment' y 'declare' o 'scope' se han especificado en la directiva variable
-jsp.error.var_and_varReader = S\u00F3lo se puede especificar uno de 'var' o 'varReader'
-jsp.error.missing_var_or_varReader = Falta atributo 'var' o 'varReader'
-jsp.warning.bad.urlpattern.propertygroup = Valor malo {0} en el subelemento url-pattern en web.xml
-jsp.error.literal_with_void = Se especific\u00F3 un valor literal para el atributo {0} que est\u00E1 definido como un m\u00E9todo diferido con un tipo nulo de retorno. JSP.2.3.4 no permite valores de literal en este caso
-jsp.error.unknown_attribute_type = Tipo de atributo desconocido ({1}) para atributo {0}.
-jsp.error.coerce_to_type = No puedo coaccionar el valor ({2}) a tipo ({1}) para atributo {0}.
-jsp.error.jspelement.missing.name = Falta atributo obligatorio XML-style 'name'
-jsp.error.xmlns.redefinition.notimplemented = Error interno\: Intento de redefinir xmlns\:{0}. La redefinici\u00F3n de espacios de nombre no est\u00E1 implementada.
-jsp.error.could.not.add.taglibraries = No pude a\u00F1adir una o m\u00E1s bibliotecas.
-jsp.error.duplicate.name.jspattribute = El atributo {0} especificado en la acci\u00F3n standard o custom tambi\u00E9n aparece como el valor del atributo name en jsp\:attribute
-jsp.error.not.in.template = {0} no permitido en una plantilla cuerpo de texto.
-jsp.error.badStandardAction = Acci\u00F3n est\u00E1ndar incorrecta
-jsp.error.xml.badStandardAction = Acci\u00F3n est\u00E1ndar incorrecta\: {0}
-jsp.error.tagdirective.badbodycontent = body-content incorrecto ({0}) en directiva tag
-jsp.error.simpletag.badbodycontent = El TLD para la clase {0} especifica un body-content es incorrecto (JSP) para un SimpleTag.
-jsp.error.config_pagedir_encoding_mismatch = El Page-encoding especificado en jsp-property-group ({0}) es diferente del especificado en la diectiva page ({1})
-jsp.error.prolog_pagedir_encoding_mismatch = El Page-encoding especificado en XML prolog ({0}) difiere del especificado en la directiva page ({1})
-jsp.error.prolog_config_encoding_mismatch = El Page-encoding especificado en XML prolog ({0}) difiere del especificado en jsp-property-group ({1})
-jsp.error.attribute.custom.non_rt_with_expr = Seg\u00FAn el TLD o la directiva attribute del archivo tag, el atributo {0} no acepta expresiones
-jsp.error.attribute.standard.non_rt_with_expr = El atributo {0} de la acci\u00F3n est\u00E1ndar {1} no acepta expresiones
-jsp.error.attribute.deferredmix = No puedo sar ambas espresiones EL ${} y \#{} en el mismo valor de atributo
-jsp.error.scripting.variable.missing_name = Imposible determinar nombre de variable de scripting desde atributo {0}
-jasper.error.emptybodycontent.nonempty = Seg\u00FAn el TLD, el tag {0} debe de estar vac\u00EDo, pero no lo est\u00E1
-jsp.error.tagfile.nameNotUnique = El valor de {0} y el valor de {1} en la l\u00EDnea {2} son el mismo.
-jsp.error.tagfile.nameFrom.noAttribute = No puedo hallar una directiva attribute con un atributo name con un valor "{0}", el valor de este atributo name-from-attribute.
-jsp.error.tagfile.nameFrom.badAttribute = La directiva attribute (declarada en la l\u00EDnea {1} y cuyo atributo name es "{0}", el valor de este atributo name-from-attribute attribute) debe de ser del tipo java.lang.String, es "required" y no un "rtexprvalue".
-jsp.error.page.noSession = No puedo acceder al \u00E1mbito de sesi\u00F3n en una p\u00E1gina que no participa en una sesi\u00F3n
-jsp.error.usebean.noSession = Es ilegal para useBean el usar \u00E1mbito de sesi\u00F3n cuando la p\u00E1gina JSP declara (v\u00EDa directiva de p\u00E1gina) que no participa en sesiones
-jsp.error.xml.encodingByteOrderUnsupported = El orden de byte dado para encoding "{0}" no est\u00E1 soportado
-jsp.error.xml.encodingDeclInvalid = Nombre de codificaci\u00F3n "{0}" incorrecto.
-jsp.error.xml.encodingDeclRequired = Se necesita la declaraci\u00F3n encoding en la declaraci\u00F3n de texto
-jsp.error.xml.morePseudoAttributes = se esperan m\u00E1s pseudo-atributos
-jsp.error.xml.noMorePseudoAttributes = no se permiten m\u00E1s pseudo-atributos.
-jsp.error.xml.versionInfoRequired = Se requiere la versi\u00F3n en la declaraci\u00F3n XML.
-jsp.error.xml.xmlDeclUnterminated = La declaraci\u00F3n XML debe de terminar con "?>".
-jsp.error.xml.reservedPITarget = La instrucci\u00F3n de procesamiento que coincide con "[xX][mM][lL]" no est\u00E1 permitida.
-jsp.error.xml.spaceRequiredInPI = Se necesita un espacio en blanco entre la instrucci\u00F3n de procesamiento y los datos.
-jsp.error.xml.invalidCharInContent = Un car\u00E1cter XML incorrecto (Unicode\: 0x{0}) se hall\u00F3 en el contenido del elemento del documento.
-jsp.error.xml.spaceRequiredBeforeStandalone = Se necesita un espacio en blanco antes del pseudo-atributo encoding en la declaraci\u00F3n XML.
-jsp.error.xml.sdDeclInvalid = El valor de declaraci\u00F3n de documento standalone debe de ser "yes" o "no", no "{0}".
-jsp.error.xml.invalidCharInPI = Se hall\u00F3 un car\u00E1cter XML incorrecto (Unicode\: 0x{0}) en la instrucci\u00F3n de procesamiento
-jsp.error.xml.versionNotSupported = No se soporta la versi\u00F3n XML "{0}", s\u00F3lo se soporta XML 1.0
-jsp.error.xml.pseudoAttrNameExpected = se esperaba un pseudo-atributo name.
-jsp.error.xml.expectedByte = Se esperaba byte {0} de {1}-byte de secuencia UTF-8.
-jsp.error.xml.invalidByte = Incorrecto byte {0} de {1}-byte de secuencia UTF-8.
-jsp.error.xml.operationNotSupported = La operaci\u00F3n "{0}" no est\u00E1 soportada por lector {1}.
-jsp.error.xml.invalidHighSurrogate = Los bits de surrogaci\u00F3n alta en secuencai UTF-8 no deben de exceder 0x10 pero se hall\u00F3 0x{0}.
-jsp.error.xml.invalidASCII = El Byte "{0}" no es ASCII de 7-bit.
-jsp.error.xml.spaceRequiredBeforeEncodingInXMLDecl = Se necesita espacio en blanco antes del pseudo-atributo encoding en la declaraci\u00F3n XML.
-jsp.error.xml.spaceRequiredBeforeEncodingInTextDecl = Se necesita espacio en blanco antes del pseudo-atributo encoding en la declaraci\u00F3n text.
-jsp.error.xml.spaceRequiredBeforeVersionInTextDecl = Se necesita espacio en blanco antes del pseudo-atributo version en la declaraci\u00F3n text.
-jsp.error.xml.spaceRequiredBeforeVersionInXMLDecl = Se necesita espacio en blanco antes del pseudo-atributo version en la declaraci\u00F3n XML.
-jsp.error.xml.eqRequiredInXMLDecl = El car\u00E1cter '' \= '' debe de serguir a "{0}" en la declaraci\u00F3n XML.
-jsp.error.xml.eqRequiredInTextDecl = El car\u00E1cter '' \= '' debe de serguir a "{0}" en la declaraci\u00F3n text.
-jsp.error.xml.quoteRequiredInTextDecl = El valor que sigue a "{0}" en la declaraci\u00F3n text debe de ser una cadena entre comillas.
-jsp.error.xml.quoteRequiredInXMLDecl = El valor que sigue a "{0}" en la declaraci\u00F3n XML debe de ser un cadena entre comillas.
-jsp.error.xml.invalidCharInTextDecl = Un car\u00E1cter XML incorrecto (Unicode\: 0x{0}) se hall\u00F3 en la declaraci\u00F3n text
-jsp.error.xml.invalidCharInXMLDecl = Un car\u00E1cter XML incorrecto (Unicode\: 0x{0}) se hall\u00F3 en la declaraci\u00F3n XML
-jsp.error.xml.closeQuoteMissingInTextDecl = Faltan las comillas de cierre en el valor que sigue a "{0}" en la declaraci\u00F3n text.
-jsp.error.xml.closeQuoteMissingInXMLDecl = Faltan las comillas de cierre en el valor que sigue a  "{0}" en la declaraci\u00F3n XML.
-jsp.error.multiple.jsp = No puedo tener m\u00FAltiples especificaciones de
-jsp.error.jspoutput.conflict = &lt;jsp\:output&gt;\: ilegal tener ocurrencias m\u00FAltiples de "{0}" con diferentes valores (viejo\: {1}, nuevo\: {2})
-jsp.error.jspoutput.doctypenamesystem = &lt;jsp\:output&gt;\: atributos 'doctype-root-element' y 'doctype-system' deben de aparecer juntos
-jsp.error.jspoutput.doctypepulicsystem = &lt;jsp\:output&gt;\: atributo 'doctype-system' debe de aparecer si aparece atributo 'doctype-public'
-jsp.error.jspoutput.nonemptybody = &lt;jsp\:output&gt; no debe de tener un cuerpo
-jsp.error.jspoutput.invalidUse = &lt;jsp\:output&gt; no se debe de usar en sint\u00E1xis est\u00E1ndar
-jsp.error.attributes.not.allowed = {0} no debe de tener atributos
-jsp.error.tagfile.badSuffix = Falta sufijo ".tag" en trayectoria de archivo de tag {0}
-jsp.error.tagfile.illegalPath = Trayectoria de archivo de tag\: {0}, debe de comenzar con "/WEB-INF/tags" o "/META-INF/tags"
-jsp.error.plugin.wrongRootElement = El nombre del elemento ra\u00EDz en {0} difiere de {1}
-jsp.error.attribute.invalidPrefix = El prefijo de atributo {0} no se correponde con ninguna biblioteca importada
-jsp.error.nested.jspattribute = Una acci\u00F3n est\u00E1ndar jsp\:attribute no puede estar anidada dentro de otra acci\u00F3n est\u00E1ndar jsp\:attribute
-jsp.error.nested.jspbody = Una acci\u00F3n est\u00E1ndar jsp\:body no puede estar anidada dentro de otra acci\u00F3n est\u00E1ndar jsp\:body o jsp\:attribute
-jsp.error.variable.either.name = O el atributo name-given o name-from-attribute deben de ser especificados en una directiva variable
-jsp.error.variable.both.name = No se puede especificar ambos atributos name-given o name-from-attribute en una directiva variable
-jsp.error.variable.alias = Ambos atributos o ninguno de name-from-attribute y alias pueden ser especificados en una directiva variable
-jsp.error.attribute.null_name = Nombre de atributo nulo
-jsp.error.jsptext.badcontent = '&lt;', cuando aparece en el cuerpo de &lt;jsp\:text&gt;, debe de estar encapsulado dentro de un CDATA
-jsp.error.jsproot.version.invalid = N\u00FAmero incorrecto de versi\u00F3n\: "{0}", debe de ser "1.2" o "2.0" o "2.1" o "2.2"
-jsp.error.noFunctionPrefix = La funci\u00F3n {0} debe de usarse con un prefijo cuando no se especifica un espacio de nombres por defecto
-jsp.error.noFunction = La funci\u00F3n {0} no puede ser localizada mediante el prefijo especificado
-jsp.error.noFunctionMethod = El m\u00E9todo "{0}" para la funci\u00F3n "{1}" no se pudo hallar en la clase "{2}"
-jsp.error.function.classnotfound = La clase {0} especificada en el TLD para la funci\u00F3n {1} no se puede hallar\: {2}
-jsp.error.signature.classnotfound = La clase {0} especificada en la firma del m\u00E9todo en el TLD para la funci\u00F3n {1} no se puede hallar. {2}
-jsp.error.text.has_subelement = &lt;jsp\:text&gt; no debe de tener subelementos
-jsp.error.data.file.read = Error leyendo archivo "{0}"
-jsp.error.prefix.refined = Intento de redefinir el prefijo {0} por {1}, cuando ya estaba definido como {2} en el \u00E1mbito en curso.
-jsp.error.nested_jsproot = &lt;jsp\:root&gt; anidado
-jsp.error.unbalanced.endtag = El tgag final "&lt;/{0}" est\u00E1 desequilibrado
-jsp.error.invalid.bean = El valor el atributo de clsae useBean {0} es inv\u00E1lido.
-jsp.error.prefix.use_before_dcl = El prefijo {0} especificado en esta directiva de marca ha sido usado previamente mediante un fichero de acci\u00F3n {1} l\u00EDnea {2}.
-jsp.error.lastModified = No puedo determinar la \u00FAltima fecha de modificaci\u00F3n para el fichero [{0}]
-jsp.exception = Ha sucedido una excepci\u00F3n al procesar la p\u00E1gina JSP {0} en l\u00EDnea {1}
-jsp.error.el.template.deferred = \#{..} no est\u00E1 permitido en texto de plantilla
-jsp.error.el.parse = {0} \: {1}
-jsp.error.page.invalid.deferredsyntaxallowedasliteral = Directiva de p\u00E1gina\: valor inv\u00E1lido para deferredSyntaxAllowedAsLiteral
-jsp.error.tag.invalid.deferredsyntaxallowedasliteral = Directiva de marca\: valor inv\u00E1lido para deferredSyntaxAllowedAsLiteral
-jsp.error.page.conflict.deferredsyntaxallowedasliteral = Directiva de p\u00E1gina\: es ilegal tener m\u00FAltiples ocurrencias de ''deferredSyntaxAllowedAsLiteral'' con diferentes valores (viejo\: {0}, nuevo\: {1})
-jsp.error.tag.conflict.deferredsyntaxallowedasliteral = Directiva de marca\: es ilegal tener m\u00FAltiples ocurrencias de ''deferredSyntaxAllowedAsLiteral'' con diferentes valores (viejo\: {0}, nuevo\: {1})
-jsp.error.page.invalid.trimdirectivewhitespaces = Directiva de p\u00E1gina\: valor inv\u00E1lido para trimDirectiveWhitespaces
-jsp.error.tag.invalid.trimdirectivewhitespaces = Directiva de marca\: valor inv\u00E1lido para trimDirectiveWhitespaces
-jsp.error.page.conflict.trimdirectivewhitespaces = Directiva de p\u00E1gina\: es ilegal tener m\u00FAltiples ocurrencias de ''trimDirectivewhitespaces'' con diferentes valores (viejo\: {0}, nuevo\: {1})
-jsp.error.tag.conflict.trimdirectivewhitespaces = Directiva de marca\: es ilegal tener m\u00FAltiples ocurrencias de ''trimDirectivewhitespaces'' con diferentes valores (viejo\: {0}, nuevo\: {1})
-jsp.warning.noJarScanner = Aviso\: No se ha puesto org.apache.tomcat.JarScanner en ServletContext. Volviendo a la implementaci\u00F3n por defecto de JarScanner.
-jsp.error.bug48498 = No puedo mostrar extracto de JSP. Probablemente debido a un error de analizador XML (ver error 48498 de Tomcat para detalles).
-jsp.error.duplicateqname = Se ha hallado un atributo con nombre cualificado duplicado [{0}]. Los nombres de atributos cuallificados deben de se \u00FAnicos dentro de un elemento.
-jsp.message.jsp_queue_created = Creada cola jsp con tama\u00F1o {0} para el contexto [{1}]
-jsp.message.jsp_added = A\u00F1adiendo JSP para ruta [{0}] a cola de contexto [{1}]
-jsp.message.jsp_queue_update = Actuallizando JSP para ruta [{0}] en cola de contexto [{1}]
-jsp.message.jsp_removed_excess = Quitando exceso de JSP para ruta [{0}] desde cola de contexto [{1}]
-jsp.message.jsp_removed_idle = Quitando JSP ocioso para ruta [{0}] en contexto [{1}] tras {2} segundos");
-jsp.message.jsp_unload_check = Revisando JSPs para descaga en contexto [{0}], contador JSP\: {1} tamalo de cola\: {2}
-xmlParser.skipBomFail = No pude saltar BOM al analizar flujo de entrada XML
-jsp.tldCache.noTldInJar = No se han hallado ficheros TLD en [{0}]. Considera a\u00F1adir el JAR a la propiedad tomcat.util.scan.DefaultJarScanner.jarsToSkip en el fichero  CATALINA_BASE/conf/catalina.propeperties.
-jsp.tldCache.noTldSummary = Al menos un JAR, que se ha explorado buscando TLDs, a\u00FAn no conten\u00EDa TLDs. Activar historial de depuraci\u00F3n para este historiador para una completa lista de los JARs que fueron explorados y de los que nos se hall\u00F3 TLDs. Saltarse JARs no necesarios durante la exploraci\u00F3n puede dar lugar a una mejora de tiempo significativa en el arranque y compilaci\u00F3n de JSP .
+Creado automaticamente mediante Apache Tomcat JspC.\n\
+-->\n\
+\n
+
+jspx.error.templateDataNotInJspCdata=Error de Validación: El Elemento &lt;{0}&gt; no puede tener datos plantilla. Los datos plantilla deben de estar encapsulados dentro de un elemento &lt;jsp:text&gt;. [JSP1.2 PFD sección 5.1.9]\n\
+Datos de Plantilla en error: {1}
+
+tld.error.variableNotAllowed=Es un error para un tag, que tiene uno o más subelementos variables, el tener una clase TagExtraInfo que devuelve un objeto no nulo.
 
-#ELInterpreter
-jsp.error.el_interpreter_class.instantiation=No se puede cargar la clase ELInterpreter llamada [{0}]
\ No newline at end of file
+xmlParser.skipBomFail=No pude saltar BOM al analizar flujo de entrada XML
diff --git a/java/org/apache/jasper/resources/LocalStrings_fr.properties b/java/org/apache/jasper/resources/LocalStrings_fr.properties
index 54408f2..1b0569a 100644
--- a/java/org/apache/jasper/resources/LocalStrings_fr.properties
+++ b/java/org/apache/jasper/resources/LocalStrings_fr.properties
@@ -13,205 +13,261 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Default localized string information
-# Localized this the Default Locale as is fr_FR
+jasper.error.emptybodycontent.nonempty=D''après la TLD, le tag {0} doit être vide, mais ne l''est pas
 
-jsp.error.no.scratch.dir=Le moteur de JSP engine n''est pas configur\u00e9 avec un r\u00e9pertoire de travail.\
-\n Merci d''ajouter \"jsp.initparams=scratchdir=<dir-name>\" \
-\n dans le fichier "servlets.properties" de ce contexte.
-jsp.error.bad.scratch.dir=Le param\u00eatre "scratchDir" que vous avez sp\u00e9cifi\u00e9: {0} est inutilisable.
-jsp.message.scratch.dir.is=Le r\u00e9pertoire de travail (scratch dir) pour le moteur de JSP est: {0}
-jsp.message.parent_class_loader_is=Le chargeur de classe parent (class loader) est: {0}
-jsp.message.dont.modify.servlets=IMPORTANT: Ne pas modifier les servlets g\u00e9n\u00e9r\u00e9es
-jsp.error.not.impl.comments=Erreur interne: Commentaires non impl\u00e9ment\u00e9s
-jsp.error.not.impl.directives=Erreur interne: Directives non impl\u00e9ment\u00e9es
-jsp.error.not.impl.declarations=Erreur interne: Declarations non impl\u00e9ment\u00e9es
-jsp.error.not.impl.expressions=Erreur interne: Expressions non impl\u00e9ment\u00e9es
-jsp.error.not.impl.scriptlets=Erreur interne: Scriptlets non impl\u00e9ment\u00e9s
-jsp.error.not.impl.usebean=Erreur interne: useBean non impl\u00e9ment\u00e9
-jsp.error.not.impl.getp=Erreur interne: getProperty non impl\u00e9ment\u00e9
-jsp.error.not.impl.setp=Erreur interne: setProperty non impl\u00e9ment\u00e9
-jsp.error.not.impl.plugin=Erreur interne: plugin non impl\u00e9ment\u00e9
-jsp.error.not.impl.forward=Erreur interne: forward non impl\u00e9ment\u00e9
-jsp.error.not.impl.include=Erreur interne: include non impl\u00e9ment\u00e9
-jsp.error.unavailable=La JSP a \u00e9t\u00e9 marqu\u00e9e comme non disponible
-jsp.error.usebean.missing.attribute=useBean: l''identificateur d''attribut (id attribute) est manquant ou mal orthographi\u00e9
-jsp.error.usebean.missing.type=useBean ({0}): La classe ou le type d''attribut doit \u00eatre\
-sp\u00e9cifi\u00e9:
-jsp.error.usebean.duplicate=useBean: Nom de bean dupliqu\u00e9: {0}
-jsp.error.usebean.prohibited.as.session=Impossible d''utiliser comme bean de session {0} car c''est interdit\
-par la directive jsp d\u00e9finie pr\u00e9c\u00e9demment:
-jsp.error.usebean.not.both=useBean: Impossible de sp\u00e9cifier \u00e0 la fois la classe et l''attribut beanName:
-jsp.error.usebean.bad.type.cast=useBean ({0}): Le type ({1}) n''est pas assignable depuis la classe ({2})
-jsp.error.classname=Impossible de d\u00e9terminer le nom de classe d''apr\u00e8s le fichier .class
-jsp.warning.bad.type=Attention: mauvais type dans le fichier .class
-jsp.error.data.file.write=Erreur lors de l''\u00e9criture du fichier de donn\u00e9es
-#Directive de Page: valeur incorrecte pour pageEncoding
-jsp.error.page.invalid.contenttype=Directive de Page: valeur incorrecte pour contentType
-jsp.error.page.invalid.session=Directive de Page: valeur incorrecte pour session
-jsp.error.page.invalid.buffer=Directive de Page: valeur incorrecte pour "buffer"
-jsp.error.page.invalid.autoflush=Directive de Page: valeur incorrecte pour autoFlush
-jsp.error.page.invalid.isthreadsafe=Directive de Page: valeur incorrecte pour isThreadSafe
-jsp.error.page.invalid.info=Directive de Page: valeur incorrecte pour info
-jsp.error.page.invalid.iserrorpage=Directive de Page: valeur incorrecte pour isErrorPage
-jsp.error.page.defafteruse.language=Directive de Page: on ne peut d\u00e9finir language apr\u00e8s un scriptlet
-jsp.error.page.nomapping.language=Directive de Page: Pas de correspondance pour language:
-jsp.error.page.bad_b_and_a_combo=Directive de Page: combinaison ill\u00e9gale de buffer=\"none\" && autoFlush=\"false\"
-jsp.error.not.impl.taglib=Internal error: Tag extensions non impl\u00e9ment\u00e9s
-jsp.error.include.missing.file=l''argument fichier (file) pour l''inclusion (include) est absent
+jsp.buffer.size.zero=Taille du tampon <= 0
+jsp.cmd_line.usage=Usage: jsptoservlet [-dd <path/to/outputDirectory>] [-keepgenerated] <.jsp files>
+jsp.engine.info=Moteur Jasper JSP 2.2
+jsp.error.action.isnottagfile=L''action {0} ne peut être utilisée que dans un fichier tag
+jsp.error.action.istagfile=L''action {0} ne peut être utilisée dans un fichier tag
+jsp.error.attempt_to_clear_flushed_buffer=Erreur: Tentative d''effacement d''un tampon qui a déjà été vidangé (flush)
+jsp.error.attr.novalue=L''attribute {0} n''a pas de valeur
+jsp.error.attr.quoted=La valeur de l''attribute doit être entre guillemets
+jsp.error.attribute.custom.non_rt_with_expr=D''après la TLD, l''attribut {0} n''accepte aucune expression
+jsp.error.attribute.noequal=Symbole égal (equal) attendu
+jsp.error.attribute.noquote=Symbole guillemet (quote) attendu
+jsp.error.attribute.unterminated=L''attribut pour {0} n''est pas correctement terminé
+jsp.error.attributes.not.allowed={0} ne doit avoir aucun attribut
+jsp.error.bad.scratch.dir=Le paramêtre "scratchDir" que vous avez spécifié: {0} est inutilisable.
+jsp.error.badGetReader=Impossible de créer un lecteur (reader) quand le flux n''utilse pas des tampons (not buffered)
+jsp.error.badStandardAction=L''action n''est pas reconnue comme une action standard.
+jsp.error.bad_attribute=L''attribut {0} est incorrect pour le tag {1} d''après la TLD indiquée
+jsp.error.bad_string_Character=Impossible d''extraire un caractère depuis un tableau vide
+jsp.error.bad_string_char=Impossible d''extraire un caractère depuis un tableau vide
+jsp.error.bad_tag=Aucun tag {0} dans la librairie de tag importée avec le préfixe {1}
+jsp.error.badtaglib=Impossible d''ouvrir le taglibrary {0} : {1}
+jsp.error.beans.introspection=Une exception s''est produite lors de l''introspection de la méthode read de la propriété ''{0}'' dans le bean de type ''{1}'':\n\
+{2}
+jsp.error.beans.nobeaninfo=Pas d''information bean (BeanInfo) pour le bean de type ''{0}'' n''a pu être trouvée, la classe n''existe probablement pas.
+jsp.error.beans.nomethod=Impossible de trouver une méthode pour lire la propriété ''{0}'' dans le bean de type ''{1}''
+jsp.error.beans.nomethod.setproperty=Impossible de trouver une méthode pour mettre à jour la propriété ''{0}'' de type ''{1}''dans le bean de type ''{2}''
+jsp.error.beans.noproperty==Impossible de trouver de l''information sur la propriété ''{0}'' dans le bean de type ''{1}''
+jsp.error.beans.nullbean=Tentative d''opération bean sur un objet nul.
+jsp.error.beans.setproperty.noindexset=Impossible de renseigner la propriété indéxée
+jsp.error.classname=Impossible de déterminer le nom de classe d''après le fichier .class
+jsp.error.closeindividualparam=Le tag param doit être fermé avec "/>"
+jsp.error.closeparams=Le tag param tag doit être fermé avec  /params
+jsp.error.config_pagedir_encoding_mismatch=L''encode de page (Page-encoding) indiqué dans le jsp-property-group ({0}) est différent de celui indiqué dans la directive de page ({1})
+jsp.error.corresponding.servlet=Erreur de servlet générée:\n
+jsp.error.could.not.add.taglibraries=Impossible d''ajouter une ou plusieurs librairies de tag.
+jsp.error.data.file.write=Erreur lors de l''écriture du fichier de données
+jsp.error.directive.isnottagfile=La directive {0} ne peut être utilisée que dans un fichier tag
+jsp.error.directive.istagfile=La directive {0} ne peut être utilisée dans un fichier tag
+jsp.error.duplicate.name.jspattribute=L''attribut {0} indiqué dans l''action standard ou spécifique (custom) apparait aussi comme valeur de l''attribut de nom dans le jsp:attribute inclus
+jsp.error.dynamic.attributes.not.implemented=Le tag {0} indique qu''il accepte des attributs dynamics mais n''implémente pas l''interface requise
+jsp.error.el_interpreter_class.instantiation=Impossible de charger ou d''instancier la classe ELInterpreter [{0}]
+jsp.error.empty.body.not.allowed=Un corps vide n''est pas autorisé pour {0}
+jsp.error.file.already.registered=Inclusion récursive du fichier {0}
+jsp.error.file.cannot.read=Impossible de lire le fichier: {0}
+jsp.error.file.not.found=Le fichier "{0}" n''a pas été trouvé
+jsp.error.file.not.registered=Le fichier {0} n''apparaît pas dans l''inclusion (include)
+jsp.error.fragmentWithDeclareOrScope=Les attributs 'fragment' et 'declare' ou 'scope' sont indiqués dans la directive variable
+jsp.error.fragmentwithrtexprvalue=On ne peut indiquer à la fois les attributs 'fragment' et 'rtexprvalue'.  Si 'fragment' est présent, 'rtexprvalue' est fixé à 'true'
+jsp.error.fragmentwithtype=On ne peut indiquer à la fois les attributs 'fragment' et 'type'.  Si 'fragment' est présent, 'type' est fixé comme 'javax.servlet.jsp.tagext.JspFragment'
+jsp.error.getproperty.beanNotFound=getProperty: le Bean {0} est introuvable
 jsp.error.include.bad.file=Mauvais argument fichier (file) pour l''inclusion (include)
+jsp.error.include.badflush=jsp:include page="..." flush="true" est la seule combinaison valide dans JSP 1.0
 jsp.error.include.exception=Impossible d''inclure (include) {0}
-jsp.error.stream.closed=Flux ferm\u00e9
-jsp.error.invalid.forward=Tag forward incorrect
-jsp.error.unknownException=Erreur non trait\u00e9e! Vous devriez penser \u00e0 utiliser une page d''erreur \
-pour rapporter ce type d''erreur plus \u00e9l\u00e9gamment
+jsp.error.include.flush.invalid.value=Valeur incorrecte pour l''attribut flush: {0}
+jsp.error.include.missing.file=l''argument fichier (file) pour l''inclusion (include) est absent
+jsp.error.include.noflush=jsp:include doit avoir "flush=true"
+jsp.error.include.tag=Tag jsp:include incorrect
+jsp.error.internal.evaluator_not_found=Erreur interne: Impossible de charger l''évaluateur d''expression
+jsp.error.internal.filenotfound=Erreur interne: Fichier {0} introuvable
+jsp.error.internal.tldinit=Exception lors de l''initialisation de TldLocationsCache: {0}
+jsp.error.internal.unexpected_node_type=Erreur Interne: Type de node inattendu rencontré
+jsp.error.invalid.attribute={0}: Attribut incorrect: {1}
 jsp.error.invalid.directive=Directive incorrecte
-jsp.error.directive.istagfile=La directive {0} ne peut \u00eatre utilis\u00e9e dans un fichier tag
-jsp.error.directive.isnottagfile=La directive {0} ne peut \u00eatre utilis\u00e9e que dans un fichier tag
-jsp.error.tagfile.tld.name=L''attribut \"name\" de la directive tag contient la valeur {0} alors que le tag \"name\" de l''\u00e9l\u00e9ment \"tag-file\" dans le TLD est {1}
-jsp.error.action.istagfile=L''action {0} ne peut \u00eatre utilis\u00e9e dans un fichier tag
-jsp.error.action.isnottagfile=L''action {0} ne peut \u00eatre utilis\u00e9e que dans un fichier tag
-jsp.error.unterminated=Tag {0} non termin\u00e9
-jsp.error.usebean.notinsamefile=le tag useBean doit commencer et finir dans le m\u00eame fichier physique
+jsp.error.invalid.expression="{0}" contient d''incorrecte(s) expression(s): {1}
+jsp.error.invalid.forward=Tag forward incorrect
+jsp.error.invalid.javaEncoding=Encodage java incorrect. Essai de {0} puis de {1}. Les deux ont échoué.
+jsp.error.invalid.tagdir=Le répertoire du fichier Tag {0} ne commence pas par "/WEB-INF/tags"
+jsp.error.ise_on_clear=Il est interdit d''utiliser clear() quand la taille de tampon== 0
+jsp.error.jspbody.emptybody.only=Le tag {0} ne peut avoir que jsp:attribute dans son corps.
+jsp.error.jspbody.required=Doit utiliser jsp:body pour indiqué le corps de tag body de {0} si jsp:attribute est utilisé.
+jsp.error.jspc.uriroot_not_dir=L''option -uriroot doit indiqué un répertoire déjà existant
+jsp.error.jspelement.missing.name=L''attribut obligatoire 'name' est absent de jsp:element
+jsp.error.library.invalid=La page JSP page est incorrecte d''après la librairie {0}: {1}
 jsp.error.loadclass.taghandler=Impossible de charger la classe {0}
-jsp.error.unable.compile=Impossible de compiler la classe pour la JSP
-jsp.error.unable.load=Impossible de charger la classe pour la JSP
-jsp.error.unable.rename=Impossible de renommer le fichier classe de {0} vers {1}
 jsp.error.mandatory.attribute={0}: L''attribut obligatoire {1} est manquant
-jsp.engine.info=Moteur Jasper JSP 2.2
-jsp.error.invalid.expression="{0}" contient d''incorrecte(s) expression(s): {1}
-jsp.error.invalid.attribute={0}: Attribut incorrect: {1}
-jsp.error.usebean.class.notfound=Classe: {0} non trouv\u00e9e
-jsp.error.file.cannot.read=Impossible de lire le fichier: {0}
-jsp.error.file.already.registered=Inclusion r\u00e9cursive du fichier {0}
-jsp.error.file.not.registered=Le fichier {0} n''appara\u00eet pas dans l''inclusion (include)
-jsp.error.quotes.unterminated=guillemets non termin\u00e9s
-jsp.error.attr.quoted=La valeur de l''attribute doit \u00eatre entre guillemets
-jsp.error.attr.novalue=L''attribute {0} n''a pas de valeur
-jsp.error.tag.attr.unterminated=Liste de tag d''attribut non termin\u00e9e
+jsp.error.missing.tagInfo=L''objet TagInfo de {0} est absent de la TLD
+jsp.error.missing_attribute=D''après le TLD l''attribut {0} est obligatoire pour le tag {1}
+jsp.error.more.than.one.taglib=plus d''un taglib dans le TLD: {0}
+jsp.error.multiple.line.number=\n\
+\n\
+Une erreur s''est produite entre les lignes: {0} et {1} dans le fichier jsp: {2}\n\
+\n
+jsp.error.needAlternateJavaEncoding=L''encodage java par défaut {0} est incorrect sur votre environnement java. Une alternative peut être indiquée via le paramêtre ''javaEncoding'' de la JspServlet.
+jsp.error.no.more.content=Fin de contenu alors que l''évalution n''était pas terminée: erreur de tags imbriqués?
+jsp.error.no.scratch.dir=Le moteur de JSP engine n''est pas configuré avec un répertoire de travail.\n\
+\ Merci d''ajouter "jsp.initparams=scratchdir=<dir-name>" \n\
+\ dans le fichier "servlets.properties" de ce contexte.
+jsp.error.no.scriptlets=Les éléments de Scripting ( <%!, <jsp:declaration, <%=, <jsp:expression, <%, <jsp:scriptlet ) ne sont pas autorisés ici.
+jsp.error.nomatching.fragment=Ne peut trouver une directive attribut (avec pour nom={0} et fragment=true) avant la directive fragment.
+jsp.error.non_null_tei_and_var_subelems=Le tag {0} possède une ou plusieurs variables subelements et une classe TagExtraInfo qui retourne une ou plusieurs VariableInfo
+jsp.error.not.impl.comments=Erreur interne: Commentaires non implémentés
+jsp.error.not.impl.declarations=Erreur interne: Declarations non implémentées
+jsp.error.not.impl.directives=Erreur interne: Directives non implémentées
+jsp.error.not.impl.expressions=Erreur interne: Expressions non implémentées
+jsp.error.not.impl.forward=Erreur interne: forward non implémenté
+jsp.error.not.impl.getp=Erreur interne: getProperty non implémenté
+jsp.error.not.impl.include=Erreur interne: include non implémenté
+jsp.error.not.impl.plugin=Erreur interne: plugin non implémenté
+jsp.error.not.impl.scriptlets=Erreur interne: Scriptlets non implémentés
+jsp.error.not.impl.setp=Erreur interne: setProperty non implémenté
+jsp.error.not.impl.taglib=Internal error: Tag extensions non implémentés
+jsp.error.not.impl.usebean=Erreur interne: useBean non implémenté
+jsp.error.not.in.template={0} n''est pas autorisé dans le corps de texte de template.
+jsp.error.overflow=Erreur: Dépassement de capacité du tampon JSP
+jsp.error.page.bad_b_and_a_combo=Directive de Page: combinaison illégale de buffer="none" && autoFlush="false"
+jsp.error.page.defafteruse.language=Directive de Page: on ne peut définir language après un scriptlet
+jsp.error.page.invalid.autoflush=Directive de Page: valeur incorrecte pour autoFlush
+jsp.error.page.invalid.buffer=Directive de Page: valeur incorrecte pour "buffer"
+jsp.error.page.invalid.contenttype=Directive de Page: valeur incorrecte pour contentType
+jsp.error.page.invalid.info=Directive de Page: valeur incorrecte pour info
+jsp.error.page.invalid.iserrorpage=Directive de Page: valeur incorrecte pour isErrorPage
+jsp.error.page.invalid.isthreadsafe=Directive de Page: valeur incorrecte pour isThreadSafe
+jsp.error.page.invalid.session=Directive de Page: valeur incorrecte pour session
+jsp.error.page.nomapping.language=Directive de Page: Pas de correspondance pour language:
 jsp.error.param.noname=Pas de nom dans le tag PARAM
 jsp.error.param.novalue=Pas de valeur dans le tag PARAM
-jsp.error.beans.nullbean=Tentative d''op\u00e9ration bean sur un objet nul.
-jsp.error.beans.nobeaninfo=Pas d''information bean (BeanInfo) pour le bean de type ''{0}'' n''a pu \u00eatre trouv\u00e9e, la classe n''existe probablement pas.
-jsp.error.beans.introspection=Une exception s''est produite lors de l''introspection de la m\u00e9thode read de la propri\u00e9t\u00e9 ''{0}'' dans le bean de type ''{1}'':\n{2}
-jsp.error.beans.nomethod=Impossible de trouver une m\u00e9thode pour lire la propri\u00e9t\u00e9 ''{0}'' dans le bean de type ''{1}''
-jsp.error.beans.nomethod.setproperty=Impossible de trouver une m\u00e9thode pour mettre \u00e0 jour la propri\u00e9t\u00e9 ''{0}'' de type ''{1}''dans le bean de type ''{2}''
-jsp.error.beans.noproperty==Impossible de trouver de l''information sur la propri\u00e9t\u00e9 ''{0}'' dans le bean de type ''{1}''
-jsp.error.beans.setproperty.noindexset=Impossible de renseigner la propri\u00e9t\u00e9 ind\u00e9x\u00e9e
-jsp.error.include.tag=Tag jsp:include incorrect
-jsp.error.include.noflush=jsp:include doit avoir \"flush=true\"
-jsp.error.include.badflush=jsp:include page=\"...\" flush=\"true\" est la seule combinaison valide dans JSP 1.0
-jsp.error.attempt_to_clear_flushed_buffer=Erreur: Tentative d''effacement d''un tampon qui a d\u00e9j\u00e0 \u00e9t\u00e9 vidang\u00e9 (flush)
-jsp.error.overflow=Erreur: D\u00e9passement de capacit\u00e9 du tampon JSP
-jsp.error.paramexpected=Le tag \"param\" est attendu avec les attributs \"name\" et \"value\" apr\u00e8s le tag \"params\".
-jsp.error.closeindividualparam=Le tag param doit \u00eatre ferm\u00e9 avec \"/>\"
-jsp.error.closeparams=Le tag param tag doit \u00eatre ferm\u00e9 avec  /params
-jsp.error.plugin.notype=type non d\u00e9clar\u00e9 dans jsp:plugin
-jsp.error.plugin.nocode=code non d\u00e9clar\u00e9 dans jsp:plugin
-jsp.error.ise_on_clear=Il est interdit d''utiliser clear() quand la taille de tampon== 0
-jsp.error.setproperty.beanNotFound=setProperty: le Bean {0} est introuvable
-jsp.error.getproperty.beanNotFound=getProperty: le Bean {0} est introuvable
+jsp.error.paramexpected=Le tag "param" est attendu avec les attributs "name" et "value" après le tag "params".
+jsp.error.parse.error.in.TLD=Erreur d''évaluation (parse) dans le descripteur de librairie de tag (TLD): {0}
+jsp.error.parse.xml=Erreur d''évaluation XML sur le fichier {0}
+jsp.error.parse.xml.invalidPublicId=PUBLIC ID invalide: {0}
+jsp.error.parse.xml.line=Erreur d''évaluation XML sur le fichier  {0}: (ligne {1}, col {2})
+jsp.error.parse.xml.scripting.invalid.body=Le corps de l''élément {0} ne doit contenir aucun éléments XML
+jsp.error.plugin.nocode=code non déclaré dans jsp:plugin
+jsp.error.plugin.notype=type non déclaré dans jsp:plugin
+jsp.error.quotes.unterminated=guillemets non terminés
+jsp.error.scripting.variable.missing_name=Incapable de déterminer le nom de variable scripting d''après l''attribut {0}
 jsp.error.setproperty.ClassNotFound=setProperty: la Classe {0} est introuvable
-jsp.error.setproperty.invalidSyntax=setProperty: On ne peut avoir de valeur non nulle quand property=*
+jsp.error.setproperty.arrayVal=setProperty: on ne peut renseigner les array property {0} au travers d''une valeur chaîne constante (string constant value)
 jsp.error.setproperty.beanInfoNotFound=setproperty: beanInfo pour le bean {0} est introuvable
-jsp.error.setproperty.paramOrValue=setProperty: param ou value doit \u00eatre pr\u00e9sent
-jsp.error.setproperty.arrayVal=setProperty: on ne peut renseigner les array property {0} au travers d''une valeur cha\u00eene constante (string constant value)
-jsp.warning.keepgen=Attention: Valeur incorrecte pour le initParam keepgenerated. Utilisation de la valeur par d\u00e9faut \"false\"
-jsp.warning.enablePooling=Attention: Valeur incorrecte pour le initParam enablePooling. Utilisation de la valeur par d\u00e9faut \"true\"
-jsp.warning.mappedFile=Attention: Valeur incorrecte pour le initParam mappedFile. Utilisation de la valeur par d\u00e9faut \"false\"
-jsp.warning.classDebugInfo=Attention: Valeur incorrecte pour le initParam classdebuginfo. Utilisation de la valeur par d\u00e9faut \"false\"
-jsp.warning.checkInterval=Attention: Valeur incorrecte pour le initParam checkInterval. Utilisation de la valeur par d\u00e9faut \"300\" secondes
-jsp.warning.development=Attention: Valeur incorrecte pour le initParam development. Utilisation de la valeur par d\u00e9faut \"true\"
-jsp.warning.reloading=Attention: Valeur incorrecte pour le initParam reloading. Utilisation de la valeur par d\u00e9faut \"true\"
-jsp.error.badtaglib=Impossible d''ouvrir le taglibrary {0} : {1}
-jsp.error.badGetReader=Impossible de cr\u00e9er un lecteur (reader) quand le flux n''utilse pas des tampons (not buffered)
-jsp.warning.unknown.element.in.tag=Attention: El\u00e9ment inconnu {0} dans le tag
-jsp.warning.unknown.element.in.tagfile=Attention: El\u00e9ment inconnu {0} dans le tag-file
-jsp.warning.unknown.element.in.attribute=Attention: El\u00e9ment inconnu {0} dans l''attribute
-jsp.error.more.than.one.taglib=plus d''un taglib dans le TLD: {0}
+jsp.error.setproperty.beanNotFound=setProperty: le Bean {0} est introuvable
+jsp.error.setproperty.invalidSyntax=setProperty: On ne peut avoir de valeur non nulle quand property=*
+jsp.error.setproperty.paramOrValue=setProperty: param ou value doit être présent
+jsp.error.single.line.number=Une erreur s''est produite à la ligne: {0} dans le fichier jsp: {1}
+jsp.error.stream.closed=Flux fermé
+jsp.error.tag.attr.unterminated=Liste de tag d''attribut non terminée
+jsp.error.tagdirective.badbodycontent=Contenu de corps (body-content) ({0}) invalide dans la directive tag
+jsp.error.tagfile.tld.name=L''attribut "name" de la directive tag contient la valeur {0} alors que le tag "name" de l''élément "tag-file" dans le TLD est {1}
+jsp.error.taglib.reserved.prefix=Le préfixe taglib {0} est réservé
+jsp.error.taglibDirective.absUriCannotBeResolved=L''uri absolue: {0} ne peut être résolu dans le fichier web.xml ou dans les fichiers jar déployés avec cette application
+jsp.error.taglibDirective.missing.location=Ni l''uri' ni l''attribut 'tagdir' n''ont été indiqués dans la directive taglib
+jsp.error.tei.invalid.attributes=Message d''erreurs de validation provenant du TagExtraInfo pour {0}
 jsp.error.teiclass.instantiation=Impossible de charger ou d''instancier la classe TagExtraInfo: {0}
-jsp.error.non_null_tei_and_var_subelems=Le tag {0} poss\u00e8de une ou plusieurs variables subelements et une classe TagExtraInfo qui retourne une ou plusieurs VariableInfo
-jsp.error.parse.error.in.TLD=Erreur d''\u00e9valuation (parse) dans le descripteur de librairie de tag (TLD): {0}
+jsp.error.tld.fn.invalid.signature=Synthaxe invalide pour la signature de fonction dans la TLD.  Librairie de Tag : {0}, Fonction: {1}
+jsp.error.tld.fn.invalid.signature.commaexpected=Synthaxe invalide pour la signature de fonction dans la TLD.  Virgule '','' attendue.  Librairie de Tag: {0}, Fonction: {1}.
+jsp.error.tldInWebDotXmlNotFound=Ne peut trouver le TLD {1} pour l''URI {0} indiquée dans le fichier web.xml
+jsp.error.tlv.invalid.page=Message d''erreurs de validation provenant du TagLibraryValidator pour {0} en {1}
+jsp.error.tlvclass.instantiation=Impossible de charger ou d''instancier la classe TagLibraryValidator: {0}
+jsp.error.unable.compile=Impossible de compiler la classe pour la JSP
+jsp.error.unable.load=Impossible de charger la classe pour la JSP
+jsp.error.unable.rename=Impossible de renommer le fichier classe de {0} vers {1}
 jsp.error.unable.to.open.TLD=Impossible d''ouvrir le descripteur de librairie de tag (TLD): {0}
-jsp.buffer.size.zero=Taille du tampon <= 0
-jsp.error.file.not.found=Le fichier \"{0}\" n''a pas \u00e9t\u00e9 trouv\u00e9
-jsp.message.copyinguri=Copie de {0} dans {1}
-jsp.message.htmlcomment=\nEffacement des commentaires: \t{0}
-jsp.message.handling_directive=\nDirective de gestion (handling): {0}\t{1}
-jsp.message.handling_plugin=\nPlugin: {0}
-jsp.message.package_name_is=Le nom de package est: {0}
-jsp.message.class_name_is=Le nom de classe est: {0}
-jsp.message.java_file_name_is=Le nom de fichier Java est: {0}
+jsp.error.unable.to_convert_string=Impossible de convertir une chaîne vers {0} pour l''attribut {1}
+jsp.error.unable.to_find_method=Impossible de trouver une méthode de mise à jour pour l''attribut: {0}
+jsp.error.unable.to_introspect=Impossible d''introspecter la classe gestionnaire de tag : {0} car {1}
+jsp.error.unable.to_load_taghandler_class=Impossible de charger la classe gestionnaire de tag {0} car {1}
+jsp.error.unavailable=La JSP a été marquée comme non disponible
+jsp.error.unknownException=Erreur non traitée! Vous devriez penser à utiliser une page d''erreur pour rapporter ce type d''erreur plus élégamment
+jsp.error.unknown_attribute_type=Type d''attribut inconnu ({1}) pour l''attribut {0}.
+jsp.error.unsupported.encoding=Encodage non supporté: {0}
+jsp.error.unterminated=Tag {0} non terminé
+jsp.error.unterminated.user.tag=Tag user-defined non terminé: Le tag de fermeture {0} est introuvable found ou incorrectement imbriqué
+jsp.error.usebean.bad.type.cast=useBean ({0}): Le type ({1}) n''est pas assignable depuis la classe ({2})
+jsp.error.usebean.class.notfound=Classe: {0} non trouvée
+jsp.error.usebean.duplicate=useBean: Nom de bean dupliqué: {0}
+jsp.error.usebean.missing.attribute=useBean: l''identificateur d''attribut (id attribute) est manquant ou mal orthographié
+jsp.error.usebean.missing.type=useBean ({0}): La classe ou le type d''attribut doit êtrespécifié:
+jsp.error.usebean.noSession=Il est illégal pour useBean d''utiliser une portée de session (session scope) quand la page JSP indique (via la directive de page) qu''elle ne participe pas aux sessions
+jsp.error.usebean.not.both=useBean: Impossible de spécifier à la fois la classe et l''attribut beanName:
+jsp.error.usebean.notinsamefile=le tag useBean doit commencer et finir dans le même fichier physique
+jsp.error.usebean.prohibited.as.session=Impossible d''utiliser comme bean de session {0} car c''est interditpar la directive jsp définie précédemment:
+jsp.error.var_and_varReader=A la fois 'var' et 'varReader' sont indiqués
+jsp.error.webxml_not_found=Impossible de localiser le fichier web.xml
+jsp.error.xmlns.redefinition.notimplemented=Erreur Interne: Tentative de redéfinition de xmlns:{0}.  La redéfinition des domaines de noms (namespaces) n''est pas implémentée.
+jsp.message.accepted=Accepté {0} à {1}
+jsp.message.adding_jar=Ajout du jar {0} à mon classpath
 jsp.message.class_file_name_is=Le nom de fichier Class est: {0}
-jsp.message.accepted=Accept\u00e9 {0} \u00e0 {1}
-jsp.message.adding_jar=Ajout du jar {0} \u00e0 mon classpath
+jsp.message.class_name_is=Le nom de classe est: {0}
 jsp.message.compiling_with=Compilation avec: {0}
-jsp.message.template_text=texte template
-jsp.error.missing_attribute=D''apr\u00e8s le TLD l''attribut {0} est obligatoire pour le tag {1}
-jsp.error.bad_attribute=L''attribut {0} est incorrect pour le tag {1} d''apr\u00e8s la TLD indiqu\u00e9e
-jsp.error.webxml_not_found=Impossible de localiser le fichier web.xml
-jsp.cmd_line.usage=Usage: jsptoservlet [-dd <path/to/outputDirectory>] [-keepgenerated] \
-<.jsp files>
+jsp.message.copyinguri=Copie de {0} dans {1}
 jsp.message.cp_is=Le Classpath {0} est: {1}
-jsp.error.unable.to_load_taghandler_class=Impossible de charger la classe gestionnaire de tag {0} car {1}
-jsp.error.unable.to_find_method=Impossible de trouver une m\u00e9thode de mise \u00e0 jour pour l''attribut: {0}
-jsp.error.unable.to_convert_string=Impossible de convertir une cha\u00eene vers {0} pour l''attribut {1}
-jsp.error.unable.to_introspect=Impossible d''introspecter la classe gestionnaire de tag : {0} car {1}
-jsp.error.bad_tag=Aucun tag {0} dans la librairie de tag import\u00e9e avec le pr\u00e9fixe {1}
-jsp.error.bad_string_Character=Impossible d''extraire un caract\u00e8re depuis un tableau vide
-jsp.error.bad_string_char=Impossible d''extraire un caract\u00e8re depuis un tableau vide
-jsp.warning.compiler.class.cantcreate=Impossible de cr\u00e9er une instance de classe plugin pour le compilateur indiqu\u00e9 {0} due to {1}. Utilisation par d\u00e9faut du Compilateur Java Sun.
-jsp.warning.compiler.class.notfound=La classe plugin de compilateur {0} est introuvable. Utilisation par d\u00e9faut du Compilateur Java Sun.
-jsp.warning.compiler.path.notfound=le chemin de compilateur indiqu\u00e9 {0} est introuvable. Utilisation par d\u00e9faut du chemin syst\u00e8me (system PATH).
-jsp.error.jspc.uriroot_not_dir=L''option -uriroot doit indiqu\u00e9 un r\u00e9pertoire d\u00e9j\u00e0 existant
-jspc.implicit.uriRoot=uriRoot r\u00e9gl\u00e9 implicitement \u00e0 "{0}"
+jsp.message.dont.modify.servlets=IMPORTANT: Ne pas modifier les servlets générées
+jsp.message.handling_directive=\n\
+Directive de gestion (handling): {0} {1}
+jsp.message.handling_plugin=\n\
+Plugin: {0}
+jsp.message.htmlcomment=\n\
+Effacement des commentaires: {0}
+jsp.message.java_file_name_is=Le nom de fichier Java est: {0}
+jsp.message.package_name_is=Le nom de package est: {0}
+jsp.message.parent_class_loader_is=Le chargeur de classe parent (class loader) est: {0}
+jsp.message.scratch.dir.is=Le répertoire de travail (scratch dir) pour le moteur de JSP est: {0}
+jsp.message.template_text=texte template
+jsp.parser.sax.featurenotrecognized=Fonctionnalité SAX non reconnue: {0}
+jsp.parser.sax.featurenotsupported=Fonctionnalité SAX non supportée: {0}
+jsp.parser.sax.propertynotrecognized=Propriété SAX non reconnue: {0}
+jsp.parser.sax.propertynotsupported=Propriété SAX non supportée: {0}
+jsp.warning.bad.type=Attention: mauvais type dans le fichier .class
+jsp.warning.bad.urlpattern.propertygroup=Mauvaise valeur {0} dans le sous-élément (subelement) url-pattern du fichier web.xml
+jsp.warning.checkInterval=Attention: Valeur incorrecte pour le initParam checkInterval. Utilisation de la valeur par défaut "300" secondes
+jsp.warning.classDebugInfo=Attention: Valeur incorrecte pour le initParam classdebuginfo. Utilisation de la valeur par défaut "false"
+jsp.warning.compiler.class.cantcreate=Impossible de créer une instance de classe plugin pour le compilateur indiqué {0} due to {1}. Utilisation par défaut du Compilateur Java Sun.
+jsp.warning.compiler.class.notfound=La classe plugin de compilateur {0} est introuvable. Utilisation par défaut du Compilateur Java Sun.
+jsp.warning.compiler.path.notfound=le chemin de compilateur indiqué {0} est introuvable. Utilisation par défaut du chemin système (system PATH).
+jsp.warning.development=Attention: Valeur incorrecte pour le initParam development. Utilisation de la valeur par défaut "true"
+jsp.warning.enablePooling=Attention: Valeur incorrecte pour le initParam enablePooling. Utilisation de la valeur par défaut "true"
+jsp.warning.keepgen=Attention: Valeur incorrecte pour le initParam keepgenerated. Utilisation de la valeur par défaut "false"
+jsp.warning.mappedFile=Attention: Valeur incorrecte pour le initParam mappedFile. Utilisation de la valeur par défaut "false"
+jsp.warning.reloading=Attention: Valeur incorrecte pour le initParam reloading. Utilisation de la valeur par défaut "true"
+jsp.warning.unknown.element.in.attribute=Attention: Elément inconnu {0} dans l''attribute
+jsp.warning.unknown.element.in.tag=Attention: Elément inconnu {0} dans le tag
+jsp.warning.unknown.element.in.tagfile=Attention: Elément inconnu {0} dans le tag-file
+jsp.warning.unknown.element.in.variable=Attention: Element inconnu {0} dans la variable
+
+jspc.error.emptyWebApp=-webapp nécessite à sa suite un argument fichier
+jspc.error.fileDoesNotExist=L''argument fichier ''{0}'' n''existe pas
+jspc.error.generalException=ERREUR-le fichier ''{0}'' a généré l''exception générale suivante:
... 2512 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org