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:10:21 UTC

[tomcat] branch 8.5.x updated (1174ecc -> f45d77d)

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

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


    from 1174ecc  Clear waitFor earlier. Avoid multiple stream.notify() calls and timeouts
     new b9540c8  Increment version numbers for next dev cycle
     new aad1974  Switch i18n files to UTF-8. Convert to ASCII at build time.
     new f45d77d  Simplify code using varargs

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 build.properties.default                           |   2 +-
 build.xml                                          |  16 +
 java/javax/el/LocalStrings.properties              |  20 +-
 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 |   8 +-
 .../authenticator/LocalStrings_es.properties       |  39 +-
 .../authenticator/LocalStrings_fr.properties       |   9 +-
 .../authenticator/LocalStrings_ja.properties       |  13 +-
 .../authenticator/jaspic/LocalStrings.properties   |   6 +-
 .../catalina/connector/LocalStrings.properties     |  35 +-
 .../catalina/connector/LocalStrings_es.properties  |  87 ++-
 .../catalina/connector/LocalStrings_fr.properties  |  49 +-
 .../catalina/connector/LocalStrings_ja.properties  |  49 +-
 .../apache/catalina/core/LocalStrings.properties   | 101 +--
 .../catalina/core/LocalStrings_es.properties       | 307 ++++-----
 .../catalina/core/LocalStrings_fr.properties       | 110 ++--
 .../catalina/core/LocalStrings_ja.properties       | 158 ++---
 .../catalina/filters/LocalStrings.properties       |  42 +-
 .../catalina/filters/LocalStrings_es.properties    |  40 +-
 .../catalina/filters/LocalStrings_fr.properties    |   2 +-
 .../ha/authenticator/LocalStrings.properties       |   2 +-
 .../catalina/ha/context/LocalStrings.properties    |   2 +-
 .../catalina/ha/deploy/LocalStrings.properties     |  20 +-
 .../catalina/ha/session/LocalStrings.properties    |  40 +-
 .../catalina/ha/session/LocalStrings_es.properties | 118 ++--
 .../apache/catalina/ha/tcp/LocalStrings.properties |  13 +-
 .../catalina/ha/tcp/LocalStrings_es.properties     |  30 +-
 .../apache/catalina/loader/LocalStrings.properties |  46 +-
 .../catalina/loader/LocalStrings_es.properties     |  59 +-
 .../catalina/loader/LocalStrings_fr.properties     |  13 +-
 .../catalina/loader/LocalStrings_ja.properties     |  14 +-
 .../catalina/manager/LocalStrings.properties       |  15 +-
 .../catalina/manager/LocalStrings_de.properties    |  33 +-
 .../catalina/manager/LocalStrings_es.properties    | 187 +++---
 .../catalina/manager/LocalStrings_fr.properties    |  72 +--
 .../catalina/manager/LocalStrings_ja.properties    | 129 ++--
 .../catalina/manager/LocalStrings_ru.properties    | 305 +++++----
 .../catalina/manager/host/LocalStrings.properties  |   8 +-
 .../manager/host/LocalStrings_es.properties        | 132 ++--
 .../manager/host/LocalStrings_ru.properties        | 134 ++--
 .../apache/catalina/mapper/LocalStrings.properties |  16 +-
 .../apache/catalina/mbeans/LocalStrings.properties |   2 +-
 .../catalina/mbeans/LocalStrings_fr.properties     |  10 +-
 .../apache/catalina/realm/LocalStrings.properties  |  84 +--
 .../catalina/realm/LocalStrings_es.properties      | 131 ++--
 .../catalina/realm/LocalStrings_fr.properties      |  60 +-
 .../catalina/realm/LocalStrings_ja.properties      |  73 +--
 .../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      |  10 +-
 .../catalina/servlets/LocalStrings_es.properties   |  21 +-
 .../catalina/servlets/LocalStrings_fr.properties   |   8 +-
 .../catalina/servlets/LocalStrings_ja.properties   |  13 +-
 .../catalina/session/LocalStrings.properties       |  65 +-
 .../catalina/session/LocalStrings_es.properties    |  93 +--
 .../catalina/session/LocalStrings_fr.properties    |  77 +--
 .../catalina/session/LocalStrings_ja.properties    |  93 +--
 .../catalina/startup/LocalStrings.properties       |  59 +-
 .../catalina/startup/LocalStrings_es.properties    | 170 ++---
 .../catalina/startup/LocalStrings_fr.properties    |  54 +-
 .../catalina/startup/LocalStrings_ja.properties    |  82 +--
 .../catalina/storeconfig/LocalStrings.properties   |   8 +-
 .../catalina/tribes/group/LocalStrings.properties  |  10 +-
 .../group/interceptors/LocalStrings.properties     |  63 +-
 .../catalina/tribes/io/LocalStrings.properties     |   9 +-
 .../catalina/tribes/jmx/LocalStrings.properties    |   4 +-
 .../tribes/membership/LocalStrings.properties      |  50 +-
 .../catalina/tribes/tipis/LocalStrings.properties  |  53 +-
 .../tribes/transport/LocalStrings.properties       |   8 +-
 .../tribes/transport/LocalStrings_es.properties    |  19 +-
 .../tribes/transport/bio/LocalStrings.properties   |  31 +-
 .../tribes/transport/nio/LocalStrings.properties   |  32 +-
 .../catalina/tribes/util/LocalStrings.properties   |   8 +-
 .../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   |  21 +-
 .../catalina/util/LocalStrings_es.properties       |  26 +-
 .../catalina/util/LocalStrings_fr.properties       |  20 +-
 .../catalina/util/LocalStrings_ja.properties       |  26 +-
 .../apache/catalina/valves/LocalStrings.properties | 143 ++---
 .../catalina/valves/LocalStrings_es.properties     |  98 +--
 .../catalina/valves/LocalStrings_fr.properties     |  72 +--
 .../catalina/valves/LocalStrings_ja.properties     |  22 +-
 .../catalina/webresources/LocalStrings.properties  |   5 +-
 java/org/apache/coyote/LocalStrings.properties     |  17 +-
 java/org/apache/coyote/LocalStrings_es.properties  |   4 +-
 java/org/apache/coyote/ajp/LocalStrings.properties |  26 +-
 .../apache/coyote/ajp/LocalStrings_es.properties   |  22 +-
 .../apache/coyote/http11/LocalStrings.properties   |  15 +-
 .../coyote/http11/LocalStrings_es.properties       |  23 +-
 .../coyote/http11/LocalStrings_fr.properties       |   4 +-
 .../coyote/http11/LocalStrings_ja.properties       |   4 +-
 .../coyote/http11/filters/LocalStrings.properties  |   4 +-
 .../coyote/http11/upgrade/LocalStrings.properties  |  21 +-
 .../apache/coyote/http2/LocalStrings.properties    |  30 +-
 java/org/apache/jasper/compiler/Localizer.java     |  96 +--
 .../jasper/resources/LocalStrings.properties       | 638 +++++++++----------
 .../jasper/resources/LocalStrings_es.properties    | 696 ++++++++++-----------
 .../jasper/resources/LocalStrings_fr.properties    | 334 +++++-----
 .../jasper/resources/LocalStrings_ja.properties    | 565 +++++++++--------
 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 +-
 .../org/apache/tomcat/util/LocalStrings.properties |   1 -
 .../apache/tomcat/util/buf/LocalStrings.properties |  10 +-
 .../tomcat/util/buf/LocalStrings_es.properties     |   2 +-
 .../tomcat/util/compat/LocalStrings.properties     |   4 +-
 .../util/descriptor/LocalStrings_es.properties     |   4 +-
 .../util/descriptor/tld/LocalStrings.properties    |   2 +-
 .../util/descriptor/web/LocalStrings.properties    |  12 +-
 .../util/descriptor/web/LocalStrings_es.properties |  10 +-
 .../tomcat/util/digester/LocalStrings.properties   |   3 +-
 .../tomcat/util/file/LocalStrings.properties       |   2 +-
 .../tomcat/util/http/LocalStrings.properties       |  25 +-
 .../util/http/parser/LocalStrings.properties       |   3 +-
 .../tomcat/util/http/res/LocalStrings.properties   |   8 +-
 .../util/http/res/LocalStrings_es.properties       |  94 ++-
 .../util/http/res/LocalStrings_fr.properties       |  52 +-
 .../apache/tomcat/util/net/LocalStrings.properties | 170 +++--
 .../tomcat/util/net/LocalStrings_es.properties     |  49 +-
 .../tomcat/util/net/jsse/LocalStrings.properties   |  19 +-
 .../util/net/jsse/LocalStrings_es.properties       |   6 +-
 .../util/net/jsse/LocalStrings_fr.properties       |   2 +-
 .../util/net/jsse/LocalStrings_ja.properties       |   3 +-
 .../util/net/openssl/LocalStrings.properties       |  74 +--
 .../tomcat/util/scan/LocalStrings.properties       |   8 +-
 .../util/threads/res/LocalStrings_es.properties    |   2 +-
 .../tomcat/websocket/LocalStrings.properties       |  35 +-
 .../tomcat/websocket/pojo/LocalStrings.properties  |   7 +-
 .../websocket/server/LocalStrings.properties       |   2 +-
 res/maven/mvn.properties.default                   |   2 +-
 webapps/docs/changelog.xml                         |  12 +-
 .../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 +-
 151 files changed, 3968 insertions(+), 3970 deletions(-)


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


[tomcat] 03/03: Simplify code using varargs

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit f45d77d1c83b2ff0badcee9b691342f4015337a2
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Jun 5 10:42:11 2019 +0100

    Simplify code using varargs
---
 java/org/apache/jasper/compiler/Localizer.java | 96 +++-----------------------
 1 file changed, 10 insertions(+), 86 deletions(-)

diff --git a/java/org/apache/jasper/compiler/Localizer.java b/java/org/apache/jasper/compiler/Localizer.java
index 8fed5f2..e22803a 100644
--- a/java/org/apache/jasper/compiler/Localizer.java
+++ b/java/org/apache/jasper/compiler/Localizer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.jasper.compiler;
 
 import java.text.MessageFormat;
@@ -35,11 +34,9 @@ public class Localizer {
 
     static {
         try {
-            bundle = ResourceBundle.getBundle(
-                    "org.apache.jasper.resources.LocalStrings");
+            bundle = ResourceBundle.getBundle("org.apache.jasper.resources.LocalStrings");
         } catch (Throwable t) {
             ExceptionUtils.handleThrowable(t);
-            t.printStackTrace();
         }
     }
 
@@ -57,7 +54,9 @@ public class Localizer {
     public static String getMessage(String errCode) {
         String errMsg = errCode;
         try {
-            errMsg = bundle.getString(errCode);
+            if (bundle != null) {
+                errMsg = bundle.getString(errCode);
+            }
         } catch (MissingResourceException e) {
         }
         return errMsg;
@@ -71,91 +70,16 @@ public class Localizer {
      * localized error messages, it is used as the error message.
      *
      * @param errCode Error code to localize
-     * @param arg Argument for parametric replacement
-     *
-     * @return Localized error message
-     */
-    public static String getMessage(String errCode, String arg) {
-        return getMessage(errCode, new Object[] {arg});
-    }
-
-    /*
-     * Returns the localized error message corresponding to the given error
-     * code.
-     *
-     * If the given error code is not defined in the resource bundle for
-     * localized error messages, it is used as the error message.
-     *
-     * @param errCode Error code to localize
-     * @param arg1 First argument for parametric replacement
-     * @param arg2 Second argument for parametric replacement
-     *
-     * @return Localized error message
-     */
-    public static String getMessage(String errCode, String arg1, String arg2) {
-        return getMessage(errCode, new Object[] {arg1, arg2});
-    }
-
-    /*
-     * Returns the localized error message corresponding to the given error
-     * code.
-     *
-     * If the given error code is not defined in the resource bundle for
-     * localized error messages, it is used as the error message.
-     *
-     * @param errCode Error code to localize
-     * @param arg1 First argument for parametric replacement
-     * @param arg2 Second argument for parametric replacement
-     * @param arg3 Third argument for parametric replacement
-     *
-     * @return Localized error message
-     */
-    public static String getMessage(String errCode, String arg1, String arg2,
-                                    String arg3) {
-        return getMessage(errCode, new Object[] {arg1, arg2, arg3});
-    }
-
-    /*
-     * Returns the localized error message corresponding to the given error
-     * code.
-     *
-     * If the given error code is not defined in the resource bundle for
-     * localized error messages, it is used as the error message.
-     *
-     * @param errCode Error code to localize
-     * @param arg1 First argument for parametric replacement
-     * @param arg2 Second argument for parametric replacement
-     * @param arg3 Third argument for parametric replacement
-     * @param arg4 Fourth argument for parametric replacement
-     *
-     * @return Localized error message
-     */
-    public static String getMessage(String errCode, String arg1, String arg2,
-                                    String arg3, String arg4) {
-        return getMessage(errCode, new Object[] {arg1, arg2, arg3, arg4});
-    }
-
-    /*
-     * Returns the localized error message corresponding to the given error
-     * code.
-     *
-     * If the given error code is not defined in the resource bundle for
-     * localized error messages, it is used as the error message.
-     *
-     * @param errCode Error code to localize
      * @param args Arguments for parametric replacement
      *
      * @return Localized error message
      */
-    public static String getMessage(String errCode, Object[] args) {
-        String errMsg = errCode;
-        try {
-            errMsg = bundle.getString(errCode);
-            if (args != null && args.length > 0) {
-                MessageFormat formatter = new MessageFormat(errMsg);
-                errMsg = formatter.format(args);
-            }
-        } catch (MissingResourceException e) {
+    public static String getMessage(String errCode, Object... args) {
+        String errMsg = getMessage(errCode);
+
+        if (args != null && args.length > 0) {
+            MessageFormat formatter = new MessageFormat(errMsg);
+            errMsg = formatter.format(args);
         }
 
         return errMsg;


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


[tomcat] 01/03: Increment version numbers for next dev cycle

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit b9540c8d179551fbb6305d0527a719fb389e18b3
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Jun 5 10:16:28 2019 +0100

    Increment version numbers for next dev cycle
---
 build.properties.default         | 2 +-
 res/maven/mvn.properties.default | 2 +-
 webapps/docs/changelog.xml       | 4 +++-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/build.properties.default b/build.properties.default
index be14532..81b06b2 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -25,7 +25,7 @@
 # ----- Version Control Flags -----
 version.major=8
 version.minor=5
-version.build=42
+version.build=43
 version.patch=0
 version.suffix=-dev
 
diff --git a/res/maven/mvn.properties.default b/res/maven/mvn.properties.default
index 2f26c2b..ee1b94c 100644
--- a/res/maven/mvn.properties.default
+++ b/res/maven/mvn.properties.default
@@ -39,7 +39,7 @@ maven.asf.release.repo.url=https://repository.apache.org/service/local/staging/d
 maven.asf.release.repo.repositoryId=apache.releases.https
 
 # Release version info
-maven.asf.release.deploy.version=8.5.42
+maven.asf.release.deploy.version=8.5.43
 
 #Where do we load the libraries from
 tomcat.lib.path=../../output/build/lib
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index ebaedc5..f5be804 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -44,7 +44,9 @@
   They eventually become mixed with the numbered issues (i.e., numbered
   issues do not "pop up" wrt. others).
 -->
-<section name="Tomcat 8.5.42 (markt)" rtext="in development">
+<section name="Tomcat 8.5.43 (markt)" rtext="in development">
+</section>
+<section name="Tomcat 8.5.42 (markt)" rtext="release in progress">
   <subsection name="Catalina">
     <changelog>
       <add>


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


[tomcat] 02/03: Switch i18n files to UTF-8. Convert to ASCII at build time.

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit aad19746c491a501885d3aa2215890e306b1d994
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Jun 5 10:22:56 2019 +0100

    Switch i18n files to UTF-8. Convert to ASCII at build time.
---
 build.xml                                          |  16 +
 java/javax/el/LocalStrings.properties              |  20 +-
 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 |   8 +-
 .../authenticator/LocalStrings_es.properties       |  39 +-
 .../authenticator/LocalStrings_fr.properties       |   9 +-
 .../authenticator/LocalStrings_ja.properties       |  13 +-
 .../authenticator/jaspic/LocalStrings.properties   |   6 +-
 .../catalina/connector/LocalStrings.properties     |  35 +-
 .../catalina/connector/LocalStrings_es.properties  |  87 ++-
 .../catalina/connector/LocalStrings_fr.properties  |  49 +-
 .../catalina/connector/LocalStrings_ja.properties  |  49 +-
 .../apache/catalina/core/LocalStrings.properties   | 101 +--
 .../catalina/core/LocalStrings_es.properties       | 307 ++++-----
 .../catalina/core/LocalStrings_fr.properties       | 110 ++--
 .../catalina/core/LocalStrings_ja.properties       | 158 ++---
 .../catalina/filters/LocalStrings.properties       |  42 +-
 .../catalina/filters/LocalStrings_es.properties    |  40 +-
 .../catalina/filters/LocalStrings_fr.properties    |   2 +-
 .../ha/authenticator/LocalStrings.properties       |   2 +-
 .../catalina/ha/context/LocalStrings.properties    |   2 +-
 .../catalina/ha/deploy/LocalStrings.properties     |  20 +-
 .../catalina/ha/session/LocalStrings.properties    |  40 +-
 .../catalina/ha/session/LocalStrings_es.properties | 118 ++--
 .../apache/catalina/ha/tcp/LocalStrings.properties |  13 +-
 .../catalina/ha/tcp/LocalStrings_es.properties     |  30 +-
 .../apache/catalina/loader/LocalStrings.properties |  46 +-
 .../catalina/loader/LocalStrings_es.properties     |  59 +-
 .../catalina/loader/LocalStrings_fr.properties     |  13 +-
 .../catalina/loader/LocalStrings_ja.properties     |  14 +-
 .../catalina/manager/LocalStrings.properties       |  15 +-
 .../catalina/manager/LocalStrings_de.properties    |  33 +-
 .../catalina/manager/LocalStrings_es.properties    | 187 +++---
 .../catalina/manager/LocalStrings_fr.properties    |  72 +--
 .../catalina/manager/LocalStrings_ja.properties    | 129 ++--
 .../catalina/manager/LocalStrings_ru.properties    | 305 +++++----
 .../catalina/manager/host/LocalStrings.properties  |   8 +-
 .../manager/host/LocalStrings_es.properties        | 132 ++--
 .../manager/host/LocalStrings_ru.properties        | 134 ++--
 .../apache/catalina/mapper/LocalStrings.properties |  16 +-
 .../apache/catalina/mbeans/LocalStrings.properties |   2 +-
 .../catalina/mbeans/LocalStrings_fr.properties     |  10 +-
 .../apache/catalina/realm/LocalStrings.properties  |  84 +--
 .../catalina/realm/LocalStrings_es.properties      | 131 ++--
 .../catalina/realm/LocalStrings_fr.properties      |  60 +-
 .../catalina/realm/LocalStrings_ja.properties      |  73 +--
 .../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      |  10 +-
 .../catalina/servlets/LocalStrings_es.properties   |  21 +-
 .../catalina/servlets/LocalStrings_fr.properties   |   8 +-
 .../catalina/servlets/LocalStrings_ja.properties   |  13 +-
 .../catalina/session/LocalStrings.properties       |  65 +-
 .../catalina/session/LocalStrings_es.properties    |  93 +--
 .../catalina/session/LocalStrings_fr.properties    |  77 +--
 .../catalina/session/LocalStrings_ja.properties    |  93 +--
 .../catalina/startup/LocalStrings.properties       |  59 +-
 .../catalina/startup/LocalStrings_es.properties    | 170 ++---
 .../catalina/startup/LocalStrings_fr.properties    |  54 +-
 .../catalina/startup/LocalStrings_ja.properties    |  82 +--
 .../catalina/storeconfig/LocalStrings.properties   |   8 +-
 .../catalina/tribes/group/LocalStrings.properties  |  10 +-
 .../group/interceptors/LocalStrings.properties     |  63 +-
 .../catalina/tribes/io/LocalStrings.properties     |   9 +-
 .../catalina/tribes/jmx/LocalStrings.properties    |   4 +-
 .../tribes/membership/LocalStrings.properties      |  50 +-
 .../catalina/tribes/tipis/LocalStrings.properties  |  53 +-
 .../tribes/transport/LocalStrings.properties       |   8 +-
 .../tribes/transport/LocalStrings_es.properties    |  19 +-
 .../tribes/transport/bio/LocalStrings.properties   |  31 +-
 .../tribes/transport/nio/LocalStrings.properties   |  32 +-
 .../catalina/tribes/util/LocalStrings.properties   |   8 +-
 .../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   |  21 +-
 .../catalina/util/LocalStrings_es.properties       |  26 +-
 .../catalina/util/LocalStrings_fr.properties       |  20 +-
 .../catalina/util/LocalStrings_ja.properties       |  26 +-
 .../apache/catalina/valves/LocalStrings.properties | 143 ++---
 .../catalina/valves/LocalStrings_es.properties     |  98 +--
 .../catalina/valves/LocalStrings_fr.properties     |  72 +--
 .../catalina/valves/LocalStrings_ja.properties     |  22 +-
 .../catalina/webresources/LocalStrings.properties  |   5 +-
 java/org/apache/coyote/LocalStrings.properties     |  17 +-
 java/org/apache/coyote/LocalStrings_es.properties  |   4 +-
 java/org/apache/coyote/ajp/LocalStrings.properties |  26 +-
 .../apache/coyote/ajp/LocalStrings_es.properties   |  22 +-
 .../apache/coyote/http11/LocalStrings.properties   |  15 +-
 .../coyote/http11/LocalStrings_es.properties       |  23 +-
 .../coyote/http11/LocalStrings_fr.properties       |   4 +-
 .../coyote/http11/LocalStrings_ja.properties       |   4 +-
 .../coyote/http11/filters/LocalStrings.properties  |   4 +-
 .../coyote/http11/upgrade/LocalStrings.properties  |  21 +-
 .../apache/coyote/http2/LocalStrings.properties    |  30 +-
 .../jasper/resources/LocalStrings.properties       | 638 +++++++++----------
 .../jasper/resources/LocalStrings_es.properties    | 696 ++++++++++-----------
 .../jasper/resources/LocalStrings_fr.properties    | 334 +++++-----
 .../jasper/resources/LocalStrings_ja.properties    | 565 +++++++++--------
 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 +-
 .../org/apache/tomcat/util/LocalStrings.properties |   1 -
 .../apache/tomcat/util/buf/LocalStrings.properties |  10 +-
 .../tomcat/util/buf/LocalStrings_es.properties     |   2 +-
 .../tomcat/util/compat/LocalStrings.properties     |   4 +-
 .../util/descriptor/LocalStrings_es.properties     |   4 +-
 .../util/descriptor/tld/LocalStrings.properties    |   2 +-
 .../util/descriptor/web/LocalStrings.properties    |  12 +-
 .../util/descriptor/web/LocalStrings_es.properties |  10 +-
 .../tomcat/util/digester/LocalStrings.properties   |   3 +-
 .../tomcat/util/file/LocalStrings.properties       |   2 +-
 .../tomcat/util/http/LocalStrings.properties       |  25 +-
 .../util/http/parser/LocalStrings.properties       |   3 +-
 .../tomcat/util/http/res/LocalStrings.properties   |   8 +-
 .../util/http/res/LocalStrings_es.properties       |  94 ++-
 .../util/http/res/LocalStrings_fr.properties       |  52 +-
 .../apache/tomcat/util/net/LocalStrings.properties | 170 +++--
 .../tomcat/util/net/LocalStrings_es.properties     |  49 +-
 .../tomcat/util/net/jsse/LocalStrings.properties   |  19 +-
 .../util/net/jsse/LocalStrings_es.properties       |   6 +-
 .../util/net/jsse/LocalStrings_fr.properties       |   2 +-
 .../util/net/jsse/LocalStrings_ja.properties       |   3 +-
 .../util/net/openssl/LocalStrings.properties       |  74 +--
 .../tomcat/util/scan/LocalStrings.properties       |   8 +-
 .../util/threads/res/LocalStrings_es.properties    |   2 +-
 .../tomcat/websocket/LocalStrings.properties       |  35 +-
 .../tomcat/websocket/pojo/LocalStrings.properties  |   7 +-
 .../websocket/server/LocalStrings.properties       |   2 +-
 webapps/docs/changelog.xml                         |   8 +
 .../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 +-
 148 files changed, 3953 insertions(+), 3881 deletions(-)

diff --git a/build.xml b/build.xml
index 5524d4c..e15d57c 100644
--- a/build.xml
+++ b/build.xml
@@ -689,6 +689,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"/>
@@ -696,6 +698,11 @@
       </fileset>
     </copy>
 
+    <!-- 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>
 
   <target name="build-manifests" unless="manifests.uptodate"
@@ -1126,6 +1133,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" depends="package">
diff --git a/java/javax/el/LocalStrings.properties b/java/javax/el/LocalStrings.properties
index b029752..6eabde2 100644
--- a/java/javax/el/LocalStrings.properties
+++ b/java/javax/el/LocalStrings.properties
@@ -13,17 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Default localized string information
-# Localized for Locale en_US
-
-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}]
-
 beanNameELResolver.beanReadOnly=The bean name [{0}] is read-only
+
 elProcessor.defineFunctionInvalidClass=The class [{0}] is not public
 elProcessor.defineFunctionInvalidMethod=The method [{0}] on class [{1}] is not a public static method
 elProcessor.defineFunctionInvalidParameterList=The parameter list [{0}] for method [{1}] on class [{2}] is not valid
@@ -42,9 +33,16 @@ importHandler.staticNotFound=The static import [{0}] could not be found in class
 
 lambdaExpression.tooFewArgs=Only [{0}] arguments were provided for a lambda expression that requires at least [{1}]
 
+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}]
+
 staticFieldELResolver.methodNotFound=No matching public static method named [{0}] found on class [{1}]
 staticFieldELResolver.notFound=No public static field named [{0}] was found on class [{1}]
 staticFieldELResolver.notWriteable=Writing to static fields (in this case field [{0}] on class [{1}]) is not permitted
 
-util.method.notfound=Method not found: {0}.{1}({2})
 util.method.ambiguous=Unable to find unambiguous method: {0}.{1}({2})
+util.method.notfound=Method not found: {0}.{1}({2})
diff --git a/java/javax/el/LocalStrings_es.properties b/java/javax/el/LocalStrings_es.properties
index bb2692f..7a71ca2 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 60d4dab..b57cb4c 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 edbd318..e5348f5 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 0afb2b3..7363303 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 cb84a99..21f1cbe 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 30a05af..aef4847 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 cbdb4e6..c17c246 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 bf9aa30..f7a07e7 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 26a7b62..f1954a5 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 ca5dd4c..d3c265f 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings.properties
@@ -19,18 +19,18 @@ authenticator.check.authorize=Authorizing connector provided user [{0}] via Tomc
 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.formlogin=Invalid direct reference to form login page
 authenticator.jaspicCleanSubjectFail=Failed to clean JASPIC subject
 authenticator.jaspicSecureResponseFail=Failed to secure response during JASPIC processing
 authenticator.jaspicServerAuthContextFail=Failed to obtain a JASPIC ServerAuthContext instance
-authenticator.formlogin=Invalid direct reference to form login page
 authenticator.loginFail=Login failed
 authenticator.manager=Exception initializing trust managers
 authenticator.noAuthHeader=No authorization header sent by client
 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.unauthorized=Cannot authenticate with the provided credentials
 authenticator.tomcatPrincipalLogoutFail=Logout with TomcatPrincipal instance has failed
+authenticator.unauthorized=Cannot authenticate with the provided credentials
 
 basicAuthenticator.invalidCharset=The only permitted values are null, the empty string or UTF-8
 
@@ -59,11 +59,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 7a06653..5b0bab9 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings_es.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings_es.properties
@@ -13,21 +13,24 @@
 # 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.formlogin = Referencia directa al formulario de conexi\u00F3n (p\u00E1gina de formulario de login) inv\u00E1lida
-authenticator.loginFail = No pude ingresar
-authenticator.manager = Excepci\u00F3n inicializando administradores de confianza
-authenticator.noAuthHeader = El cliente no ha enviado autorizaci\u00F3n de cabecera
-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
-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.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.formlogin=Referencia directa al formulario de conexión (página de formulario de login) inválida
+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.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
+
+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.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 bdde0f6..79a6433 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings_fr.properties
@@ -13,9 +13,8 @@
 # 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.formlogin=R\u00e9f\u00e9rence directe \u00e0 la form de connexion (form login page) invalide
+authenticator.certificates=Aucune chaîne de certificat client (client certificate chain) dans cette requête
+authenticator.formlogin=Référence directe à la form de connexion (form login page) invalide
 authenticator.manager=Exception lors de l''initialisation des gestionnaires d''authentification (trust managers)
-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.notContext=Erreur de configuration:  Doit être attaché à un contexte
+authenticator.unauthorized=Impossible d''authentifier avec les crédits fournis (provided credentials)
diff --git a/java/org/apache/catalina/authenticator/LocalStrings_ja.properties b/java/org/apache/catalina/authenticator/LocalStrings_ja.properties
index 335e36a..12166c0 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings_ja.properties
@@ -13,10 +13,9 @@
 # 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.formlogin=\u30d5\u30a9\u30fc\u30e0\u30ed\u30b0\u30a4\u30f3\u30da\u30fc\u30b8\u3078\u306e\u7121\u52b9\u306a\u76f4\u63a5\u53c2\u7167\u3067\u3059
-authenticator.manager=\u30c8\u30e9\u30b9\u30c8\u30de\u30cd\u30fc\u30b8\u30e3\u3092\u521d\u671f\u5316\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-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.certificates=このリクエストにはクライアント認証チェーンがありません
+authenticator.formlogin=フォームログインページへの無効な直接参照です
+authenticator.manager=トラストマネージャを初期化中の例外です
+authenticator.notContext=設定エラー: コンテキストに指定しなければいけません
+authenticator.sessionExpired=ログインプロセスに認められていた時間が過ぎました。継続したいならば,バックボタンを2度押してから再度リンクを押すか,ブラウザを立ち上げ直してください
+authenticator.unauthorized=用意された証明書で認証できません
diff --git a/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties b/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties
index 744f079..1f395a0 100644
--- a/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties
+++ b/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties
@@ -14,10 +14,10 @@
 # limitations under the License.
 
 authConfigFactoryImpl.load=Loading persistent provider registrations from [{0}]
-authConfigFactoryImpl.zeroLengthAppContext=A zero length application context name is not valid
-authConfigFactoryImpl.zeroLengthMessageLayer=A zero length message layer name is not valid
 authConfigFactoryImpl.registerClass=Registering class [{0}] for layer [{1}] and application context [{2}]
 authConfigFactoryImpl.registerInstance=Registering instance of type[{0}] for layer [{1}] and application context [{2}]
+authConfigFactoryImpl.zeroLengthAppContext=A zero length application context name is not valid
+authConfigFactoryImpl.zeroLengthMessageLayer=A zero length message layer name is not valid
 
 callbackHandlerImpl.jaspicCallbackMissing=Unsupported JASPIC callback of type [{0}] received which was ignored
 
@@ -27,4 +27,4 @@ persistentProviderRegistrations.deleteFail=The temporary file [{0}] cannot be de
 persistentProviderRegistrations.existsDeleteFail=The temporary file [{0}] already exists and cannot be deleted
 persistentProviderRegistrations.moveFail=Failed to move [{0}] to [{1}]
 
-simpleServerAuthConfig.noModules="No ServerAuthModules configured"
\ No newline at end of file
+simpleServerAuthConfig.noModules="No ServerAuthModules configured"
diff --git a/java/org/apache/catalina/connector/LocalStrings.properties b/java/org/apache/catalina/connector/LocalStrings.properties
index 1631c62..a494015 100644
--- a/java/org/apache/catalina/connector/LocalStrings.properties
+++ b/java/org/apache/catalina/connector/LocalStrings.properties
@@ -24,41 +24,42 @@ coyoteAdapter.parsePathParam=Unable to parse the path parameters using encoding
 
 coyoteConnector.invalidEncoding=The encoding [{0}] is not recognised by the JRE. The Connector will continue to use [{1}]
 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.protocolHandlerStopFailed=Protocol handler stop failed
 coyoteConnector.protocolHandlerPauseFailed=Protocol handler pause failed
 coyoteConnector.protocolHandlerResumeFailed=Protocol handler resume failed
-coyoteConnector.parseBodyMethodNoTrace=TRACE method MUST NOT include an entity (see RFC 2616 Section 9.6)
+coyoteConnector.protocolHandlerStartFailed=Protocol handler start failed
+coyoteConnector.protocolHandlerStopFailed=Protocol handler stop failed
 
 coyoteInputStream.nbNotready=In non-blocking mode you may not read from the ServletInputStream until the previous read has completed and isReady() returns true
+
 coyoteOutputStream.nbNotready=In non-blocking mode you may not write to the ServletOutputStream until the previous write has completed and isReady() returns true
 
+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.changeSessionId=Cannot change session ID. There is no session associated with this request.
+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.filterAsyncSupportUnknown=Unable to determine if any filters do not support async processing
 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.changeSessionId=Cannot change session ID. There is no session associated with this request.
-coyoteRequest.setAttribute.namenull=Cannot call setAttribute with a null name
-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.noAsync=Unable to start async because the following classes in the processing chain do not support async [{0}]
+coyoteRequest.noMultipartConfig=Unable to process parts as no multi-part configuration has been provided
 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.filterAsyncSupportUnknown=Unable to determine if any filters do not support async processing
-coyoteRequest.maxPostSizeExceeded=The multi-part request contained parameter data (excluding uploaded files) that exceeded the limit for maxPostSize set on the associated connector
-coyoteRequest.noAsync=Unable to start async because the following classes in the processing chain do not support async [{0}]
-coyoteRequest.noMultipartConfig=Unable to process parts as no multi-part configuration has been provided
 
 coyoteResponse.encoding.invalid=The encoding [{0}] is not recognised by the JRE
 coyoteResponse.getOutputStream.ise=getWriter() has already been called for this response
@@ -70,8 +71,8 @@ coyoteResponse.sendRedirect.ise=Cannot call sendRedirect() after the response ha
 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
 
-inputBuffer.streamClosed=Stream closed
 inputBuffer.requiresNonBlocking=Not available in non blocking mode
+inputBuffer.streamClosed=Stream closed
 
 outputBuffer.writeNull=The String argument to write(String,int,int) may not be null
 
diff --git a/java/org/apache/catalina/connector/LocalStrings_es.properties b/java/org/apache/catalina/connector/LocalStrings_es.properties
index 18b81f4..877c92e 100644
--- a/java/org/apache/catalina/connector/LocalStrings_es.properties
+++ b/java/org/apache/catalina/connector/LocalStrings_es.properties
@@ -12,47 +12,46 @@
 # 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.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.protocolHandlerPauseFailed = Ha fallado la pausa del manejador de protocolo
-coyoteConnector.protocolHandlerResumeFailed = Ha fallado el rearranque 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.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.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
-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}]
-
-inputBuffer.streamClosed = Flujo cerrado
+
+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.
+
+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
+
+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.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.registerHost=Registrar máquina [{0}] en dominio [{1}] para el conector [{2}]
+mapperListener.unknownDefaultHost=Máquina por defecto desconocida: [{0}] para el conector [{1}]
+mapperListener.unregisterHost=Desregistrar máquina [{0}] en dominio [{1}] para el conector [{2}]
+
+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 5b23686..06f6bba 100644
--- a/java/org/apache/catalina/connector/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/connector/LocalStrings_fr.properties
@@ -13,36 +13,23 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+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
-#
-
-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.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
+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.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.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.
+
+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
diff --git a/java/org/apache/catalina/connector/LocalStrings_ja.properties b/java/org/apache/catalina/connector/LocalStrings_ja.properties
index 132853c..af35f84 100644
--- a/java/org/apache/catalina/connector/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/connector/LocalStrings_ja.properties
@@ -13,36 +13,23 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+coyoteConnector.protocolHandlerDestroyFailed=プロトコルハンドラの廃棄に失敗しました
+coyoteConnector.protocolHandlerInitializationFailed=プロトコルハンドラの初期化に失敗しました
+coyoteConnector.protocolHandlerInstantiationFailed=プロトコルハンドラのインスタンス化に失敗しました
+coyoteConnector.protocolHandlerPauseFailed=プロトコルハンドラの一時停止に失敗しました
+coyoteConnector.protocolHandlerResumeFailed=プロトコルハンドラの再開に失敗しました
+coyoteConnector.protocolHandlerStartFailed=プロトコルハンドラの起動に失敗しました
 
-#
-# CoyoteConnector
-#
-
-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.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.attributeEvent=属性イベントリスナによって例外が投げられました
+coyoteRequest.getInputStream.ise=getReader()はこのリクエストに対して既に呼び出されています
+coyoteRequest.getReader.ise=getInputStream()はこのリクエストに対して既に呼び出されています
+coyoteRequest.postTooLarge=POSTされたデータが大きすぎたので、パラメータが構文解析できませんでした。そのアプリケーションが巨大なPOSTを受け付けねばならない場合には、これを解決するためにコネクタのmaxPostSize属性を使用してください。
+coyoteRequest.sessionCreateCommitted=レスポンスをコミットした後でセッションを作成できません
+coyoteRequest.setAttribute.namenull=setAttributeを名前を指定せずに呼び出すことはできません
 
-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.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\ [...]
+coyoteResponse.getOutputStream.ise=getWriter()はこのレスポンスに対して既に呼び出されています
+coyoteResponse.getWriter.ise=getOutputStream()はこのレスポンスに対して既に呼び出されています
+coyoteResponse.resetBuffer.ise=レスポンスがコミットされた後でバッファをリセットすることはできません
+coyoteResponse.sendError.ise=レスポンスがコミットされた後でsendError()を呼び出すことはできません
+coyoteResponse.sendRedirect.ise=レスポンスがコミットされた後でsendRedirect()を呼び出すことはできません
+coyoteResponse.setBufferSize.ise=データが既に書き込まれた後でバッファサイズを変更することはできません
diff --git a/java/org/apache/catalina/core/LocalStrings.properties b/java/org/apache/catalina/core/LocalStrings.properties
index 8e09920..5d74093 100644
--- a/java/org/apache/catalina/core/LocalStrings.properties
+++ b/java/org/apache/catalina/core/LocalStrings.properties
@@ -17,8 +17,8 @@ applicationContext.addFilter.ise=Filters cannot be added to context [{0}] as the
 applicationContext.addJspFile.iae=The JSP file [{0}] is not valid
 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 cannot be added to context [{0}] as the context has been initialised
 applicationContext.addRole.ise=Roles cannot be added to context [{0}] as the context has been initialised
 applicationContext.addServlet.ise=Servlets cannot be added to context [{0}] as the context has been initialised
@@ -26,6 +26,7 @@ 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
@@ -36,10 +37,10 @@ applicationContext.setInitParam.ise=Initialization parameters cannot be set afte
 applicationContext.setRequestEncoding.ise=The request encoding cannot be set for context [{0}] as the context has been initialised
 applicationContext.setResponseEncoding.ise=The response encoding cannot be set for context [{0}] as the context has been initialised
 applicationContext.setSessionTimeout.ise=The session timeout cannot be set for context [{0}] as the context has been initialised
-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
@@ -47,11 +48,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}]
 
@@ -63,65 +66,78 @@ applicationPushBuilder.noCoyoteRequest=Unable to find the underlying Coyote requ
 
 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}] cannot 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.config=APR/OpenSSL configuration: useAprConnector [{0}], useOpenSSL [{1}]
-aprListener.skipFIPSInitialization=Already in FIPS mode; skipping FIPS initialization.
+aprListener.currentFIPSMode=Current FIPS mode: [{0}]
 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.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}]
+
 filterChain.filter=Filter execution threw an exception
 filterChain.servlet=Servlet execution threw an exception
+
+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.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.wsdlFailed=Failed to find wsdl file: [{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}]
+naming.wsdlFailed=Failed to find wsdl file: [{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
 
 pushBuilder.noPath=It is illegal to call push() before setting a path
 
-standardContext.invalidWrapperClass=[{0}] is not a subclass of StandardWrapper
 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
@@ -141,7 +157,7 @@ standardContext.filterMap.either=Filter mapping must specify either a <url-patte
 standardContext.filterMap.name=Filter mapping specifies an unknown filter name [{0}]
 standardContext.filterMap.pattern=Invalid <url-pattern> [{0}] in filter mapping
 standardContext.filterStart=Exception starting filter [{0}]
-standardContext.requestListener.requestInit=Exception sending request initialized lifecycle event to listener instance of class [{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}]
@@ -154,8 +170,8 @@ standardContext.loginConfig.loginWarning=WARNING: Form login page [{0}] must sta
 standardContext.loginConfig.required=LoginConfig cannot be null
 standardContext.manager=Configured a manager of class [{0}]
 standardContext.managerFail=The session manager failed to start
-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.notStarted=Context with name [{0}] has not yet been started
 standardContext.notWrapper=Child of a Context must be a Wrapper
@@ -168,6 +184,7 @@ standardContext.predestroy.duplicate=Duplicate pre destroy method definition for
 standardContext.predestroy.required=Both fully qualified class name and method name are required
 standardContext.reloadingCompleted=Reloading Context with name [{0}] is completed
 standardContext.reloadingStarted=Reloading Context with name [{0}] has started
+standardContext.requestListener.requestInit=Exception sending request initialized lifecycle event to listener instance of class [{0}]
 standardContext.resourcesInit=Error initializing static Resources
 standardContext.resourcesStart=Error starting static Resources
 standardContext.resourcesStop=Error stopping static Resources
@@ -185,24 +202,30 @@ standardContext.threadBindingListenerError=An error occurred in the thread bindi
 standardContext.unknownCookieEncoding=The unknown encoding [{0}] was specified for setCookieEncoding(String) so the default of UTF-8 will be used instead
 standardContext.urlPattern.patternWarning=WARNING: URL pattern [{0}] must start with a ''/'' in Servlet 2.4
 standardContext.webappClassLoader.missingProperty=Unable to set the web application class loader property [{0}] to [{1}] as the property does not exist.
-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.jvmRouteFail=Failed to set Engine's jvmRoute attribute from system property
 standardEngine.noHost=No Host matches server name [{0}]
 standardEngine.notHost=Child of an Engine must be a Host
 standardEngine.notParent=Engine cannot have a parent Container
+
 standardHost.clientAbort=Remote Client Aborted Request, IOException: [{0}]
 standardHost.invalidErrorReportValveClass=Couldn''t load specified error report valve class: [{0}]
 standardHost.noContext=No Context configured to process this request
 standardHost.notContext=Child of a Host must be a Context
 standardHost.nullName=Host name is required
 standardHost.problematicAppBase=Using an empty string for appBase on host [{0}] will set it to CATALINA_BASE, which is a bad idea
+
 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.shutdownViaPort=A valid shutdown command was received via the shutdown port. Stopping the Server instance.
 standardServer.storeConfig.notAvailable=No StoreConfig implementation was registered as an MBean named [{0}] so no configuration could be saved. A suitable MBean is normally registered via the StoreConfigLifecycleListener.
+
 standardService.connector.destroyFailed=Failed to destroy connector [{0}]
 standardService.connector.initFailed=Failed to initialize connector [{0}]
 standardService.connector.pauseFailed=Failed to pause connector [{0}]
@@ -214,6 +237,7 @@ standardService.mapperListener.startFailed=Failed to start associated MapperList
 standardService.mapperListener.stopFailed=Failed to stop associated MapperListener
 standardService.start.name=Starting service [{0}]
 standardService.stop.name=Stopping service [{0}]
+
 standardWrapper.allocate=Error allocating a servlet instance
 standardWrapper.allocateException=Allocate exception for servlet [{0}]
 standardWrapper.deallocateException=Deallocate exception for servlet [{0}]
@@ -234,13 +258,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 e3b7305..d5bf5d1 100644
--- a/java/org/apache/catalina/core/LocalStrings_es.properties
+++ b/java/org/apache/catalina/core/LocalStrings_es.properties
@@ -13,148 +13,167 @@
 # 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.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.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}]
-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.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.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}]
+
+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.backgroundProcess.cluster = Excepci\u00F3n al procesar cl\u00FAster [{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
-filterChain.filter = La ejecuci\u00F3n del Filtro lanz\u00F3 una excepci\u00F3n
-filterChain.servlet = La ejecuci\u00F3n del Servlet lanz\u00F3 una excepci\u00F3n
-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.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.backgroundProcess.loader = Excepci\u00F3n al procesar cargador [{0}] de proceso en segundo plano
-standardContext.backgroundProcess.manager = Excepci\u00F3n al procesar gestor [{0}] de proceso en segundo plano
-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.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.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.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.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.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.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.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.startFailed = Fall\u00F3 en arranque del Contexto [{0}] debido a errores previos
-standardContext.startingContext = Excepci\u00F3n arrancando Contexto con nombre [{0}]
-standardContext.stoppingContext = Excepci\u00F3n parando Context [{0}]
-standardContext.urlPattern.patternWarning = AVISO: el patr\u00F3n URL [{0}] debe de comenzar con ''/'' en Servlet 2.4
-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.jvmRouteFail = No pude poner el atributo jvmRoute del Motor para la propiedad del sistema
-standardEngine.noHost = No hay M\u00E1quina que coincida con nombre de servidor [{0}]
-standardEngine.notHost = El Hijo de un Motor debe de ser un M\u00E1quina
-standardEngine.notParent = El Motor no puede tener un Contenedor padre
-standardHost.clientAbort = El Cliente Remoto Abort\u00F3 el Requerimiento, IOException: [{0}]
-standardHost.invalidErrorReportValveClass = No pude cargar clase especifiada de v\u00E1lvula de informe de error: [{0}]
-standardHost.noContext = No se ha configurado Contexto para procesar este requerimiento
-standardHost.notContext = El Hijo de una M\u00E1quina debe de ser un Contexto
-standardHost.nullName = Es necesario poner el nombre de M\u00E1quina
-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.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.start.name = Arrancando servicio [{0}]
-standardService.stop.name = Parando servicio [{0}]
-standardWrapper.allocate = Error reservando espacio para una instancia de servlet
-standardWrapper.allocateException = Excepci\u00F3n de reserva de espacio 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.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.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.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.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
+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.backgroundProcess.cluster=Excepción al procesar clúster [{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
+
+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
+
+filterChain.filter=La ejecución del Filtro lanzó una excepción
+filterChain.servlet=La ejecución del Servlet lanzó una excepción
+
+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.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.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.backgroundProcess.loader=Excepción al procesar cargador [{0}] de proceso en segundo plano
+standardContext.backgroundProcess.manager=Excepción al procesar gestor [{0}] de proceso en segundo plano
+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.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.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.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.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.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.reloadingStarted=Ha comenzado la recarga de Contexto [{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.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.startFailed=Falló en arranque del Contexto [{0}] debido a errores previos
+standardContext.startingContext=Excepción arrancando Contexto con nombre [{0}]
+standardContext.stoppingContext=Excepción parando Context [{0}]
+standardContext.urlPattern.patternWarning=AVISO: el patrón URL [{0}] debe de comenzar con ''/'' en Servlet 2.4
+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.jvmRouteFail=No pude poner el atributo jvmRoute del Motor para la propiedad del sistema
+standardEngine.noHost=No hay Máquina que coincida con nombre de servidor [{0}]
+standardEngine.notHost=El Hijo de un Motor debe de ser un Máquina
+standardEngine.notParent=El Motor no puede tener un Contenedor padre
+
+standardHost.clientAbort=El Cliente Remoto Abortó el Requerimiento, IOException: [{0}]
+standardHost.invalidErrorReportValveClass=No pude cargar clase especifiada de válvula de informe de error: [{0}]
+standardHost.noContext=No se ha configurado Contexto para procesar este requerimiento
+standardHost.notContext=El Hijo de una Máquina debe de ser un Contexto
+standardHost.nullName=Es necesario poner el nombre de Máquina
+
+standardServer.shutdownViaPort=Se ha recibido un comando de apagado a través del puerto de apagado. Parando la instancia del Servidor.
+
+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.start.name=Arrancando servicio [{0}]
+standardService.stop.name=Parando servicio [{0}]
+
+standardWrapper.allocate=Error reservando espacio para una instancia de servlet
+standardWrapper.allocateException=Excepción de reserva de espacio 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.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.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.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 dfc1cf7..b0773aa 100644
--- a/java/org/apache/catalina/core/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/core/LocalStrings_fr.properties
@@ -13,76 +13,84 @@
 # 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.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.isUnavailable=La servlet [{0}] est actuellement indisponible
-applicationDispatcher.serviceException="Servlet.service()" pour la servlet [{0}] a lanc\u00e9 une exception
-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
-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.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
+applicationDispatcher.serviceException="Servlet.service()" pour la servlet [{0}] a lancé une exception
+
+filterChain.filter=L''exécution du filtre (Filter) a lancé une exception
+filterChain.servlet=L''exécution de la servlet a lancé une exception
+
+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.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.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.filterStart=Exception au démarrage du filtre [{0}]
 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.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.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.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.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.securityConstraint.pattern=<url-pattern> [{0}] invalide d''apr\u00e8s les contraintes de s\u00e9curit\u00e9 (security constraint)
+standardContext.loginConfig.required="LoginConfig" ne peut être nul
+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.reloadingStarted=Le rechargement du contexte [{0}] a démarré
+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.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.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.stoppingContext=Exception \u00e0 l''arr\u00eat du Context [{0}]
-standardContext.resourcesStart=Erreur lors du d\u00e9marrage des ressources statiques
-standardContext.urlPattern.patternWarning=ATTENTION: Le mod\u00e8le (pattern) URL [{0}] doit commencer par un ''/'' dans l''API Servlet 2.4
-standardEngine.noHost=Aucune h\u00f4te (host) ne correspond au nom de serveur [{0}]
-standardEngine.notHost=Le fils d''un moteur (child of an Engine) doit \u00eatre un h\u00f4te
+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.stoppingContext=Exception à l''arrêt du Context [{0}]
+standardContext.urlPattern.patternWarning=ATTENTION: Le modèle (pattern) URL [{0}] doit commencer par un ''/'' dans l''API Servlet 2.4
+
+standardEngine.noHost=Aucune hôte (host) ne correspond au nom de serveur [{0}]
+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)
+
 standardHost.invalidErrorReportValveClass=Impossible de charger la classe valve de rapport d''erreur: [{0}]
-standardHost.noContext=Aucun contexte 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.nullName=Le nom d''h\u00f4te est requis
-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
+standardHost.noContext=Aucun contexte 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.nullName=Le nom d''hôte est requis
+
+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.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.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.deallocateException=Exception à la désallocation pour la servlet [{0}]
+standardWrapper.destroyException="Servlet.destroy()" de la servlet [{0}] a généré une exception
+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.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.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.serviceException="Servlet.service()" pour la servlet [{0}] a généré une exception
+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 d34d598..da475b3 100644
--- a/java/org/apache/catalina/core/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/core/LocalStrings_ja.properties
@@ -13,78 +13,86 @@
 # 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.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
-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
-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.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.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.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.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.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.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.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.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.stoppingContext=\u30ed\u30fc\u30c0\u3092\u505c\u6b62\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-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
-standardEngine.noHost=\u30b5\u30fc\u30d0\u540d [{0}] \u306b\u4e00\u81f4\u3059\u308b\u30db\u30b9\u30c8\u304c\u5b58\u5728\u3057\u307e\u305b\u3093
-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
-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.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.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.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.nullName=\u30db\u30b9\u30c8\u540d\u304c\u5fc5\u8981\u3067\u3059
-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.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.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.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.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.isUnavailable=サーブレット [{0}] は現在利用できません
+applicationDispatcher.serviceException=サーブレット [{0}] のServlet.service()が例外を投げました
+
+filterChain.filter=フィルタの実行により例外を投げました
+filterChain.servlet=サーブレットの実行により例外を投げました
+
+naming.bindFailed=オブジェクトのバインドに失敗しました: [{0}]
+naming.invalidEnvEntryType=環境エントリ [{0}] は無効な型を持っています
+naming.invalidEnvEntryValue=環境エントリ [{0}] は無効な値を持っています
+naming.namingContextCreationFailed=名前付きコンテキストの生成に失敗しました: [{0}]
+naming.unbindFailed=オブジェクトのアンバインドに失敗しました: [{0}]
+
+standardContext.applicationListener=クラス [{0}] のアプリケーションリスナの設定中にエラーが発生しました
+standardContext.applicationSkipped=前のエラーのためにアプリケーションリスナのインストールをスキップします
+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.isUnavailable=このアプリケーションは現在利用できません
+standardContext.listenerStart=クラス [{0}] のリスナインスタンスにコンテキスト初期化イベントを送信中の例外です
+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.notStarted=コンテキストはまだ起動されていません
+standardContext.notWrapper=コンテキストの子供はラッパでなければいけません
+standardContext.parameter.duplicate=コンテキスト初期化パラメタ [{0}] が重複しています
+standardContext.parameter.required=パラメタ名とパラメタ値の両方が必要です
+standardContext.reloadingCompleted=このコンテキストの再ロードが完了しました
+standardContext.reloadingStarted=このコンテキストの再ロードを開始しました
+standardContext.requestListener.requestInit=クラス [{0}] のリスナインスタンスに初期化するライフサイクルイベントのリクエストを送信中の例外です
+standardContext.resourcesStart=静的リソースの起動中のエラーです
+standardContext.securityConstraint.pattern=セキュリティの制約の中に無効な <url-pattern> [{0}] があります
+standardContext.servletMap.name=サーブレットマッピングは未知のサーブレット名 [{0}] を指定しています
+standardContext.servletMap.pattern=サーブレットマッピング中に無効な <url-pattern> [{0}] があります
+standardContext.startFailed=以前のエラーのためにコンテキストの起動が失敗しました [{0}]
+standardContext.stoppingContext=ローダを停止中の例外です
+standardContext.urlPattern.patternWarning=警告: Servlet 2.4ではURLパターン [{0}] は''/''で始まらなければいけません
+
+standardEngine.noHost=サーバ名 [{0}] に一致するホストが存在しません
+standardEngine.notHost=エンジンの子供はホストでなければいけません
+standardEngine.notParent=エンジンは親のコンテナを持つことはできません
+
+standardHost.clientAbort=リモートクライアントがリクエストを中止しました, IOException: [{0}]
+standardHost.invalidErrorReportValveClass=指定されたエラーリポートバルブクラスをロードできません: [{0}]
+standardHost.noContext=このリクエストを処理するために設定されたコンテキストがありません
+standardHost.notContext=ホストの子供はコンテキストでなければいけません
+standardHost.nullName=ホスト名が必要です
+
+standardService.start.name=サービス [{0}] を起動します
+standardService.stop.name=サービス [{0}] を停止します
+
+standardWrapper.allocate=サーブレットインスタンスを割り当て中のエラーです
+standardWrapper.allocateException=サーブレット [{0}] に例外を割り当てます
+standardWrapper.deallocateException=サーブレット [{0}] に対する例外の割り当てを解除します
+standardWrapper.destroyException=サーブレット [{0}] のServlet.destroy()が例外を投げました
+standardWrapper.initException=サーブレット [{0}] のServlet.init()が例外を投げました
+standardWrapper.instantiate=サーブレットクラス [{0}] を初期化中にエラーが発生しました
+standardWrapper.isUnavailable=サーブレット [{0}] は現在利用できません
+standardWrapper.notChild=ラッパコンテナは子供のコンテナを持つことはできません
+standardWrapper.notClass=サーブレット [{0}] に指定されたサーブレットクラスがありません
+standardWrapper.notContext=ラッパの親のコンテナはコンテキストでなければいけません
+standardWrapper.notFound=サーブレット [{0}] が利用できません
+standardWrapper.notServlet=クラス [{0}] はサーブレットではありません
+standardWrapper.releaseFilters=サーブレット [{0}] のフィルタ例外を解除します
+standardWrapper.serviceException=サーブレット [{0}] のServlet.service()が例外を投げました
+standardWrapper.unavailable=サーブレット [{0}] を利用不可能にマークします
+standardWrapper.unloadException=サーブレット [{0}] がunload()例外を投げました
+standardWrapper.unloading=サーブレット [{0}] がロードされていないので、割り当てることができません
+standardWrapper.waiting=[{0}] インスタンスが割り当て解除されるのを待っています
diff --git a/java/org/apache/catalina/filters/LocalStrings.properties b/java/org/apache/catalina/filters/LocalStrings.properties
index 1d565cb..31f6e85 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}], cannot 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}], cannot 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 80630b3..b6611ad 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 665e23a..47f0f56 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/authenticator/LocalStrings.properties b/java/org/apache/catalina/ha/authenticator/LocalStrings.properties
index 532e520..7910f0c 100644
--- a/java/org/apache/catalina/ha/authenticator/LocalStrings.properties
+++ b/java/org/apache/catalina/ha/authenticator/LocalStrings.properties
@@ -13,5 +13,5 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+clusterSingleSignOn.clusterLoad.fail=ClusterSingleSignOn exception during clusterLoad
 clusterSingleSignOn.nocluster=There is no Cluster for ClusterSingleSignOn
-clusterSingleSignOn.clusterLoad.fail=ClusterSingleSignOn exception during clusterLoad
\ No newline at end of file
diff --git a/java/org/apache/catalina/ha/context/LocalStrings.properties b/java/org/apache/catalina/ha/context/LocalStrings.properties
index a29e664..7b11133 100644
--- a/java/org/apache/catalina/ha/context/LocalStrings.properties
+++ b/java/org/apache/catalina/ha/context/LocalStrings.properties
@@ -15,5 +15,5 @@
 
 applicationContext.setAttribute.namenull=Name cannot be null
 
+replicatedContext.startFailed=Failed to start ReplicatedContext: [{0}]
 replicatedContext.startUnable=Unable to start ReplicatedContext: [{0}]
-replicatedContext.startFailed=Failed to start ReplicatedContext: [{0}]
\ No newline at end of file
diff --git a/java/org/apache/catalina/ha/deploy/LocalStrings.properties b/java/org/apache/catalina/ha/deploy/LocalStrings.properties
index c3da251..b8b68e7 100644
--- a/java/org/apache/catalina/ha/deploy/LocalStrings.properties
+++ b/java/org/apache/catalina/ha/deploy/LocalStrings.properties
@@ -13,27 +13,25 @@
 # 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.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}]
@@ -46,8 +44,10 @@ farmWarDeployer.undeployEnd=Undeployment from [{0}] finished.
 farmWarDeployer.undeployLocal=Undeploy local context [{0}]
 farmWarDeployer.watchDir=Cluster deployment is watching [{0}] for changes.
 
+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 cf3ec5c..eb58879 100644
--- a/java/org/apache/catalina/ha/session/LocalStrings.properties
+++ b/java/org/apache/catalina/ha/session/LocalStrings.properties
@@ -13,7 +13,13 @@
 # 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
+
+clusterSessionListener.noManager=Context manager doesn''t exist:[{0}]
+
 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,48 +27,52 @@ 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}]
 deltaManager.loading.ioe=IOException while loading persisted sessions: [{0}]
 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}].
+
+deltaRequest.invalidAttributeInfoType=Invalid attribute info type=[{0}]
 deltaRequest.removeUnable=Unable to remove element:
+deltaRequest.showPrincipal=Principal [{0}] is set to session [{1}]
 deltaRequest.ssid.mismatch=Session id mismatch, not executing the delta request
-deltaRequest.invalidAttributeInfoType=Invalid attribute info type=[{0}]
 deltaRequest.ssid.null=Session Id is null for setSessionId
+deltaRequest.wrongPrincipalClass=ClusterManager only support GenericPrincipal. Your realm used principal class [{0}].
+
 deltaSession.notifying=Notifying cluster of expiration primary=[{0}] sessionId [{1}]
 deltaSession.readSession=readObject() loading session [{0}]
 deltaSession.writeSession=writeObject() storing session [{0}]
+
 jvmRoute.cannotFindSession=Can''t find session [{0}]
 jvmRoute.changeSession=Changed session from [{0}] to [{1}]
 jvmRoute.failover=Detected a failover with different jvmRoute - orginal route: [{0}] new one: [{1}] at session id [{2}]
@@ -70,15 +80,11 @@ jvmRoute.foundManager=Found Cluster Manager [{0}] at [{1}]
 jvmRoute.missingJvmRouteAttribute=No engine jvmRoute attribute configured!
 jvmRoute.noCluster=The JvmRouterBinderValve is configured, but clustering is not being used. Fail over will still work, providing a PersistentManager is used.
 jvmRoute.notFoundManager=Not found Cluster Manager at [{0}]
+jvmRoute.set.orignalsessionid=Set Orginal Session id at request attribute [{0}] value: [{1}]
 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}]
+
 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
-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
-clusterSessionListener.noManager=Context manager doesn''t exist:[{0}]
diff --git a/java/org/apache/catalina/ha/session/LocalStrings_es.properties b/java/org/apache/catalina/ha/session/LocalStrings_es.properties
index 5f96a65..1eb1677 100644
--- a/java/org/apache/catalina/ha/session/LocalStrings_es.properties
+++ b/java/org/apache/catalina/ha/session/LocalStrings_es.properties
@@ -13,60 +13,64 @@
 # 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.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.readSession = readObject() cargando sesi\u00F3n [{0}]
-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.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.missingJvmRouteAttribute = \u00A1No se ha configurado atributo de motor jvmRoute!
-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.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
+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.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.readSession=readObject() cargando sesión [{0}]
+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.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.missingJvmRouteAttribute=¡No se ha configurado atributo de motor jvmRoute!
+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.set.orignalsessionid=Puesta id Orginal de Sesión en atributo de requerimiento [{0}] valor: [{1}]
+jvmRoute.turnoverInfo=Ajustado tiempo de Chequeo a [{0}] mseg
+jvmRoute.valve.started=JvmRouteBinderValve arrancada
+jvmRoute.valve.stopped=JvmRouteBinderValve parada
+
+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 93c97ac..c380e26 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
 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.clustermanager.cloneFailed=Unable to clone cluster manager, defaulting to org.apache.catalina.ha.session.DeltaManager
 simpleTcpCluster.clustermanager.notImplement=Manager [{0}] does not implement ClusterManager, addition to cluster has been aborted.
+simpleTcpCluster.member.addFailed=Unable to connect to replication system.
+simpleTcpCluster.member.added=Replication member added:[{0}]
+simpleTcpCluster.member.disappeared=Received member disappeared:[{0}]
+simpleTcpCluster.member.removeFailed=Unable remove cluster node from replication system.
+simpleTcpCluster.sendFailed=Unable to send message through cluster sender.
 simpleTcpCluster.start=Cluster is about to start
 simpleTcpCluster.startUnable=Unable to start cluster.
 simpleTcpCluster.stopUnable=Unable to stop cluster.
 simpleTcpCluster.unableSend.localMember=Unable to send message to local member [{0}]
-simpleTcpCluster.sendFailed=Unable to send message through cluster sender.
-simpleTcpCluster.member.added=Replication member added:[{0}]
-simpleTcpCluster.member.addFailed=Unable to connect to replication system.
-simpleTcpCluster.member.disappeared=Received member disappeared:[{0}]
-simpleTcpCluster.member.removeFailed=Unable remove cluster node from replication system.
diff --git a/java/org/apache/catalina/ha/tcp/LocalStrings_es.properties b/java/org/apache/catalina/ha/tcp/LocalStrings_es.properties
index 21dc08d..ccaf5a8 100644
--- a/java/org/apache/catalina/ha/tcp/LocalStrings_es.properties
+++ b/java/org/apache/catalina/ha/tcp/LocalStrings_es.properties
@@ -13,18 +13,18 @@
 # 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).
+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).
diff --git a/java/org/apache/catalina/loader/LocalStrings.properties b/java/org/apache/catalina/loader/LocalStrings.properties
index 60b3b6d..cea4b46 100644
--- a/java/org/apache/catalina/loader/LocalStrings.properties
+++ b/java/org/apache/catalina/loader/LocalStrings.properties
@@ -17,55 +17,55 @@ webappClassLoader.addExportsRmi=When running on Java 9 you need to add "--add-op
 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.addPermisionNoCanonicalFile=Unable to obtain a canonical file path from the URL [{0}]
 webappClassLoader.addPermisionNoProtocol=The protocol [{0}] in the URL [{1}] is not supported so no read permission was granted for resources located at this URL
-webappClassLoader.illegalJarPath=Illegal JAR entry detected with name [{0}]
-webappClassLoader.jdbcRemoveFailed=JDBC driver de-registration failed for web application [{0}]
-webappClassLoader.stopped=Illegal access: this web application instance has been stopped already. Could not load [{0}]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
-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.jarsAdded=One or more JARs have been added to the web application [{0}]
 webappClassLoader.jarsModified=One or more JARs have been modified in the web application [{0}]
 webappClassLoader.jarsRemoved=One or more JARs have been removed from the web application [{0}]
 webappClassLoader.javaseClassLoaderNull=The j2seClassLoader attribute may not be null
+webappClassLoader.jdbcRemoveFailed=JDBC driver de-registration failed 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.resourceModified=Resource [{0}] has been modified. The last modified time was [{1}] and is now [{2}]
 webappClassLoader.stackTrace=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. Stack trace of thread:{2}
 webappClassLoader.stackTraceRequestThread=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. Stack trace of request processing thread:[{2}]
 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 following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
 webappClassLoader.superCloseFail=Failure calling close() on super class
+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.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.classDeploy=Deploy class files [{0}] to [{1}]
+webappLoader.copyFailure=Failed to copy resources
 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.mkdirFailure=Failed to create destination directory to copy resources
+webappLoader.readFailure=Unable to read resource [{0}]
 webappLoader.reloadable=Cannot set reloadable property to [{0}]
 webappLoader.setContext.ise=Setting the Context is not permitted while the loader is started.
 webappLoader.starting=Starting this Loader
 webappLoader.stopping=Stopping this Loader
-webappLoader.copyFailure=Failed to copy resources
-webappLoader.mkdirFailure=Failed to create destination directory to copy resources
-webappLoader.readFailure=Unable to read resource [{0}]
diff --git a/java/org/apache/catalina/loader/LocalStrings_es.properties b/java/org/apache/catalina/loader/LocalStrings_es.properties
index 55b7e1f..5a31324 100644
--- a/java/org/apache/catalina/loader/LocalStrings_es.properties
+++ b/java/org/apache/catalina/loader/LocalStrings_es.properties
@@ -13,32 +13,33 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-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.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.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.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.reloadable = No puedo poner la propiedad recargable a [{0}]
-webappLoader.starting = Arrancando este Cargador
-webappLoader.stopping = Parando este Cargador
-webappLoader.copyFailure = No pude copiar los recursos
-webappLoader.mkdirFailure = No pude crear directorio de destino para copiar los recursos
+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.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.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.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.jarDeploy=Despliegue del JAR [{0}] en [{1}]
+webappLoader.mkdirFailure=No pude crear directorio de destino para copiar los recursos
+webappLoader.reloadable=No puedo poner la propiedad recargable a [{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 0a6f6bb..eb3f75b 100644
--- a/java/org/apache/catalina/loader/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/loader/LocalStrings_fr.properties
@@ -13,10 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-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.reloadable=Impossible de mettre la propri\u00e9t\u00e9 de rechargement (reloadable property) \u00e0 [{0}]
-webappLoader.starting=D\u00e9marrage de ce chargeur (loader)
-webappLoader.stopping=Arr\u00eat de ce chargeur (loader)
-
+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.jarDeploy=Déploiement du JAR [{0}] vers [{1}]
+webappLoader.reloadable=Impossible de mettre la propriété de rechargement (reloadable property) à [{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 d9b85da..0e16182 100644
--- a/java/org/apache/catalina/loader/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/loader/LocalStrings_ja.properties
@@ -13,11 +13,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-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\u30c [...]
-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.reloadable=reloadable\u30d7\u30ed\u30d1\u30c6\u30a3\u3092 [{0}] \u306b\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093
-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
+webappClassLoader.stopped=不正なアクセス: このWebアプリケーションのインスタンスは既に停止されています  Could not load [{0}]. 不正なアクセスを引き起こしたスレッドを終了させ、投げられたエラーによりデバッグ用に次のスタックトレースが生成されましたが,機能に影響はありません
 
+webappLoader.classDeploy=クラスファイル [{0}] を [{1}] に配備します
+webappLoader.deploy=クラスリポジトリを作業ディレクトリ [{0}] に配備します
+webappLoader.jarDeploy=JAR [{0}] を [{1}] に配備します
+webappLoader.reloadable=reloadableプロパティを [{0}] に設定できません
+webappLoader.starting=このローダを起動します
+webappLoader.stopping=このローダを停止します
diff --git a/java/org/apache/catalina/manager/LocalStrings.properties b/java/org/apache/catalina/manager/LocalStrings.properties
index 58fa6b3..6588bea 100644
--- a/java/org/apache/catalina/manager/LocalStrings.properties
+++ b/java/org/apache/catalina/manager/LocalStrings.properties
@@ -74,10 +74,9 @@ htmlManagerServlet.diagnosticsSslConnectorTrustedCertsText=List the configured T
 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
@@ -118,9 +117,9 @@ htmlManagerServlet.title=Tomcat Web Application Manager
 managerServlet.alreadyContext=FAIL - Application already exists at path [{0}]
 managerServlet.certsNotAvailable=Certificate information cannot be obtained from this connector at runtime
 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:
@@ -136,17 +135,17 @@ managerServlet.noContext=FAIL - No context exists named [{0}]
 managerServlet.noGlobal=FAIL - No global JNDI resources are available
 managerServlet.noManager=FAIL - No manager exists for path [{0}]
 managerServlet.noSelf=FAIL - The manager cannot reload, undeploy, stop, or undeploy itself
+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.notSslConnector=SSL is not enabled for this connector
-managerServlet.noWrapper=Container has not called setWrapper() for this servlet
 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\
@@ -165,8 +164,8 @@ managerServlet.sslConnectorTrustedCerts=OK - Connector / Trusted Certificate inf
 managerServlet.sslReload=OK - Reloaded TLS configuration for [{0}]
 managerServlet.sslReloadAll=OK - Reloaded TLS configuration for all TLS virtual hosts
 managerServlet.sslReloadFail=FAIL - Failed to reload TLS configuration
-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.storeConfig.invalidMBean=FAIL - Unable to find the StoreConfig Mbean. [{0}] is not a valid name for an MBean.
 managerServlet.storeConfig.noMBean=FAIL - No StoreConfig MBean registered at [{0}]. Registration is typically performed by the StoreConfigLifecycleListener.
diff --git a/java/org/apache/catalina/manager/LocalStrings_de.properties b/java/org/apache/catalina/manager/LocalStrings_de.properties
index 3285ea0..20eca2b 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.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,34 +54,31 @@ 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.deployed=OK - Anwendung mit Kontext Pfad [{0}] installiert
 managerServlet.exception=FEHLER - Ausnahme aufgetreten [{0}]
-managerServlet.invalidPath=FEHLER - Ung\u00fcltiger Kontext Pfad [{0}] angegeben
-managerServlet.listed=OK - Auflistung der Webanwendungen f\u00fcr virtuellen Server [{0}]
+managerServlet.invalidPath=FEHLER - Ungültiger Kontext Pfad [{0}] angegeben
+managerServlet.listed=OK - Auflistung der Webanwendungen für virtuellen Server [{0}]
 managerServlet.listitem={0}:{1}:{2}:{3}
 managerServlet.noCommand=FEHLER - Es wurde kein Kommando angegeben
-managerServlet.noContext=FEHLER - Es existiert kein Kontext f\u00fcr Pfad [{0}]
-managerServlet.noGlobal=FEHLER - Keine globalen JNDI Ressourcen verf\u00fcgbar
-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.noContext=FEHLER - Es existiert kein Kontext für Pfad [{0}]
+managerServlet.noGlobal=FEHLER - Keine globalen JNDI Ressourcen verfügbar
+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
-
-#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.sessions=OK - Sitzungs-Informationen f\u00fcr Anwendung mit Kontext Pfad [{0}]
-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}]
 
+statusServlet.complete=Ausführlicher Server Status
 statusServlet.title=Server Status
-statusServlet.complete=Ausf\u00fchrlicher Server Status
diff --git a/java/org/apache/catalina/manager/LocalStrings_es.properties b/java/org/apache/catalina/manager/LocalStrings_es.properties
index bb64bf6..3ab3745 100644
--- a/java/org/apache/catalina/manager/LocalStrings_es.properties
+++ b/java/org/apache/catalina/manager/LocalStrings_es.properties
@@ -13,100 +13,97 @@
 # 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.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.listed = OK - Aplicaciones listadas para m\u00E1quina virtual [{0}]
-managerServlet.listitem = {0}:{1}:{2}:{3}
-managerServlet.mkdirFail = FALLO - No pude crear directorio [{0}]
-managerServlet.noCommand = FALLO - No se ha especificado comando
-managerServlet.noContext = FALLO - No existe contexto para trayectoria [{0}]
-managerServlet.noGlobal = FALLO - No hay disponibles recursos globales JNDI
-managerServlet.noManager = FALLO - No existe gestor para ruta [{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.alreadyContext=FALLO - Ya existe la aplicación en la trayectoria [{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.listed=OK - Aplicaciones listadas para máquina virtual [{0}]
+managerServlet.listitem={0}:{1}:{2}:{3}
+managerServlet.mkdirFail=FALLO - No pude crear directorio [{0}]
+managerServlet.noCommand=FALLO - No se ha especificado comando
+managerServlet.noContext=FALLO - No existe contexto para trayectoria [{0}]
+managerServlet.noGlobal=FALLO - No hay disponibles recursos globales JNDI
+managerServlet.noManager=FALLO - No existe gestor para ruta [{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}]
 
-#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.expired = [{0}] minutos: expired [{1}] sesiones
-managerServlet.sessiontimeout.unlimited = unlimited minutos: [{0}] sesiones
-
-managerServlet.sessions = OK - Informaci\u00F3n de sesi\u00F3n para aplicaci\u00F3n en trayectoria de contexto [{0}]
-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}]
-
-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 cf3da27..02933fd 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,42 +56,36 @@ 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.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.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.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.listed=OK - Applications listées pour l''hôte virtuel (virtual host) [{0}]
 managerServlet.listitem={0}:{1}:{2}:{3}
-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.noGlobal=ECHEC - Aucune ressource JNDI globale n''est disponible
 managerServlet.noManager=ECHEC - Aucun gestionnaire n''existe pour le chemin [{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.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
-
-#TODO: Please review the following three messages. These are displayed when "Expire sessions" button is pressed in the Manager webapp:
+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}]
+managerServlet.sessiontimeout=[{0}] minutes: [{1}] sessions
 managerServlet.sessiontimeout.expired=[{0}] minutes: [{1}] sessions were expired
 managerServlet.sessiontimeout.unlimited=unlimited time: [{0}] sessions
-managerServlet.sessiontimeout=[{0}] minutes: [{1}] sessions
-
-managerServlet.sessions=OK - Information de session pour l''application au chemin de contexte [{0}]
-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}]
 
 statusServlet.complete=Etat complet du serveur
diff --git a/java/org/apache/catalina/manager/LocalStrings_ja.properties b/java/org/apache/catalina/manager/LocalStrings_ja.properties
index 8ae7ed3..5d42a7d 100644
--- a/java/org/apache/catalina/manager/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/manager/LocalStrings_ja.properties
@@ -13,74 +13,71 @@
 # 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.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.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.deployed=OK - コンテキストパス [{0}] でアプリケーションを配備しました
+managerServlet.exception=FAIL - 例外 [{0}] が発生しました
+managerServlet.invalidPath=FAIL - 無効なコンテキストパス [{0}] が指定されました
+managerServlet.listed=OK - バーチャルホスト [{0}] のアプリケーション一覧です
 managerServlet.listitem={0}:{1}:{2}:{3}
-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.noGlobal=FAIL - \u30b0\u30ed\u30fc\u30d0\u30eb\u306aJNDI\u30ea\u30bd\u30fc\u30b9\u304c\u5229\u7528\u3067\u304d\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.noCommand=FAIL - コマンドが指定されていません
+managerServlet.noContext=FAIL - パス [{0}] のコンテキストが存在しません
+managerServlet.noGlobal=FAIL - グローバルなJNDIリソースが利用できません
+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}] です
 
-#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.expired=[{0}]\u5206: expired [{1}]\u30bb\u30c3\u30b7\u30e7\u30f3
-managerServlet.sessiontimeout.unlimited=unlimited \u5206: [{0}]\u30bb\u30c3\u30b7\u30e7\u30f3
-
-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
-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
-
-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 b4eaf00..7949717 100644
--- a/java/org/apache/catalina/manager/host/LocalStrings.properties
+++ b/java/org/apache/catalina/manager/host/LocalStrings.properties
@@ -34,15 +34,15 @@ hostManagerServlet.noCommand=FAIL - No command was specified
 hostManagerServlet.noHost=FAIL - Host name [{0}] does not exist
 hostManagerServlet.noWrapper=Container has not called setWrapper() for this servlet
 hostManagerServlet.persist=persist: Persisting current configuration
-hostManagerServlet.persisted=OK - Configuration persisted
 hostManagerServlet.persistFailed=FAIL - Failed to persist configuration
+hostManagerServlet.persisted=OK - Configuration persisted
 hostManagerServlet.postCommand=FAIL - Tried to use command [{0}] via a GET request but POST is required
 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
@@ -66,12 +66,12 @@ 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.hostsPersist=Persist
 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 dbc01ee..9341ea8 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/mapper/LocalStrings.properties b/java/org/apache/catalina/mapper/LocalStrings.properties
index 4ea1948..b3574fa 100644
--- a/java/org/apache/catalina/mapper/LocalStrings.properties
+++ b/java/org/apache/catalina/mapper/LocalStrings.properties
@@ -13,19 +13,19 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-mapper.addHost.success=Registered host [{0}]
 mapper.addHost.sameHost=Duplicate registration of the same host [{0}]. Ignored.
-mapper.addHostAlias.success=Registered alias [{0}] for host [{1}]
+mapper.addHost.success=Registered host [{0}]
 mapper.addHostAlias.sameHost=Duplicate registration of alias [{0}] for the same host [{1}]. Ignored.
-mapper.removeWrapper=Removing wrapper from Context [{0}] with path [{1}]
+mapper.addHostAlias.success=Registered alias [{0}] for host [{1}]
 mapper.duplicateHost=Duplicate Host [{0}]. The name is already used by Host [{1}]. This Host will be ignored.
 mapper.duplicateHostAlias=Duplicate host Alias [{0}] in Host [{1}]. The name is already used by Host [{2}]. This Alias will be ignored.
+mapper.removeWrapper=Removing wrapper from Context [{0}] with path [{1}]
 
-mapperListener.unknownDefaultHost=Unknown default host [{0}] for service [{1}]
-mapperListener.registerHost=Register host [{0}] at domain [{1}] for service [{2}]
-mapperListener.unregisterHost=Unregister host [{0}] at domain [{1}] for service [{2}]
-mapperListener.registerContext=Register Context [{0}] for service [{1}]
-mapperListener.unregisterContext=Unregister Context [{0}] for service [{1}]
 mapperListener.pauseContext=Register Context [{0}] as being reloaded for service [{1}]
+mapperListener.registerContext=Register Context [{0}] for service [{1}]
+mapperListener.registerHost=Register host [{0}] at domain [{1}] for service [{2}]
 mapperListener.registerWrapper=Register Wrapper [{0}] in Context [{1}] for service [{2}]
+mapperListener.unknownDefaultHost=Unknown default host [{0}] for service [{1}]
+mapperListener.unregisterContext=Unregister Context [{0}] for service [{1}]
+mapperListener.unregisterHost=Unregister host [{0}] at domain [{1}] for service [{2}]
 mapperListener.unregisterWrapper=Unregister Wrapper [{0}] in Context [{1}] for service [{2}]
diff --git a/java/org/apache/catalina/mbeans/LocalStrings.properties b/java/org/apache/catalina/mbeans/LocalStrings.properties
index 21d4dd4..29999a5 100644
--- a/java/org/apache/catalina/mbeans/LocalStrings.properties
+++ b/java/org/apache/catalina/mbeans/LocalStrings.properties
@@ -16,8 +16,8 @@
 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}]
 
 mBeanFactory.managerContext=Manager components may only be added to Contexts.
diff --git a/java/org/apache/catalina/mbeans/LocalStrings_fr.properties b/java/org/apache/catalina/mbeans/LocalStrings_fr.properties
index 3e2b946..2f9f921 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 1a96cc4..990a409 100644
--- a/java/org/apache/catalina/realm/LocalStrings.properties
+++ b/java/org/apache/catalina/realm/LocalStrings.properties
@@ -13,36 +13,54 @@
 # 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.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
+
+credentialHandler.invalidStoredCredential=The invalid stored credential string [{0}] was provided by the Realm to match with the user provided credentials
+credentialHandler.unableToMutateUserCredential=Failed to mutate user provided credentials. This typically means the CredentialHandler configuration is invalid
+
+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}]
 
-# package org.apache.catalina.realm
+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.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.loginContextCreated=JAAS LoginContext created for username [{0}]
-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.rolePrincipalFailure=No valid role Principals found.
-jaasCallback.username=Returned username [{0}]
+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
 jdbcRealm.exception=Exception performing authentication
 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
@@ -51,46 +69,36 @@ 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
+
+mdCredentialHandler.unknownEncoding=The encoding [{0}] is not supported so the current setting of [{1}] will still be used
+
 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.
+
+pbeCredentialHandler.invalidKeySpec=Unable to generate a password based key
+
 realmBase.algorithm=Invalid message digest algorithm [{0}] specified
-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.hasRoleFailure=Username [{0}] does NOT have role [{1}]
-realmBase.hasRoleSuccess=Username [{0}] has role [{1}]
 realmBase.authenticateFailure=Username [{0}] NOT successfully authenticated
 realmBase.authenticateSuccess=Username [{0}] successfully authenticated
-realmBase.gssNameFail=Failed to extract name from established GSSContext
-realmBase.gotX509Username=Got user name from X509 certificate: [{0}]
+realmBase.cannotGetRoles=Cannot get roles from principal [{0}]
 realmBase.createUsernameRetriever.ClassCastException=Class [{0}] is not an X509UsernameRetriever.
 realmBase.createUsernameRetriever.newInstance=Cannot create object of type [{0}].
 realmBase.credentialHandler.customCredentialHandler=Unable to set the property [{0}] to value [{1}] as a custom CredentialHandler has been configured
-realmBase.cannotGetRoles=Cannot get roles from principal [{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}]
+
 userDatabaseRealm.lookup=Exception looking up UserDatabase under key [{0}]
 userDatabaseRealm.noDatabase=No UserDatabase component found under key [{0}]
-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}]
-combinedRealm.unexpectedMethod=An unexpected call was made to a method on the combined realm
-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
-credentialHandler.invalidStoredCredential=The invalid stored credential string [{0}] was provided by the Realm to match with the user provided credentials
-credentialHandler.unableToMutateUserCredential=Failed to mutate user provided credentials. This typically means the CredentialHandler configuration is invalid
-mdCredentialHandler.unknownEncoding=The encoding [{0}] is not supported so the current setting of [{1}] will still be used
-pbeCredentialHandler.invalidKeySpec=Unable to generate a password based key
\ No newline at end of file
diff --git a/java/org/apache/catalina/realm/LocalStrings_es.properties b/java/org/apache/catalina/realm/LocalStrings_es.properties
index 0ed1722..dd36e88 100644
--- a/java/org/apache/catalina/realm/LocalStrings_es.properties
+++ b/java/org/apache/catalina/realm/LocalStrings_es.properties
@@ -12,65 +12,72 @@
 # 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.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.rolePrincipalFailure = No se han hallado papeles de Principal v\u00E1lidos.
-jaasCallback.username = Devuelto nombre de usuario [{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.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.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.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.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}]
-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}]
-combinedRealm.unexpectedMethod = Una llamada inesperada se realiz\u00F3 a un m\u00E9todo del reino combinado
-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.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}]
+
+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.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.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.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.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.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}]
+
+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}]
diff --git a/java/org/apache/catalina/realm/LocalStrings_fr.properties b/java/org/apache/catalina/realm/LocalStrings_fr.properties
index f376425..b465228 100644
--- a/java/org/apache/catalina/realm/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/realm/LocalStrings_fr.properties
@@ -13,37 +13,37 @@
 # 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.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.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.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}]
+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.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}]
 
+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}]
diff --git a/java/org/apache/catalina/realm/LocalStrings_ja.properties b/java/org/apache/catalina/realm/LocalStrings_ja.properties
index 516deea..dcd276e 100644
--- a/java/org/apache/catalina/realm/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/realm/LocalStrings_ja.properties
@@ -13,42 +13,43 @@
 # 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=認証を実行中の例外です
 
-# 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.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.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.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
-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
+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.authenticateFailure=ユーザ名 [{0}] は認証に失敗しました
+realmBase.authenticateSuccess=ユーザ名 [{0}] は認証に成功しました
+realmBase.digest=ユーザの証明書のダイジェストエラー
+realmBase.forbidden=要求されたリソースへのアクセスが拒否されました
+realmBase.hasRoleFailure=ユーザ名 [{0}] はロール [{1}] を持っていません
+realmBase.hasRoleSuccess=ユーザ名 [{0}] はロール [{1}] を持っています
+
+userDatabaseRealm.lookup=キー [{0}] でユーザデータベースを検索中の例外です
+userDatabaseRealm.noDatabase=キー [{0}] でユーザデータベースコンポーネントが見つかりません
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 2edd6bf..f25349d 100644
--- a/java/org/apache/catalina/servlets/LocalStrings.properties
+++ b/java/org/apache/catalina/servlets/LocalStrings.properties
@@ -34,16 +34,20 @@ 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.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
-webdavservlet.inputstreamclosefail=Failed to close the inputStream of [{0}]
+
 directory.filename=Filename
 directory.lastModified=Last Modified
 directory.parent=Up To [{0}]
 directory.size=Size
 directory.title=Directory Listing For [{0}]
+
+webdavservlet.enternalEntityIgnored=The request included a reference to an external entity with PublicID [{0}] and SystemID [{1}] which was ignored
+webdavservlet.inputstreamclosefail=Failed to close the inputStream of [{0}]
+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 1a09467..729abe6 100644
--- a/java/org/apache/catalina/servlets/LocalStrings_es.properties
+++ b/java/org/apache/catalina/servlets/LocalStrings_es.properties
@@ -13,12 +13,15 @@
 # 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.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}]
+defaultServlet.missingResource=El recurso requerido [{0}] no se encuentra disponible
+
+defaultservlet.skipfail=Sólo se han saltado [{0}] cuando se requirieron [{1}]
+
+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}]
+
+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 f64c7b8..08973f7 100644
--- a/java/org/apache/catalina/servlets/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/servlets/LocalStrings_fr.properties
@@ -13,10 +13,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-webdavservlet.jaxpfailed=Erreur d''initialisation de JAXP
 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}]
 
+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 fa62bcc..b382c6f 100644
--- a/java/org/apache/catalina/servlets/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/servlets/LocalStrings_ja.properties
@@ -13,9 +13,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-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.filename=ファイル名
+directory.lastModified=最終更新
+directory.parent=[{0}] に移動
+directory.size=サイズ
+directory.title=[{0}] のディレクトリの一覧
+
+webdavservlet.jaxpfailed=JAXPの初期化に失敗しました
diff --git a/java/org/apache/catalina/session/LocalStrings.properties b/java/org/apache/catalina/session/LocalStrings.properties
index 222d9a8..0b573e9 100644
--- a/java/org/apache/catalina/session/LocalStrings.properties
+++ b/java/org/apache/catalina/session/LocalStrings.properties
@@ -13,23 +13,25 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-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
+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}]
+
+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.container.noop=Managers added to containers other than Contexts will never be used
 managerBase.contextNull=The Context must be set to a non-null value before the Manager is used
 managerBase.createSession.ise=createSession: Too many active sessions
@@ -37,24 +39,40 @@ managerBase.sessionAttributeNameFilter=Skipped session attribute named [{0}] bec
 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
+
+persistentManager.backupMaxIdle=Backing up session [{0}] to Store, idle for [{1}] seconds
+persistentManager.deserializeError=Error deserializing Session [{0}]: [{1}]
+persistentManager.loading=Loading [{0}] persisted sessions
+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
+
 standardManager.loading=Loading persisted sessions from [{0}]
 standardManager.loading.exception=Exception while loading persisted sessions
+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.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.getIdleTime.ise=getIdleTime: Session already invalidated
-standardSession.getThisAccessedTime.ise=getThisAccessedTime: Session already invalidated
 standardSession.getLastAccessedTime.ise=getLastAccessedTime: 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}]
@@ -63,16 +81,3 @@ 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
-persistentManager.loading=Loading [{0}] persisted sessions
-persistentManager.unloading=Saving [{0}] persisted sessions
-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.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.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
diff --git a/java/org/apache/catalina/session/LocalStrings_es.properties b/java/org/apache/catalina/session/LocalStrings_es.properties
index 6ab9106..e0b77cc 100644
--- a/java/org/apache/catalina/session/LocalStrings_es.properties
+++ b/java/org/apache/catalina/session/LocalStrings_es.properties
@@ -13,47 +13,52 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-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}]
-standardManager.loading = Cargando sesiones persistidas desde [{0}]
-standardManager.loading.exception = Exception al cargar sesiones persistidas
-standardManager.unloading = Salvando sesiones persistidas a [{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.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
-persistentManager.loading = Cargando [{0}] sesiones persistidas
-persistentManager.unloading = Salvando [{0}] sesiones persistidas
-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.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.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}]
+
+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.backupMaxIdle=Respaldando sesión [{0}] a Almacén, ociosa durante [{1}] segundos
+persistentManager.deserializeError=Error des-serializando Sesión [{0}]: [{1}]
+persistentManager.loading=Cargando [{0}] sesiones persistidas
+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
+
+standardManager.loading=Cargando sesiones persistidas desde [{0}]
+standardManager.loading.exception=Exception al cargar sesiones persistidas
+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}]
+
+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.getLastAccessedTime.ise=getLastAccessedTime: 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.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 9f10ad8..41152af 100644
--- a/java/org/apache/catalina/session/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/session/LocalStrings_fr.properties
@@ -13,45 +13,50 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-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.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.checkConnectionClassNotFoundException=La classe du driver JDBC n''a pas \u00e9t\u00e9 trouv\u00e9e [{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}]
+
+fileStore.loading=Chargement de la Session [{0}] depuis le fichier [{1}]
+fileStore.removing=Retrait de la Session [{0}] du fichier [{1}]
+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}]
-standardManager.loading=Chargement des sessions qui ont persist\u00e9 depuis [{0}]
-standardManager.loading.exception="Exception" lors du chargement de sessions persistantes
-standardManager.unloading=Sauvegarde des sessions ayant persist\u00e9 vers [{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.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
+managerBase.sessionTimeout=Réglage du délai d''inactivité (timeout) de session invalide [{0}]
+
+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.loading=Chargement de [{0}] sessions persistantes
-persistentManager.unloading=Sauvegarde de [{0}] sessions persistantes
-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.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.backupMaxIdle=Sauvegarde de la session [{0}] vers le stockage (Store), en attente pour [{1}] secondes
-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.swapIn=Basculement depuis le stockage (swap in) de la session [{0}]
+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
+
+standardManager.loading=Chargement des sessions qui ont persisté depuis [{0}]
+standardManager.loading.exception="Exception" lors du chargement de sessions persistantes
+standardManager.managerLoad=Exception au chargement des sessions depuis le stockage persistant (persistent storage)
+standardManager.managerUnload=Exception au déchargement des sessions vers le stockage persistant (persistent storage)
+standardManager.unloading=Sauvegarde des sessions ayant persisté vers [{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.getLastAccessedTime.ise="getLastAccessedTime": 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.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 adbec40..5a98738 100644
--- a/java/org/apache/catalina/session/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/session/LocalStrings_ja.properties
@@ -13,47 +13,52 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-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}]
-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.exception=\u6301\u7d9a\u3055\u308c\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u30ed\u30fc\u30c9\u4e2d\u306bException\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-standardManager.unloading=\u6301\u7d9a\u3055\u308c\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u3092 [{0}] \u306b\u4fdd\u5b58\u3057\u307e\u3059
-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.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
-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.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.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.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}] に保存します
+
+fileStore.loading=セッション [{0}] をファイル [{1}] からロードします
+fileStore.removing=セッション [{0}] をファイル [{1}] から削除します
+fileStore.saving=セッション [{0}] をファイル [{1}] に保存します
+
+managerBase.createSession.ise=createSession: アクティブセッションが多すぎます
+managerBase.sessionTimeout=無効なセッションタイムアウト設定です [{0}]
+
+persistentManager.backupMaxIdle=[{1}]秒間アイドルしているセッション [{0}] を保存するためにバックアップしています
+persistentManager.deserializeError=セッション [{0}] をデシリアライズ中のエラーです: [{1}]
+persistentManager.loading=[{0}] の持続されたセッションをロードします
+persistentManager.serializeError=セッション [{0}] をシリアライズ中のエラーです: [{1}]
+persistentManager.swapIn=セッション [{0}] をスワップインしています
+persistentManager.swapMaxIdle=[{1}]秒間アイドルしているセッション [{0}] を保存するためにスワップしています
+persistentManager.swapTooManyActive=セッションが多すぎるので、[{1}]秒アイドルしているセッション [{0}] をスワップアウトします
+persistentManager.tooManyActive=アクティブセッションが多すぎます、[{0}]、スワップアウトするためにアイドルセッションを探しています
+persistentManager.unloading=[{0}] の持続されたセッションを保存します
+
+standardManager.loading=[{0}] から持続されたセッションをロードしています
+standardManager.loading.exception=持続されたセッションをロード中にExceptionが発生しました
+standardManager.managerLoad=永続記憶装置からセッションをロード中の例外です
+standardManager.managerUnload=永続記憶装置にセッションをアンロード中の例外です
+standardManager.unloading=持続されたセッションを [{0}] に保存します
+
+standardSession.attributeEvent=セッション属性イベントリスナが例外を投げました
+standardSession.bindingEvent=セッションバインディングイベントリスナが例外を投げました
+standardSession.getAttribute.ise=getAttribute: セッションは既に無効化されています
+standardSession.getAttributeNames.ise=getAttributeNames: セッションは既に無効化されています
+standardSession.getCreationTime.ise=getCreationTime: セッションは既に無効化されています
+standardSession.getLastAccessedTime.ise=getLastAccessedTime: セッションは既に無効化されています
+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.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 322e542..a55f45d 100644
--- a/java/org/apache/catalina/startup/LocalStrings.properties
+++ b/java/org/apache/catalina/startup/LocalStrings.properties
@@ -19,13 +19,17 @@ 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.
+
+connector.noSetExecutor=Connector [{0}] does not support external executors. Method setExecutor(java.util.concurrent.Executor) not found.
+connector.noSetSSLImplementationName=Connector [{0}] does not support changing the SSL implementation. Method setSslImplementationName(String) not found.
+
 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}]
@@ -72,41 +76,46 @@ 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.deleteOld=An expanded directory [{0}] was found with a last modified time that did not match the associated WAR. It will be deleted.
 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
 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.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}]
@@ -117,11 +126,12 @@ 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.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
 
 tomcat.addWebapp.conflictChild=Unable to deploy WAR at [{0}] to context path [{1}] because of existing context [{2}]
@@ -129,26 +139,25 @@ 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}
-webAnnotationSet.invalidInjection=Invalid method resource injection annotation.
+versionLoggerListener.vm.vendor=JVM Vendor:            {0}
+versionLoggerListener.vm.version=JVM Version:           {0}
 
-connector.noSetExecutor=Connector [{0}] does not support external executors. Method setExecutor(java.util.concurrent.Executor) not found.
-connector.noSetSSLImplementationName=Connector [{0}] does not support changing the SSL implementation. Method setSslImplementationName(String) not found.
+webAnnotationSet.invalidInjection=Invalid method resource injection annotation.
diff --git a/java/org/apache/catalina/startup/LocalStrings_es.properties b/java/org/apache/catalina/startup/LocalStrings_es.properties
index 03bc567..fca0578 100644
--- a/java/org/apache/catalina/startup/LocalStrings_es.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_es.properties
@@ -13,85 +13,91 @@
 # 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}]
-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.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.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.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.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}]
-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"
+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.
+
+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.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.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.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.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}]
+
+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"
diff --git a/java/org/apache/catalina/startup/LocalStrings_fr.properties b/java/org/apache/catalina/startup/LocalStrings_fr.properties
index 0ab7427..11199f2 100644
--- a/java/org/apache/catalina/startup/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_fr.properties
@@ -13,41 +13,45 @@
 # 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.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.cce=L''objet donnée évènement cycle de vie (Lifecycle event data object) [{0}] n''est pas un hôte
+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.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}]
-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}]
+
+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 7b50177..3759fdb 100644
--- a/java/org/apache/catalina/startup/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_ja.properties
@@ -13,42 +13,46 @@
 # 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.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.context.restart=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8 [{0}] \u3092\u518d\u8d77\u52d5\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059
-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
-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.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.start=HostConfig: 処理を停止します
+hostConfig.stop=HostConfig: 処理を停止します
+hostConfig.undeploy=コンテキストパス [{0}] の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/storeconfig/LocalStrings.properties b/java/org/apache/catalina/storeconfig/LocalStrings.properties
index db3724c..d480d22 100644
--- a/java/org/apache/catalina/storeconfig/LocalStrings.properties
+++ b/java/org/apache/catalina/storeconfig/LocalStrings.properties
@@ -13,8 +13,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-config.storeServerError=Error storing server
 config.storeContextError=Error storing context [{0}]
-factory.storeTag=store tag [{0}] ( Object: [{1}] )
+config.storeServerError=Error storing server
+
 factory.storeNoDescriptor=Descriptor for element class [{0}] not configured!
-storeConfigListener.notServer=The listener was added to component other than the Server and will therefore be ignored
\ No newline at end of file
+factory.storeTag=store tag [{0}] ( Object: [{1}] )
+
+storeConfigListener.notServer=The listener was added to component other than the Server and will therefore be ignored
diff --git a/java/org/apache/catalina/tribes/group/LocalStrings.properties b/java/org/apache/catalina/tribes/group/LocalStrings.properties
index ad18f38..3b22f09 100644
--- a/java/org/apache/catalina/tribes/group/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/group/LocalStrings.properties
@@ -15,12 +15,14 @@
 
 channelCoordinator.alreadyStarted=Channel already started for level:[{0}]
 channelCoordinator.invalid.startLevel=Invalid start level, valid levels are:SND_RX_SEQ,SND_TX_SEQ,MBR_TX_SEQ,MBR_RX_SEQ
-groupChannel.nullMessage=Can't send a NULL message
+
+groupChannel.listener.alreadyExist=Listener already exists:[{0}][{1}]
 groupChannel.noDestination=No destination given
-groupChannel.unable.deserialize=Unable to deserialize message:[{0}]
+groupChannel.nullMessage=Can't send a NULL message
+groupChannel.optionFlag.conflict=Interceptor option flag conflict: [{0}]
 groupChannel.receiving.error=Error receiving message:
 groupChannel.sendFail.noRpcChannelReply=Unable to find rpc channel, failed to send NoRpcChannelReply.
-groupChannel.optionFlag.conflict=Interceptor option flag conflict: [{0}]
-groupChannel.listener.alreadyExist=Listener already exists:[{0}][{1}]
+groupChannel.unable.deserialize=Unable to deserialize message:[{0}]
 groupChannel.unable.sendHeartbeat=Unable to send heartbeat through Tribes interceptor stack. Will try to sleep again.
+
 rpcChannel.replyFailed=Unable to send back reply in RpcChannel.
diff --git a/java/org/apache/catalina/tribes/group/interceptors/LocalStrings.properties b/java/org/apache/catalina/tribes/group/interceptors/LocalStrings.properties
index a258a23..3a1170d 100644
--- a/java/org/apache/catalina/tribes/group/interceptors/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/group/interceptors/LocalStrings.properties
@@ -13,8 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-domainFilterInterceptor.message.refused=Received message from cluster[{0}] was refused.
 domainFilterInterceptor.member.refused=Member was refused to join cluster[{0}]
+domainFilterInterceptor.message.refused=Received message from cluster[{0}] was refused.
+
 encryptInterceptor.algorithm.required=Encryption algorithm is required, fully-specified e.g. AES/CBC/PKCS5Padding
 encryptInterceptor.algorithm.unsupported-mode=EncryptInterceptor does not support block cipher mode [{0}]
 encryptInterceptor.decrypt.error.short-message=Failed to decrypt message: premature end-of-message
@@ -23,49 +24,59 @@ encryptInterceptor.encrypt.failed=Failed to encrypt message
 encryptInterceptor.init.failed=Failed to initialize EncryptInterceptor
 encryptInterceptor.key.required=Encryption key is required
 encryptInterceptor.tcpFailureDetector.ordering=EncryptInterceptor must be upstream of TcpFailureDetector. Please re-order EncryptInterceptor to be listed before TcpFailureDetector in your channel interceptor pipeline.
-fragmentationInterceptor.heartbeat.failed=Unable to perform heartbeat clean up in the frag interceptor
+
 fragmentationInterceptor.fragments.missing=Fragments are missing.
+fragmentationInterceptor.heartbeat.failed=Unable to perform heartbeat clean up in the frag interceptor
+
 gzipInterceptor.compress.failed=Unable to compress byte contents
 gzipInterceptor.decompress.failed=Unable to decompress byte contents
+
+messageDispatchInterceptor.AsyncMessage.failed=Error while processing async message.
+messageDispatchInterceptor.completeMessage.failed=Unable to report back completed message.
+messageDispatchInterceptor.errorMessage.failed=Unable to report back error message.
 messageDispatchInterceptor.queue.full=Asynchronous queue is full, reached its limit of [{0}] bytes, current:[{1}] bytes.
 messageDispatchInterceptor.unableAdd.queue=Unable to add the message to the async queue, queue bug?
 messageDispatchInterceptor.warning.optionflag=Warning, you are overriding the asynchronous option flag, this will disable the Channel.SEND_OPTIONS_ASYNCHRONOUS that other apps might use.
-messageDispatchInterceptor.completeMessage.failed=Unable to report back completed message.
-messageDispatchInterceptor.AsyncMessage.failed=Error while processing async message.
-messageDispatchInterceptor.errorMessage.failed=Unable to report back error message.
+
 nonBlockingCoordinator.electionMessage.sendfailed=Unable to send election message to:[{0}]
-nonBlockingCoordinator.processCoordinationMessage.failed=Error processing coordination message. Could be fatal.
-nonBlockingCoordinator.memberAdded.failed=Unable to start election when member was added.
-nonBlockingCoordinator.memberDisappeared.failed=Unable to start election when member was removed.
-nonBlockingCoordinator.heartbeat.inconsistency=Heartbeat found inconsistency, restart election
 nonBlockingCoordinator.heartbeat.failed=Unable to perform heartbeat.
+nonBlockingCoordinator.heartbeat.inconsistency=Heartbeat found inconsistency, restart election
+nonBlockingCoordinator.memberAdded.failed=Unable to start election when member was added.
 nonBlockingCoordinator.memberAlive.failed=Unable to perform member alive check, assuming member down.
+nonBlockingCoordinator.memberDisappeared.failed=Unable to start election when member was removed.
+nonBlockingCoordinator.processCoordinationMessage.failed=Error processing coordination message. Could be fatal.
+
 orderInterceptor.messageAdded.sameCounter=Message added has the same counter, synchronization bug. Disable the order interceptor
+
 staticMembershipInterceptor.no.failureDetector=There is no TcpFailureDetector. Automatic detection of static members does not work properly. By defining the StaticMembershipInterceptor under the TcpFailureDetector, automatic detection of the static members will work.
 staticMembershipInterceptor.no.pingInterceptor=There is no TcpPingInterceptor. The health check of static members does not work properly. By defining the TcpPingInterceptor, the health check of static members will work.
 staticMembershipInterceptor.sendLocalMember.failed=Local member notification failed.
 staticMembershipInterceptor.sendShutdown.failed=Shutdown notification failed.
-tcpFailureDetector.memberDisappeared.verify=Received memberDisappeared[{0}] message. Will verify.
+
 tcpFailureDetector.already.disappeared=Verification complete. Member already disappeared[{0}]
-tcpFailureDetector.member.disappeared=Verification complete. Member disappeared[{0}]
-tcpFailureDetector.still.alive=Verification complete. Member still alive[{0}]
+tcpFailureDetector.failureDetection.failed=Unable to perform failure detection check, assuming member down.[{0}]
 tcpFailureDetector.heartbeat.failed=Unable to perform heartbeat on the TcpFailureDetector.
+tcpFailureDetector.member.disappeared=Verification complete. Member disappeared[{0}]
+tcpFailureDetector.memberDisappeared.verify=Received memberDisappeared[{0}] message. Will verify.
 tcpFailureDetector.performBasicCheck.memberAdded=Member added, even though we weren''t notified:[{0}]
-tcpFailureDetector.suspectMember.dead=Suspect member, confirmed dead.[{0}]
+tcpFailureDetector.still.alive=Verification complete. Member still alive[{0}]
 tcpFailureDetector.suspectMember.alive=Suspect member, confirmed alive.[{0}]
-tcpFailureDetector.failureDetection.failed=Unable to perform failure detection check, assuming member down.[{0}]
+tcpFailureDetector.suspectMember.dead=Suspect member, confirmed dead.[{0}]
+
 tcpPingInterceptor.ping.failed=Unable to send TCP ping.
 tcpPingInterceptor.pingFailed.pingThread=Unable to send ping from TCP ping thread.
-throughputInterceptor.report=ThroughputInterceptor Report[\
-  \n\tTx Msg:{0} messages\
-  \n\tSent:{1} MB (total)\
-  \n\tSent:{2} MB (application)\
-  \n\tTime:{3} seconds\
-  \n\tTx Speed:{4} MB/sec (total)\
-  \n\tTxSpeed:{5} MB/sec (application)\
-  \n\tError Msg:{6}\
-  \n\tRx Msg:{7} messages\
-  \n\tRx Speed:{8} MB/sec (since 1st msg)\
-  \n\tReceived:{9} MB]\n
-twoPhaseCommitInterceptor.originalMessage.missing=Received a confirmation, but original message is missing. Id:[{0}]
+
+throughputInterceptor.report=ThroughputInterceptor Report[\n\
+\tTx Msg:{0} messages\n\
+\tSent:{1} MB (total)\n\
+\tSent:{2} MB (application)\n\
+\tTime:{3} seconds\n\
+\tTx Speed:{4} MB/sec (total)\n\
+\tTxSpeed:{5} MB/sec (application)\n\
+\tError Msg:{6}\n\
+\tRx Msg:{7} messages\n\
+\tRx Speed:{8} MB/sec (since 1st msg)\n\
+\tReceived:{9} MB]\n
+
 twoPhaseCommitInterceptor.heartbeat.failed=Unable to perform heartbeat on the TwoPhaseCommit interceptor.
+twoPhaseCommitInterceptor.originalMessage.missing=Received a confirmation, but original message is missing. Id:[{0}]
diff --git a/java/org/apache/catalina/tribes/io/LocalStrings.properties b/java/org/apache/catalina/tribes/io/LocalStrings.properties
index af6c4b2..4d84cc4 100644
--- a/java/org/apache/catalina/tribes/io/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/io/LocalStrings.properties
@@ -14,11 +14,14 @@
 # limitations under the License.
 
 bufferPool.created=Created a buffer pool with max size:[{0}] bytes of type: [{1}]
+
 objectReader.retrieveFailed.socketReceiverBufferSize=Unable to retrieve the socket receiver buffer size, setting to default 43800 bytes.
+
 replicationStream.conflict=conflicting non-public interface class loaders
-xByteBuffer.size.larger.buffer=Size is larger than existing buffer.
-xByteBuffer.unableTrim=Can''t trim more bytes than are available. length:[{0}] trim:[{1}]
+
 xByteBuffer.discarded.invalidHeader=Discarded the package, invalid header
 xByteBuffer.no.package=No package exists in XByteBuffer
+xByteBuffer.size.larger.buffer=Size is larger than existing buffer.
 xByteBuffer.unableCreate=Unable to create data package, buffer is too small.
-xByteBuffer.wrong.class=Message has the wrong class. It should implement Serializable, instead it is:[{0}]
\ No newline at end of file
+xByteBuffer.unableTrim=Can''t trim more bytes than are available. length:[{0}] trim:[{1}]
+xByteBuffer.wrong.class=Message has the wrong class. It should implement Serializable, instead it is:[{0}]
diff --git a/java/org/apache/catalina/tribes/jmx/LocalStrings.properties b/java/org/apache/catalina/tribes/jmx/LocalStrings.properties
index 742c7be..1abab46 100644
--- a/java/org/apache/catalina/tribes/jmx/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/jmx/LocalStrings.properties
@@ -15,7 +15,7 @@
 
 jmxRegistry.no.domain=JMX domain is not specified
 jmxRegistry.objectName.failed=The requested ObjectName [{0}] is not valid
-jmxRegistry.registerJmx.notCompliant=The requested object[{0}] is not compliant with JMX specification
 jmxRegistry.registerJmx.failed=Failed to register object [{0}] with name [{1}]
+jmxRegistry.registerJmx.notCompliant=The requested object[{0}] is not compliant with JMX specification
+jmxRegistry.unregisterJmx.failed=Failed to unregister MBean with name [{0}]
 jmxRegistry.unregisterJmx.notFound=The requested ObjectName [{0}] has not been registered in the MBeanServer
-jmxRegistry.unregisterJmx.failed=Failed to unregister MBean with name [{0}]
\ No newline at end of file
diff --git a/java/org/apache/catalina/tribes/membership/LocalStrings.properties b/java/org/apache/catalina/tribes/membership/LocalStrings.properties
index 65b7ac6..bd2742b 100644
--- a/java/org/apache/catalina/tribes/membership/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/membership/LocalStrings.properties
@@ -13,40 +13,44 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-McastService.parseTTL=Unable to parse TTL: [{0}]
+McastService.domain=Unable to send domain update
 McastService.parseSoTimeout=Unable to parse SoTimeout: [{0}]
-McastService.stopFail=Unable to stop the mcast service, level: [{0}]
+McastService.parseTTL=Unable to parse TTL: [{0}]
 McastService.payload=Unable to send payload update
-McastService.domain=Unable to send domain update
+McastService.stopFail=Unable to stop the mcast service, level: [{0}]
+
+mcastService.exceed.maxPacketSize=Packet length[{0}] exceeds max packet size of [{1}] bytes.
 mcastService.missing.property=McastService:Required property [{0}] is missing.
 mcastService.noStart=Multicast send is not started or enabled.
-mcastService.exceed.maxPacketSize=Packet length[{0}] exceeds max packet size of [{1}] bytes.
+
 mcastServiceImpl.bind=Attempting to bind the multicast socket to [{0}:{1}]
 mcastServiceImpl.bind.failed=Binding to multicast address, failed. Binding to port only.
-mcastServiceImpl.setInterface=Setting multihome multicast interface to:[{0}]
-mcastServiceImpl.setSoTimeout=Setting cluster mcast soTimeout to [{0}]
-mcastServiceImpl.setTTL=Setting cluster mcast TTL to [{0}]
-mcastServiceImpl.receive.running=McastService.receive already running.
-mcastServiceImpl.unable.join=Unable to join multicast group, make sure your system has multicasting enabled.
-mcastServiceImpl.send.running=McastService.send already running.
+mcastServiceImpl.error.receiving=Error receiving mcast package. Sleeping 500ms
 mcastServiceImpl.invalid.startLevel=Invalid start level. Only acceptable levels are Channel.MBR_RX_SEQ and Channel.MBR_TX_SEQ
-mcastServiceImpl.waitForMembers.start=Sleeping for [{0}] milliseconds to establish cluster membership, start level:[{1}]
-mcastServiceImpl.waitForMembers.done=Done sleeping, membership established, start level:[{0}]
 mcastServiceImpl.invalid.stopLevel=Invalid stop level. Only acceptable levels are Channel.MBR_RX_SEQ and Channel.MBR_TX_SEQ
-mcastServiceImpl.packet.tooLong=Multicast packet received was too long, dropping package:[{0}]
-mcastServiceImpl.unableReceive.broadcastMessage=Unable to receive broadcast message.
 mcastServiceImpl.memberDisappeared.failed=Unable to process member disappeared message.
-mcastServiceImpl.error.receiving=Error receiving mcast package. Sleeping 500ms
-mcastServiceImpl.send.failed=Unable to send mcast message.
-mcastServiceImpl.recovery.stopFailed=Recovery thread failed to stop membership service.
-mcastServiceImpl.recovery.startFailed=Recovery thread failed to start membership service.
+mcastServiceImpl.packet.tooLong=Multicast packet received was too long, dropping package:[{0}]
+mcastServiceImpl.receive.running=McastService.receive already running.
 mcastServiceImpl.recovery=Tribes membership, running recovery thread, multicasting is not functional.
-mcastServiceImpl.recovery.successful=Membership recovery was successful.
 mcastServiceImpl.recovery.failed=Recovery attempt [{0}] failed, trying again in [{1}] seconds
+mcastServiceImpl.recovery.startFailed=Recovery thread failed to start membership service.
+mcastServiceImpl.recovery.stopFailed=Recovery thread failed to stop membership service.
+mcastServiceImpl.recovery.successful=Membership recovery was successful.
+mcastServiceImpl.send.failed=Unable to send mcast message.
+mcastServiceImpl.send.running=McastService.send already running.
+mcastServiceImpl.setInterface=Setting multihome multicast interface to:[{0}]
+mcastServiceImpl.setSoTimeout=Setting cluster mcast soTimeout to [{0}]
+mcastServiceImpl.setTTL=Setting cluster mcast TTL to [{0}]
+mcastServiceImpl.unable.join=Unable to join multicast group, make sure your system has multicasting enabled.
+mcastServiceImpl.unableReceive.broadcastMessage=Unable to receive broadcast message.
+mcastServiceImpl.waitForMembers.done=Done sleeping, membership established, start level:[{0}]
+mcastServiceImpl.waitForMembers.start=Sleeping for [{0}] milliseconds to establish cluster membership, start level:[{1}]
+
 memberImpl.invalid.package.begin=Invalid package, should start with:[{0}]
-memberImpl.package.small=Member package to small to validate.
-memberImpl.notEnough.bytes=Not enough bytes in member package.
 memberImpl.invalid.package.end=Invalid package, should end with:[{0}]
-memberImpl.unableParse.hostname=Unable to parse hostname.
 memberImpl.large.payload=Payload is to large for tribes to handle.
-staticMember.invalid.uuidLength=UUID must be exactly 16 bytes, not:[{0}]
\ No newline at end of file
+memberImpl.notEnough.bytes=Not enough bytes in member package.
+memberImpl.package.small=Member package to small to validate.
+memberImpl.unableParse.hostname=Unable to parse hostname.
+
+staticMember.invalid.uuidLength=UUID must be exactly 16 bytes, not:[{0}]
diff --git a/java/org/apache/catalina/tribes/tipis/LocalStrings.properties b/java/org/apache/catalina/tribes/tipis/LocalStrings.properties
index 7a309f5..7c37535 100644
--- a/java/org/apache/catalina/tribes/tipis/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/tipis/LocalStrings.properties
@@ -13,38 +13,41 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-abstractReplicatedMap.init.start=Initializing AbstractReplicatedMap with context name:[{0}]
-abstractReplicatedMap.unableSend.startMessage=Unable to send map start message.
-abstractReplicatedMap.unableStart=Unable to start replicated map.
-abstractReplicatedMap.init.completed=AbstractReplicatedMap[{0}] initialization was completed in [{1}] ms.
 abstractReplicatedMap.broadcast.noReplies=broadcast received 0 replies, probably a timeout.
-abstractReplicatedMap.unable.diffObject=Unable to diff object. Will replicate the entire object instead.
-abstractReplicatedMap.unable.replicate=Unable to replicate data.
+abstractReplicatedMap.heartbeat.failed=Unable to send AbstractReplicatedMap.ping message
+abstractReplicatedMap.init.completed=AbstractReplicatedMap[{0}] initialization was completed in [{1}] ms.
+abstractReplicatedMap.init.start=Initializing AbstractReplicatedMap with context name:[{0}]
+abstractReplicatedMap.leftOver.ignored=Message[{0}] is ignored.
+abstractReplicatedMap.leftOver.pingMsg=PING message has been received beyond the timeout period. The map member[{0}] might have been removed from the map membership.
+abstractReplicatedMap.mapMember.unavailable=Member[{0}] is not available yet.
+abstractReplicatedMap.mapMemberAdded.added=Map member added:[{0}]
+abstractReplicatedMap.mapMemberAdded.nullMember=Notified member is not registered in the membership:[{0}].
+abstractReplicatedMap.member.disappeared=Member[{0}] disappeared. Related map entries will be relocated to the new node.
+abstractReplicatedMap.ping.stateTransferredMember=Member[{0}] is state transferred but not available yet.
+abstractReplicatedMap.ping.timeout=Member[{0}] in the Map[{1}] has timed-out in the ping processing.
+abstractReplicatedMap.relocate.complete=Relocation of map entries was complete in [{0}] ms.
 abstractReplicatedMap.transferState.noReplies=Transfer state, 0 replies, probably a timeout.
-abstractReplicatedMap.unable.transferState=Unable to transfer AbstractReplicatedMap state.
 abstractReplicatedMap.unable.deserialize.MapMessage=Unable to deserialize MapMessage.
-abstractReplicatedMap.unableApply.diff=Unable to apply diff to key:[{0}]
-abstractReplicatedMap.unableSelect.backup=Unable to select backup node.
-abstractReplicatedMap.member.disappeared=Member[{0}] disappeared. Related map entries will be relocated to the new node.
+abstractReplicatedMap.unable.diffObject=Unable to diff object. Will replicate the entire object instead.
+abstractReplicatedMap.unable.get=Unable to replicate out data for a AbstractReplicatedMap.get operation
+abstractReplicatedMap.unable.put=Unable to replicate out data for a AbstractReplicatedMap.put operation
 abstractReplicatedMap.unable.relocate=Unable to relocate[{0}] to a new backup node
-abstractReplicatedMap.relocate.complete=Relocation of map entries was complete in [{0}] ms.
-abstractReplicatedMap.heartbeat.failed=Unable to send AbstractReplicatedMap.ping message
 abstractReplicatedMap.unable.remove=Unable to replicate out data for a AbstractReplicatedMap.remove operation
+abstractReplicatedMap.unable.replicate=Unable to replicate data.
 abstractReplicatedMap.unable.retrieve=Unable to retrieve remote object for key:[{0}]
-abstractReplicatedMap.unable.get=Unable to replicate out data for a AbstractReplicatedMap.get operation
-abstractReplicatedMap.unable.put=Unable to replicate out data for a AbstractReplicatedMap.put operation
-abstractReplicatedMap.mapMemberAdded.nullMember=Notified member is not registered in the membership:[{0}].
-abstractReplicatedMap.mapMemberAdded.added=Map member added:[{0}]
-abstractReplicatedMap.leftOver.pingMsg=PING message has been received beyond the timeout period. The map member[{0}] might have been removed from the map membership.
-abstractReplicatedMap.leftOver.ignored=Message[{0}] is ignored.
-abstractReplicatedMap.mapMember.unavailable=Member[{0}] is not available yet.
-abstractReplicatedMap.ping.timeout=Member[{0}] in the Map[{1}] has timed-out in the ping processing.
-abstractReplicatedMap.ping.stateTransferredMember=Member[{0}] is state transferred but not available yet.
-mapMessage.deserialize.error.key=Deserialization error of the MapMessage.key
-mapMessage.deserialize.error.value=Deserialization error of the MapMessage.value
+abstractReplicatedMap.unable.transferState=Unable to transfer AbstractReplicatedMap state.
+abstractReplicatedMap.unableApply.diff=Unable to apply diff to key:[{0}]
+abstractReplicatedMap.unableSelect.backup=Unable to select backup node.
+abstractReplicatedMap.unableSend.startMessage=Unable to send map start message.
+abstractReplicatedMap.unableStart=Unable to start replicated map.
+
 lazyReplicatedMap.unableReplicate.backup=Unable to replicate backup key:[{0}] to backup:[{1}]. Reason:[{2}]
 lazyReplicatedMap.unableReplicate.proxy=Unable to replicate proxy key:[{0}] to backup:[{1}]. Reason:[{2}]
+
+mapMessage.deserialize.error.key=Deserialization error of the MapMessage.key
+mapMessage.deserialize.error.value=Deserialization error of the MapMessage.value
+
 replicatedMap.member.disappeared=Member[{0}] disappeared. Related map entries will be relocated to the new node.
-replicatedMap.unable.relocate=Unable to relocate[{0}] to a new backup node
 replicatedMap.relocate.complete=Relocation of map entries was complete in [{0}] ms.
-replicatedMap.unableReplicate.completely=Unable to replicate backup key:[{0}]. Success nodes:[{1}]. Failed nodes:[{2}].
\ No newline at end of file
+replicatedMap.unable.relocate=Unable to relocate[{0}] to a new backup node
+replicatedMap.unableReplicate.completely=Unable to replicate backup key:[{0}]. Success nodes:[{1}]. Failed nodes:[{2}].
diff --git a/java/org/apache/catalina/tribes/transport/LocalStrings.properties b/java/org/apache/catalina/tribes/transport/LocalStrings.properties
index 495318b..2d09e7d 100644
--- a/java/org/apache/catalina/tribes/transport/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/transport/LocalStrings.properties
@@ -13,10 +13,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-pooledSender.closed.queue=Queue is closed
 PooledSender.senderDisconnectFail=Failed to disconnect sender
+
+pooledSender.closed.queue=Queue is closed
+
 receiverBase.bind.failed=Failed bind replication listener on address:[{0}]
 receiverBase.socket.bind=Receiver Server Socket bound to:[{0}]
-receiverBase.unable.bind=Unable to bind server socket to:[{0}] throwing error.
 receiverBase.udp.bind=UDP Receiver Server Socket bound to:[{0}]
-receiverBase.unable.bind.udp=Unable to bind UDP socket to:[{0}] throwing error.
\ No newline at end of file
+receiverBase.unable.bind=Unable to bind server socket to:[{0}] throwing error.
+receiverBase.unable.bind.udp=Unable to bind UDP socket to:[{0}] throwing error.
diff --git a/java/org/apache/catalina/tribes/transport/LocalStrings_es.properties b/java/org/apache/catalina/tribes/transport/LocalStrings_es.properties
index 70b8651..cef549a 100644
--- a/java/org/apache/catalina/tribes/transport/LocalStrings_es.properties
+++ b/java/org/apache/catalina/tribes/transport/LocalStrings_es.properties
@@ -13,12 +13,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-bioSender.ack.eof = EOF alcanzado en puerto local [{0}:{1,number,integer}]
-bioSender.ack.missing = No puedo leer reconocimiento desde [{0}:{1,number,integer}] en {2,number,integer} ms. Desconectando conector e intentando otra vez.
-bioSender.ack.wrong = Falta ACK correcto tras 10 bytes le\u00EDdos en puerto local [{0}:{1,number,integer}]
-bioSender.closeSocket = El remitente cerr\u00F3 el conector con [{0}:{1,number,integer}] (contador de cierre {2,number,integer})
-bioSender.disconnect = Remitente desconectado de [{0}:{1,number,integer}] (contador de desconexi\u00F3n {2,number,integer})
-bioSender.openSocket = Remitente abri\u00F3 conector con [{0}:{1,number,integer}] (contador de apertura {2,number,integer})
-bioSender.openSocket.failure = \u00A1No pude abrir conector de remitente [{0}:{1,number,integer}]! (contador de fallo de apertura {2,number,integer})
-bioSender.send.again = Enviar datos de nuevo a [{0}:{1,number,integer}]
-PooledSender.senderDisconnectFail = No pude desconectar al remitente
+PooledSender.senderDisconnectFail=No pude desconectar al remitente
+
+bioSender.ack.eof=EOF alcanzado en puerto local [{0}:{1,number,integer}]
+bioSender.ack.missing=No puedo leer reconocimiento desde [{0}:{1,number,integer}] en {2,number,integer} ms. Desconectando conector e intentando otra vez.
+bioSender.ack.wrong=Falta ACK correcto tras 10 bytes leídos en puerto local [{0}:{1,number,integer}]
+bioSender.closeSocket=El remitente cerró el conector con [{0}:{1,number,integer}] (contador de cierre {2,number,integer})
+bioSender.disconnect=Remitente desconectado de [{0}:{1,number,integer}] (contador de desconexión {2,number,integer})
+bioSender.openSocket=Remitente abrió conector con [{0}:{1,number,integer}] (contador de apertura {2,number,integer})
+bioSender.openSocket.failure=¡No pude abrir conector de remitente [{0}:{1,number,integer}]! (contador de fallo de apertura {2,number,integer})
+bioSender.send.again=Enviar datos de nuevo a [{0}:{1,number,integer}]
diff --git a/java/org/apache/catalina/tribes/transport/bio/LocalStrings.properties b/java/org/apache/catalina/tribes/transport/bio/LocalStrings.properties
index c2a46b9..17b9231 100644
--- a/java/org/apache/catalina/tribes/transport/bio/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/transport/bio/LocalStrings.properties
@@ -13,25 +13,28 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-bioReceiver.threadpool.fail=ThreadPool can initialized. Listener not started
-bioReceiver.start.fail=Unable to start cluster receiver
-bioReceiver.socket.closeFailed=Failed to close socket
-bioReceiver.run.fail=Unable to run replication listener.
 bioReceiver.already.started=ServerSocket already started
+bioReceiver.run.fail=Unable to run replication listener.
+bioReceiver.socket.closeFailed=Failed to close socket
+bioReceiver.start.fail=Unable to start cluster receiver
+bioReceiver.threadpool.fail=ThreadPool can initialized. Listener not started
 bioReceiver.threads.busy=All BIO server replication threads are busy, unable to handle more requests until a thread is freed up.
-bioReplicationTask.unable.service=Unable to service bio socket
-bioReplicationTask.socket.closeFailed=Failed to close socket
-bioReplicationTask.reader.closeFailed=Failed to close reader
+
 bioReplicationTask.messageDataReceived.error=Error thrown from messageDataReceived.
+bioReplicationTask.reader.closeFailed=Failed to close reader
+bioReplicationTask.socket.closeFailed=Failed to close socket
 bioReplicationTask.unable.sendAck=Unable to send ACK back through channel, channel disconnected?: [{0}]
-bioSender.disconnect=Sender disconnect from [{0}:{1,number,integer}] (disconnect count {2,number,integer})
-bioSender.send.again=Send data again to [{0}:{1,number,integer}]
-bioSender.openSocket=Sender open socket to [{0}:{1,number,integer}] (open count {2,number,integer})
-bioSender.openSocket.failure=Open sender socket [{0}:{1,number,integer}] failure! (open failure count {2,number,integer})
-bioSender.closeSocket=Sender close socket to [{0}:{1,number,integer}] (close count {2,number,integer})
+bioReplicationTask.unable.service=Unable to service bio socket
+
 bioSender.ack.eof=EOF reached at local port [{0}:{1,number,integer}]
+bioSender.ack.missing=Unable to read acknowledgement from [{0}:{1,number,integer}] in {2,number,integer} ms. Disconnecting socket, and trying again.
 bioSender.ack.wrong=Missing correct ACK after 10 bytes read at local port [{0}:{1,number,integer}]
+bioSender.closeSocket=Sender close socket to [{0}:{1,number,integer}] (close count {2,number,integer})
+bioSender.disconnect=Sender disconnect from [{0}:{1,number,integer}] (disconnect count {2,number,integer})
 bioSender.fail.AckReceived=Received a failed ack:org.apache.catalina.tribes.transport.Constants.FAIL_ACK_DATA
-bioSender.ack.missing=Unable to read acknowledgement from [{0}:{1,number,integer}] in {2,number,integer} ms. Disconnecting socket, and trying again.
+bioSender.openSocket=Sender open socket to [{0}:{1,number,integer}] (open count {2,number,integer})
+bioSender.openSocket.failure=Open sender socket [{0}:{1,number,integer}] failure! (open failure count {2,number,integer})
+bioSender.send.again=Send data again to [{0}:{1,number,integer}]
+
+pooledMultiSender.retrieve.fail=Unable to retrieve a sender from the sender pool
 pooledMultiSender.unable.retrieve.sender=Unable to retrieve a data sender, time out[{0}] ms) error.
-pooledMultiSender.retrieve.fail=Unable to retrieve a sender from the sender pool
\ No newline at end of file
diff --git a/java/org/apache/catalina/tribes/transport/nio/LocalStrings.properties b/java/org/apache/catalina/tribes/transport/nio/LocalStrings.properties
index 4690232..d161e12 100644
--- a/java/org/apache/catalina/tribes/transport/nio/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/transport/nio/LocalStrings.properties
@@ -23,31 +23,35 @@ nioReceiver.stop.fail=Unable to close cluster receiver selector
 nioReceiver.stop.threadRunning=The NioReceiver thread did not stop in a timely manner. Errors may be observed when the selector is closed.
 nioReceiver.threadpool.fail=ThreadPool cannot be initialized. Listener not started.
 nioReceiver.threadsExhausted=Channel key is registered, but has had no interest ops for the last [{0}] ms. (cancelled: [{1}]):[{2}] last access:[{3} Possible cause: all threads used, perform thread dump
-nioReplicationTask.unable.drainChannel.ioe=IOException in replication worker, unable to drain channel. Probable cause: Keep alive socket closed[{0}].
+
+nioReplicationTask.error.register.key=Error registering key for read:[{0}]
 nioReplicationTask.exception.drainChannel=Exception caught in TcpReplicationThread.drainChannel.
 nioReplicationTask.process.clusterMsg.failed=Processing of cluster message failed.
-nioReplicationTask.error.register.key=Error registering key for read:[{0}]
 nioReplicationTask.unable.ack=Unable to send ACK back through channel, channel disconnected?: [{0}]
-nioSender.sender.disconnected=Sender has been disconnected, can't selection key.
-nioSender.key.inValid=Key is not valid, it must have been cancelled.
-nioSender.unknown.state=Data is in unknown state. readyOps=[{0}]
-nioSender.unable.receive.ack=Unable to receive an ack message. EOF on socket channel has been reached.
-nioSender.receive.failedAck=Received a failed ack:org.apache.catalina.tribes.transport.Constants.FAIL_ACK_DATA
-nioSender.not.connected=NioSender is not connected, this should not occur.
+nioReplicationTask.unable.drainChannel.ioe=IOException in replication worker, unable to drain channel. Probable cause: Keep alive socket closed[{0}].
+
 nioSender.already.connected=NioSender is already in connected state.
 nioSender.datagram.already.established=Datagram channel has already been established. Connection might be in progress.
+nioSender.key.inValid=Key is not valid, it must have been cancelled.
+nioSender.not.connected=NioSender is not connected, this should not occur.
+nioSender.receive.failedAck=Received a failed ack:org.apache.catalina.tribes.transport.Constants.FAIL_ACK_DATA
+nioSender.sender.disconnected=Sender has been disconnected, can't selection key.
 nioSender.socketChannel.already.established=Socket channel has already been established. Connection might be in progress.
 nioSender.unable.disconnect=Unable to disconnect NioSender. msg=[{0}]
-parallelNioSender.send.failed=Parallel NIO send failed.
+nioSender.unable.receive.ack=Unable to receive an ack message. EOF on socket channel has been reached.
+nioSender.unknown.state=Data is in unknown state. readyOps=[{0}]
+
+parallelNioSender.error.keepalive=Error during keepalive test for sender:[{0}]
 parallelNioSender.operation.timedout=Operation has timed out([{0}] ms.).
-parallelNioSender.send.fail.retrying=Member send is failing for:[{0}] ; Setting to suspect and retrying.
 parallelNioSender.send.fail=Member send is failing for:[{0}] ; Setting to suspect.
+parallelNioSender.send.fail.retrying=Member send is failing for:[{0}] ; Setting to suspect and retrying.
+parallelNioSender.send.failed=Parallel NIO send failed.
+parallelNioSender.sendFailed.attempt=Send failed, attempt:[{0}] max:[{1}]
 parallelNioSender.sender.disconnected.notRetry=Not retrying send for:[{0}]; Sender is disconnected.
 parallelNioSender.sender.disconnected.sendFailed=Send failed, and sender is disconnected. Not retrying.
-parallelNioSender.sendFailed.attempt=Send failed, attempt:[{0}] max:[{1}]
 parallelNioSender.unable.setup.NioSender=Unable to setup NioSender.
-parallelNioSender.error.keepalive=Error during keepalive test for sender:[{0}]
+
 pooledParallelSender.sender.disconnected=Sender not connected.
-pooledParallelSender.unable.retrieveSender.timeout=Unable to retrieve a data sender, time out([{0}] ms) error.
+pooledParallelSender.unable.open=Unable to open NIO selector.
 pooledParallelSender.unable.retrieveSender=Unable to retrieve a sender from the sender pool
-pooledParallelSender.unable.open=Unable to open NIO selector.
\ No newline at end of file
+pooledParallelSender.unable.retrieveSender.timeout=Unable to retrieve a data sender, time out([{0}] ms) error.
diff --git a/java/org/apache/catalina/tribes/util/LocalStrings.properties b/java/org/apache/catalina/tribes/util/LocalStrings.properties
index 2db7f6d..4238fab 100644
--- a/java/org/apache/catalina/tribes/util/LocalStrings.properties
+++ b/java/org/apache/catalina/tribes/util/LocalStrings.properties
@@ -13,11 +13,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-arrays.srcoffset.outOfBounds=srcoffset is out of bounds.
 arrays.keyoffset.outOfBounds=keyoffset is out of bounds.
 arrays.length.outOfBounds=not enough data elements in the key, length is out of bounds.
 arrays.malformed.arrays=byte arrays must be represented as {1,3,4,5,6}
-executorFactory.queue.full=Queue capacity is full.
+arrays.srcoffset.outOfBounds=srcoffset is out of bounds.
+
 executorFactory.not.running=Executor not running, can't force a command into the queues
+executorFactory.queue.full=Queue capacity is full.
+
 uuidGenerator.createRandom=Creation of SecureRandom instance for UUID generation using [{0}] took [{1}] milliseconds.
-uuidGenerator.unable.fit=Unable to fit [{0}] bytes into the array. length:[{1}] required length:[{2}]
\ No newline at end of file
+uuidGenerator.unable.fit=Unable to fit [{0}] bytes into the array. length:[{1}] required length:[{2}]
diff --git a/java/org/apache/catalina/users/LocalStrings.properties b/java/org/apache/catalina/users/LocalStrings.properties
index 17ff13a..7b76a1d 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 71021b1..40d5426 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 377a956..a2f8b7d 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 86e48a6..279f966 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 675ae69..18ecbef 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.
@@ -35,6 +38,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}]
@@ -44,7 +48,10 @@ 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
 
-SecurityUtil.doAsPrivilege=An exception occurs when running the PrivilegedExceptionAction block.
+parameterMap.locked=No modifications are allowed to a locked ParameterMap
+
+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}]
diff --git a/java/org/apache/catalina/util/LocalStrings_es.properties b/java/org/apache/catalina/util/LocalStrings_es.properties
index d6eb6f8..40c8e1f 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 7c9598e..b9e41f8 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 7c4349a..aceae10 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 0fcd8a8..cc01407 100644
--- a/java/org/apache/catalina/valves/LocalStrings.properties
+++ b/java/org/apache/catalina/valves/LocalStrings.properties
@@ -13,133 +13,124 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-jdbcAccessLogValve.close=Failed to close database
-jdbcAccessLogValve.exception=Exception performing insert access entry
-
-# 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
 accessLogValve.writeFail=Failed to write log message [{0}]
 
-# Error report valve
 # Default error page should not have '[' ']' symbols around substituted text fragments.
 # https://bz.apache.org/bugzilla/show_bug.cgi?id=61134
-errorReportValve.statusHeader=HTTP Status {0} \u2013 {1}
-errorReportValve.type=Type
-errorReportValve.exceptionReport=Exception Report
-errorReportValve.statusReport=Status Report
-errorReportValve.message=Message
 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.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
-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=Failed to close database
+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}]
+
+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.
+
+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).
diff --git a/java/org/apache/catalina/valves/LocalStrings_es.properties b/java/org/apache/catalina/valves/LocalStrings_es.properties
index 1fee2a1..d89b94e 100644
--- a/java/org/apache/catalina/valves/LocalStrings_es.properties
+++ b/java/org/apache/catalina/valves/LocalStrings_es.properties
@@ -13,55 +13,55 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-jdbcAccessLogValve.exception = Excepci\u00F3n realizando entrada de acceso a inserci\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
-# Default error page should not have '[' ']' symbols around substituted text fragments.
-# https://bz.apache.org/bugzilla/show_bug.cgi?id=61134
-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
+
+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.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.exception=Excepción realizando entrada de acceso a inserción
+
+remoteIpValve.invalidPortHeader=Valor inválido [{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álido. No se pueden procesar los datos del certificado.
 
-# 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.
+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.
diff --git a/java/org/apache/catalina/valves/LocalStrings_fr.properties b/java/org/apache/catalina/valves/LocalStrings_fr.properties
index cd8a84e..3d93249 100644
--- a/java/org/apache/catalina/valves/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/valves/LocalStrings_fr.properties
@@ -13,45 +13,41 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Error report valve
-# Default error page should not have '[' ']' symbols around substituted text fragments.
-# https://bz.apache.org/bugzilla/show_bug.cgi?id=61134
-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 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.
+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.
diff --git a/java/org/apache/catalina/valves/LocalStrings_ja.properties b/java/org/apache/catalina/valves/LocalStrings_ja.properties
index bdd94a0..53bb647 100644
--- a/java/org/apache/catalina/valves/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/valves/LocalStrings_ja.properties
@@ -13,15 +13,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-jdbcAccessLogValve.exception=\u30a2\u30af\u30bb\u30b9\u30a8\u30f3\u30c8\u30ea\u306e\u633f\u5165\u3092\u5b9f\u884c\u4e2d\u306e\u4f8b\u5916\u3067\u3059
-# Error report valve
-# Default error page should not have '[' ']' symbols around substituted text fragments.
-# https://bz.apache.org/bugzilla/show_bug.cgi?id=61134
-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
+errorReportValve.description=説明
+errorReportValve.exception=例外
+errorReportValve.message=メッセージ
+errorReportValve.note=注意
+errorReportValve.rootCause=原因
+errorReportValve.rootCauseInLogs=原因のすべてのスタックトレースは、のログに記録されています
+errorReportValve.statusHeader=HTTPステータス {0} - {1}
+errorReportValve.statusReport=ステータスレポート
+
+jdbcAccessLogValve.exception=アクセスエントリの挿入を実行中の例外です
diff --git a/java/org/apache/catalina/webresources/LocalStrings.properties b/java/org/apache/catalina/webresources/LocalStrings.properties
index eea644a..aa941cc 100644
--- a/java/org/apache/catalina/webresources/LocalStrings.properties
+++ b/java/org/apache/catalina/webresources/LocalStrings.properties
@@ -32,12 +32,13 @@ dirResourceSet.notDirectory=The directory specified by base and internal path [{
 dirResourceSet.writeExists=The target of the write already exists
 dirResourceSet.writeNpe=The input stream may not be null
 
-extractingRoot.targetFailed=Failed to create the directory [{0}] for extracted JAR files
 extractingRoot.jarFailed=Failed to extract the JAR file [{0}]
+extractingRoot.targetFailed=Failed to create the directory [{0}] for extracted JAR files
 
 fileResource.getCanonicalPathFail=Unable to determine the canonical path for the resource [{0}]
 fileResource.getCreationFail=Unable to determine the creation time for the resource [{0}]
 fileResource.getUrlFail=Unable to determine a URL for the resource [{0}]
+
 fileResourceSet.notFile=The file specified by base and internal path [{0}]{1}[{2}] does not exist.
 
 jarResource.getInputStreamFail=Unable to obtain an InputStream for the resource [{0}] located in the JAR [{1}]
@@ -54,4 +55,4 @@ standardRoot.invalidPathNormal=The resource path [{0}] has been normalized to [{
 standardRoot.lockedFile=The web application [{0}] failed to close the file [{1}] opened via the following stack trace
 standardRoot.noContext=A Context has not been configured for this WebResourceRoot
 standardRoot.startInvalidMain=The main resource set specified [{0}] is not valid
-standardRoot.unsupportedProtocol=The URL protocol [{0}] is not supported by this web resources implementation
\ No newline at end of file
+standardRoot.unsupportedProtocol=The URL protocol [{0}] is not supported by this web resources implementation
diff --git a/java/org/apache/coyote/LocalStrings.properties b/java/org/apache/coyote/LocalStrings.properties
index 353c923..f0d0b1a 100644
--- a/java/org/apache/coyote/LocalStrings.properties
+++ b/java/org/apache/coyote/LocalStrings.properties
@@ -16,35 +16,36 @@
 abstractConnectionHandler.connectionsGet=Found processor [{0}] for socket [{1}]
 abstractConnectionHandler.error=Error reading request, ignored
 abstractConnectionHandler.ioexception.debug=IOExceptions are normal, ignored
+abstractConnectionHandler.negotiatedProcessor.fail=Failed to create Processor for negotiated protocol [{0}]
 abstractConnectionHandler.process=Processing socket [{0}] with status [{1}]
 abstractConnectionHandler.processorPop=Popped processor [{0}] from cache
 abstractConnectionHandler.protocolexception.debug=ProtocolExceptions are normal, ignored
 abstractConnectionHandler.socketexception.debug=SocketExceptions are normal, ignored
-abstractConnectionHandler.negotiatedProcessor.fail=Failed to create Processor for negotiated protocol [{0}]
 abstractConnectionHandler.upgradeCreate=Created upgrade processor [{0}] for socket wrapper [{1}]
 
-abstractProcessor.fallToDebug=\n Note: further occurrences of request parsing errors will be logged at DEBUG level.
-abstractProcessor.httpupgrade.notsupported=HTTP upgrade is not supported by this protocol
+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.httpupgrade.notsupported=HTTP upgrade is not supported by this protocol
 abstractProcessor.nonContainerThreadError=An error occurred in processing while on a non-container thread. The connection will be closed immediately
 abstractProcessor.pushrequest.notsupported=Server push requests are not supported by this protocol
 abstractProcessor.socket.ssl=Exception getting SSL attributes
 
 abstractProtocol.mbeanDeregistrationFailed=Failed to deregister MBean named [{0}] from MBean server [{1}]
 
+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.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 6557055..52ab4f1 100644
--- a/java/org/apache/coyote/LocalStrings_es.properties
+++ b/java/org/apache/coyote/LocalStrings_es.properties
@@ -13,6 +13,6 @@
 # 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
 
-abstractProcessor.socket.ssl = Excepci\u00F3n obteniendo atributos SSL
+abstractProcessor.socket.ssl=Excepción obteniendo atributos SSL
diff --git a/java/org/apache/coyote/ajp/LocalStrings.properties b/java/org/apache/coyote/ajp/LocalStrings.properties
index 113edf1..cd547d6 100644
--- a/java/org/apache/coyote/ajp/LocalStrings.properties
+++ b/java/org/apache/coyote/ajp/LocalStrings.properties
@@ -13,18 +13,17 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-ajpprotocol.noBio=The AJP BIO connector has been removed in Tomcat 8.5.x onwards. The AJP BIO connector configuration has been automatically switched to use the AJP NIO connector instead.
-ajpprotocol.noSSL=SSL is not supported with AJP. The SSL host configuration for [{0}] was ignored
-ajpprotocol.noUpgrade=Upgrade is not supported with AJP. The UpgradeProtocol configuration for [{0}] was ignored
-ajpprotocol.noUpgradeHandler=Upgrade is not supported with AJP. The HttpUpgradeHandler [{0}] can not be processed
+ajpMessage.invalidPos=Requested read of bytes at position [{0}] which is beyond the end of the AJP message
 
-ajpprotocol.noSSL=SSL is not supported with AJP. The SSL host configuration for [{0}] was ignored
-ajpprotocol.noUpgrade=Upgrade is not supported with AJP. The UpgradeProtocol configuration for [{0}] was ignored
-ajpprotocol.noUpgradeHandler=Upgrade is not supported with AJP. The HttpUpgradeHandler [{0}] can not be processed
+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}]
 
-ajpnioprotocol.releaseStart=Iterating through our connections to release a socket channel [{0}]
 ajpnioprotocol.releaseEnd=Done iterating through our connections to release a socket channel [{0}] released [{1}]
+ajpnioprotocol.releaseStart=Iterating through our connections to release a socket channel [{0}]
 
+ajpprocessor.certs.fail=Certificate conversion failed
 ajpprocessor.failedread=Socket read failed
 ajpprocessor.failedsend=Failed to send AJP message
 ajpprocessor.header.error=Header message parsing failed
@@ -32,11 +31,8 @@ ajpprocessor.header.tooLong=Header message of length [{0}] received but the pack
 ajpprocessor.readtimeout=Timeout attempting to read data from the socket
 ajpprocessor.request.prepare=Error preparing request
 ajpprocessor.request.process=Error processing request
-ajpprocessor.certs.fail=Certificate conversion failed
-
-ajpmessage.null=Cannot append null value
-ajpmessage.overflow=Overflow error for buffer adding [{0}] bytes at position [{1}]
-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.noBio=The AJP BIO connector has been removed in Tomcat 8.5.x onwards. The AJP BIO connector configuration has been automatically switched to use the AJP NIO connector instead.
+ajpprotocol.noSSL=SSL is not supported with AJP. The SSL host configuration for [{0}] was ignored
+ajpprotocol.noUpgrade=Upgrade is not supported with AJP. The UpgradeProtocol configuration for [{0}] was ignored
+ajpprotocol.noUpgradeHandler=Upgrade is not supported with AJP. The HttpUpgradeHandler [{0}] can not be processed
diff --git a/java/org/apache/coyote/ajp/LocalStrings_es.properties b/java/org/apache/coyote/ajp/LocalStrings_es.properties
index 2db1895..3a83f45 100644
--- a/java/org/apache/coyote/ajp/LocalStrings_es.properties
+++ b/java/org/apache/coyote/ajp/LocalStrings_es.properties
@@ -13,13 +13,15 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-ajpprotocol.proto.error = Error leyendo requerimiento, ignorado
-ajpprocessor.failedread = Fallo en lectura de Conector
-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
-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.invalid = Mensaje inv\u00E1lido recibido con firma [{0}]
+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}]
+
+ajpprocessor.certs.fail=Fallo en conversión de Certificado
+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
+
+ajpprotocol.proto.error=Error leyendo requerimiento, ignorado
diff --git a/java/org/apache/coyote/http11/LocalStrings.properties b/java/org/apache/coyote/http11/LocalStrings.properties
index a05a634..a1d3bcb 100644
--- a/java/org/apache/coyote/http11/LocalStrings.properties
+++ b/java/org/apache/coyote/http11/LocalStrings.properties
@@ -17,11 +17,11 @@ abstractHttp11Protocol.alpnConfigured=The [{0}] connector has been configured to
 abstractHttp11Protocol.alpnWithNoAlpn=The upgrade handler [{0}] for [{1}] only supports upgrade via ALPN but has been configured for the [{2}] connector that does not support ALPN.
 abstractHttp11Protocol.httpUpgradeConfigured=The [{0}] connector has been configured to support HTTP upgrade to [{1}]
 
-http11protocol.noBio=The HTTP BIO connector has been removed in Tomcat 8.5.x onwards. The HTTP BIO connector configuration has been automatically switched to use the HTTP NIO connector instead.
-
-http11processor.fallToDebug=\n Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
+http11processor.fallToDebug=\n\
+\ Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
 http11processor.header.parse=Error parsing HTTP request header
 http11processor.neverused=This method should never be used
+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
@@ -30,19 +30,20 @@ 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.socket.info=Exception getting socket information
 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
+
+http11protocol.noBio=The HTTP BIO connector has been removed in Tomcat 8.5.x onwards. The HTTP BIO connector configuration has been automatically switched to use the HTTP NIO connector instead.
 
 iib.available.readFail=A non-blocking read failed while attempting to determine if data was available
 iib.eof.error=Unexpected EOF read on the socket
 iib.failedread.apr=Read failed with APR/native error code [{0}]
 iib.filter.npe=You may not add a null filter
+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.readtimeout=Timeout attempting to read data from the socket
 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 c23188d..737f569 100644
--- a/java/org/apache/coyote/http11/LocalStrings_es.properties
+++ b/java/org/apache/coyote/http11/LocalStrings_es.properties
@@ -13,14 +13,15 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-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.sslreneg = Excepci\u00F3n renegociando la conexi\u00F3n SSL
-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.header.parse=Error analizando cabecera de requerimiento HTTP
+http11processor.neverused=Este método no debería de usarse nunca
+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.sslreneg=Excepción renegociando la conexión SSL
+
+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 997515c..f98460a 100644
--- a/java/org/apache/coyote/http11/LocalStrings_fr.properties
+++ b/java/org/apache/coyote/http11/LocalStrings_fr.properties
@@ -13,5 +13,5 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-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 091200c..1be93a3 100644
--- a/java/org/apache/coyote/http11/LocalStrings_ja.properties
+++ b/java/org/apache/coyote/http11/LocalStrings_ja.properties
@@ -13,5 +13,5 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-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 c9595bd..2f0516f 100644
--- a/java/org/apache/coyote/http11/upgrade/LocalStrings.properties
+++ b/java/org/apache/coyote/http11/upgrade/LocalStrings.properties
@@ -13,25 +13,24 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-upgradeProcessor.isCloseFail=Failed to close input stream associated with upgraded connection
-upgradeProcessor.osCloseFail=Failed to close output stream associated with upgraded connection
-upgradeProcessor.requiredClose=Closing upgraded connection due to closeRequired state of streams: Input [{0}], Output [{1}]
-upgradeProcessor.stop=Closing upgraded connection as incoming socket status was STOP
-upgradeProcessor.unexpectedState=Closing upgraded connection unexpectedly as incoming socket status was [{0}]
-
 upgrade.sis.errorCloseFail=Failed to close InputStream cleanly after a previous error
 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.onErrorFail=onError processing for the registered ReadListener triggered this further error which was swallowed
-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.closed=The InputStream has been closed
 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.sos.errorCloseFail=Failed to close OutputStream cleanly after a previous error
+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.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.errorCloseFail=Failed to close OutputStream cleanly after a previous error
 upgrade.sos.onErrorFail=onError processing for the registered WriteListener triggered this further error which was swallowed
-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.sos.write.closed=The OutputStream has been closed
 upgrade.sos.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.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
 
+upgradeProcessor.isCloseFail=Failed to close input stream associated with upgraded connection
+upgradeProcessor.osCloseFail=Failed to close output stream associated with upgraded connection
+upgradeProcessor.requiredClose=Closing upgraded connection due to closeRequired state of streams: Input [{0}], Output [{1}]
+upgradeProcessor.stop=Closing upgraded connection as incoming socket status was STOP
+upgradeProcessor.unexpectedState=Closing upgraded connection unexpectedly as incoming socket status was [{0}]
diff --git a/java/org/apache/coyote/http2/LocalStrings.properties b/java/org/apache/coyote/http2/LocalStrings.properties
index 54ce058..88c8970 100644
--- a/java/org/apache/coyote/http2/LocalStrings.properties
+++ b/java/org/apache/coyote/http2/LocalStrings.properties
@@ -34,12 +34,12 @@ frameType.checkStream=Invalid frame type [{0}]
 hpack.integerEncodedOverTooManyOctets=HPACK variable length integer encoded over too many octets, max is [{0}]
 hpack.invalidCharacter=The Unicode character [{0}] at code point [{1}] cannot be encoded as it is outside the permitted range of 0 to 255.
 
+hpackEncoder.encodeHeader=Encoding header [{0}] with value [{1}]
+
 hpackdecoder.headerTableIndexInvalid=The header table index [{0}] is not valid as there are [{1}] static entries and [{2}] dynamic entries
 hpackdecoder.tableSizeUpdateNotAtStart=Any table size update must be sent at the start of a header block
 hpackdecoder.zeroNotValidHeaderTableIndex=Zero is not a valid header table index
 
-hpackEncoder.encodeHeader=Encoding header [{0}] with value [{1}]
-
 hpackhuffman.huffmanEncodedHpackValueDidNotEndWithEOS=Huffman encoded value in HPACK headers did not end with EOS padding
 hpackhuffman.stringLiteralTooMuchPadding=More than 7 bits of EOS padding were provided at the end of an Huffman encoded string literal
 
@@ -58,8 +58,8 @@ http2Parser.processFrameContinuation.notExpected=Connection [{0}], Continuation
 http2Parser.processFrameData.lengths=Connection [{0}], Stream [{1}], Data length, [{2}], Padding length [{3}]
 http2Parser.processFrameData.window=Connection [{0}], Client sent more data than stream window allowed
 http2Parser.processFrameGoaway.payloadTooSmall=Connection [{0}]: Goaway payload size was [{1}] which is less than the minimum 8
-http2Parser.processFrameHeaders.decodingFailed=There was an error during the HPACK decoding of HTTP headers
 http2Parser.processFrameHeaders.decodingDataLeft=Data left over after HPACK decoding - it should have been consumed
+http2Parser.processFrameHeaders.decodingFailed=There was an error during the HPACK decoding of HTTP headers
 http2Parser.processFrameHeaders.payload=Connection [{0}], Stream [{1}], Processing headers payload size [{2}]
 http2Parser.processFramePing.invalidPayloadSize=Settings frame received with an invalid payload size of [{0}] (should be 8)
 http2Parser.processFramePriority.invalidParent=Connection [{0}], Stream [{1}], A stream may not depend on itself
@@ -86,22 +86,20 @@ stream.header.required=Connection [{0}], Stream [{1}], One or more required head
 stream.header.te=Connection [{0}], Stream [{1}], HTTP header [te] is not permitted to have the value [{2}] in an HTTP/2 request
 stream.header.unexpectedPseudoHeader=Connection [{0}], Stream [{1}], Pseudo header [{2}] received after a regular header
 stream.header.unknownPseudoHeader=Connection [{0}], Stream [{1}], Unknown pseudo header [{2}] received
-stream.notWritable=Connection [{0}], Stream [{1}], This stream is not writable
-stream.reprioritisation.debug=Connection [{0}], Stream [{1}], Exclusive [{2}], Parent [{3}], Weight [{4}]
-stream.reset.fail=Connection [{0}], Stream [{1}], Failed to reset stream
-stream.reset.receive=Connection [{0}], Stream [{1}], Reset received due to [{2}]
-stream.reset.send=Connection [{0}], Stream [{1}], Reset sent due to [{2}]
-stream.trailerHeader.noEndOfStream=Connection [{0}], Stream [{1}], The trailer headers did not include the end of stream flag
-stream.writeTimeout=Timeout waiting for client to increase flow control window to permit stream data to be written
-
 stream.inputBuffer.copy=Copying [{0}] bytes from inBuffer to outBuffer
 stream.inputBuffer.dispatch=Data added to inBuffer when read interest is registered. Triggering a read dispatch
 stream.inputBuffer.empty=The Stream input buffer is empty. Waiting for more data
 stream.inputBuffer.readTimeout=Timeout waiting to read data from client
 stream.inputBuffer.reset=Stream reset
 stream.inputBuffer.signal=Data added to inBuffer when read thread is waiting. Signalling that thread to continue
-
+stream.notWritable=Connection [{0}], Stream [{1}], This stream is not writable
 stream.outputBuffer.flush.debug=Connection [{0}], Stream [{1}], flushing output with buffer at position [{2}], writeInProgress [{3}] and closed [{4}]
+stream.reprioritisation.debug=Connection [{0}], Stream [{1}], Exclusive [{2}], Parent [{3}], Weight [{4}]
+stream.reset.fail=Connection [{0}], Stream [{1}], Failed to reset stream
+stream.reset.receive=Connection [{0}], Stream [{1}], Reset received due to [{2}]
+stream.reset.send=Connection [{0}], Stream [{1}], Reset sent due to [{2}]
+stream.trailerHeader.noEndOfStream=Connection [{0}], Stream [{1}], The trailer headers did not include the end of stream flag
+stream.writeTimeout=Timeout waiting for client to increase flow control window to permit stream data to be written
 
 streamProcessor.cancel=Connection [{0}], Stream [{1}], The remaining request body is not required.
 streamProcessor.error.connection=Connection [{0}], Stream [{1}], An error occurred during processing that was fatal to the connection
@@ -126,8 +124,8 @@ upgradeHandler.ioerror=Connection [{0}]
 upgradeHandler.noAllocation=Connection [{0}], Stream [{1}], Timeout waiting for allocation
 upgradeHandler.noNewStreams=Connection [{0}], Stream [{1}], Stream ignored as no new streams are permitted on this connection
 upgradeHandler.pause.entry=Connection [{0}] Pausing
-upgradeHandler.prefaceReceived=Connection [{0}], Connection preface received from client
 upgradeHandler.pingFailed=Connection [{0}] Failed to send ping to client
+upgradeHandler.prefaceReceived=Connection [{0}], Connection preface received from client
 upgradeHandler.pruneIncomplete=Connection [{0}], Stream [{1}], Failed to fully prune the connection because there are [{2}] too many active streams
 upgradeHandler.pruneStart=Connection [{0}] Starting pruning of old streams. Limit is [{1}] + 10% and there are currently [{2}] streams.
 upgradeHandler.pruned=Connection [{0}] Pruned completed stream [{1}]
@@ -148,18 +146,18 @@ upgradeHandler.upgrade=Connection [{0}], HTTP/1.1 upgrade to stream [1]
 upgradeHandler.upgrade.fail=Connection [{0}], HTTP/1.1 upgrade failed
 upgradeHandler.upgradeDispatch.entry=Entry, Connection [{0}], SocketStatus [{1}]
 upgradeHandler.upgradeDispatch.exit=Exit, Connection [{0}], SocketState [{1}]
-upgradeHandler.windowSizeTooBig=Connection [{0}], Stream [{1}], Window size too big
 upgradeHandler.windowSizeReservationInterrupted=Connection [{0}], Stream [{1}], reservation for [{2}] bytes
+upgradeHandler.windowSizeTooBig=Connection [{0}], Stream [{1}], Window size too big
 upgradeHandler.writeBody=Connection [{0}], Stream [{1}], Data length [{2}]
 upgradeHandler.writeHeaders=Connection [{0}], Stream [{1}]
 upgradeHandler.writePushHeaders=Connection [{0}], Stream [{1}], Pushed stream [{2}], EndOfStream [{3}]
 
 windowAllocationManager.dispatched=Connection [{0}], Stream [{1}], Dispatched
-windowAllocationManager.notify=Connection [{0}], Stream [{1}], Waiting type [{2}], Notify type [{3}]
 windowAllocationManager.notified=Connection [{0}], Stream [{1}], Notified
+windowAllocationManager.notify=Connection [{0}], Stream [{1}], Waiting type [{2}], Notify type [{3}]
 windowAllocationManager.waitFor.connection=Connection [{0}], Stream [{1}], Waiting for Connection flow control window (blocking) with timeout [{3}]
-windowAllocationManager.waitFor.stream=Connection [{0}], Stream [{1}], Waiting for Stream flow control window (blocking) with timeout [{3}]
 windowAllocationManager.waitFor.ise=Connection [{0}], Stream [{1}], Already waiting
+windowAllocationManager.waitFor.stream=Connection [{0}], Stream [{1}], Waiting for Stream flow control window (blocking) with timeout [{3}]
 windowAllocationManager.waitForNonBlocking.connection=Connection [{0}], Stream [{1}], Waiting for Connection flow control window (non-blocking)
 windowAllocationManager.waitForNonBlocking.stream=Connection [{0}], Stream [{1}], Waiting for Stream flow control window (non-blocking)
 
diff --git a/java/org/apache/jasper/resources/LocalStrings.properties b/java/org/apache/jasper/resources/LocalStrings.properties
index 84293ca..2f99877 100644
--- a/java/org/apache/jasper/resources/LocalStrings.properties
+++ b/java/org/apache/jasper/resources/LocalStrings.properties
@@ -13,151 +13,318 @@
 # 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.engine.info=Jasper JSP 2.3 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.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 value 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.badStandardAction=Invalid standard action
+jsp.error.bad_attribute=Attribute [{0}] invalid for tag [{1}] according to TLD
+jsp.error.bad_tag=No tag [{0}] defined in tag library imported with prefix [{1}]
+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.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.unavailable=JSP has been marked unavailable
-jsp.error.usebean.duplicate=useBean: Duplicate bean name: [{0}]
+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.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.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.include.exception=Unable to include [{0}]
+jsp.error.include.tag=Invalid jsp:include tag
+jsp.error.internal.filenotfound=Internal Error: File [{0}] not found
+jsp.error.internal.tldinit=Unable to initialize TldLocationsCache: [{0}]
+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.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.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.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", "2.2" or "2.3"
+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.multiple.jsp=Cannot have multiple specifications of
+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.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.in.template=[{0}] not allowed in a template text body.
 jsp.error.outputfolder=No output folder
-jsp.error.data.file.write=Error while writing data file
+jsp.error.overflow=Error: JSP Buffer overflow
+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.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.conflict.trimdirectivewhitespaces=Page directive: illegal to have multiple occurrences of ''trimDirectiveWhitespaces'' 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.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.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.include.exception=Unable to include [{0}]
-jsp.error.stream.close.failed=Failed to close stream
-jsp.error.stream.closed=Stream closed
-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.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.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.mandatory.attribute=[{0}]: Mandatory attribute [{1}] missing
-jsp.error.flush=Exception occurred when flushing data
-jsp.engine.info=Jasper JSP 2.3 Engine
-jsp.error.invalid.expression=[{0}] contains invalid expression(s): [{1}]
-jsp.error.invalid.attribute=[{0}] has invalid attribute: [{1}]
-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.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.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.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.page.noSession=Cannot access session scope in page that does not participate in any session
 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.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.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.javac=Javac exception
-jsp.error.javac.env=Environment:
-jsp.error.compilation=Error compiling file: [{0}] [{1}]
+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.servlet.invalid.method=JSPs only permit GET POST or HEAD
+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.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.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.taglibDirective.uriInvalid=The URI provided for a tag library [{0}] is not a valid URI
+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.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.invalid_tld_file=Invalid tld file: [{0}], see JSP 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=Unable to find taglib [{0}] for URI: [{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.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.to_find_method=Unable to find setter method for attribute: [{0}]
+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.warning.classpathUrl=Invalid URL found in class path. This URL will be ignored
-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.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.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.usebean.duplicate=useBean: Duplicate bean name: [{0}]
+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.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.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.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.dont.modify.servlets=IMPORTANT: Do not modify the generated servlets
+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.parent_class_loader_is=Parent class loader is: [{0}]
+jsp.message.scratch.dir.is=Scratch dir for the JSP engine is: [{0}]
+jsp.tldCache.noTldInDir=No TLD files were found in directory [{0}].
+jsp.tldCache.noTldInJar=No TLD files were found in [{0}]. Consider adding the JAR to the tomcat.util.scan.StandardJarScanFilter.jarsToSkip property in CATALINA_BASE/conf/catalina.properties file.
+jsp.tldCache.noTldInResourcePath=No TLD files were found in resource path [{0}].
+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.tldCache.tldInDir=TLD files were found in directory [{0}].
+jsp.tldCache.tldInJar=TLD files were found in JAR [{0}].
+jsp.tldCache.tldInResourcePath=TLD files were found in resource path [{0}].
+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.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.classDebugInfo=Warning: Invalid value for the initParam classdebuginfo. Will use the default value of "false"
+jsp.warning.classpathUrl=Invalid URL found in class path. This URL will be ignored
+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.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.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.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.warning.strictQuoteEscaping=Warning: Invalid value for the initParam strictQuoteEscaping. Will use the default value of "true"
+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.unknown.element.in.taglib=Unknown element [{0}] in taglib
+jsp.warning.recompileOnFail=Warning: Invalid value for the initParam recompileOnFail. Will use the default value of "false"
+jsp.warning.strictQuoteEscaping=Warning: Invalid value for the initParam strictQuoteEscaping. 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.attribute=Unknown element [{0}] in attribute
-jsp.warning.unknown.element.in.variable=Unknown element [{0}] in variable
+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.initParam=Unknown element [{0}] in validator''s init-param
-jsp.warning.unknown.element.in.function=Unknown element [{0}] in function
+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.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.file.not.found=File [{0}] not found
-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_get_jar=Unable to get JAR resource [{0}] containing TLD: [{1}]
-jsp.error.tld.missing=Unable to find taglib [{0}] for URI: [{1}]
-jsp.error.tld.missing_jar=Missing JAR resource [{0}] containing TLD
-jsp.error.tld.invalid_tld_file=Invalid tld file: [{0}], see JSP specification section 7.3.1 for more details
-jsp.error.unable.to_find_method=Unable to find setter method for attribute: [{0}]
-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.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.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.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.fileDoesNotExist=The file argument [{0}] does not exist
+jspc.error.generalException=ERROR-the file [{0}] generated the following general exception:
+jspc.error.invalidFragment=Aborting pre-compilation due to errors in web fragments
+jspc.error.invalidWebXml=Aborting pre-compilation due to errors in web.xml
 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\
@@ -196,24 +363,12 @@ where options include:\n\
 \    -source <version>   Set the -source argument to the compiler (default 1.7)\n\
 \    -target <version>   Set the -target argument to the compiler (default 1.7)\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="{0}"?>\n\
-\<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
-\         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
-\         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
-\                 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"\n\
-\         version="3.1"\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://xmlns.jcp.org/xml/ns/javaee"\n\
+<web-fragment xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
 \              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
 \              xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
 \                      http://xmlns.jcp.org/xml/ns/javaee/web-fragment_3_1.xsd"\n\
@@ -225,216 +380,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.generalException=ERROR-the file [{0}] generated the following general exception:
-jspc.error.fileDoesNotExist=The file argument [{0}] does not exist
-jspc.delete.fail=Failed to delete file [{0}]
-jspc.error.invalidWebXml=Aborting pre-compilation due to errors in web.xml
-jspc.error.invalidFragment=Aborting pre-compilation due to errors in web fragments
-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.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.parse.xml.invalidPublicId=Invalid PUBLIC ID: [{0}]
-jsp.error.unsupported.encoding=Unsupported encoding: [{0}]
-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.uriInvalid=The URI provided for a tag library [{0}] is not a valid URI
-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"
-#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}]
-#Error while processing taglib jar file [{0}]: [{1}]
-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.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.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.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.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.attribute.noequal=equal symbol expected
-jsp.error.attribute.noquote=quote symbol expected
-jsp.error.attribute.unterminated=attribute value 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.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.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", "2.2" or "2.3"
-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.invalid.method=JSPs only permit GET POST or HEAD
-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.
-
-# JavacErrorDetail
-jsp.error.bug48498=Unable to display JSP extract. Probably due to an XML parser bug (see Tomcat bug 48498 for details).
-
-# UniqueAttributesImpl
-jsp.error.duplicateqname=An attribute with duplicate qualified name [{0}] was found. Attribute qualified names must be unique within an element.
-
-# 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}]
-
-xmlParser.skipBomFail=Failed to skip BOM when parsing XML input stream
-
-jsp.tldCache.noTldInResourcePath=No TLD files were found in resource path [{0}].
-jsp.tldCache.tldInResourcePath=TLD files were found in resource path [{0}].
-jsp.tldCache.noTldInDir=No TLD files were found in directory [{0}].
-jsp.tldCache.tldInDir=TLD files were found in directory [{0}].
-jsp.tldCache.noTldInJar=No TLD files were found in [{0}]. Consider adding the JAR to the tomcat.util.scan.StandardJarScanFilter.jarsToSkip property in CATALINA_BASE/conf/catalina.properties file.
-jsp.tldCache.tldInJar=TLD files were found in JAR [{0}].
-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}]
+jspc.webxml.footer=\n\
+</web-app>\n\
+\n
+jspc.webxml.header=<?xml version="1.0" encoding="{0}"?>\n\
+<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
+\         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
+\         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
+\                 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"\n\
+\         version="3.1"\n\
+\         metadata-complete="false">\n\
+<!--\n\
+Automatically created by Apache Tomcat JspC.\n\
+-->\n\
+\n
 
 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 [\\].
-
+org.apache.jasper.compiler.ELParser.invalidQuoting=The expression [{0}] is not valid. Within a quoted String only [], [''] and ["] may be escaped with [].
 org.apache.jasper.compiler.TldCache.servletContextNull=The provided ServletContext was null
-
 org.apache.jasper.servlet.JasperInitializer.onStartup=Initializing Jasper for context [{0}]
-org.apache.jasper.servlet.TldScanner.webxmlSkip=Skipping load of TLD for URI [{1}] from resource path [{0}] as it has already been defined in <jsp-config>
 org.apache.jasper.servlet.TldScanner.webxmlAdd=Loading TLD for URI [{1}] from resource path [{0}]
 org.apache.jasper.servlet.TldScanner.webxmlFailPathDoesNotExist=Failed to process TLD with path [{0}] and URI [{1}]. The specified path does not exist.
+org.apache.jasper.servlet.TldScanner.webxmlSkip=Skipping load of TLD for URI [{1}] from resource path [{0}] as it has already been defined in <jsp-config>
+
+xmlParser.skipBomFail=Failed to skip BOM when parsing XML input stream
diff --git a/java/org/apache/jasper/resources/LocalStrings_es.properties b/java/org/apache/jasper/resources/LocalStrings_es.properties
index 1e97a73..9d3fc9c 100644
--- a/java/org/apache/jasper/resources/LocalStrings_es.properties
+++ b/java/org/apache/jasper/resources/LocalStrings_es.properties
@@ -12,190 +12,334 @@
 # 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.unavailable = JSP ha sido marcado como no disponible
-jsp.error.usebean.duplicate = useBean: Nombre de bean duplicado: [{0}]
-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.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.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.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.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.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.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.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.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.mandatory.attribute = [{0}]: Falta atributo obligatorio [{1}]
-jsp.error.flush = Excepci\u00F3n sucedida al vaciar los datos
-jsp.engine.info = Motor Jasper JSP 2.3
-jsp.error.invalid.expression = [{0}] contiene expresiones incorrectas: [{1}]
-jsp.error.invalid.attribute = [{0}]: Atributo incorrecto, [{1}]
-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.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.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.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.params.emptyBody = jsp:params debe de contener al menos un jsp:param anidado
-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.javac = Excepci\u00F3n de Javac
-jsp.error.javac.env = Entorno
-jsp.error.compilation = Error compilando fichero: [{0}] [{1}]
-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.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.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.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.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.file.not.found = Archivo JSP [{0}] no encontrado
-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_get_jar = Imposible obtener recurso JAR [{0}] conteniendo TLD: [{1}]
-jsp.error.tld.missing_jar = Falta recurso JAR [{0}] conteniendo TLD
-jsp.error.unable.to_find_method = No se puede encontrar el m\u00E9todo de escritura para el atributo: [{0}]
-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.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.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.7)\n\
-    \    -target <version>   Set the -target argument to the compiler (default 1.7)\n
-jspc.webxml.header=<?xml version="1.0" encoding="{0}"?>\n\
-\<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
-\         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
-\         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
-\                 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"\n\
-\         version="3.1"\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.engine.info=Motor Jasper JSP 2.3
+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.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.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_tag=No existe el tag [{0}] en la biblioteca importada con prefijo [{1}]
+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.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.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.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.include.exception=No se puede incluir [{0}]
+jsp.error.include.tag=Tag jsp:include no válido
+jsp.error.internal.filenotfound=Error Interno: Archivo [{0}] no hallado
+jsp.error.internal.tldinit=No pude inicializar TldLocationsCache: [{0}]
+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.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.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" o "2.3"
+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.multiple.jsp=No puedo tener múltiples especificaciones de
+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.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.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.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.invalid.buffer=Directiva Page: valor incorrecto para búfer
+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.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.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.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.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.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.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.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.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.to_find_method=No se puede encontrar el método de escritura para el atributo: [{0}]
+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.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.usebean.duplicate=useBean: Nombre de bean duplicado: [{0}]
+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.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.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.exception=Ha sucedido una excepción al procesar la página JSP [{0}] en línea [{1}]
+jsp.message.dont.modify.servlets=IMPORTANTE: No modifique los servlets generados
+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.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.tldCache.noTldInJar=No se han hallado ficheros TLD en [{0}]. Considera añadir el JAR a la propiedad tomcat.util.scan.StandardJarScanFilter.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.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.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.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.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.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.fileDoesNotExist=El archivo [{0}] utilizado como argumento no existe.
+jspc.error.generalException=ERROR-el archivo [{0}] ha generado la excepción general siguiente:
+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.7)\n\
+\    -target <version>   Set the -target argument to the compiler (default 1.7)\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://xmlns.jcp.org/xml/ns/javaee"\n\
+<web-fragment xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
 \              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
 \              xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
 \                      http://xmlns.jcp.org/xml/ns/javaee/web-fragment_3_1.xsd"\n\
@@ -207,177 +351,29 @@ 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="{0}"?>\n\
+<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
+\         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
+\         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
+\                 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"\n\
+\         version="3.1"\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.generalException = ERROR-el archivo [{0}] ha generado la excepci\u00F3n general siguiente:
-jspc.error.fileDoesNotExist = El archivo [{0}] utilizado como argumento no existe.
-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.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.parse.xml.invalidPublicId = PUBLIC ID incorrecta: [{0}]
-jsp.error.unsupported.encoding = Codificaci\u00F3n no soportada: [{0}]
-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"
-#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}]
-#Error while processing taglib jar file [{0}]: [{1}]
-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.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.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.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.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.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.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.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" o "2.3"
-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.StandardJarScanFilter.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
 
-#ELInterpreter
-jsp.error.el_interpreter_class.instantiation=No se puede cargar la clase ELInterpreter llamada [{0}]
+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 f00898b..0b96839 100644
--- a/java/org/apache/jasper/resources/LocalStrings_fr.properties
+++ b/java/org/apache/jasper/resources/LocalStrings_fr.properties
@@ -13,125 +13,158 @@
 # 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.unavailable=La JSP a \u00e9t\u00e9 marqu\u00e9e comme non disponible
-jsp.error.usebean.duplicate=useBean: Nom de bean dupliqu\u00e9: [{0}]
-jsp.error.classname=Impossible de d\u00e9terminer le nom de classe d''apr\u00e8s 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.session=Directive de Page: valeur incorrecte pour session
-jsp.error.page.invalid.buffer=Directive de Page: valeur incorrecte pour "buffer"
-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.include.exception=Impossible d''inclure (include) [{0}]
-jsp.error.stream.closed=Flux ferm\u00e9
-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.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.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.mandatory.attribute=[{0}]: L''attribut obligatoire [{1}] est manquant
 jsp.engine.info=Moteur Jasper JSP 2.3
-jsp.error.invalid.expression=[{0}] contient d''incorrecte(s) expression(s): [{1}]
-jsp.error.invalid.attribute=[{0}]: Attribut incorrect: [{1}]
+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.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.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_tag=Aucun tag [{0}] dans la librairie de tag importée avec le préfixe [{1}]
+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.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.file.already.registered=Inclusion récursive du fichier [{0}]
 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.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.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.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.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.include.exception=Impossible d''inclure (include) [{0}]
 jsp.error.include.tag=Tag jsp:include incorrect
-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.plugin.notype=type non d\u00e9clar\u00e9 dans jsp:plugin
-jsp.error.plugin.nocode=code non d\u00e9clar\u00e9 dans jsp:plugin
+jsp.error.internal.filenotfound=Erreur interne: Fichier [{0}] introuvable
+jsp.error.internal.tldinit=Exception lors de l''initialisation de TldLocationsCache: [{0}]
+jsp.error.invalid.attribute=[{0}]: Attribut incorrect: [{1}]
+jsp.error.invalid.directive=Directive incorrecte
+jsp.error.invalid.expression=[{0}] contient d''incorrecte(s) expression(s): [{1}]
+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.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.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.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.mandatory.attribute=[{0}]: L''attribut obligatoire [{1}] est manquant
+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.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.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.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.invalid.buffer=Directive de Page: valeur incorrecte pour "buffer"
+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.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.single.line.number=Une erreur s''est produite à la ligne: [{0}] dans le fichier jsp: [{1}]
+jsp.error.stream.closed=Flux fermé
+jsp.error.tagdirective.badbodycontent=Contenu de corps (body-content) [{0}] invalide dans la directive tag
+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.file.not.found=Le fichier [{0}] n''a pas \u00e9t\u00e9 trouv\u00e9
-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.unable.to_find_method=Impossible de trouver une m\u00e9thode de mise \u00e0 jour pour l''attribut: [{0}]
-jsp.error.bad_tag=Aucun tag [{0}] dans la librairie de tag import\u00e9e avec le pr\u00e9fixe [{1}]
-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.error.tld.fn.invalid.signature=Synthaxe invalide pour la signature de fonction dans la TLD.  Librairie de Tag : [{0}], Fonction: [{1}]
+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.to_find_method=Impossible de trouver une méthode de mise à jour pour l''attribut: [{0}]
+jsp.error.unavailable=La JSP a été marquée comme non disponible
+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.usebean.duplicate=useBean: Nom de bean dupliqué: [{0}]
+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.var_and_varReader=A la fois 'var' et 'varReader' sont indiqués
+jsp.message.dont.modify.servlets=IMPORTANT: Ne pas modifier les servlets générées
+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.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.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.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.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:
+jspc.implicit.uriRoot=uriRoot réglé implicitement à [{0}]
 jspc.usage=Usage: jspc <options> [--] <fichiers jsp>\n\
-o\u00f9 les fichiers jsp sont n''importe quel nombre de:\n\
-\    <file>         Un fichier \u00e0 \u00e9valuer (parser) comme page jsp\n\
-\    -webapp <dir>  Un r\u00e9pertoire contenant une application web, toutes les pages jsp\n\
-\                   seront r\u00e9cursivement \u00e9valu\u00e9es\n\
-o\u00f9 les options comprennet:\n\
-\    -q          Mode silencieux (identique \u00e0 -v0)\n\
-\    -v[#]       Mode bavard (Le nombre optionnel indique le niveau, 2 par d\u00e9faut)\n\
+où les fichiers jsp sont n''importe quel nombre de:\n\
+\    <file>         Un fichier à évaluer (parser) comme page jsp\n\
+\    -webapp <dir>  Un répertoire contenant une application web, toutes les pages jsp\n\
+\                   seront récursivement évaluées\n\
+où les options comprennet:\n\
+\    -q          Mode silencieux (identique à -v0)\n\
+\    -v[#]       Mode bavard (Le nombre optionnel indique le niveau, 2 par défaut)\n\
 \    -d <dir>    Dossier de sortie\n\
 \    -dd <dir>   Dossier de sortie literal.  (Les dossiers de paquets ne seront pas construits)\n\
-\    -l          Sortie du nom la page JSP en cas d''\u00e9chec\n\
-\    -s          Sortie du nom la page JSP en cas de succ\u00e8s\n\
+\    -l          Sortie du nom la page JSP en cas d''échec\n\
+\    -s          Sortie du nom la page JSP en cas de succès\n\
 \    -p <name>   Nom du paquet cible\n\
 \    -c <name>   Nom d'un nom de classe cible\n\
-\                (s''applique seulement \u00e0 la premi\u00e8re page JSP)\n\
-\    -mapped     G\u00e9n\u00e8re des appels \u00e0 write() s\u00e9par\u00e9s pour chaque ligne HTML dans la JSP\n\
-\    -die[#]     G\u00e9n\u00e8re un code d''erreur de retour (#) en cas d''erreurs fatales.\n\
-\                Si le nombre est absent ou non num\u00e9rique, le d\u00e9faut est 1.\n\
-\    -uribase <dir>  Le r\u00e9pertoire uri de compilations relatif\n\
-\                    (Par d\u00e9faut "/")\n\
-\    -uriroot <dir>  The r\u00e9pertoire racine contre lequel les fichiers seront r\u00e9solus\n\
-\                    , (Par d\u00e9faut le r\u00e9pertoire depuis lequel jspc est appel\u00e9)\n\
-\    -webinc <file>  Cr\u00e9ation d''association partielle de servlet pour l''option -webapp.\n\
-\    -webxml <file>  Cr\u00e9ation d''un fichier web.xml complet pour l''option -webapp.\n\
+\                (s''applique seulement à la première page JSP)\n\
+\    -mapped     Génère des appels à write() séparés pour chaque ligne HTML dans la JSP\n\
+\    -die[#]     Génère un code d''erreur de retour (#) en cas d''erreurs fatales.\n\
+\                Si le nombre est absent ou non numérique, le défaut est 1.\n\
+\    -uribase <dir>  Le répertoire uri de compilations relatif\n\
+\                    (Par défaut "/")\n\
+\    -uriroot <dir>  The répertoire racine contre lequel les fichiers seront résolus\n\
+\                    , (Par défaut le répertoire depuis lequel jspc est appelé)\n\
+\    -webinc <file>  Création d''association partielle de servlet pour l''option -webapp.\n\
+\    -webxml <file>  Création d''un fichier web.xml complet pour l''option -webapp.\n\
 \    -ieplugin <clsid>  Le classid du Plugin Java Plugin pour Internet Explorer\n\
-\    -sax2 <driverclassname>  Le nom de classe du Driver SAX 2.0 \u00e0 utiliser\n\
+\    -sax2 <driverclassname>  Le nom de classe du Driver SAX 2.0 à utiliser\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.7)\n\
-\    -target <version>   Set the -target argument to the compiler (default 1.7)\n\
-
-jspc.webxml.header=<?xml version="1.0" encoding="{0}"?>\n\
-\<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
-\         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
-\         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
-\                 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"\n\
-\         version="3.1"\n\
-\         metadata-complete="false">\n\
-<!--\n\
-Cr\u00e9er automatiquement par le JspC Apache Tomcat.\n\
--->\n\
-\n
-jspc.webxml.footer=\n\
-</web-app>\n\
+\    -target <version>   Set the -target argument to the compiler (default 1.7)\n
+jspc.webfrg.footer=\n\
+</web-fragment>\n\
 \n
 jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
-\<web-fragment xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
+<web-fragment xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
 \              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
 \              xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
 \                      http://xmlns.jcp.org/xml/ns/javaee/web-fragment_3_1.xsd"\n\
@@ -140,87 +173,28 @@ jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
 \  <name>org_apache_jasper.jspc</name>\n\
 \  <distributable/>\n\
 <!--\n\
-Cr\u00e9er automatiquement par le JspC Apache Tomcat.\n\
+Créer automatiquement par le JspC Apache Tomcat.\n\
 -->\n\
 \n
-jspc.webfrg.footer=\n\
-</web-fragment>\n\
-\n
-jspc.webinc.header=\n\
-<!--\n\
-Cr\u00e9er automatiquement par le JspC Apache Tomcat.\n\
--->\n
 jspc.webinc.footer=\n\
 <!--\n\
 End of content automatically created by Apache Tomcat JspC.\n\
 -->\n
-jspc.error.generalException=ERREUR-le fichier [{0}] a g\u00e9n\u00e9r\u00e9 l''exception g\u00e9n\u00e9rale suivante:
-jspc.error.fileDoesNotExist=L''argument fichier [{0}] n''existe pas
-jsp.error.library.invalid=La page JSP page est incorrecte d''apr\u00e8s la librairie [{0}]: [{1}]
-jsp.error.tlvclass.instantiation=Impossible de charger ou d''instancier la classe TagLibraryValidator: [{0}]
-jsp.error.tlv.invalid.page=Message d''erreurs de validation provenant du TagLibraryValidator pour [{0}] en [{1}]
-jsp.error.tei.invalid.attributes=Message d''erreurs de validation provenant du TagExtraInfo pour [{0}]
-jsp.error.no.more.content=Fin de contenu alors que l''\u00e9valution n''\u00e9tait pas termin\u00e9e: erreur de tags imbriqu\u00e9s?
-jsp.error.parse.xml=Erreur d''\u00e9valuation XML sur le fichier [{0}]
-jsp.error.parse.xml.line=Erreur d''\u00e9valuation XML sur le fichier  [{0}]: (ligne [{1}], col [{2}])
-jsp.error.parse.xml.scripting.invalid.body=Le corps de l''\u00e9l\u00e9ment [{0}] ne doit contenir aucun \u00e9l\u00e9ments XML
-jsp.error.internal.tldinit=Exception lors de l''initialisation de TldLocationsCache: [{0}]
-jsp.error.internal.filenotfound=Erreur interne: Fichier [{0}] introuvable
-jsp.error.parse.xml.invalidPublicId=PUBLIC ID invalide: [{0}]
-jsp.error.unsupported.encoding=Encodage non support\u00e9: [{0}]
-jsp.warning.unknown.element.in.variable=Attention: Element inconnu [{0}] dans la variable
-jsp.error.taglibDirective.absUriCannotBeResolved=L''uri absolue: [{0}] ne peut \u00eatre r\u00e9solu dans le fichier web.xml ou dans les fichiers jar d\u00e9ploy\u00e9s avec cette application
-jsp.error.taglibDirective.missing.location=Ni l''uri' ni l''attribut 'tagdir' n''ont \u00e9t\u00e9 indiqu\u00e9s dans la directive taglib
-jsp.error.invalid.tagdir=Le r\u00e9pertoire du fichier Tag [{0}] ne commence pas par "/WEB-INF/tags"
-#jspx.error.templateDataNotInJspCdata=Erreur de validation: l''\u00e9l\u00e9ment &lt;{0}&gt; ne peut avoir de donn\u00e9es template. Les donn\u00e9es Template doivent \u00eatre encapsul\u00e9es \u00e0 l''int\u00e9rieur d''un \u00e9l\u00e9ment &lt;jsp:cdata&gt;. [JSP1.2 PFD section 5.1.9]\nDonn\u00e9e Template en erreur: [{1}]
-#Erreur lors du traitement du fichier jar de la taglib [{0}]: [{1}]
-jsp.error.needAlternateJavaEncoding=L''encodage java par d\u00e9faut [{0}] est incorrect sur votre environnement java. Une alternative peut \u00eatre indiqu\u00e9e via le param\u00eatre ''javaEncoding'' de la JspServlet.
-#Erreur lors de la compilation, utilis\u00e9 pour la ligne jsp des messages d''erreur
-jsp.error.single.line.number=Une erreur s''est produite \u00e0 la ligne: [{0}] dans le fichier jsp: [{1}]
-jsp.error.corresponding.servlet=Erreur de servlet g\u00e9n\u00e9r\u00e9e:\n
-jsp.error.jspbody.required=Doit utiliser jsp:body pour indiqu\u00e9 le corps de tag body de [{0}] si jsp:attribute est utilis\u00e9.
-jsp.error.jspbody.emptybody.only=Le tag [{0}] ne peut avoir que jsp:attribute dans son corps.
-jsp.error.no.scriptlets=Les \u00e9l\u00e9ments de Scripting ( <%!, <jsp:declaration, <%=, <jsp:expression, <%, <jsp:scriptlet ) ne sont pas autoris\u00e9s ici.
-jsp.error.tld.fn.invalid.signature=Synthaxe invalide pour la signature de fonction dans la TLD.  Librairie de Tag : [{0}], Fonction: [{1}]
-jsp.error.dynamic.attributes.not.implemented=Le tag [{0}] indique qu''il accepte des attributs dynamics mais n''impl\u00e9mente pas l''interface requise
-jsp.error.attribute.noequal=Symbole \u00e9gal (equal) attendu
-jsp.error.attribute.noquote=Symbole guillemet (quote) attendu
-jsp.error.attribute.unterminated=L''attribut pour [{0}] n''est pas correctement termin\u00e9
-jsp.error.missing.tagInfo=L''objet TagInfo de [{0}] est absent de la TLD
-jsp.error.fragmentwithtype=On ne peut indiquer \u00e0 la fois les attributs 'fragment' et 'type'.  Si 'fragment' est pr\u00e9sent, 'type' est fix\u00e9 comme 'javax.servlet.jsp.tagext.JspFragment'
-jsp.error.var_and_varReader=A la fois 'var' et 'varReader' sont indiqu\u00e9s
-jsp.warning.bad.urlpattern.propertygroup=Mauvaise valeur [{0}] dans le sous-\u00e9l\u00e9ment (subelement) url-pattern du fichier web.xml
-jsp.error.unknown_attribute_type=Type d''attribut inconnu [{1}] pour l''attribut [{0}].
-jsp.error.jspelement.missing.name=L''attribut obligatoire 'name' est absent de jsp:element
-jsp.error.could.not.add.taglibraries=Impossible d''ajouter une ou plusieurs librairies de tag.
-jsp.error.duplicate.name.jspattribute=L''attribut [{0}] indiqu\u00e9 dans l''action standard ou sp\u00e9cifique (custom) apparait aussi comme valeur de l''attribut de nom dans le jsp:attribute inclus
-jsp.error.not.in.template=[{0}] n''est pas autoris\u00e9 dans le corps de texte de template.
-jsp.error.badStandardAction=L''action n''est pas reconnue comme une action standard.
-jsp.error.tagdirective.badbodycontent=Contenu de corps (body-content) [{0}] invalide dans la directive tag
-jsp.error.config_pagedir_encoding_mismatch=L''encode de page (Page-encoding) indiqu\u00e9 dans le jsp-property-group [{0}] est diff\u00e9rent de celui indiqu\u00e9 dans la directive de page [{1}]
-#jsp.error.prolog_pagedir_encoding_mismatch=
-#jsp.error.prolog_config_encoding_mismatch=
-jsp.error.attribute.custom.non_rt_with_expr=D''apr\u00e8s la TLD, l''attribut [{0}] n''accepte aucune expression
-jsp.error.scripting.variable.missing_name=Incapable de d\u00e9terminer le nom de variable scripting d''apr\u00e8s l''attribut [{0}]
-jasper.error.emptybodycontent.nonempty=D''apr\u00e8s la TLD, le tag [{0}] doit \u00eatre vide, mais ne l''est pas
-#jsp.error.tagfile.nameNotUnique=
-#jsp.error.tagfile.nameFrom.noAttribute=
-#jsp.error.tagfile.nameFrom.badAttribute=
-jsp.error.usebean.noSession=Il est ill\u00e9gal pour useBean d''utiliser une port\u00e9e de session (session scope) quand la page JSP indique (via la directive de page) qu''elle ne participe pas aux sessions
-jsp.error.attributes.not.allowed = [{0}] ne doit avoir aucun attribut
-#jsp.error.nested.jspattribute=
-#jsp.error.nested.jspbody=
-#jsp.error.variable.either.name=
-#jsp.error.variable.both.name=
-#jsp.error.variable.alias=
-#jsp.error.jsptext.badcontent=
-#jsp.error.prefix.refined=
-#jsp.error.jspoutput.conflict=
-#jsp.error.jspoutput.doctypenamesystem=
-#jsp.error.jspoutput.doctypepulicsystem=
-#jsp.error.jspoutput.nonemptybody=
-#jsp.error.jspoutput.invalidUse=
-#jsp.error.invalid.bean=
-
-#ELInterpreter
-jsp.error.el_interpreter_class.instantiation=Impossible de charger ou d''instancier la classe ELInterpreter [{0}]
+jspc.webinc.header=\n\
+<!--\n\
+Créer automatiquement par le JspC Apache Tomcat.\n\
+-->\n
+jspc.webxml.footer=\n\
+</web-app>\n\
+\n
+jspc.webxml.header=<?xml version="1.0" encoding="{0}"?>\n\
+<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
+\         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
+\         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
+\                 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"\n\
+\         version="3.1"\n\
+\         metadata-complete="false">\n\
+<!--\n\
+Créer automatiquement par le JspC Apache Tomcat.\n\
+-->\n\
+\n
diff --git a/java/org/apache/jasper/resources/LocalStrings_ja.properties b/java/org/apache/jasper/resources/LocalStrings_ja.properties
index e33340c..c85a054 100644
--- a/java/org/apache/jasper/resources/LocalStrings_ja.properties
+++ b/java/org/apache/jasper/resources/LocalStrings_ja.properties
@@ -13,166 +13,273 @@
 # 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 ja_JP
+jasper.error.emptybodycontent.nonempty=TLDに従ってタグ [{0}] は空でなければいけませんが、そうではありません
 
-jsp.error.no.scratch.dir=JSP\u30a8\u30f3\u30b8\u30f3\u306b\u30c7\u30d5\u30a9\u30eb\u30c8\u306escratchDir\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\
-\n \u3053\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306eservlets.properties\u30d5\u30a1\u30a4\u30eb\u306b\u3001\
-\n "jsp.initparams=scratchdir=<dir-name>" \u3092\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-jsp.error.bad.scratch.dir=\u3042\u306a\u305f\u304c\u6307\u5b9a\u3057\u305fscratchDir: [{0}] \u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
-jsp.message.scratch.dir.is=JSP\u30a8\u30f3\u30b8\u30f3\u306eScratchdir: [{0}]
-jsp.message.parent_class_loader_is=\u89aa\u30af\u30e9\u30b9\u30ed\u30fc\u30c0: [{0}]
-jsp.message.dont.modify.servlets=\u91cd\u8981: \u751f\u6210\u3055\u308c\u305f\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u3092\u5909\u66f4\u3057\u3066\u306f\u3044\u3051\u307e\u305b\u3093
-jsp.error.unavailable=JSP\u306f\u5229\u7528\u4e0d\u53ef\u3068\u30de\u30fc\u30af\u3055\u308c\u3066\u3044\u307e\u3059
-jsp.error.usebean.duplicate=useBean: beanName\u5c5e\u6027\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059: [{0}]
-jsp.error.invalid.scope=''scope''\u5c5e\u6027\u306e\u5024\u304c\u7121\u52b9\u3067\u3059: [{0}] ("page"\u3001"request"\u3001"session"\u53c8\u306f"application"\u306e\u3069\u308c\u304b\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093)
-jsp.error.classname=.class\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u30af\u30e9\u30b9\u540d\u3092\u6c7a\u5b9a\u3067\u304d\u307e\u305b\u3093
-jsp.error.data.file.write=\u30c7\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u3092\u66f8\u304d\u8fbc\u307f\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059
-jsp.error.page.conflict.contenttype=page\u6307\u793a\u5b50: ''contentType''\u3092\u7570\u306a\u308b\u5024\u3067\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u306e\u306f\u7121\u52b9\u3067\u3059 (\u65e7: [{0}], \u65b0: [{1}])
-jsp.error.page.conflict.session=page\u6307\u793a\u5b50: ''session''\u3092\u7570\u306a\u308b\u5024\u3067\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u306e\u306f\u7121\u52b9\u3067\u3059 (\u65e7: [{0}], \u65b0: [{1}])
-jsp.error.page.invalid.session=page\u6307\u793a\u5b50: session\u5c5e\u6027\u306e\u5024\u304c\u7121\u52b9\u3067\u3059
-jsp.error.page.conflict.buffer=page\u6307\u793a\u5b50: ''buffer''\u3092\u7570\u306a\u308b\u5024\u3067\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u306e\u306f\u7121\u52b9\u3067\u3059 (\u65e7: [{0}], \u65b0: [{1}])
-jsp.error.page.invalid.buffer=page\u6307\u793a\u5b50: buffer\u5c5e\u6027\u306e\u5024\u304c\u7121\u52b9\u3067\u3059
-jsp.error.page.conflict.autoflush=page\u6307\u793a\u5b50: ''autoFlush''\u3092\u7570\u306a\u308b\u5024\u3067\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u306e\u306f\u7121\u52b9\u3067\u3059 (\u65e7: [{0}], \u65b0: [{1}])
-jsp.error.page.conflict.isthreadsafe=page\u6307\u793a\u5b50: ''isThreadSafe''\u3092\u7570\u306a\u308b\u5024\u3067\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u306e\u306f\u7121\u52b9\u3067\u3059 (\u65e7: [{0}], \u65b0: [{1}])
-jsp.error.page.invalid.isthreadsafe=page\u6307\u793a\u5b50: isThreadSafe\u306e\u5024\u304c\u7121\u52b9\u3067\u3059
-jsp.error.page.conflict.info=page\u6307\u793a\u5b50: ''info''\u3092\u7570\u306a\u308b\u5024\u3067\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u306e\u306f\u7121\u52b9\u3067\u3059 (\u65e7: [{0}], \u65b0: [{1}])
-jsp.error.page.invalid.info=page\u6307\u793a\u5b50: info\u5c5e\u6027\u306e\u5024\u304c\u7121\u52b9\u3067\u3059
-jsp.error.page.conflict.iserrorpage=page\u6307\u793a\u5b50: ''isErrorPage''\u3092\u7570\u306a\u308b\u5024\u3067\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u306e\u306f\u7121\u52b9\u3067\u3059 (\u65e7: [{0}], \u65b0: [{1}])
-jsp.error.page.invalid.iserrorpage=page\u6307\u793a\u5b50: isErrorPage\u5c5e\u6027\u306e\u5024\u304c\u7121\u52b9\u3067\u3059
-jsp.error.page.conflict.errorpage=page\u6307\u793a\u5b50: ''errorPage''\u3092\u7570\u306a\u308b\u5024\u3067\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u306e\u306f\u7121\u52b9\u3067\u3059 (\u65e7: [{0}], \u65b0: [{1}])
-jsp.error.page.conflict.language=page\u6307\u793a\u5b50: 'language'\u3092\u7570\u306a\u308b\u5024\u3067\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u306e\u306f\u7121\u52b9\u3067\u3059 (\u65e7: [{0}], \u65b0: [{1}])
-jsp.error.tag.conflict.language=tag\u6307\u793a\u5b50: ''language''\u3092\u7570\u306a\u308b\u5024\u3067\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u306e\u306f\u7121\u52b9\u3067\u3059 (\u65e7: [{0}], \u65b0: [{1}])
-jsp.error.page.language.nonjava=page\u6307\u793a\u5b50: \u7121\u52b9\u306alanguage\u5c5e\u6027\u3067\u3059
-jsp.error.tag.language.nonjava=tag\u6307\u793a\u5b50: \u7121\u52b9\u306alanguage\u5c5e\u6027\u3067\u3059
-jsp.error.page.conflict.extends=page\u6307\u793a\u5b50: ''extends''\u3092\u7570\u306a\u308b\u5024\u3067\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u306e\u306f\u7121\u52b9\u3067\u3059 (\u65e7: [{0}], \u65b0: [{1}])
-jsp.error.page.conflict.iselignored=page\u6307\u793a\u5b50: ''isELIgnored''\u3092\u7570\u306a\u308b\u5024\u3067\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u306e\u306f\u7121\u52b9\u3067\u3059 (\u65e7: [{0}], \u65b0: [{1}])
-jsp.error.tag.conflict.iselignored=tag\u6307\u793a\u5b50: 'isELIgnored'\u3092\u7570\u306a\u308b\u5024\u3067\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u306e\u306f\u7121\u52b9\u3067\u3059 (\u65e7: [{0}], \u65b0: [{1}])
-jsp.error.page.invalid.iselignored=page\u6307\u793a\u5b50: isELIgnored\u306b\u7121\u52b9\u306a\u5024\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059
-jsp.error.tag.invalid.iselignored=tag\u6307\u793a\u5b50: isELIgnored\u306b\u7121\u52b9\u306a\u5024\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059
-jsp.error.page.multi.pageencoding=page\u6307\u793a\u5b50\u306f\u8907\u6570\u306epageencoding\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-jsp.error.tag.conflict.attr=Tag\u6307\u793a\u5b50: \u5c5e\u6027[{0}]\u3092\u7570\u306a\u308b\u5024\u3067\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u306e\u306f\u4e0d\u6b63\u3067\u3059 (\u65e7: [{1}], \u65b0: [{2}])
-jsp.error.tag.multi.pageencoding=tag\u6307\u793a\u5b50\u306f\u8907\u6570\u306epageencoding\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-jsp.error.include.exception=[{0}] \u3092\u53d6\u308a\u8fbc\u3081\u307e\u305b\u3093
-jsp.error.stream.closed=\u30b9\u30c8\u30ea\u30fc\u30e0\u304c\u30af\u30ed\u30fc\u30ba\u3055\u308c\u3066\u3044\u307e\u3059
-jsp.error.invalid.directive=\u7121\u52b9\u306a\u6307\u793a\u5b50\u3067\u3059
-jsp.error.directive.istagfile=[{0}] \u6307\u793a\u5b50\u306f\u30bf\u30b0\u30d5\u30a1\u30a4\u30eb\u4e2d\u3067\u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
-jsp.error.directive.isnottagfile=[{0}] \u6307\u793a\u5b50\u306f\u30bf\u30b0\u30d5\u30a1\u30a4\u30eb\u4e2d\u3067\u3057\u304b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
-jsp.error.action.istagfile=[{0}] \u30a2\u30af\u30b7\u30e7\u30f3\u306f\u30bf\u30b0\u30d5\u30a1\u30a4\u30eb\u4e2d\u3067\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
-jsp.error.action.isnottagfile=[{0}] \u30a2\u30af\u30b7\u30e7\u30f3\u306f\u30bf\u30b0\u30d5\u30a1\u30a4\u30eb\u4e2d\u3067\u306e\u307f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
-jsp.error.unterminated=[{0}] \u30bf\u30b0\u304c\u7d42\u4e86\u3057\u3066\u3044\u307e\u305b\u3093
-jsp.error.loadclass.taghandler=\u30bf\u30b0 [{1}] \u306b\u30bf\u30b0\u30cf\u30f3\u30c9\u30e9\u30af\u30e9\u30b9 [{0}] \u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093
-jsp.error.unable.compile=JSP\u306e\u30af\u30e9\u30b9\u3092\u30b3\u30f3\u30d1\u30a4\u30eb\u3067\u304d\u307e\u305b\u3093
-jsp.error.unable.load=JSP\u306e\u30af\u30e9\u30b9\u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093
-jsp.error.mandatory.attribute=[{0}]: \u5fc5\u9808\u5c5e\u6027 [{1}] \u304c\u3042\u308a\u307e\u305b\u3093
-jsp.engine.info=Jasper JSP 2.3\u30a8\u30f3\u30b8\u30f3
-jsp.error.invalid.expression=[{0}] \u306f\u7121\u52b9\u306a\u5f0f\u3092\u542b\u3093\u3067\u3044\u307e\u3059: [{1}]
-jsp.error.invalid.attribute=[{0}]\u306f\u7121\u52b9\u306a\u5c5e\u6027\u3092\u6301\u3063\u3066\u3044\u307e\u3059: [{1}]
-jsp.error.file.cannot.read=\u30d5\u30a1\u30a4\u30eb\u304c\u8aad\u3081\u307e\u305b\u3093: [{0}]
-jsp.error.file.already.registered=\u30d5\u30a1\u30a4\u30eb [{0}] \u306e\u518d\u5e30\u7684\u306a\u53d6\u308a\u8fbc\u307f\u3067\u3059
-jsp.error.file.not.registered=include\u5c5e\u6027\u4e2d\u306e\u30d5\u30a1\u30a4\u30eb [{0}] \u304c\u5b58\u5728\u3057\u307e\u305b\u3093
-jsp.error.quotes.unterminated=\u5f15\u7528\u7b26\u304c\u7d42\u4e86\u3057\u3066\u3044\u307e\u305b\u3093
-jsp.error.attr.quoted=\u5c5e\u6027\u5024\u306f\u5f15\u7528\u7b26\u3067\u56f2\u308f\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.beans.nullbean=null\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306bBean\u64cd\u4f5c\u3092\u304a\u3053\u306a\u304a\u3046\u3068\u3057\u307e\u3057\u305f
-jsp.error.beans.nobeaninfo=\u30bf\u30a4\u30d7 [{0}] \u306eBean\u306bBeanInfo\u304c\u306a\u3044\u306e\u3092\u691c\u51fa\u3057\u307e\u3057\u305f, \u30af\u30e9\u30b9\u304c\u5b58\u5728\u3057\u306a\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093
-jsp.error.beans.nomethod=\u30bf\u30a4\u30d7 [{1}] \u306eBean\u4e2d\u306e\u5c5e\u6027 [{0}] \u3092\u8aad\u307f\u8fbc\u3080\u30e1\u30bd\u30c3\u30c9\u3092\u767a\u898b\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-jsp.error.beans.nomethod.setproperty=\u30bf\u30a4\u30d7[{2}]\u306eBean\u306e\u30bf\u30a4\u30d7 [{1}] \u306e\u5c5e\u6027 [{0}] \u3092\u66f8\u304d\u8fbc\u3080\u30e1\u30bd\u30c3\u30c9\u3092\u767a\u898b\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-jsp.error.beans.noproperty=\u30bf\u30a4\u30d7 [{1}] \u306ebean\u4e2d\u306e\u5c5e\u6027 [{0}] \u306e\u60c5\u5831\u3092\u767a\u898b\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-jsp.error.beans.setproperty.noindexset=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u4ed8\u304d\u306e\u5c5e\u6027\u3092\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093
-jsp.error.include.tag=\u7121\u52b9\u306ajsp:include\u30bf\u30b0\u3067\u3059
-jsp.error.attempt_to_clear_flushed_buffer=\u30a8\u30e9\u30fc: \u65e2\u306b\u30d5\u30e9\u30c3\u30b7\u30e5\u3055\u308c\u3066\u3044\u308b\u30d0\u30c3\u30d5\u30a1\u3092\u30af\u30ea\u30a2\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f
-jsp.error.overflow=\u30a8\u30e9\u30fc: JSP\u30d0\u30c3\u30d5\u30a1\u304c\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u3057\u307e\u3057\u305f
-jsp.error.paramexpected="name"\u5c5e\u6027 \u3068 "value" \u5c5e\u6027\u3092\u6301\u3064 "jsp:param" \u6a19\u6e96\u30a2\u30af\u30b7\u30e7\u30f3\u304c\u5fc5\u8981\u3067\u3059
-jsp.error.param.invalidUse=jsp:include\u3001jsp:forward\u3001\u53c8\u306fjsp:params\u8981\u7d20\u306e\u5916\u3067jsp:param\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3057\u3066\u306f\u3044\u3051\u307e\u305b\u3093
-jsp.error.params.invalidUse=jsp:params\u306fjsp:plugin\u306e\u76f4\u63a5\u306e\u5b50\u4f9b\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.fallback.invalidUse=jsp:fallback\u306fjsp:plugin\u306e\u76f4\u63a5\u306e\u5b50\u4f9b\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.namedAttribute.invalidUse=jsp:attribute\u306f\u6a19\u6e96\u53c8\u306f\u30ab\u30b9\u30bf\u30e0\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u526f\u8981\u7d20\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.jspbody.invalidUse=jsp:body\u306f\u6a19\u6e96\u53c8\u306f\u30ab\u30b9\u30bf\u30e0\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u526f\u8981\u7d20\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.params.emptyBody=jsp:params\u306f\u5c11\u306a\u304f\u3068\u3082\u4e00\u3064\u306e\u30cd\u30b9\u30c8\u3057\u305fjsp:param\u3092\u542b\u307e\u306d\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.plugin.notype=jsp:plugin\u3067type\u5c5e\u6027\u304c\u5ba3\u8a00\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-jsp.error.plugin.badtype=jsp:plugin\u306e 'type'\u5c5e\u6027\u306e\u5024\u304c\u7121\u52b9\u3067\u3059: 'bean'\u53c8\u306f'applet'\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.plugin.nocode=jsp:plugin\u3067code\u5c5e\u6027\u304c\u5ba3\u8a00\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-jsp.error.ise_on_clear=\u30d0\u30c3\u30d5\u30a1\u30b5\u30a4\u30ba\u304c0\u306e\u6642\u306bclear()\u3092\u5b9f\u884c\u3057\u3066\u3082\u7121\u52b9\u3067\u3059
-jsp.warning.keepgen=\u8b66\u544a: initParam keepgenerated\u306e\u5024\u304c\u7121\u52b9\u3067\u3059\u3002 \u30c7\u30d5\u30a9\u30eb\u30c8\u5024 "false" \u3092\u4f7f\u7528\u3057\u307e\u3059
-jsp.warning.xpoweredBy=\u8b66\u544a: Invalid value for the initParam xpoweredBy\u306e\u5024\u304c\u7121\u52b9\u3067\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u5024 "false" \u3092\u4f7f\u7528\u3057\u307e\u3059
-jsp.warning.enablePooling=\u8b66\u544a: initParam enablePooling\u304c\u7121\u52b9\u306a\u5024\u3067\u3059\u3002"true"\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u4f7f\u7528\u3057\u307e\u3059
-jsp.warning.mappedFile=\u8b66\u544a: initParam mappedFile\u306e\u5024\u304c\u7121\u52b9\u3067\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u5024 "false" \u3092\u4f7f\u7528\u3057\u307e\u3059
-jsp.warning.classDebugInfo=\u8b66\u544a: initParam classDebugInfo\u306e\u5024\u304c\u7121\u52b9\u3067\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u5024 "false"\u3092\u4f7f\u7528\u3057\u307e\u3059
-jsp.warning.checkInterval=\u8b66\u544a: initParam checkInterval\u306e\u5024\u304c\u7121\u52b9\u3067\u3059\u3002"300"\u79d2\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u4f7f\u7528\u3057\u307e\u3059
-jsp.warning.development=\u8b66\u544a: initParam development\u306e\u5024\u304c\u7121\u52b9\u3067\u3059\u3002"true"\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u4f7f\u7528\u3057\u307e\u3059
-jsp.warning.fork=\u8b66\u544a: initParam fork\u306e\u5024\u304c\u7121\u52b9\u3067\u3059\u3002"true"\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u4f7f\u7528\u3057\u307e\u3059
-jsp.warning.dumpSmap=\u8b66\u544a: initParam dumpSmap\u306e\u5024\u304c\u7121\u52b9\u3067\u3059\u3002"false"\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u4f7f\u7528\u3057\u307e\u3059
-jsp.warning.genchararray=\u8b66\u544a: initParam genStringAsCharArray\u306e\u5024\u304c\u7121\u52b9\u3067\u3059\u3002"false"\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u4f7f\u7528\u3057\u307e\u3059
-jsp.warning.suppressSmap=\u8b66\u544a: initParam suppressSmap\u306e\u5024\u304c\u7121\u52b9\u3067\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u5024 "false" \u3092\u4f7f\u7528\u3057\u307e\u3059
-jsp.warning.unknown.element.in.taglib=taglib\u4e2d\u306b\u672a\u77e5\u306e\u8981\u7d20 [{0}] \u304c\u3042\u308a\u307e\u3059
-jsp.warning.unknown.element.in.tag=tag\u4e2d\u306b\u672a\u77e5\u306e\u8981\u7d20 [{0}] \u304c\u3042\u308a\u307e\u3059
-jsp.warning.unknown.element.in.tagfile=tag-file\u4e2d\u306b\u672a\u77e5\u306e\u8981\u7d20 [{0}] \u304c\u3042\u308a\u307e\u3059
-jsp.warning.unknown.element.in.attribute=attribute\u4e2d\u306b\u672a\u77e5\u306e\u8981\u7d20 [{0}] \u304c\u3042\u308a\u307e\u3059
-jsp.warning.unknown.element.in.variable=variable\u4e2d\u306b\u672a\u77e5\u306e\u8981\u7d20 [{0}] \u304c\u3042\u308a\u307e\u3059
-jsp.warning.unknown.element.in.validator=validator\u4e2d\u306b\u672a\u77e5\u306e\u8981\u7d20 [{0}] \u304c\u3042\u308a\u307e\u3059
-jsp.warning.unknown.element.in.initParam=validator\u306einit-param\u4e2d\u306b\u672a\u77e5\u306e\u8981\u7d20 [{0}] \u304c\u3042\u308a\u307e\u3059
-jsp.warning.unknown.element.in.function=function\u4e2d\u306b\u672a\u77e5\u306e\u8981\u7d20 [{0}] \u304c\u3042\u308a\u307e\u3059
-jsp.error.teiclass.instantiation=TagExtraInfo class\u306e\u30ed\u30fc\u30c9\u53c8\u306f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u306b\u5931\u6557\u3057\u307e\u3057\u305f: [{0}]
-jsp.error.non_null_tei_and_var_subelems=\u30bf\u30b0 [{0}] \u306f\u4e00\u3064\u4ee5\u4e0a\u306evariable\u526f\u8981\u7d20\u3068\u4e00\u3064\u4ee5\u4e0a\u306eVariableInfo\u3092\u8fd4\u3059TagExtraInfo\u30af\u30e9\u30b9\u3092\u6301\u3063\u3066\u3044\u307e\u3059
-jsp.error.parse.error.in.TLD=\u30bf\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea\u8a18\u8ff0\u5b50 [{0}] \u4e2d\u306e\u89e3\u6790\u30a8\u30e9\u30fc\u3067\u3059
-jsp.error.file.not.found=JSP \u30d5\u30a1\u30a4\u30eb [{0}] \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
-jsp.error.missing_attribute=TLD\u53c8\u306f\u30bf\u30b0\u30d5\u30a1\u30a4\u30eb\u306b\u3088\u308b\u3068\u3001\u5c5e\u6027 [{0}] \u306f\u30bf\u30b0 [{1}] \u306b\u306f\u5fc5\u9808\u3067\u3059
-jsp.error.bad_attribute=TLD\u306b\u3088\u308b\u3068\u3001\u30bf\u30b0 [{1}] \u306e\u5c5e\u6027 [{0}] \u306f\u7121\u52b9\u3067\u3059
-jsp.error.tld.unable_to_get_jar=TLD\u3092\u542b\u3080JAR\u30ea\u30bd\u30fc\u30b9 [{0}] \u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093 : [{1}]
-jsp.error.tld.missing_jar=TLD\u3092\u542b\u3080JAR\u30ea\u30bd\u30fc\u30b9 [{0}] \u304c\u3042\u308a\u307e\u305b\u3093
-jsp.error.unable.to_find_method=\u5c5e\u6027 [{0}] \u306esetter\u30e1\u30bd\u30c3\u30c9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
-jsp.error.bad_tag=\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9 [{1}]\u3067\u30a4\u30f3\u30dd\u30fc\u30c8\u3055\u308c\u305f\u30bf\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u306f\u3001\u30bf\u30b0 [{0}] \u306f\u5b58\u5728\u3057\u307e\u305b\u3093
-jsp.error.xml.bad_tag=URI [{1}] \u306b\u95a2\u9023\u3065\u3051\u3089\u308c\u305f\u30bf\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u4e2d\u306b\u306f\u30bf\u30b0 [{0}] \u306f\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-jsp.error.jspc.uriroot_not_dir=-uriroot \u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u3001\u65e2\u306b\u5b58\u5728\u3059\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u6307\u5b9a\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.jspc.missingTarget=\u30bf\u30fc\u30b2\u30c3\u30c8\u304c\u3042\u308a\u307e\u305b\u3093: -webapp\u53c8\u306f-uriroot\uff0c\u53c8\u306f\u4e00\u3064\u4ee5\u4e0a\u306eJSP\u30da\u30fc\u30b8\u3092\u6307\u5b9a\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.jspc.no_uriroot=uriroot\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\u306e\u3067\u3001\u6307\u5b9a\u3055\u308c\u305fJSP\u30d5\u30a1\u30a4\u30eb(\u7fa4)\u3092\u914d\u7f6e\u3067\u304d\u307e\u305b\u3093
-jspc.implicit.uriRoot=uriRoot\u306f\u30c7\u30d5\u30a9\u30eb\u30c8[{0}]\u306b\u8a2d\u5b9a\u3055\u308c\u307e\u3059
-jspc.usage=\u4f7f\u7528\u6cd5: jspc <options> [--] <jsp files>\n\
-JSP\u30d5\u30a1\u30a4\u30eb\u306e\u5834\u6240\u306f\u6b21\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u6307\u5b9a\u3059\u308b\u304b\u3001\n\
-\    -webapp <dir>   web-app\u3092\u542b\u3080\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3002\u3059\u3079\u3066\u306eJSP\u30d5\u30a1\u30a4\u30eb\u306f\n\
-\                    \u518d\u5e30\u7684\u306b\u89e3\u6790\u3055\u308c\u308b\n\
-\u53c8\u306f\u6b21\u306e\u4efb\u610f\u306e\u6570\u306e\u30d5\u30a1\u30a4\u30eb\u3067\u6307\u5b9a\u3057\u307e\u3059\u3002\n\
-\    <file>          JSP\u3068\u3057\u3066\u89e3\u6790\u3055\u308c\u308b\u30d5\u30a1\u30a4\u30eb\n\
-\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\n\
-\    -help           \u3053\u306e\u30d8\u30eb\u30d7\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u8868\u793a\n\
-\    -v              Verbose\u30e2\u30fc\u30c9\n\
-\    -d <dir>        \u51fa\u529b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\n\
-\    -l              \u5931\u6557\u3057\u305fJSP\u30da\u30fc\u30b8\u306e\u540d\u524d\u306e\u51fa\u529b\n\
-\    -s              \u6210\u529f\u3057\u305fJSP\u30da\u30fc\u30b8\u306e\u540d\u524d\u306e\u51fa\u529b\n\
-\    -p <name>       \u30bf\u30fc\u30b2\u30c3\u30c8\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u540d\u524d  (\u30c7\u30d5\u30a9\u30eb\u30c8\u306forg.apache.jsp)\n\
-\    -c <name>       \u30bf\u30fc\u30b2\u30c3\u30c8\u30af\u30e9\u30b9\u306e\u540d\u524d (\u6700\u521d\u306eJSP\u30da\u30fc\u30b8\u3060\u3051\u306b\u9069\u7528\u3055\u308c\u308b)\n\
-\    -mapped         JSP\u306e\u5404HTML\u884c\u3054\u3068\u306bwrite()\u30b3\u30fc\u30eb\u3092\u751f\u6210\n\
-\    -die[#]         \u81f4\u547d\u7684\u30a8\u30e9\u30fc\u306b\u30a8\u30e9\u30fc\u30ea\u30bf\u30fc\u30f3\u30b3\u30fc\u30c9(#)\u3092\u751f\u6210 (\u30c7\u30d5\u30a9\u30eb\u30c8\u306f1)\n\
-\    -uribase <dir>  \u30b3\u30f3\u30d1\u30a4\u30eb\u304c\u76f8\u5bfe\u7684\u306b\u304a\u3053\u306a\u308f\u308c\u308buri\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\n\
-\                    (\u30c7\u30d5\u30a9\u30eb\u30c8\u306f"/")\n\
-\    -uriroot <dir>  -webapp\u3068\u540c\u3058\n\
-\    -compile        \u751f\u6210\u3057\u305f\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\n\
-\    -webinc <file>  \u30d5\u30a1\u30a4\u30eb\u306b\u90e8\u5206\u7684\u306a\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u30de\u30c3\u30d4\u30f3\u30b0\u3092\u4f5c\u6210\n\
-\    -webxml <file>  \u30d5\u30a1\u30a4\u30eb\u306b\u5b8c\u5168\u306aweb.xml\u3092\u4f5c\u6210\n\
-\    -ieplugin <clsid>  Internet Explorer\u306eJava Plugin\u306eclassid\n\
-\    -classpath <path>  java.class.path\u30b7\u30b9\u30c6\u30e0\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u4e0a\u66f8\u304d\n\
-\    -xpoweredBy        X-Powered-By\u30ec\u30b9\u30dd\u30f3\u30b9\u30d8\u30c3\u30c0\u306e\u8ffd\u52a0\n\
+jsp.engine.info=Jasper JSP 2.3エンジン
+jsp.error.action.isnottagfile=[{0}] アクションはタグファイル中でのみ使用できません
+jsp.error.action.istagfile=[{0}] アクションはタグファイル中で使用できません
+jsp.error.attempt_to_clear_flushed_buffer=エラー: 既にフラッシュされているバッファをクリアしようとしました
+jsp.error.attr.quoted=属性値は引用符で囲わなければいけません
+jsp.error.attribute.custom.non_rt_with_expr=TLD又はタグファイル中のattribute指示子に従って属性[{0}]はどんな式も受け付けません
+jsp.error.attribute.invalidPrefix=属性のプレフィックス [{0}] はどの取り込まれたタグライブラリにも対応しません
+jsp.error.attribute.noequal=等号記号が必要です
+jsp.error.attribute.noquote=引用符が必要です
+jsp.error.attribute.null_name=空の属性名です
+jsp.error.attribute.standard.non_rt_with_expr=[{1}] 標準アクションの [{0}] 属性はどんな式も受け付けません
+jsp.error.attribute.unterminated=[{0}] の属性が正しく終了していません
+jsp.error.attributes.not.allowed=[{0}] は属性を持つことはできません
+jsp.error.bad.scratch.dir=あなたが指定したscratchDir: [{0}] は使用できません
+jsp.error.badStandardAction=無効な標準アクションです
+jsp.error.bad_attribute=TLDによると、タグ [{1}] の属性 [{0}] は無効です
+jsp.error.bad_tag=プレフィックス [{1}]でインポートされたタグライブラリには、タグ [{0}] は存在しません
+jsp.error.beans.nobeaninfo=タイプ [{0}] のBeanにBeanInfoがないのを検出しました, クラスが存在しないかもしれません
+jsp.error.beans.nomethod=タイプ [{1}] のBean中の属性 [{0}] を読み込むメソッドを発見できませんでした
+jsp.error.beans.nomethod.setproperty=タイプ[{2}]のBeanのタイプ [{1}] の属性 [{0}] を書き込むメソッドを発見できませんでした
+jsp.error.beans.noproperty=タイプ [{1}] のbean中の属性 [{0}] の情報を発見できませんでした
+jsp.error.beans.nullbean=nullオブジェクトにBean操作をおこなおうとしました
+jsp.error.beans.setproperty.noindexset=インデックス付きの属性を指定できません
+jsp.error.classname=.classファイルからクラス名を決定できません
+jsp.error.config_pagedir_encoding_mismatch=jsp-property-group中に指定されているPage-encoding [{0}] がpage指示子中の指定 [{1}] と違います
+jsp.error.corresponding.servlet=生成されたサーブレットのエラーです:\n
+jsp.error.could.not.add.taglibraries=1つ以上のタグライブラリを追加できません
+jsp.error.data.file.read=ファイル [{0}] を読み込み中にエラーが発生しました
+jsp.error.data.file.write=データファイルを書き込み中のエラーです
+jsp.error.directive.isnottagfile=[{0}] 指示子はタグファイル中でしか使用できません
+jsp.error.directive.istagfile=[{0}] 指示子はタグファイル中では使用できません
+jsp.error.duplicate.name.jspattribute=標準又はカスタムアクション中で指定されている属性 [{0}] はそれに囲まれたjsp:attribute中のname属性の値としても表れます
+jsp.error.dynamic.attributes.not.implemented=[{0}] タグはそれがdynamic属性を受け付けると宣言していますが、それに必要なインタフェースを実装していません
+jsp.error.el_interpreter_class.instantiation=ELInterpreter classのロード又はインスタンス化に失敗しました [{0}]
+jsp.error.fallback.invalidUse=jsp:fallbackはjsp:pluginの直接の子供でなければいけません
+jsp.error.file.already.registered=ファイル [{0}] の再帰的な取り込みです
+jsp.error.file.cannot.read=ファイルが読めません: [{0}]
+jsp.error.file.not.found=JSP ファイル [{0}] が見つかりません
+jsp.error.file.not.registered=include属性中のファイル [{0}] が存在しません
+jsp.error.fragmentwithtype='fragment'属性と'type'属性を両方指定できません。'fragment'が存在する場合には'type'は'javax.servlet.jsp.tagext.JspFragment'に固定されます
+jsp.error.function.classnotfound=TLDの中で関数 [{1}] に指定されているクラス [{0}] が見つかりません: [{2}]
+jsp.error.include.exception=[{0}] を取り込めません
+jsp.error.include.tag=無効なjsp:includeタグです
+jsp.error.internal.filenotfound=内部エラー: ファイル [{0}] が見つかりません
+jsp.error.internal.tldinit=TldLocationsCacheを初期化中の例外です: [{0}]
+jsp.error.invalid.attribute=[{0}]は無効な属性を持っています: [{1}]
+jsp.error.invalid.bean=useBeanのクラス属性 [{0}] の値が無効です
+jsp.error.invalid.directive=無効な指示子です
+jsp.error.invalid.expression=[{0}] は無効な式を含んでいます: [{1}]
+jsp.error.invalid.scope=''scope''属性の値が無効です: [{0}] ("page"、"request"、"session"又は"application"のどれかでなければいけません)
+jsp.error.invalid.tagdir=タグファイルディレクトリ [{0}] が"/WEB-INF/tags"で始まりません
+jsp.error.ise_on_clear=バッファサイズが0の時にclear()を実行しても無効です
+jsp.error.jspbody.emptybody.only=[{0}] タグは、そのボディ中にjsp:attributeだけを持つことができます
+jsp.error.jspbody.invalidUse=jsp:bodyは標準又はカスタムアクションの副要素でなければいけません
+jsp.error.jspbody.required=jsp:attributeが使用された場合には、[{0}]にタグボディを指定するためにjsp:bodyを使用しなければいけません
+jsp.error.jspc.missingTarget=ターゲットがありません: -webapp又は-uriroot,又は一つ以上のJSPページを指定しなければいけません
+jsp.error.jspc.no_uriroot=urirootが指定されていないので、指定されたJSPファイル(群)を配置できません
+jsp.error.jspc.uriroot_not_dir=-uriroot オプションは、既に存在するディレクトリを指定しなければいけません
+jsp.error.jspelement.missing.name=必須のXMLスタイルの'name'属性がjsp:element中にありません
+jsp.error.jspoutput.conflict=&lt;jsp:output&gt;: [{0}]に異なる値を複数回指定するのは無効です (旧: [{1}], 新: [{2}])
+jsp.error.jspoutput.doctypenamesystem=&lt;jsp:output&gt;: 'doctype-root-element' 及び 'doctype-system' 属性は同時に指定しなければいけません
+jsp.error.jspoutput.doctypepulicsystem=&lt;jsp:output&gt;: 'doctype-public'属性を指定する場合は、'doctype-system' 属性も指定しなければいけません
+jsp.error.jspoutput.invalidUse=&lt;jsp:output&gt; 標準構文の中で使用してはいけません
+jsp.error.jspoutput.nonemptybody=&lt;jsp:output&gt; ボディを持ってはいけません
+jsp.error.jsproot.version.invalid=無効なバージョン番号です: [{0}]、"1.2" "2.0" "2.1" "2.2" 又は "2.3" でなければいけません
+jsp.error.jsptext.badcontent='&lt;'が&lt;jsp:text&gt;のボディの中に現れる時は、CDATAの中に隠蔽しなければいけません
+jsp.error.library.invalid=ライブラリ[{0}]に従うとJSPページは無効です: [{1}]
+jsp.error.loadclass.taghandler=タグ [{1}] にタグハンドラクラス [{0}] をロードできません
+jsp.error.mandatory.attribute=[{0}]: 必須属性 [{1}] がありません
+jsp.error.missing.tagInfo=[{0}] に対するTagInfoオブジェクトがTLDから失われました
+jsp.error.missing_attribute=TLD又はタグファイルによると、属性 [{0}] はタグ [{1}] には必須です
+jsp.error.missing_var_or_varReader='var'又は'varReader'属性がありません
+jsp.error.multiple.jsp=複数の仕様を満たすことはできません
+jsp.error.namedAttribute.invalidUse=jsp:attributeは標準又はカスタムアクションの副要素でなければいけません
+jsp.error.needAlternateJavaEncoding=デフォルトのJavaエンコーディング [{0}] はあなたのプラットフォームでは無効です。JspServletの ''javaEncoding'' パラメタで、別の値を指定することができます。
+jsp.error.nested.jspattribute=jsp:attribute標準アクションは別のjsp:attribute標準アクションの範囲内でネストすることはできません
+jsp.error.nested.jspbody=jsp:body標準アクションは別のjsp:body又はjsp:attribute標準アクションの範囲内でネストすることはできません
+jsp.error.nested_jsproot=入れ子になった &lt;jsp:root&gt; です
+jsp.error.no.more.content=必要な解析中に内容の最後まで達しました: タグのネストのエラーかもしれません
+jsp.error.no.scratch.dir=JSPエンジンにデフォルトのscratchDirが設定されていません。\n\
+\ このコンテキストのservlets.propertiesファイルに、\n\
+\ "jsp.initparams=scratchdir=<dir-name>" を追加してください。
+jsp.error.no.scriptlets=スクリプティング要素 ( &lt;%!、&lt;jsp:declaration、&lt;%=、&lt;jsp:expression、&lt;%、&lt;jsp:scriptlet ) はここでは許されません
+jsp.error.noFunction=関数 [{0}] を指定されたプリフィクスで配置できません
+jsp.error.noFunctionMethod=関数 [{1}] のメソッド [{0}] が [{2}] 中で見つかりません
+jsp.error.non_null_tei_and_var_subelems=タグ [{0}] は一つ以上のvariable副要素と一つ以上のVariableInfoを返すTagExtraInfoクラスを持っています
+jsp.error.not.in.template=テンプレートテキストボディ中では [{0}] は許されません
+jsp.error.overflow=エラー: JSPバッファがオーバーフローしました
+jsp.error.page.conflict.autoflush=page指示子: ''autoFlush''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.page.conflict.buffer=page指示子: ''buffer''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.page.conflict.contenttype=page指示子: ''contentType''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.page.conflict.errorpage=page指示子: ''errorPage''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.page.conflict.extends=page指示子: ''extends''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.page.conflict.info=page指示子: ''info''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.page.conflict.iselignored=page指示子: ''isELIgnored''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.page.conflict.iserrorpage=page指示子: ''isErrorPage''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.page.conflict.isthreadsafe=page指示子: ''isThreadSafe''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.page.conflict.language=page指示子: ''language''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.page.conflict.session=page指示子: ''session''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.page.invalid.buffer=page指示子: buffer属性の値が無効です
+jsp.error.page.invalid.info=page指示子: info属性の値が無効です
+jsp.error.page.invalid.iselignored=page指示子: isELIgnoredに無効な値が指定されています
+jsp.error.page.invalid.iserrorpage=page指示子: isErrorPage属性の値が無効です
+jsp.error.page.invalid.isthreadsafe=page指示子: isThreadSafeの値が無効です
+jsp.error.page.invalid.session=page指示子: session属性の値が無効です
+jsp.error.page.language.nonjava=page指示子: 無効なlanguage属性です
+jsp.error.page.multi.pageencoding=page指示子は複数のpageencodingを持つことはできません
+jsp.error.page.noSession=セッションに加わっていないページの中ではセッションスコープにアクセスできません
+jsp.error.param.invalidUse=jsp:include、jsp:forward、又はjsp:params要素の外でjsp:paramアクションを使用してはいけません
+jsp.error.paramexpected="name"属性 と "value" 属性を持つ "jsp:param" 標準アクションが必要です
+jsp.error.params.emptyBody=jsp:paramsは少なくとも一つのネストしたjsp:paramを含まねばいけません
+jsp.error.params.invalidUse=jsp:paramsはjsp:pluginの直接の子供でなければいけません
+jsp.error.parse.error.in.TLD=タグライブラリ記述子 [{0}] 中の解析エラーです
+jsp.error.parse.xml=ファイル[{0}]のXML解析エラー
+jsp.error.parse.xml.invalidPublicId=無効なPUBLIC ID: [{0}]
+jsp.error.parse.xml.line=ファイル[{0}]のXML解析エラー: (行 [{1}], 列 [{2}])
+jsp.error.parse.xml.scripting.invalid.body=[{0}] 要素のボディはXML要素を含んではいけません
+jsp.error.plugin.badtype=jsp:pluginの 'type'属性の値が無効です: 'bean'又は'applet'でなければいけません
+jsp.error.plugin.nocode=jsp:pluginでcode属性が宣言されていません
+jsp.error.plugin.notype=jsp:pluginでtype属性が宣言されていません
+jsp.error.plugin.wrongRootElement=[{0}] の中のルート要素の名前は [{1}] ではありません
+jsp.error.prefix.refined=プリフィックス [{0}] が現在のスコープ中で既に [{2}] と定義されているので [{1}] に再定義しました
+jsp.error.prefix.use_before_dcl=このタグ指示子で指定されているプリフィックス [{0}] は、すでにファイル [{1}] の [{2}] 行目のアクションで使用されています
+jsp.error.prolog_config_encoding_mismatch=XML導入部で指定されたpage-encoding [{0}] がjsp-property-group中の指定と違います [{1}]
+jsp.error.prolog_pagedir_encoding_mismatch=XML導入部で指定されたpage-encoding [{0}] がpage指示子中の指定 [{1}] と違います
+jsp.error.quotes.unterminated=引用符が終了していません
+jsp.error.scripting.variable.missing_name=属性 [{0}] からスクリプト変数名を決定できません
+jsp.error.signature.classnotfound=TLDの中のメソッドシグネチャで関数 [{1}] に指定されているクラス [{0}] が見つかりません。 [{2}]
+jsp.error.simpletag.badbodycontent=クラス [{0}] のTLDはSimpleTagに無効なbody-content (JSP)を指定しています
+jsp.error.single.line.number=JSPファイル: [{1}] の中の[{0}]行目でエラーが発生しました
+jsp.error.stream.closed=ストリームがクローズされています
+jsp.error.tag.conflict.attr=Tag指示子: 属性[{0}]を異なる値で複数回指定するのは不正です (旧: [{1}], 新: [{2}])
+jsp.error.tag.conflict.iselignored=tag指示子: ''isELIgnored''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.tag.conflict.language=tag指示子: ''language''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.tag.invalid.iselignored=tag指示子: isELIgnoredに無効な値が指定されています
+jsp.error.tag.language.nonjava=tag指示子: 無効なlanguage属性です
+jsp.error.tag.multi.pageencoding=tag指示子は複数のpageencodingを持つことはできません
+jsp.error.tagdirective.badbodycontent=tag指示子中の無効なbody-content [{0}]です
+jsp.error.tagfile.badSuffix=タグファイルパス [{0}] の中に".tag" 拡張子がありません
+jsp.error.tagfile.illegalPath=不正なタグファイルパスです: [{0}]、これは"/WEB-INF/tags"又は"/META-INF/tags"で始まらなければいけません
+jsp.error.tagfile.nameFrom.badAttribute=attribute指示子 ([{1}]行目で宣言され、そのname属性が[{0}]、このname-from-attribute属性の値) はjava.lang.String型の"required" で "rtexprvalue".であってはいけません
+jsp.error.tagfile.nameFrom.noAttribute=このname-from-attribute属性の値である値 [{0}] のname属性を持つattribute指示子が見つかりません
+jsp.error.tagfile.nameNotUnique=[{2}]行目の [{0}] の値と [{1}] の値は同じです
+jsp.error.taglibDirective.absUriCannotBeResolved=絶対URI:  [{0}] はweb.xmlとこのアプリケーションを配備したJARファイルのどちらかでも解決できません
+jsp.error.taglibDirective.both_uri_and_tagdir='uri'属性 と 'tagdir'属性の両方が指定されています
+jsp.error.taglibDirective.missing.location=taglib指示子の中に'uri'属性と'tagdir'属性のどちらも指定されていません
+jsp.error.tei.invalid.attributes=[{0}] に対するTagExtraInfoからの検証エラーメッセージです
+jsp.error.teiclass.instantiation=TagExtraInfo classのロード又はインスタンス化に失敗しました: [{0}]
+jsp.error.text.has_subelement=&lt;jsp:text&gt; は副要素を持ってはいけません
+jsp.error.tld.fn.duplicate.name=タグライブラリ [{1}] の中の関数名 [{0}] が重複しています
+jsp.error.tld.fn.invalid.signature=TLDの中の関数シグネチャに対する無効な構文です。タグライブラリ: [{0}]、関数: [{1}]
+jsp.error.tld.mandatory.element.missing=必須TLD要素がない、又は空です: [{0}]
+jsp.error.tld.missing_jar=TLDを含むJARリソース [{0}] がありません
+jsp.error.tld.unable_to_get_jar=TLDを含むJARリソース [{0}] を取得できません : [{1}]
+jsp.error.tlv.invalid.page=[{0}] に対するTagLibraryValidatorの検証エラーメッセージです [{1}]
+jsp.error.tlvclass.instantiation=TagLibraryValidatorクラスのロード又はインスタンス化に失敗しました: [{0}]
+jsp.error.unable.compile=JSPのクラスをコンパイルできません
+jsp.error.unable.load=JSPのクラスをロードできません
+jsp.error.unable.to_find_method=属性 [{0}] のsetterメソッドが見つかりません
+jsp.error.unavailable=JSPは利用不可とマークされています
+jsp.error.unbalanced.endtag=終了タグ "&lt;/{0}" の対応が取れていません
+jsp.error.unknown_attribute_type=属性 [{0}] に対する未知の属性タイプです
+jsp.error.unsupported.encoding=サポートされていないエンコーディングです: [{0}]
+jsp.error.unterminated=[{0}] タグが終了していません
+jsp.error.usebean.duplicate=useBean: beanName属性が重複しています: [{0}]
+jsp.error.usebean.noSession=JSPページが(page指示子により)セッション中で協調しないことを宣言している時、セッションスコープを使用するためのuseBeanが不正です
+jsp.error.var_and_varReader='var'又は'varReader'のどちらか一つを指定することができます
+jsp.error.variable.alias=name-from-attributeおよびalias属性の両方をvariable指示子中に指定する、又はどちらも指定しないことができます
+jsp.error.variable.both.name=variable指示子中でname-givenとname-from-attribute属性の両方を指定することはできません
+jsp.error.variable.either.name=name-given又はname-from-attribute属性のどちらかをvariable指示子の中で指定されなければいけません
+jsp.error.xml.badStandardAction=無効な標準アクションです: [{0}]
+jsp.error.xml.bad_tag=URI [{1}] に関連づけられたタグライブラリの中にはタグ [{0}] は定義されていません
+jsp.error.xml.closeQuoteMissingInTextDecl=テキスト宣言中の[{0}]に続く値の中の最後のクオートがありません
+jsp.error.xml.closeQuoteMissingInXMLDecl=XML宣言中の[{0}]に続く値の中の最後のクオートがありません
+jsp.error.xml.encodingByteOrderUnsupported=エンコーディング [{0}] に指定されたバイトオーダはサポートされていません
+jsp.error.xml.encodingDeclInvalid=無効なエンコーディング名 [{0}] です
+jsp.error.xml.encodingDeclRequired=テキスト宣言中にエンコーディング宣言が必要です
+jsp.error.xml.eqRequiredInTextDecl=テキスト宣言中で[{0}]の次に'' = ''文字が続かなければいけません
+jsp.error.xml.eqRequiredInXMLDecl=XML宣言中で[{0}]の次に'' = '' 文字が続かなければいけません
+jsp.error.xml.expectedByte=[{1}]バイトUTF-8シーケンスのバイト [{0}] が必要です
+jsp.error.xml.invalidASCII=バイト [{0}] は7ビットASCIIではありません
+jsp.error.xml.invalidByte=[{1}]バイトUTF-8シーケンスの無効なバイト [{0}] です
+jsp.error.xml.invalidCharInContent=ドキュメントの無効なXML文字 (Unicode: 0x[{0}]) がドキュメントの要素内容の中に見つかりました
+jsp.error.xml.invalidCharInPI=無効なXML文字 (Unicode: 0x[{0}]) が命令処理中に見つかりました
+jsp.error.xml.invalidCharInTextDecl=テキスト宣言の中に無効なXML文字 (Unicode: 0x[{0}]) が見つかりました
+jsp.error.xml.invalidCharInXMLDecl=XML宣言の中に無効なXML文字 (Unicode: 0x[{0}]) が見つかりました
+jsp.error.xml.invalidHighSurrogate=UTF-8シーケンスのハイサロゲートビットは0x10を越えてはいけませんが、0x[{0}]が見つかりました
+jsp.error.xml.morePseudoAttributes=より多くの疑似属性が必要です
+jsp.error.xml.noMorePseudoAttributes=これ以上の疑似属性は許されません
+jsp.error.xml.operationNotSupported=[{1}] readerは操作 [{0}] をサポートしていません
+jsp.error.xml.pseudoAttrNameExpected=疑似属性名が必要です
+jsp.error.xml.quoteRequiredInTextDecl=テキスト宣言中の[{0}]に続く値はクオートで囲まれた文字列でなければいけません
+jsp.error.xml.quoteRequiredInXMLDecl=XML宣言中の[{0}]に続く値はクオートで囲まれた文字列でなければいけません
+jsp.error.xml.reservedPITarget="[xX][mM][lL]"に一致する処理命令ターゲットは許されていません
+jsp.error.xml.sdDeclInvalid=スタンドアロン文書宣言値は"yes"又は"no"のどちらかであり、[{0}]ではいけません
+jsp.error.xml.spaceRequiredBeforeEncodingInTextDecl=テキスト宣言のencoding疑似属性の前に空白が必要です
+jsp.error.xml.spaceRequiredBeforeEncodingInXMLDecl=XML宣言のencoding疑似属性の前に空白が必要です
+jsp.error.xml.spaceRequiredBeforeStandalone=XML宣言のencoding疑似属性の前に空白が必要です
+jsp.error.xml.spaceRequiredBeforeVersionInTextDecl=テキスト宣言のversion疑似属性の前に空白が必要です
+jsp.error.xml.spaceRequiredBeforeVersionInXMLDecl=XML宣言のversion疑似属性の前に空白が必要です
+jsp.error.xml.spaceRequiredInPI=空白が処理命令ターゲットとデータの間に必要です
+jsp.error.xml.versionInfoRequired=XML宣言の中にバージョンが必要です
+jsp.error.xml.versionNotSupported=XMLバージョン [{0}] はサポートされていません、XML 1.0だけをサポートしています
+jsp.error.xml.xmlDeclUnterminated=XML宣言は"?>"で終らなければいけません
+jsp.message.dont.modify.servlets=重要: 生成されたサーブレットを変更してはいけません
+jsp.message.parent_class_loader_is=親クラスローダ: [{0}]
+jsp.message.scratch.dir.is=JSPエンジンのScratchdir: [{0}]
+jsp.warning.bad.urlpattern.propertygroup=web.xml中のurl-pattern副要素中に誤った値 [{0}] があります
+jsp.warning.checkInterval=警告: initParam checkIntervalの値が無効です。"300"秒のデフォルト値を使用します
+jsp.warning.classDebugInfo=警告: initParam classDebugInfoの値が無効です。デフォルト値 "false"を使用します
+jsp.warning.development=警告: initParam developmentの値が無効です。"true"のデフォルト値を使用します
+jsp.warning.dumpSmap=警告: initParam dumpSmapの値が無効です。"false"のデフォルト値を使用します
+jsp.warning.enablePooling=警告: initParam enablePoolingが無効な値です。"true"のデフォルト値を使用します
+jsp.warning.fork=警告: initParam forkの値が無効です。"true"のデフォルト値を使用します
+jsp.warning.genchararray=警告: initParam genStringAsCharArrayの値が無効です。"false"のデフォルト値を使用します
+jsp.warning.keepgen=警告: initParam keepgeneratedの値が無効です。 デフォルト値 "false" を使用します
+jsp.warning.mappedFile=警告: initParam mappedFileの値が無効です。デフォルト値 "false" を使用します
+jsp.warning.suppressSmap=警告: initParam suppressSmapの値が無効です。デフォルト値 "false" を使用します
+jsp.warning.unknown.element.in.attribute=attribute中に未知の要素 [{0}] があります
+jsp.warning.unknown.element.in.function=function中に未知の要素 [{0}] があります
+jsp.warning.unknown.element.in.initParam=validatorのinit-param中に未知の要素 [{0}] があります
+jsp.warning.unknown.element.in.tag=tag中に未知の要素 [{0}] があります
+jsp.warning.unknown.element.in.tagfile=tag-file中に未知の要素 [{0}] があります
+jsp.warning.unknown.element.in.taglib=taglib中に未知の要素 [{0}] があります
+jsp.warning.unknown.element.in.validator=validator中に未知の要素 [{0}] があります
+jsp.warning.unknown.element.in.variable=variable中に未知の要素 [{0}] があります
+jsp.warning.xpoweredBy=警告: Invalid value for the initParam xpoweredByの値が無効です。デフォルト値 "false" を使用します
+
+jspc.error.fileDoesNotExist=ファイル引数 [{0}] は存在しません。
+jspc.error.generalException=エラー: ファイル [{0}] は次の例外を発生しました:
+jspc.implicit.uriRoot=uriRootはデフォルト[{0}]に設定されます
+jspc.usage=使用法: jspc <options> [--] <jsp files>\n\
+JSPファイルの場所は次のオプションで指定するか、\n\
+\    -webapp <dir>   web-appを含むディレクトリ。すべてのJSPファイルは\n\
+\                    再帰的に解析される\n\
+又は次の任意の数のファイルで指定します。\n\
+\    <file>          JSPとして解析されるファイル\n\
+オプションは以下の通りです\n\
+\    -help           このヘルプメッセージの表示\n\
+\    -v              Verboseモード\n\
+\    -d <dir>        出力ディレクトリ\n\
+\    -l              失敗したJSPページの名前の出力\n\
+\    -s              成功したJSPページの名前の出力\n\
+\    -p <name>       ターゲットパッケージの名前  (デフォルトはorg.apache.jsp)\n\
+\    -c <name>       ターゲットクラスの名前 (最初のJSPページだけに適用される)\n\
+\    -mapped         JSPの各HTML行ごとにwrite()コールを生成\n\
+\    -die[#]         致命的エラーにエラーリターンコード(#)を生成 (デフォルトは1)\n\
+\    -uribase <dir>  コンパイルが相対的におこなわれるuriディレクトリ\n\
+\                    (デフォルトは"/")\n\
+\    -uriroot <dir>  -webappと同じ\n\
+\    -compile        生成したサーブレットのコンパイル\n\
+\    -webinc <file>  ファイルに部分的なサーブレットマッピングを作成\n\
+\    -webxml <file>  ファイルに完全なweb.xmlを作成\n\
+\    -ieplugin <clsid>  Internet ExplorerのJava Pluginのclassid\n\
+\    -classpath <path>  java.class.pathシステムプロパティの上書き\n\
+\    -xpoweredBy        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.7)\n\
-\    -target <version>   Set the -target argument to the compiler (default 1.7)\n\
-
-jspc.webxml.header=<?xml version="1.0" encoding="{0}"?>\n\
-\<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
-\         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
-\         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
-\                 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"\n\
-\         version="3.1"\n\
-\         metadata-complete="false">\n\
-<!--\n\
-Automatically created by Apache Tomcat JspC.\n\
--->\n\
-\n
-jspc.webxml.footer=\n\
-</web-app>\n\
+\    -target <version>   Set the -target argument to the compiler (default 1.7)\n
+jspc.webfrg.footer=\n\
+</web-fragment>\n\
 \n
 jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
-\<web-fragment xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
+<web-fragment xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
 \              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
 \              xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
 \                      http://xmlns.jcp.org/xml/ns/javaee/web-fragment_3_1.xsd"\n\
@@ -184,141 +291,27 @@ 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.generalException=\u30a8\u30e9\u30fc: \u30d5\u30a1\u30a4\u30eb [{0}] \u306f\u6b21\u306e\u4f8b\u5916\u3092\u767a\u751f\u3057\u307e\u3057\u305f:
-jspc.error.fileDoesNotExist=\u30d5\u30a1\u30a4\u30eb\u5f15\u6570 [{0}] \u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
-jsp.error.library.invalid=\u30e9\u30a4\u30d6\u30e9\u30ea[{0}]\u306b\u5f93\u3046\u3068JSP\u30da\u30fc\u30b8\u306f\u7121\u52b9\u3067\u3059: [{1}]
-jsp.error.tlvclass.instantiation=TagLibraryValidator\u30af\u30e9\u30b9\u306e\u30ed\u30fc\u30c9\u53c8\u306f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u306b\u5931\u6557\u3057\u307e\u3057\u305f: [{0}]
-jsp.error.tlv.invalid.page=[{0}] \u306b\u5bfe\u3059\u308bTagLibraryValidator\u306e\u691c\u8a3c\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u3067\u3059 [{1}]
-jsp.error.tei.invalid.attributes=[{0}] \u306b\u5bfe\u3059\u308bTagExtraInfo\u304b\u3089\u306e\u691c\u8a3c\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u3067\u3059
-jsp.error.no.more.content=\u5fc5\u8981\u306a\u89e3\u6790\u4e2d\u306b\u5185\u5bb9\u306e\u6700\u5f8c\u307e\u3067\u9054\u3057\u307e\u3057\u305f: \u30bf\u30b0\u306e\u30cd\u30b9\u30c8\u306e\u30a8\u30e9\u30fc\u304b\u3082\u3057\u308c\u307e\u305b\u3093
-jsp.error.parse.xml=\u30d5\u30a1\u30a4\u30eb[{0}]\u306eXML\u89e3\u6790\u30a8\u30e9\u30fc
-jsp.error.parse.xml.line=\u30d5\u30a1\u30a4\u30eb[{0}]\u306eXML\u89e3\u6790\u30a8\u30e9\u30fc: (\u884c [{1}], \u5217 [{2}])
-jsp.error.parse.xml.scripting.invalid.body=[{0}] \u8981\u7d20\u306e\u30dc\u30c7\u30a3\u306fXML\u8981\u7d20\u3092\u542b\u3093\u3067\u306f\u3044\u3051\u307e\u305b\u3093
-jsp.error.internal.tldinit=TldLocationsCache\u3092\u521d\u671f\u5316\u4e2d\u306e\u4f8b\u5916\u3067\u3059: [{0}]
-jsp.error.internal.filenotfound=\u5185\u90e8\u30a8\u30e9\u30fc: \u30d5\u30a1\u30a4\u30eb [{0}] \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
-jsp.error.parse.xml.invalidPublicId=\u7121\u52b9\u306aPUBLIC ID: [{0}]
-jsp.error.unsupported.encoding=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3067\u3059: [{0}]
-jsp.error.taglibDirective.absUriCannotBeResolved=\u7d76\u5bfeURI:  [{0}] \u306fweb.xml\u3068\u3053\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u914d\u5099\u3057\u305fJAR\u30d5\u30a1\u30a4\u30eb\u306e\u3069\u3061\u3089\u304b\u3067\u3082\u89e3\u6c7a\u3067\u304d\u307e\u305b\u3093
-jsp.error.taglibDirective.missing.location=taglib\u6307\u793a\u5b50\u306e\u4e2d\u306b'uri'\u5c5e\u6027\u3068'tagdir'\u5c5e\u6027\u306e\u3069\u3061\u3089\u3082\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-jsp.error.taglibDirective.both_uri_and_tagdir='uri'\u5c5e\u6027 \u3068 'tagdir'\u5c5e\u6027\u306e\u4e21\u65b9\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059
-jsp.error.invalid.tagdir=\u30bf\u30b0\u30d5\u30a1\u30a4\u30eb\u30c7\u30a3\u30ec\u30af\u30c8\u30ea [{0}] \u304c"/WEB-INF/tags"\u3067\u59cb\u307e\u308a\u307e\u305b\u3093
-#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}]
-#Error while processing taglib jar file [{0}]: [{1}]
-jsp.error.needAlternateJavaEncoding=\u30c7\u30d5\u30a9\u30eb\u30c8\u306eJava\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0 [{0}] \u306f\u3042\u306a\u305f\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u306f\u7121\u52b9\u3067\u3059\u3002JspServlet\u306e ''javaEncoding'' \u30d1\u30e9\u30e1\u30bf\u3067\u3001\u5225\u306e\u5024\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002
-#Error when compiling, used for jsp line number error messages
-jsp.error.single.line.number=JSP\u30d5\u30a1\u30a4\u30eb: [{1}] \u306e\u4e2d\u306e[{0}]\u884c\u76ee\u3067\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-jsp.error.corresponding.servlet=\u751f\u6210\u3055\u308c\u305f\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u306e\u30a8\u30e9\u30fc\u3067\u3059:\n
-jsp.error.jspbody.required=jsp:attribute\u304c\u4f7f\u7528\u3055\u308c\u305f\u5834\u5408\u306b\u306f\u3001[{0}]\u306b\u30bf\u30b0\u30dc\u30c7\u30a3\u3092\u6307\u5b9a\u3059\u308b\u305f\u3081\u306bjsp:body\u3092\u4f7f\u7528\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.jspbody.emptybody.only=[{0}] \u30bf\u30b0\u306f\u3001\u305d\u306e\u30dc\u30c7\u30a3\u4e2d\u306bjsp:attribute\u3060\u3051\u3092\u6301\u3064\u3053\u3068\u304c\u3067\u304d\u307e\u3059
-jsp.error.no.scriptlets=\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\u8981\u7d20 ( &lt;%!\u3001&lt;jsp:declaration\u3001&lt;%=\u3001&lt;jsp:expression\u3001&lt;%\u3001&lt;jsp:scriptlet ) \u306f\u3053\u3053\u3067\u306f\u8a31\u3055\u308c\u307e\u305b\u3093
-jsp.error.tld.fn.invalid.signature=TLD\u306e\u4e2d\u306e\u95a2\u6570\u30b7\u30b0\u30cd\u30c1\u30e3\u306b\u5bfe\u3059\u308b\u7121\u52b9\u306a\u69cb\u6587\u3067\u3059\u3002\u30bf\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea: [{0}]\u3001\u95a2\u6570: [{1}]
-jsp.error.tld.fn.duplicate.name=\u30bf\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea [{1}] \u306e\u4e2d\u306e\u95a2\u6570\u540d [{0}] \u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059
-jsp.error.tld.mandatory.element.missing=\u5fc5\u9808TLD\u8981\u7d20\u304c\u306a\u3044\u3001\u53c8\u306f\u7a7a\u3067\u3059: [{0}]
-jsp.error.dynamic.attributes.not.implemented=[{0}] \u30bf\u30b0\u306f\u305d\u308c\u304cdynamic\u5c5e\u6027\u3092\u53d7\u3051\u4ed8\u3051\u308b\u3068\u5ba3\u8a00\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u305d\u308c\u306b\u5fc5\u8981\u306a\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u305b\u3093
-jsp.error.attribute.noequal=\u7b49\u53f7\u8a18\u53f7\u304c\u5fc5\u8981\u3067\u3059
-jsp.error.attribute.noquote=\u5f15\u7528\u7b26\u304c\u5fc5\u8981\u3067\u3059
-jsp.error.attribute.unterminated=[{0}] \u306e\u5c5e\u6027\u304c\u6b63\u3057\u304f\u7d42\u4e86\u3057\u3066\u3044\u307e\u305b\u3093
-jsp.error.missing.tagInfo=[{0}] \u306b\u5bfe\u3059\u308bTagInfo\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304cTLD\u304b\u3089\u5931\u308f\u308c\u307e\u3057\u305f
-jsp.error.fragmentwithtype='fragment'\u5c5e\u6027\u3068'type'\u5c5e\u6027\u3092\u4e21\u65b9\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002'fragment'\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u306b\u306f'type'\u306f'javax.servlet.jsp.tagext.JspFragment'\u306b\u56fa\u5b9a\u3055\u308c\u307e\u3059
-jsp.error.var_and_varReader='var'\u53c8\u306f'varReader'\u306e\u3069\u3061\u3089\u304b\u4e00\u3064\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059
-jsp.error.missing_var_or_varReader='var'\u53c8\u306f'varReader'\u5c5e\u6027\u304c\u3042\u308a\u307e\u305b\u3093
-jsp.warning.bad.urlpattern.propertygroup=web.xml\u4e2d\u306eurl-pattern\u526f\u8981\u7d20\u4e2d\u306b\u8aa4\u3063\u305f\u5024 [{0}] \u304c\u3042\u308a\u307e\u3059
-jsp.error.unknown_attribute_type=\u5c5e\u6027 [{0}] \u306b\u5bfe\u3059\u308b\u672a\u77e5\u306e\u5c5e\u6027\u30bf\u30a4\u30d7\u3067\u3059
-jsp.error.jspelement.missing.name=\u5fc5\u9808\u306eXML\u30b9\u30bf\u30a4\u30eb\u306e'name'\u5c5e\u6027\u304cjsp:element\u4e2d\u306b\u3042\u308a\u307e\u305b\u3093
-jsp.error.could.not.add.taglibraries=1\u3064\u4ee5\u4e0a\u306e\u30bf\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093
-jsp.error.duplicate.name.jspattribute=\u6a19\u6e96\u53c8\u306f\u30ab\u30b9\u30bf\u30e0\u30a2\u30af\u30b7\u30e7\u30f3\u4e2d\u3067\u6307\u5b9a\u3055\u308c\u3066\u3044\u308b\u5c5e\u6027 [{0}] \u306f\u305d\u308c\u306b\u56f2\u307e\u308c\u305fjsp:attribute\u4e2d\u306ename\u5c5e\u6027\u306e\u5024\u3068\u3057\u3066\u3082\u8868\u308c\u307e\u3059
-jsp.error.not.in.template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30c6\u30ad\u30b9\u30c8\u30dc\u30c7\u30a3\u4e2d\u3067\u306f [{0}] \u306f\u8a31\u3055\u308c\u307e\u305b\u3093
-jsp.error.badStandardAction=\u7121\u52b9\u306a\u6a19\u6e96\u30a2\u30af\u30b7\u30e7\u30f3\u3067\u3059
-jsp.error.xml.badStandardAction=\u7121\u52b9\u306a\u6a19\u6e96\u30a2\u30af\u30b7\u30e7\u30f3\u3067\u3059: [{0}]
-jsp.error.tagdirective.badbodycontent=tag\u6307\u793a\u5b50\u4e2d\u306e\u7121\u52b9\u306abody-content [{0}]\u3067\u3059
-jsp.error.simpletag.badbodycontent=\u30af\u30e9\u30b9 [{0}] \u306eTLD\u306fSimpleTag\u306b\u7121\u52b9\u306abody-content (JSP)\u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059
-jsp.error.config_pagedir_encoding_mismatch=jsp-property-group\u4e2d\u306b\u6307\u5b9a\u3055\u308c\u3066\u3044\u308bPage-encoding [{0}] \u304cpage\u6307\u793a\u5b50\u4e2d\u306e\u6307\u5b9a [{1}] \u3068\u9055\u3044\u307e\u3059
-jsp.error.prolog_pagedir_encoding_mismatch=XML\u5c0e\u5165\u90e8\u3067\u6307\u5b9a\u3055\u308c\u305fpage-encoding [{0}] \u304cpage\u6307\u793a\u5b50\u4e2d\u306e\u6307\u5b9a [{1}] \u3068\u9055\u3044\u307e\u3059
-jsp.error.prolog_config_encoding_mismatch=XML\u5c0e\u5165\u90e8\u3067\u6307\u5b9a\u3055\u308c\u305fpage-encoding [{0}] \u304cjsp-property-group\u4e2d\u306e\u6307\u5b9a\u3068\u9055\u3044\u307e\u3059 [{1}]
-jsp.error.attribute.custom.non_rt_with_expr=TLD\u53c8\u306f\u30bf\u30b0\u30d5\u30a1\u30a4\u30eb\u4e2d\u306eattribute\u6307\u793a\u5b50\u306b\u5f93\u3063\u3066\u5c5e\u6027[{0}]\u306f\u3069\u3093\u306a\u5f0f\u3082\u53d7\u3051\u4ed8\u3051\u307e\u305b\u3093
-jsp.error.attribute.standard.non_rt_with_expr=[{1}] \u6a19\u6e96\u30a2\u30af\u30b7\u30e7\u30f3\u306e [{0}] \u5c5e\u6027\u306f\u3069\u3093\u306a\u5f0f\u3082\u53d7\u3051\u4ed8\u3051\u307e\u305b\u3093
-jsp.error.scripting.variable.missing_name=\u5c5e\u6027 [{0}] \u304b\u3089\u30b9\u30af\u30ea\u30d7\u30c8\u5909\u6570\u540d\u3092\u6c7a\u5b9a\u3067\u304d\u307e\u305b\u3093
-jasper.error.emptybodycontent.nonempty=TLD\u306b\u5f93\u3063\u3066\u30bf\u30b0 [{0}] \u306f\u7a7a\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u304c\u3001\u305d\u3046\u3067\u306f\u3042\u308a\u307e\u305b\u3093
-jsp.error.tagfile.nameNotUnique=[{2}]\u884c\u76ee\u306e [{0}] \u306e\u5024\u3068 [{1}] \u306e\u5024\u306f\u540c\u3058\u3067\u3059
-jsp.error.tagfile.nameFrom.noAttribute=\u3053\u306ename-from-attribute\u5c5e\u6027\u306e\u5024\u3067\u3042\u308b\u5024 [{0}] \u306ename\u5c5e\u6027\u3092\u6301\u3064attribute\u6307\u793a\u5b50\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
-jsp.error.tagfile.nameFrom.badAttribute=attribute\u6307\u793a\u5b50 ([{1}]\u884c\u76ee\u3067\u5ba3\u8a00\u3055\u308c\u3001\u305d\u306ename\u5c5e\u6027\u304c[{0}]\u3001\u3053\u306ename-from-attribute\u5c5e\u6027\u306e\u5024) \u306fjava.lang.String\u578b\u306e"required" \u3067 "rtexprvalue".\u3067\u3042\u3063\u3066\u306f\u3044\u3051\u307e\u305b\u3093
-jsp.error.page.noSession=\u30bb\u30c3\u30b7\u30e7\u30f3\u306b\u52a0\u308f\u3063\u3066\u3044\u306a\u3044\u30da\u30fc\u30b8\u306e\u4e2d\u3067\u306f\u30bb\u30c3\u30b7\u30e7\u30f3\u30b9\u30b3\u30fc\u30d7\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093
-jsp.error.usebean.noSession=JSP\u30da\u30fc\u30b8\u304c(page\u6307\u793a\u5b50\u306b\u3088\u308a)\u30bb\u30c3\u30b7\u30e7\u30f3\u4e2d\u3067\u5354\u8abf\u3057\u306a\u3044\u3053\u3068\u3092\u5ba3\u8a00\u3057\u3066\u3044\u308b\u6642\u3001\u30bb\u30c3\u30b7\u30e7\u30f3\u30b9\u30b3\u30fc\u30d7\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u306euseBean\u304c\u4e0d\u6b63\u3067\u3059
-jsp.error.xml.encodingByteOrderUnsupported = \u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0 [{0}] \u306b\u6307\u5b9a\u3055\u308c\u305f\u30d0\u30a4\u30c8\u30aa\u30fc\u30c0\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-jsp.error.xml.encodingDeclInvalid = \u7121\u52b9\u306a\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u540d [{0}] \u3067\u3059
-jsp.error.xml.encodingDeclRequired = \u30c6\u30ad\u30b9\u30c8\u5ba3\u8a00\u4e2d\u306b\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u5ba3\u8a00\u304c\u5fc5\u8981\u3067\u3059
-jsp.error.xml.morePseudoAttributes = \u3088\u308a\u591a\u304f\u306e\u7591\u4f3c\u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059
-jsp.error.xml.noMorePseudoAttributes = \u3053\u308c\u4ee5\u4e0a\u306e\u7591\u4f3c\u5c5e\u6027\u306f\u8a31\u3055\u308c\u307e\u305b\u3093
-jsp.error.xml.versionInfoRequired = XML\u5ba3\u8a00\u306e\u4e2d\u306b\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u5fc5\u8981\u3067\u3059
-jsp.error.xml.xmlDeclUnterminated = XML\u5ba3\u8a00\u306f"?>"\u3067\u7d42\u3089\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.xml.reservedPITarget = "[xX][mM][lL]"\u306b\u4e00\u81f4\u3059\u308b\u51e6\u7406\u547d\u4ee4\u30bf\u30fc\u30b2\u30c3\u30c8\u306f\u8a31\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-jsp.error.xml.spaceRequiredInPI = \u7a7a\u767d\u304c\u51e6\u7406\u547d\u4ee4\u30bf\u30fc\u30b2\u30c3\u30c8\u3068\u30c7\u30fc\u30bf\u306e\u9593\u306b\u5fc5\u8981\u3067\u3059
-jsp.error.xml.invalidCharInContent = \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u7121\u52b9\u306aXML\u6587\u5b57 (Unicode: 0x[{0}]) \u304c\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u8981\u7d20\u5185\u5bb9\u306e\u4e2d\u306b\u898b\u3064\u304b\u308a\u307e\u3057\u305f
-jsp.error.xml.spaceRequiredBeforeStandalone = XML\u5ba3\u8a00\u306eencoding\u7591\u4f3c\u5c5e\u6027\u306e\u524d\u306b\u7a7a\u767d\u304c\u5fc5\u8981\u3067\u3059
-jsp.error.xml.sdDeclInvalid = \u30b9\u30bf\u30f3\u30c9\u30a2\u30ed\u30f3\u6587\u66f8\u5ba3\u8a00\u5024\u306f"yes"\u53c8\u306f"no"\u306e\u3069\u3061\u3089\u304b\u3067\u3042\u308a\u3001[{0}]\u3067\u306f\u3044\u3051\u307e\u305b\u3093
-jsp.error.xml.invalidCharInPI = \u7121\u52b9\u306aXML\u6587\u5b57 (Unicode: 0x[{0}]) \u304c\u547d\u4ee4\u51e6\u7406\u4e2d\u306b\u898b\u3064\u304b\u308a\u307e\u3057\u305f
-jsp.error.xml.versionNotSupported = XML\u30d0\u30fc\u30b8\u30e7\u30f3 [{0}] \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3001XML 1.0\u3060\u3051\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059
-jsp.error.xml.pseudoAttrNameExpected = \u7591\u4f3c\u5c5e\u6027\u540d\u304c\u5fc5\u8981\u3067\u3059
-jsp.error.xml.expectedByte =[{1}]\u30d0\u30a4\u30c8UTF-8\u30b7\u30fc\u30b1\u30f3\u30b9\u306e\u30d0\u30a4\u30c8 [{0}] \u304c\u5fc5\u8981\u3067\u3059
-jsp.error.xml.invalidByte = [{1}]\u30d0\u30a4\u30c8UTF-8\u30b7\u30fc\u30b1\u30f3\u30b9\u306e\u7121\u52b9\u306a\u30d0\u30a4\u30c8 [{0}] \u3067\u3059
-jsp.error.xml.operationNotSupported = [{1}] reader\u306f\u64cd\u4f5c [{0}] \u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093
-jsp.error.xml.invalidHighSurrogate = UTF-8\u30b7\u30fc\u30b1\u30f3\u30b9\u306e\u30cf\u30a4\u30b5\u30ed\u30b2\u30fc\u30c8\u30d3\u30c3\u30c8\u306f0x10\u3092\u8d8a\u3048\u3066\u306f\u3044\u3051\u307e\u305b\u3093\u304c\u30010x[{0}]\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f
-jsp.error.xml.invalidASCII = \u30d0\u30a4\u30c8 [{0}] \u306f7\u30d3\u30c3\u30c8ASCII\u3067\u306f\u3042\u308a\u307e\u305b\u3093
-jsp.error.xml.spaceRequiredBeforeEncodingInXMLDecl = XML\u5ba3\u8a00\u306eencoding\u7591\u4f3c\u5c5e\u6027\u306e\u524d\u306b\u7a7a\u767d\u304c\u5fc5\u8981\u3067\u3059
-jsp.error.xml.spaceRequiredBeforeEncodingInTextDecl = \u30c6\u30ad\u30b9\u30c8\u5ba3\u8a00\u306eencoding\u7591\u4f3c\u5c5e\u6027\u306e\u524d\u306b\u7a7a\u767d\u304c\u5fc5\u8981\u3067\u3059
-jsp.error.xml.spaceRequiredBeforeVersionInTextDecl = \u30c6\u30ad\u30b9\u30c8\u5ba3\u8a00\u306eversion\u7591\u4f3c\u5c5e\u6027\u306e\u524d\u306b\u7a7a\u767d\u304c\u5fc5\u8981\u3067\u3059
-jsp.error.xml.spaceRequiredBeforeVersionInXMLDecl = XML\u5ba3\u8a00\u306eversion\u7591\u4f3c\u5c5e\u6027\u306e\u524d\u306b\u7a7a\u767d\u304c\u5fc5\u8981\u3067\u3059
-jsp.error.xml.eqRequiredInXMLDecl = XML\u5ba3\u8a00\u4e2d\u3067[{0}]\u306e\u6b21\u306b'' = '' \u6587\u5b57\u304c\u7d9a\u304b\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.xml.eqRequiredInTextDecl = \u30c6\u30ad\u30b9\u30c8\u5ba3\u8a00\u4e2d\u3067[{0}]\u306e\u6b21\u306b'' = ''\u6587\u5b57\u304c\u7d9a\u304b\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.xml.quoteRequiredInTextDecl = \u30c6\u30ad\u30b9\u30c8\u5ba3\u8a00\u4e2d\u306e[{0}]\u306b\u7d9a\u304f\u5024\u306f\u30af\u30aa\u30fc\u30c8\u3067\u56f2\u307e\u308c\u305f\u6587\u5b57\u5217\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.xml.quoteRequiredInXMLDecl = XML\u5ba3\u8a00\u4e2d\u306e[{0}]\u306b\u7d9a\u304f\u5024\u306f\u30af\u30aa\u30fc\u30c8\u3067\u56f2\u307e\u308c\u305f\u6587\u5b57\u5217\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.xml.invalidCharInTextDecl = \u30c6\u30ad\u30b9\u30c8\u5ba3\u8a00\u306e\u4e2d\u306b\u7121\u52b9\u306aXML\u6587\u5b57 (Unicode: 0x[{0}]) \u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f
-jsp.error.xml.invalidCharInXMLDecl = XML\u5ba3\u8a00\u306e\u4e2d\u306b\u7121\u52b9\u306aXML\u6587\u5b57 (Unicode: 0x[{0}]) \u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f
-jsp.error.xml.closeQuoteMissingInTextDecl = \u30c6\u30ad\u30b9\u30c8\u5ba3\u8a00\u4e2d\u306e[{0}]\u306b\u7d9a\u304f\u5024\u306e\u4e2d\u306e\u6700\u5f8c\u306e\u30af\u30aa\u30fc\u30c8\u304c\u3042\u308a\u307e\u305b\u3093
-jsp.error.xml.closeQuoteMissingInXMLDecl = XML\u5ba3\u8a00\u4e2d\u306e[{0}]\u306b\u7d9a\u304f\u5024\u306e\u4e2d\u306e\u6700\u5f8c\u306e\u30af\u30aa\u30fc\u30c8\u304c\u3042\u308a\u307e\u305b\u3093
-jsp.error.multiple.jsp = \u8907\u6570\u306e\u4ed5\u69d8\u3092\u6e80\u305f\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-jsp.error.jspoutput.conflict=&lt;jsp:output&gt;: [{0}]\u306b\u7570\u306a\u308b\u5024\u3092\u8907\u6570\u56de\u6307\u5b9a\u3059\u308b\u306e\u306f\u7121\u52b9\u3067\u3059 (\u65e7: [{1}], \u65b0: [{2}])
-jsp.error.jspoutput.doctypenamesystem=&lt;jsp:output&gt;: 'doctype-root-element' \u53ca\u3073 'doctype-system' \u5c5e\u6027\u306f\u540c\u6642\u306b\u6307\u5b9a\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.jspoutput.doctypepulicsystem=&lt;jsp:output&gt;: 'doctype-public'\u5c5e\u6027\u3092\u6307\u5b9a\u3059\u308b\u5834\u5408\u306f\u3001'doctype-system' \u5c5e\u6027\u3082\u6307\u5b9a\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.jspoutput.nonemptybody=&lt;jsp:output&gt; \u30dc\u30c7\u30a3\u3092\u6301\u3063\u3066\u306f\u3044\u3051\u307e\u305b\u3093
-jsp.error.jspoutput.invalidUse=&lt;jsp:output&gt; \u6a19\u6e96\u69cb\u6587\u306e\u4e2d\u3067\u4f7f\u7528\u3057\u3066\u306f\u3044\u3051\u307e\u305b\u3093
-jsp.error.attributes.not.allowed = [{0}] \u306f\u5c5e\u6027\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-jsp.error.tagfile.badSuffix=\u30bf\u30b0\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9 [{0}] \u306e\u4e2d\u306b".tag" \u62e1\u5f35\u5b50\u304c\u3042\u308a\u307e\u305b\u3093
-jsp.error.tagfile.illegalPath=\u4e0d\u6b63\u306a\u30bf\u30b0\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\u3067\u3059: [{0}]\u3001\u3053\u308c\u306f"/WEB-INF/tags"\u53c8\u306f"/META-INF/tags"\u3067\u59cb\u307e\u3089\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.plugin.wrongRootElement=[{0}] \u306e\u4e2d\u306e\u30eb\u30fc\u30c8\u8981\u7d20\u306e\u540d\u524d\u306f [{1}] \u3067\u306f\u3042\u308a\u307e\u305b\u3093
-jsp.error.attribute.invalidPrefix=\u5c5e\u6027\u306e\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9 [{0}] \u306f\u3069\u306e\u53d6\u308a\u8fbc\u307e\u308c\u305f\u30bf\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u3082\u5bfe\u5fdc\u3057\u307e\u305b\u3093
-jsp.error.nested.jspattribute=jsp:attribute\u6a19\u6e96\u30a2\u30af\u30b7\u30e7\u30f3\u306f\u5225\u306ejsp:attribute\u6a19\u6e96\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u7bc4\u56f2\u5185\u3067\u30cd\u30b9\u30c8\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-jsp.error.nested.jspbody=jsp:body\u6a19\u6e96\u30a2\u30af\u30b7\u30e7\u30f3\u306f\u5225\u306ejsp:body\u53c8\u306fjsp:attribute\u6a19\u6e96\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u7bc4\u56f2\u5185\u3067\u30cd\u30b9\u30c8\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-jsp.error.variable.either.name=name-given\u53c8\u306fname-from-attribute\u5c5e\u6027\u306e\u3069\u3061\u3089\u304b\u3092variable\u6307\u793a\u5b50\u306e\u4e2d\u3067\u6307\u5b9a\u3055\u308c\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.variable.both.name=variable\u6307\u793a\u5b50\u4e2d\u3067name-given\u3068name-from-attribute\u5c5e\u6027\u306e\u4e21\u65b9\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-jsp.error.variable.alias=name-from-attribute\u304a\u3088\u3073alias\u5c5e\u6027\u306e\u4e21\u65b9\u3092variable\u6307\u793a\u5b50\u4e2d\u306b\u6307\u5b9a\u3059\u308b\u3001\u53c8\u306f\u3069\u3061\u3089\u3082\u6307\u5b9a\u3057\u306a\u3044\u3053\u3068\u304c\u3067\u304d\u307e\u3059
-jsp.error.attribute.null_name=\u7a7a\u306e\u5c5e\u6027\u540d\u3067\u3059
-jsp.error.jsptext.badcontent='&lt;'\u304c&lt;jsp:text&gt;\u306e\u30dc\u30c7\u30a3\u306e\u4e2d\u306b\u73fe\u308c\u308b\u6642\u306f\u3001CDATA\u306e\u4e2d\u306b\u96a0\u853d\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.jsproot.version.invalid=\u7121\u52b9\u306a\u30d0\u30fc\u30b8\u30e7\u30f3\u756a\u53f7\u3067\u3059: [{0}]\u3001"1.2"\u3000"2.0"\u3000"2.1"\u3000"2.2" \u53c8\u306f "2.3"\u3000\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
-jsp.error.noFunction=\u95a2\u6570 [{0}] \u3092\u6307\u5b9a\u3055\u308c\u305f\u30d7\u30ea\u30d5\u30a3\u30af\u30b9\u3067\u914d\u7f6e\u3067\u304d\u307e\u305b\u3093
-jsp.error.noFunctionMethod=\u95a2\u6570 [{1}] \u306e\u30e1\u30bd\u30c3\u30c9 [{0}] \u304c [{2}] \u4e2d\u3067\u898b\u3064\u304b\u308a\u307e\u305b\u3093
-jsp.error.function.classnotfound=TLD\u306e\u4e2d\u3067\u95a2\u6570 [{1}] \u306b\u6307\u5b9a\u3055\u308c\u3066\u3044\u308b\u30af\u30e9\u30b9 [{0}] \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: [{2}]
-jsp.error.signature.classnotfound=TLD\u306e\u4e2d\u306e\u30e1\u30bd\u30c3\u30c9\u30b7\u30b0\u30cd\u30c1\u30e3\u3067\u95a2\u6570 [{1}] \u306b\u6307\u5b9a\u3055\u308c\u3066\u3044\u308b\u30af\u30e9\u30b9 [{0}] \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002 [{2}]
-jsp.error.text.has_subelement=&lt;jsp:text&gt; \u306f\u526f\u8981\u7d20\u3092\u6301\u3063\u3066\u306f\u3044\u3051\u307e\u305b\u3093
-jsp.error.data.file.read=\u30d5\u30a1\u30a4\u30eb [{0}] \u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-jsp.error.prefix.refined=\u30d7\u30ea\u30d5\u30a3\u30c3\u30af\u30b9 [{0}] \u304c\u73fe\u5728\u306e\u30b9\u30b3\u30fc\u30d7\u4e2d\u3067\u65e2\u306b [{2}] \u3068\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u306e\u3067 [{1}] \u306b\u518d\u5b9a\u7fa9\u3057\u307e\u3057\u305f
-jsp.error.nested_jsproot=\u5165\u308c\u5b50\u306b\u306a\u3063\u305f &lt;jsp:root&gt; \u3067\u3059
-jsp.error.unbalanced.endtag=\u7d42\u4e86\u30bf\u30b0 "&lt;/{0}" \u306e\u5bfe\u5fdc\u304c\u53d6\u308c\u3066\u3044\u307e\u305b\u3093
-jsp.error.invalid.bean=useBean\u306e\u30af\u30e9\u30b9\u5c5e\u6027 [{0}] \u306e\u5024\u304c\u7121\u52b9\u3067\u3059
-jsp.error.prefix.use_before_dcl=\u3053\u306e\u30bf\u30b0\u6307\u793a\u5b50\u3067\u6307\u5b9a\u3055\u308c\u3066\u3044\u308b\u30d7\u30ea\u30d5\u30a3\u30c3\u30af\u30b9 [{0}] \u306f\u3001\u3059\u3067\u306b\u30d5\u30a1\u30a4\u30eb [{1}] \u306e [{2}] \u884c\u76ee\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3067\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059
-
-#ELInterpreter
-jsp.error.el_interpreter_class.instantiation=ELInterpreter class\u306e\u30ed\u30fc\u30c9\u53c8\u306f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u306b\u5931\u6557\u3057\u307e\u3057\u305f [{0}]
+jspc.webxml.footer=\n\
+</web-app>\n\
+\n
+jspc.webxml.header=<?xml version="1.0" encoding="{0}"?>\n\
+<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
+\         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
+\         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
+\                 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"\n\
+\         version="3.1"\n\
+\         metadata-complete="false">\n\
+<!--\n\
+Automatically created by Apache Tomcat JspC.\n\
+-->\n\
+\n
diff --git a/java/org/apache/naming/LocalStrings.properties b/java/org/apache/naming/LocalStrings.properties
index 3bae6f7..062fd4c 100644
--- a/java/org/apache/naming/LocalStrings.properties
+++ b/java/org/apache/naming/LocalStrings.properties
@@ -13,16 +13,18 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-contextBindings.unknownContext=Unknown context name : [{0}]
-contextBindings.noContextBoundToThread=No naming context bound to this thread
 contextBindings.noContextBoundToCL=No naming context bound to this class loader
-selectorContext.noJavaUrl=This context must be accessed through a java: URL
-selectorContext.methodUsingName=Call to method [{0}] with a Name of [{1}]
-selectorContext.methodUsingString=Call to method [{0}] with a String of [{1}]
+contextBindings.noContextBoundToThread=No naming context bound to this thread
+contextBindings.unknownContext=Unknown context name : [{0}]
+
+namingContext.alreadyBound=Name [{0}] is already bound in this Context
 namingContext.contextExpected=Name is not bound to a Context
 namingContext.failResolvingReference=Unexpected exception resolving reference
-namingContext.nameNotBound=Name [{0}] is not bound in this Context. Unable to find [{1}].
-namingContext.readOnly=Context is read only
 namingContext.invalidName=Name is not valid
-namingContext.alreadyBound=Name [{0}] is already bound in this Context
+namingContext.nameNotBound=Name [{0}] is not bound in this Context. Unable to find [{1}].
 namingContext.noAbsoluteName=Can''t generate an absolute name for this namespace
+namingContext.readOnly=Context is read only
+
+selectorContext.methodUsingName=Call to method [{0}] with a Name of [{1}]
+selectorContext.methodUsingString=Call to method [{0}] with a String of [{1}]
+selectorContext.noJavaUrl=This context must be accessed through a java: URL
diff --git a/java/org/apache/naming/LocalStrings_es.properties b/java/org/apache/naming/LocalStrings_es.properties
index c80fede..72e75d6 100644
--- a/java/org/apache/naming/LocalStrings_es.properties
+++ b/java/org/apache/naming/LocalStrings_es.properties
@@ -12,19 +12,19 @@
 # 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.naming
-contextBindings.unknownContext = Contexto [{0}] desconocido
-contextBindings.noContextBoundToThread = No hay contexto de nombres asociado a este hilo
-contextBindings.noContextBoundToCL = No hay contexto de nombres asociado a este cargador de clase
-selectorContext.noJavaUrl = Este contexto debe de ser accedido a traves de una URL de tipo java:
-selectorContext.methodUsingName = Llamada al m\u00E9todo [{0}] con un Nombre de [{1}]
-selectorContext.methodUsingString = Llamada al m\u00E9todo [{0}] con una Cadena de [{1}]
-namingContext.contextExpected = El nombre no esta asociado a ningun Contexto
-namingContext.failResolvingReference = Excepci\u00F3n inesperada resolviendo referencia
-namingContext.nameNotBound = El nombre [{0}] no este asociado a este contexto
-namingContext.readOnly = El contexto es de solo lectura
-namingContext.invalidName = Nombre no valido
-namingContext.alreadyBound = El nombre [{0}] este ya asociado en este Contexto
-namingContext.noAbsoluteName = No se puede generar un nombre absoluto para este espacio de nombres
+
+contextBindings.noContextBoundToCL=No hay contexto de nombres asociado a este cargador de clase
+contextBindings.noContextBoundToThread=No hay contexto de nombres asociado a este hilo
+contextBindings.unknownContext=Contexto [{0}] desconocido
+
+namingContext.alreadyBound=El nombre [{0}] este ya asociado en este Contexto
+namingContext.contextExpected=El nombre no esta asociado a ningun Contexto
+namingContext.failResolvingReference=Excepción inesperada resolviendo referencia
+namingContext.invalidName=Nombre no valido
+namingContext.nameNotBound=El nombre [{0}] no este asociado a este contexto
+namingContext.noAbsoluteName=No se puede generar un nombre absoluto para este espacio de nombres
+namingContext.readOnly=El contexto es de solo lectura
+
+selectorContext.methodUsingName=Llamada al método [{0}] con un Nombre de [{1}]
+selectorContext.methodUsingString=Llamada al método [{0}] con una Cadena de [{1}]
+selectorContext.noJavaUrl=Este contexto debe de ser accedido a traves de una URL de tipo java:
diff --git a/java/org/apache/naming/LocalStrings_fr.properties b/java/org/apache/naming/LocalStrings_fr.properties
index f58be69..b7bc794 100644
--- a/java/org/apache/naming/LocalStrings_fr.properties
+++ b/java/org/apache/naming/LocalStrings_fr.properties
@@ -13,14 +13,16 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+contextBindings.noContextBoundToCL=Aucun Contexte de nommage lié à ce chargeur de classes
+contextBindings.noContextBoundToThread=Aucun Contexte de nommage lié à ce thread
 contextBindings.unknownContext=Nom de Contexte inconnu : [{0}]
-contextBindings.noContextBoundToThread=Aucun Contexte de nommage li\u00e9 \u00e0 ce thread
-contextBindings.noContextBoundToCL=Aucun Contexte de nommage li\u00e9 \u00e0 ce chargeur de classes
-selectorContext.noJavaUrl=Ce Contexte doit \u00eatre acc\u00e9d\u00e9 par une java: URL
-namingContext.contextExpected=Le Nom n''est pas li\u00e9 \u00e0 un Contexte
-namingContext.failResolvingReference=Une erreur s est produite durant la r\u00e9solution de la r\u00e9f\u00e9rence
-namingContext.nameNotBound=Le Nom [{0}] n''est pas li\u00e9 \u00e0 ce Contexte
-namingContext.readOnly=Le Contexte est en lecture seule
+
+namingContext.alreadyBound=Le Nom [{0}] est déjà lié à ce Contexte
+namingContext.contextExpected=Le Nom n''est pas lié à un Contexte
+namingContext.failResolvingReference=Une erreur s est produite durant la résolution de la référence
 namingContext.invalidName=Le Nom est invalide
-namingContext.alreadyBound=Le Nom [{0}] est d\u00e9j\u00e0 li\u00e9 \u00e0 ce Contexte
-namingContext.noAbsoluteName=Impossible de g\u00e9n\u00e9rer un nom absolu pour cet espace de nommage (namespace)
+namingContext.nameNotBound=Le Nom [{0}] n''est pas lié à ce Contexte
+namingContext.noAbsoluteName=Impossible de générer un nom absolu pour cet espace de nommage (namespace)
+namingContext.readOnly=Le Contexte est en lecture seule
+
+selectorContext.noJavaUrl=Ce Contexte doit être accédé par une java: URL
diff --git a/java/org/apache/naming/LocalStrings_ja.properties b/java/org/apache/naming/LocalStrings_ja.properties
index 65bc00f..79bbf34 100644
--- a/java/org/apache/naming/LocalStrings_ja.properties
+++ b/java/org/apache/naming/LocalStrings_ja.properties
@@ -13,14 +13,16 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-contextBindings.unknownContext=\u672a\u77e5\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u540d\u3067\u3059: [{0}]
-contextBindings.noContextBoundToThread=\u540d\u524d\u4ed8\u3051\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306f\u3053\u306e\u30b9\u30ec\u30c3\u30c9\u306b\u30d0\u30a4\u30f3\u30c9\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-contextBindings.noContextBoundToCL=\u540d\u524d\u4ed8\u3051\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306f\u3053\u306e\u30af\u30e9\u30b9\u30ed\u30fc\u30c0\u306b\u30d0\u30a4\u30f3\u30c9\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-selectorContext.noJavaUrl=\u3053\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306b\u306fjava: URL\u3092\u7528\u3044\u3066\u30a2\u30af\u30bb\u30b9\u3055\u308c\u306d\u3070\u3044\u3051\u307e\u305b\u3093
-namingContext.contextExpected=\u540d\u524d\u304c\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306b\u30d0\u30a4\u30f3\u30c9\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-namingContext.failResolvingReference=\u53c2\u7167\u306e\u89e3\u6c7a\u4e2d\u306b\u4e88\u6e2c\u3057\u306a\u3044\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-namingContext.nameNotBound=\u540d\u524d [{0}] \u306f\u3053\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306b\u30d0\u30a4\u30f3\u30c9\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-namingContext.readOnly=\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306f\u30ea\u30fc\u30c9\u30aa\u30f3\u30ea\u30fc\u3067\u3059
-namingContext.invalidName=\u540d\u524d\u306f\u7121\u52b9\u3067\u3059
-namingContext.alreadyBound=\u540d\u524d [{0}] \u306f\u65e2\u306b\u3053\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306b\u30d0\u30a4\u30f3\u30c9\u3055\u308c\u3066\u3044\u307e\u3059
-namingContext.noAbsoluteName=\u3053\u306e\u540d\u524d\u7a7a\u9593\u306b\u7d76\u5bfe\u540d\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093
+contextBindings.noContextBoundToCL=名前付けコンテキストはこのクラスローダにバインドされていません
+contextBindings.noContextBoundToThread=名前付けコンテキストはこのスレッドにバインドされていません
+contextBindings.unknownContext=未知のコンテキスト名です: [{0}]
+
+namingContext.alreadyBound=名前 [{0}] は既にこのコンテキストにバインドされています
+namingContext.contextExpected=名前がコンテキストにバインドされていません
+namingContext.failResolvingReference=参照の解決中に予測しない例外が発生しました
+namingContext.invalidName=名前は無効です
+namingContext.nameNotBound=名前 [{0}] はこのコンテキストにバインドされていません
+namingContext.noAbsoluteName=この名前空間に絶対名を生成できません
+namingContext.readOnly=コンテキストはリードオンリーです
+
+selectorContext.noJavaUrl=このコンテキストにはjava: URLを用いてアクセスされねばいけません
diff --git a/java/org/apache/naming/factory/LocalStrings.properties b/java/org/apache/naming/factory/LocalStrings.properties
index 01fd65d..628a2ac 100644
--- a/java/org/apache/naming/factory/LocalStrings.properties
+++ b/java/org/apache/naming/factory/LocalStrings.properties
@@ -20,4 +20,4 @@ lookupFactory.typeMismatch=The JNDI reference [{0}] was expected to be of type [
 
 resourceLinkFactory.nullType=The local resource link [{0}] that refers to global resource [{1}] does not specify the required attribute type
 resourceLinkFactory.unknownType=The local resource link [{0}] that refers to global resource [{1}] specified the unknown type [{2}]
-resourceLinkFactory.wrongType=The local resource link [{0}] that refers to global resource [{1}] was expected to return an instance of [{2}] but returned an instance of [{3}]
\ No newline at end of file
+resourceLinkFactory.wrongType=The local resource link [{0}] that refers to global resource [{1}] was expected to return an instance of [{2}] but returned an instance of [{3}]
diff --git a/java/org/apache/tomcat/util/LocalStrings.properties b/java/org/apache/tomcat/util/LocalStrings.properties
index 0698da4..14572ef 100644
--- a/java/org/apache/tomcat/util/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/LocalStrings.properties
@@ -14,7 +14,6 @@
 # limitations under the License.
 
 diagnostics.threadDumpTitle=Full thread dump
-
 diagnostics.vmInfoClassCompilation=Class compilation
 diagnostics.vmInfoClassLoading=Class loading
 diagnostics.vmInfoGarbageCollectors=Garbage Collector [{0}]
diff --git a/java/org/apache/tomcat/util/buf/LocalStrings.properties b/java/org/apache/tomcat/util/buf/LocalStrings.properties
index 6e2ff84..d204f12 100644
--- a/java/org/apache/tomcat/util/buf/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/buf/LocalStrings.properties
@@ -14,15 +14,17 @@
 # limitations under the License.
 
 b2cConverter.unknownEncoding=The character encoding [{0}] is not supported
+
+byteBufferUtils.cleaner=Cannot use direct ByteBuffer cleaner, memory leaking may occur
+
 c2bConverter.recycleFailed=Failed to recycle the C2B Converter. Creating new BufferedWriter, WriteConvertor and IntermediateOutputStream.
 
-hexUtils.fromHex.oddDigits=The input must consist of an even number of hex digits
 hexUtils.fromHex.nonHex=The input must consist only of hex digits
+hexUtils.fromHex.oddDigits=The input must consist of an even number of hex digits
 
+uDecoder.convertHexDigit.notHex=[{0}] is not a hexadecimal digit
 uDecoder.urlDecode.conversionError=Failed to decode [{0}] using character set [{1}]
-udecoder.urlDecode.iae=It is practical to %nn decode a byte array since how the %nn is encoded will vary by character set
 uDecoder.urlDecode.missingDigit=Failed to decode [{0}] because the % character must be followed by two hexademical digits
-uDecoder.convertHexDigit.notHex=[{0}] is not a hexadecimal digit
 uDecoder.urlDecode.uee=Unable to URL decode the specified input since the encoding [{0}] is not supported.
 
-byteBufferUtils.cleaner=Cannot use direct ByteBuffer cleaner, memory leaking may occur
+udecoder.urlDecode.iae=It is practical to %nn decode a byte array since how the %nn is encoded will vary by character set
diff --git a/java/org/apache/tomcat/util/buf/LocalStrings_es.properties b/java/org/apache/tomcat/util/buf/LocalStrings_es.properties
index b660895..3037648 100644
--- a/java/org/apache/tomcat/util/buf/LocalStrings_es.properties
+++ b/java/org/apache/tomcat/util/buf/LocalStrings_es.properties
@@ -13,4 +13,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-b2cConverter.unknownEncoding = La codificaci\u00F3n de car\u00E1cter [{0}] no est\u00E1 soportada
+b2cConverter.unknownEncoding=La codificación de carácter [{0}] no está soportada
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings.properties b/java/org/apache/tomcat/util/compat/LocalStrings.properties
index c060b30..5418804 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings.properties
@@ -13,9 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+jre9Compat.invalidModuleUri=The module URI provided [{0}] could not be converted to a URL for the JarScanner to process
+
 jreCompat.noApplicationProtocol=Java Runtime does not support SSLEngine.getApplicationProtocol(). You must use Java 9 to use this feature.
 jreCompat.noApplicationProtocols=Java Runtime does not support SSLParameters.setApplicationProtocols(). You must use Java 9 to use this feature.
 jreCompat.noDomainLoadStoreParameter=Java Runtime does not support DKS key store type. You must use Java 8 or later to use this feature.
 jreCompat.noServerCipherSuiteOrder=Java Runtime does not support "useServerCipherSuitesOrder". You must use Java 8 or later to use this feature.
-
-jre9Compat.invalidModuleUri=The module URI provided [{0}] could not be converted to a URL for the JarScanner to process
diff --git a/java/org/apache/tomcat/util/descriptor/LocalStrings_es.properties b/java/org/apache/tomcat/util/descriptor/LocalStrings_es.properties
index 8f4f1ad..57f49e7 100644
--- a/java/org/apache/tomcat/util/descriptor/LocalStrings_es.properties
+++ b/java/org/apache/tomcat/util/descriptor/LocalStrings_es.properties
@@ -13,5 +13,5 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-xmlErrorHandler.error = Error no fatal [{0}] reportado por el proceso [{1}].
-xmlErrorHandler.warning = Aviso [{0}] reportado por el proceso [{1}].
+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/tomcat/util/descriptor/tld/LocalStrings.properties b/java/org/apache/tomcat/util/descriptor/tld/LocalStrings.properties
index 558d087..36705cc 100644
--- a/java/org/apache/tomcat/util/descriptor/tld/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/descriptor/tld/LocalStrings.properties
@@ -13,4 +13,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-implicitTldRule.elementNotAllowed=The element [{0}] is not permitted in an implicit.tld file
\ No newline at end of file
+implicitTldRule.elementNotAllowed=The element [{0}] is not permitted in an implicit.tld file
diff --git a/java/org/apache/tomcat/util/descriptor/web/LocalStrings.properties b/java/org/apache/tomcat/util/descriptor/web/LocalStrings.properties
index 043212c..d5153fd 100644
--- a/java/org/apache/tomcat/util/descriptor/web/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/descriptor/web/LocalStrings.properties
@@ -39,24 +39,24 @@ 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.mergeConflictFilter=The Filter [{0}] was defined inconsistently in multiple fragments including fragment with name [{1}] located at [{2}]
 webXml.mergeConflictLoginConfig=A LoginConfig was defined inconsistently in multiple fragments including fragment with name [{0}] located at [{1}]
 webXml.mergeConflictOrder=Fragment relative ordering contains circular references. This 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!
@@ -65,4 +65,4 @@ webXmlParser.applicationParse=Parse error in application web.xml file at [{0}]
 webXmlParser.applicationPosition=Occurred at line [{0}] column [{1}]
 webXmlParser.applicationStart=Parsing application web.xml file at [{0}]
 
-xmlEncodingBase.encodingInvalid=The encoding [{0}] is not recognised by this JRE. The existing value of [{1}] will be used
\ No newline at end of file
+xmlEncodingBase.encodingInvalid=The encoding [{0}] is not recognised by this JRE. The existing value of [{1}] will be used
diff --git a/java/org/apache/tomcat/util/descriptor/web/LocalStrings_es.properties b/java/org/apache/tomcat/util/descriptor/web/LocalStrings_es.properties
index 2a16555..bda95f3 100644
--- a/java/org/apache/tomcat/util/descriptor/web/LocalStrings_es.properties
+++ b/java/org/apache/tomcat/util/descriptor/web/LocalStrings_es.properties
@@ -13,9 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-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
+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
 
-webXmlParser.applicationParse = Error de evaluaci\u00F3n (parse) en el archivo web.xml de la aplicaci\u00F3n a [{0}]
-webXmlParser.applicationPosition = Se ha producido en la l\u00EDnea [{0}] columna [{1}]
-webXmlParser.applicationStart = Analizando fichero de aplicaci\u00F3n web.xml en [{0}]
+webXmlParser.applicationParse=Error de evaluación (parse) en el archivo web.xml de la aplicación a [{0}]
+webXmlParser.applicationPosition=Se ha producido en la línea [{0}] columna [{1}]
+webXmlParser.applicationStart=Analizando fichero de aplicación web.xml en [{0}]
diff --git a/java/org/apache/tomcat/util/digester/LocalStrings.properties b/java/org/apache/tomcat/util/digester/LocalStrings.properties
index dba1d0f..63ba232 100644
--- a/java/org/apache/tomcat/util/digester/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/digester/LocalStrings.properties
@@ -13,6 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-disgester.encodingInvalid=The encoding [{0}] is not recognised by the JRE and will be ignored
 digester.failedToUpdateAttributes=Attribute [{0}] failed to update and remains [{1}]
 digester.failedToUpdateSystemProperty=System property [{0}] failed to update and remains [{1}]
+
+disgester.encodingInvalid=The encoding [{0}] is not recognised by the JRE and will be ignored
diff --git a/java/org/apache/tomcat/util/file/LocalStrings.properties b/java/org/apache/tomcat/util/file/LocalStrings.properties
index 5bbf626..2bf0002 100644
--- a/java/org/apache/tomcat/util/file/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/file/LocalStrings.properties
@@ -13,4 +13,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-configFileLoader.cannotObtainURL=Cannot obtain URL for the relative path [{0}]. Check that catalina.base is set.
\ No newline at end of file
+configFileLoader.cannotObtainURL=Cannot obtain URL for the relative path [{0}]. Check that catalina.base is set.
diff --git a/java/org/apache/tomcat/util/http/LocalStrings.properties b/java/org/apache/tomcat/util/http/LocalStrings.properties
index 5eab413..1cd1ac2 100644
--- a/java/org/apache/tomcat/util/http/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/http/LocalStrings.properties
@@ -13,26 +13,29 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+cookies.fallToDebug=\n\
+\ Note: further occurrences of Cookie errors will be logged at DEBUG level.
+cookies.invalidCookieToken=Cookies: Invalid cookie. Value not a token or quoted value
+cookies.invalidSameSiteCookies=Unknown setting [{0}], must be one of: none, lax, strict. Default value is none.
+cookies.invalidSpecial=Cookies: Unknown Special Cookie
+cookies.maxCountFail=More than the maximum allowed number of cookies, [{0}], were detected.
+
+headers.maxCountFail=More than the maximum allowed number of headers, [{0}], were detected.
+
 parameters.bytes=Start processing with input [{0}]
 parameters.copyFail=Failed to create copy of original parameter values for debug logging purposes
 parameters.decodeFail.debug=Character decoding failed. Parameter [{0}] with value [{1}] has been ignored.
 parameters.decodeFail.info=Character decoding failed. Parameter [{0}] with value [{1}] has been ignored. Note that the name and value quoted here may be corrupted due to the failed decoding. Use debug level logging to see the original, non-corrupted values.
 parameters.emptyChunk=Empty parameter chunk ignored
+parameters.fallToDebug=\n\
+\ Note: further occurrences of Parameter errors will be logged at DEBUG level.
 parameters.invalidChunk=Invalid chunk starting at byte [{0}] and ending at byte [{1}] with a value of [{2}] ignored
 parameters.maxCountFail=More than the maximum number of request parameters (GET plus POST) for a single request ([{0}]) were detected. Any parameters beyond this limit have been ignored. To change this limit, set the maxParameterCount attribute on the Connector.
-parameters.maxCountFail.fallToDebug=\n Note: further occurrences of this error will be logged at DEBUG level.
+parameters.maxCountFail.fallToDebug=\n\
+\ Note: further occurrences of this error will be logged at DEBUG level.
 parameters.multipleDecodingFail=Character decoding failed. A total of [{0}] failures were detected but only the first was logged. Enable debug level logging for this logger to log all failures.
 parameters.noequal=Parameter starting at position [{0}] and ending at position [{1}] with a value of [{0}] was not followed by an ''='' character
-parameters.fallToDebug=\n Note: further occurrences of Parameter errors will be logged at DEBUG level.
-
-cookies.invalidCookieToken=Cookies: Invalid cookie. Value not a token or quoted value
-cookies.invalidSameSiteCookies=Unknown setting [{0}], must be one of: none, lax, strict. Default value is none.
-cookies.invalidSpecial=Cookies: Unknown Special Cookie
-cookies.fallToDebug=\n Note: further occurrences of Cookie errors will be logged at DEBUG level.
-cookies.maxCountFail=More than the maximum allowed number of cookies, [{0}], were detected.
-
-headers.maxCountFail=More than the maximum allowed number of headers, [{0}], were detected.
 
 rfc6265CookieProcessor.invalidCharInValue=An invalid character [{0}] was present in the Cookie value
 rfc6265CookieProcessor.invalidDomain=An invalid domain [{0}] was specified for this cookie
-rfc6265CookieProcessor.invalidPath=An invalid path [{0}] was specified for this cookie
\ No newline at end of file
+rfc6265CookieProcessor.invalidPath=An invalid path [{0}] was specified for this cookie
diff --git a/java/org/apache/tomcat/util/http/parser/LocalStrings.properties b/java/org/apache/tomcat/util/http/parser/LocalStrings.properties
index f60ff25..c94685d 100644
--- a/java/org/apache/tomcat/util/http/parser/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/http/parser/LocalStrings.properties
@@ -20,7 +20,6 @@ cookie.invalidCookieValue=A cookie header was received [{0}] that contained an i
 cookie.invalidCookieVersion=A cookie header was received using an unrecognised cookie version of [{0}]. The header and the cookies it contains will be ignored.
 cookie.valueNotPresent=<not present>
 
-http.invalidRequestTargetCharacter=Character [{0}] is not allowed and will continue to be rejected.
 http.closingBracket=A closing bracket ']' was found in a non-IPv6 host name.
 http.illegalAfterIpv6=The character [{0}] is not permitted to follow an IPv6 address in a host name
 http.illegalCharacterDomain=The character [{0}] is never valid in a domain name.
@@ -37,7 +36,7 @@ http.noClosingBracket=The IPv6 address is missing a closing bracket.
 http.noOpeningBracket=The IPv6 address is missing an opening bracket.
 http.singleColonEnd=An IPv6 address may not end with a single ':'.
 http.singleColonStart=An IPv6 address may not start with a single ':'.
-http.tooFewHextets=An IPv6 address must consist of 8 hextets but this address contains [{0}] hextets and no '::' sequence to represent one or more zero hextets.
+http.tooFewHextets=An IPv6 address must consist of 8 hextets but this address contains [{0}] hextets and no ''::'' sequence to represent one or more zero hextets.
 http.tooManyColons=An IPv6 address may not contain more than 2 sequential colon characters.
 http.tooManyDoubleColons=An IPv6 address may only contain a single '::' sequence.
 http.tooManyHextets=The IPv6 address contains [{0}] hextets but a valid IPv6 address may not have more than 8.
diff --git a/java/org/apache/tomcat/util/http/res/LocalStrings.properties b/java/org/apache/tomcat/util/http/res/LocalStrings.properties
index 0fe0bbc..b1a8a44 100644
--- a/java/org/apache/tomcat/util/http/res/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/http/res/LocalStrings.properties
@@ -13,12 +13,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# HttpMessages. The values in this file will be used in HTTP headers and as such
-# may only contain TEXT as defined by RFC 2616
-# 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
-# java/org/apache/catalina/valves/LocalStrings.properties
 sc.100=Continue
 sc.101=Switching Protocols
 sc.102=Processing
@@ -75,4 +69,4 @@ sc.506=Variant Also Negotiates (Experimental)
 sc.507=Insufficient Storage
 sc.508=Loop Detected
 sc.510=Not Extended
-sc.511=Network Authentication Required
\ No newline at end of file
+sc.511=Network Authentication Required
diff --git a/java/org/apache/tomcat/util/http/res/LocalStrings_es.properties b/java/org/apache/tomcat/util/http/res/LocalStrings_es.properties
index 224517d..b6b50e6 100644
--- a/java/org/apache/tomcat/util/http/res/LocalStrings_es.properties
+++ b/java/org/apache/tomcat/util/http/res/LocalStrings_es.properties
@@ -12,51 +12,49 @@
 # 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.
-#
-# HttpMessages. The values in this file will be used in HTTP headers and as such
-# may only contain TEXT as defined by RFC 2616
-sc.100 = Continuar
-sc.101 = Cambiando Protocolos
-sc.200 = OK
-sc.201 = Creado
-sc.202 = Aceptado
-sc.203 = Informaci\u00F3n No-Autorizativa
-sc.204 = Sin Contenido
-sc.205 = Reponer Contenido
-sc.206 = Contenido Parcial
-sc.207 = Multi-Estado
-sc.300 = M\u00FAltiples Elecciones
-sc.301 = Movido permanentemente
-sc.302 = Movido temporalmente
-sc.303 = Mirar Otro
-sc.304 = No Modificado
-sc.305 = Usar Proxy
-sc.307 = Redirecci\u00F3n Temporal
-sc.400 = Petici\u00F3n incorrecta
-sc.401 = No Autorizado
-sc.402 = Pago requerido
-sc.403 = Prohibido
-sc.404 = No Encontrado
-sc.405 = M\u00E9todo No Permitido
-sc.406 = No Aceptable
-sc.407 = Autentificaci\u00F3n Proxy Requerida
-sc.408 = Request Caducada
-sc.409 = Conflicto
-sc.410 = Ido
-sc.411 = Longitud Requerida
-sc.412 = Precondici\u00F3n Fallada
-sc.413 = Entidad de Request Demasiado Grande
-sc.414 = Request-URI Demasiado Larga
-sc.415 = Tipo de Medio No Soportado
-sc.416 = El Rango Pedido No Ser Satisfecho
-sc.417 = Expectativa Fallada
-sc.422 = Entidad Improcesable
-sc.423 = Bloqueado
-sc.424 = Dependencia Fallida
-sc.500 = Error Interno del Servidor
-sc.501 = No Implementado
-sc.502 = Pasarela Incorrecta
-sc.503 = Servicio no Disponible
-sc.504 = Pasarela Caducada
-sc.505 = Versi\u00F3n de HTTP No Soportada
-sc.507 = Almacenaje Insuficiente
\ No newline at end of file
+
+sc.100=Continuar
+sc.101=Cambiando Protocolos
+sc.200=OK
+sc.201=Creado
+sc.202=Aceptado
+sc.203=Información No-Autorizativa
+sc.204=Sin Contenido
+sc.205=Reponer Contenido
+sc.206=Contenido Parcial
+sc.207=Multi-Estado
+sc.300=Múltiples Elecciones
+sc.301=Movido permanentemente
+sc.302=Movido temporalmente
+sc.303=Mirar Otro
+sc.304=No Modificado
+sc.305=Usar Proxy
+sc.307=Redirección Temporal
+sc.400=Petición incorrecta
+sc.401=No Autorizado
+sc.402=Pago requerido
+sc.403=Prohibido
+sc.404=No Encontrado
+sc.405=Método No Permitido
+sc.406=No Aceptable
+sc.407=Autentificación Proxy Requerida
+sc.408=Request Caducada
+sc.409=Conflicto
+sc.410=Ido
+sc.411=Longitud Requerida
+sc.412=Precondición Fallada
+sc.413=Entidad de Request Demasiado Grande
+sc.414=Request-URI Demasiado Larga
+sc.415=Tipo de Medio No Soportado
+sc.416=El Rango Pedido No Ser Satisfecho
+sc.417=Expectativa Fallada
+sc.422=Entidad Improcesable
+sc.423=Bloqueado
+sc.424=Dependencia Fallida
+sc.500=Error Interno del Servidor
+sc.501=No Implementado
+sc.502=Pasarela Incorrecta
+sc.503=Servicio no Disponible
+sc.504=Pasarela Caducada
+sc.505=Versión de HTTP No Soportada
+sc.507=Almacenaje Insuficiente
diff --git a/java/org/apache/tomcat/util/http/res/LocalStrings_fr.properties b/java/org/apache/tomcat/util/http/res/LocalStrings_fr.properties
index 8df5f10..e58e12f 100644
--- a/java/org/apache/tomcat/util/http/res/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/util/http/res/LocalStrings_fr.properties
@@ -13,49 +13,47 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# HttpMessages. The values in this file will be used in HTTP headers and as such
-# may only contain TEXT as defined by RFC 2616
 sc.100=Continuer
 sc.101=Changement de Protocols
 sc.200=OK
-sc.201=Cr\u00e9e
-sc.202=Accept\u00e9
-sc.203=Information Sans-Autorit\u00e9
+sc.201=Crée
+sc.202=Accepté
+sc.203=Information Sans-Autorité
 sc.204=Pas de Contenu
-sc.205=Remise \u00e0 Z\u00e9ro de Contenu
+sc.205=Remise à Zéro de Contenu
 sc.206=Contenu Partiel
 sc.207=Etat Multiple
 sc.300=Choix Multiples
-sc.301=D\u00e9plac\u00e9 de fa\u00e7on Permanente
-sc.302=D\u00e9plac\u00e9 Temporairement
+sc.301=Déplacé de façon Permanente
+sc.302=Déplacé Temporairement
 sc.303=Voir Autre
-sc.304=Non Modifi\u00e9
+sc.304=Non Modifié
 sc.305=Utilisation de Relais
 sc.307=Redirection Temporaire
-sc.400=Mauvaise Requ\u00eate
-sc.401=Non-Autoris\u00e9
-sc.402=Paiement N\u00e9cessaire
+sc.400=Mauvaise Requête
+sc.401=Non-Autorisé
+sc.402=Paiement Nécessaire
 sc.403=Interdit
 sc.404=Introuvable
-sc.405=M\u00e9thode Non Autoris\u00e9e
+sc.405=Méthode Non Autorisée
 sc.406=Inacceptable
-sc.407=Authentification de Relais N\u00e9cessaire
-sc.408=D\u00e9passement de D\u00e9lais pour la Requ\u00eate
+sc.407=Authentification de Relais Nécessaire
+sc.408=Dépassement de Délais pour la Requête
 sc.409=Conflit
 sc.410=Parti
-sc.411=Taille Demand\u00e9e
-sc.412=Echec de Pr\u00e9-condition
-sc.413=Entit\u00e9 de Requ\u00eate Trop Grande
-sc.414=URI de Requ\u00eate Trop Grande
-sc.415=Type de Support Non Support\u00e9
-sc.416=Etendue de Requ\u00eate Irr\u00e9alisable
+sc.411=Taille Demandée
+sc.412=Echec de Pré-condition
+sc.413=Entité de Requête Trop Grande
+sc.414=URI de Requête Trop Grande
+sc.415=Type de Support Non Supporté
+sc.416=Etendue de Requête Irréalisable
 sc.417=Echec d'Attente
-sc.422=Entit\u00e9 Ing\u00e9rable
-sc.424=Echec de D\u00e9pendance
+sc.422=Entité Ingérable
+sc.424=Echec de Dépendance
 sc.500=Erreur Interne de Servlet
-sc.501=Non Impl\u00e9ment\u00e9
+sc.501=Non Implémenté
 sc.502=Mauvaise Passerelle
 sc.503=Service Indisponible
-sc.504=D\u00e9passement de D\u00e9lais pour la Passerelle
-sc.505=Version HTTP Non Support\u00e9e
-sc.507=Stockage Insuffisant
\ No newline at end of file
+sc.504=Dépassement de Délais pour la Passerelle
+sc.505=Version HTTP Non Supportée
+sc.507=Stockage Insuffisant
diff --git a/java/org/apache/tomcat/util/net/LocalStrings.properties b/java/org/apache/tomcat/util/net/LocalStrings.properties
index b96d462..74a6b7a 100644
--- a/java/org/apache/tomcat/util/net/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/net/LocalStrings.properties
@@ -13,20 +13,55 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# net resources
-endpoint.err.close=Caught exception trying to close socket
-endpoint.err.handshake=Handshake failed
-endpoint.err.unexpected=Unexpected error processing socket
-endpoint.warn.unlockAcceptorFailed=Acceptor thread [{0}] failed to unlock. Forcing hard socket shutdown.
-endpoint.warn.executorShutdown=The executor associated with thread pool [{0}] has not fully shutdown. Some application threads may still be running.
-endpoint.warn.noRemoteAddr=Unable to determine remote address for socket [{0}]
-endpoint.warn.noRemoteHost=Unable to determine remote host name for socket [{0}]
-endpoint.warn.noRemotePort=Unable to determine remote port for socket [{0}]
-endpoint.warn.noLocalAddr=Unable to determine local address for socket [{0}]
-endpoint.warn.noLocalName=Unable to determine local host name for socket [{0}]
-endpoint.warn.noLocalPort=Unable to determine local port for socket [{0}]
-endpoint.warn.noSendfileWithSSL=Sendfile is not supported for the connector when SSL is enabled
-endpoint.warn.incorrectConnectionCount=Incorrect connection count, multiple socket.close called on the same socket.
+channel.nio.interrupted=The current thread was interrupted
+channel.nio.ssl.appInputNotEmpty=Application input buffer still contains data. Data would have been lost.
+channel.nio.ssl.appOutputNotEmpty=Application output buffer still contains data. Data would have been lost.
+channel.nio.ssl.closeSilentError=As expected, there was an exception trying to close the connection cleanly.
+channel.nio.ssl.closing=Channel is in closing state.
+channel.nio.ssl.eofDuringHandshake=EOF during handshake.
+channel.nio.ssl.expandNetInBuffer=Expanding network input buffer to [{0}] bytes
+channel.nio.ssl.expandNetOutBuffer=Expanding network output buffer to [{0}] bytes
+channel.nio.ssl.foundHttp=Found an plain text HTTP request on what should be an encrypted TLS connection
+channel.nio.ssl.handshakeError=Handshake error
+channel.nio.ssl.incompleteHandshake=Handshake incomplete, you must complete handshake before reading data.
+channel.nio.ssl.invalidCloseState=Invalid close state, will not send network data.
+channel.nio.ssl.invalidStatus=Unexpected status [{0}].
+channel.nio.ssl.netInputNotEmpty=Network input buffer still contains data. Handshake will fail.
+channel.nio.ssl.netOutputNotEmpty=Network output buffer still contains data. Handshake will fail.
+channel.nio.ssl.notHandshaking=NOT_HANDSHAKING during handshake
+channel.nio.ssl.pendingWriteDuringClose=Pending write, so remaining data in the network buffer, can't send SSL close message, socket closed anyway
+channel.nio.ssl.remainingDataDuringClose=Remaining data in the network buffer, can't send SSL close message, socket closes anyway
+channel.nio.ssl.sniDefault=Unable to buffer enough data to determine requested SNI host name. Using default
+channel.nio.ssl.sniHostName=The SNI host name extracted for connection [{0}] was [{1}]
+channel.nio.ssl.timeoutDuringHandshake=Timeout during handshake.
+channel.nio.ssl.unexpectedStatusDuringUnwrap=Unexpected status [{0}] during handshake UNWRAP.
+channel.nio.ssl.unexpectedStatusDuringWrap=Unexpected status [{0}] during handshake WRAP.
+channel.nio.ssl.unwrapFail=Unable to unwrap data, invalid status [{0}]
+channel.nio.ssl.unwrapFailResize=Unable to unwrap data because buffer is too small, invalid status [{0}]
+channel.nio.ssl.wrapException=Handshake failed during wrap
+channel.nio.ssl.wrapFail=Unable to wrap data, invalid status [{0}]
+
+endpoint.accept.fail=Socket accept failed
+endpoint.alpn.fail=Failed to configure endpoint for ALPN using [{0}]
+endpoint.alpn.negotiated=Negotiated [{0}] protocol using ALPN
+endpoint.apr.applyConf=Applying OpenSSLConfCmd to SSL context
+endpoint.apr.assignConf=Assigning SSL context to OpenSSLConfCmd context
+endpoint.apr.checkConf=Checking OpenSSLConf
+endpoint.apr.errApplyConf=Could not apply OpenSSLConf to SSL context
+endpoint.apr.errCheckConf=Error during OpenSSLConf check
+endpoint.apr.errMakeConf=Could not create OpenSSLConf context
+endpoint.apr.failSslContextMake=Unable to create SSLContext. Check that SSLEngine is enabled in the AprLifecycleListener, the AprLifecycleListener has initialised correctly and that a valid SSLProtocol has been specified
+endpoint.apr.invalidSslProtocol=An invalid value [{0}] was provided for the SSLProtocol attribute
+endpoint.apr.makeConf=Creating OpenSSLConf context
+endpoint.apr.maxConnections.running=The APR endpoint does not support the setting of maxConnections while it is running. The existing value of [{0}] will continue to be used.
+endpoint.apr.maxConnections.unlimited=The APR endpoint does not support unlimited connections. The existing value of [{0}] will continue to be used.
+endpoint.apr.noSendfileWithSSL=Sendfile is not supported for the APR/native connector when SSL is enabled
+endpoint.apr.pollAddInvalid=Invalid attempted to add a socket [{0}] to the poller
+endpoint.apr.pollError=Poller failed with error [{0}] : [{1}]
+endpoint.apr.pollMergeEvents=Merge poller event [{1}] for socket [{0}] to create merged event [{2}]
+endpoint.apr.pollUnknownEvent=A socket was returned from the poller with an unrecognized event [{0}]
+endpoint.apr.remoteport=APR socket [{0}] opened with remote port [{1}]
+endpoint.apr.tooManyCertFiles=More certificate files were configured than the AprEndpoint can handle
 endpoint.debug.channelCloseFail=Failed to close channel
 endpoint.debug.destroySocket=Destroying socket [{0}]
 endpoint.debug.pollerAdd=Add to addList socket [{0}], timeout [{1}], flags [{2}]
@@ -40,10 +75,10 @@ endpoint.debug.socketTimeout=Timing out [{0}]
 endpoint.debug.unlock.fail=Caught exception trying to unlock accept on port [{0}]
 endpoint.debug.unlock.localFail=Unable to determine local address for [{0}]
 endpoint.debug.unlock.localNone=Failed to unlock acceptor for [{0}] because the local address was not available
-endpoint.accept.fail=Socket accept failed
-endpoint.alpn.fail=Failed to configure endpoint for ALPN using [{0}]
-endpoint.alpn.negotiated=Negotiated [{0}] protocol using ALPN
 endpoint.duplicateSslHostName=Multiple SSLHostConfig elements were provided for the host name [{0}]. Host names must be unique.
+endpoint.err.close=Caught exception trying to close socket
+endpoint.err.handshake=Handshake failed
+endpoint.err.unexpected=Unexpected error processing socket
 endpoint.executor.fail=Executor rejected socket [{0}] for processing
 endpoint.getAttribute=[{0}] is [{1}]
 endpoint.init.bind=Socket bind failed: [{0}] [{1}]
@@ -53,76 +88,40 @@ endpoint.init.notavail=APR not available
 endpoint.invalidJmxNameSslHost=Unable to generate a valid JMX object name for the SSLHostConfig associated with host [{0}]
 endpoint.invalidJmxNameSslHostCert=Unable to generate a valid JMX object name for the SSLHostConfigCertificate associated with host [{0}] and certificate type [{1}]
 endpoint.jmxRegistrationFailed=Failed to register the JMX object with name [{0}]
+endpoint.jsse.cannotHonorServerCipherOrder=The Java Runtime does not support "useServerCipherSuitesOrder" with JSSE. You must use OpenSSL or Java 8 onwards to use this feature.
+endpoint.jsse.noSslContext=No SSLContext could be found for the host name [{0}]
 endpoint.launch.fail=Failed to launch new runnable
+endpoint.nio.registerFail=Failed to register socket with selector from poller
+endpoint.nio.selectorCloseFail=Failed to close selector when closing the poller
+endpoint.nio.stopLatchAwaitFail=The pollers did not stop within the expected time
+endpoint.nio.stopLatchAwaitInterrupted=This thread was interrupted while waiting for the pollers to stop
+endpoint.nio.timeoutCme=Exception during processing of timeouts. The code has been checked repeatedly and no concurrent modification has been found. If you are able to repeat this error please open a Tomcat bug and provide the steps to reproduce.
+endpoint.nio2.exclusiveExecutor=The NIO2 connector requires an exclusive executor to operate properly on shutdown
 endpoint.noSslHostConfig=No SSLHostConfig element was found with the hostName [{0}] to match the defaultSSLHostConfigName for the connector [{1}]
 endpoint.noSslHostName=No host name was provided for the SSL host configuration
-endpoint.poll.limitedpollsize=Failed to create poller with specified size of [{0}]
-endpoint.poll.initfail=Poller creation failed
-endpoint.poll.fail=Critical poller failure (restarting poller): [{0}] [{1}]
 endpoint.poll.error=Unexpected poller error
+endpoint.poll.fail=Critical poller failure (restarting poller): [{0}] [{1}]
+endpoint.poll.initfail=Poller creation failed
+endpoint.poll.limitedpollsize=Failed to create poller with specified size of [{0}]
 endpoint.process.fail=Error allocating socket processor
 endpoint.processing.fail=Error running socket processor
 endpoint.removeDefaultSslHostConfig=The default SSLHostConfig (named [{0}]) may not be removed
-endpoint.sendfile.error=Unexpected sendfile error
 endpoint.sendfile.addfail=Sendfile failure: [{0}] [{1}]
+endpoint.sendfile.error=Unexpected sendfile error
 endpoint.serverSocket.closeFailed=Failed to close server socket for [{0}]
 endpoint.setAttribute=Set [{0}] to [{1}]
 endpoint.timeout.err=Error processing socket timeout
 endpoint.unknownSslHostName=The SSL host name [{0}] is not recognised for this endpoint
-endpoint.apr.failSslContextMake=Unable to create SSLContext. Check that SSLEngine is enabled in the AprLifecycleListener, the AprLifecycleListener has initialised correctly and that a valid SSLProtocol has been specified
-endpoint.apr.invalidSslProtocol=An invalid value [{0}] was provided for the SSLProtocol attribute
-endpoint.apr.maxConnections.running=The APR endpoint does not support the setting of maxConnections while it is running. The existing value of [{0}] will continue to be used.
-endpoint.apr.maxConnections.unlimited=The APR endpoint does not support unlimited connections. The existing value of [{0}] will continue to be used.
-endpoint.apr.noSendfileWithSSL=Sendfile is not supported for the APR/native connector when SSL is enabled
-endpoint.apr.pollAddInvalid=Invalid attempted to add a socket [{0}] to the poller
-endpoint.apr.pollError=Poller failed with error [{0}] : [{1}]
-endpoint.apr.pollMergeEvents=Merge poller event [{1}] for socket [{0}] to create merged event [{2}]
-endpoint.apr.pollUnknownEvent=A socket was returned from the poller with an unrecognized event [{0}]
-endpoint.apr.tooManyCertFiles=More certificate files were configured than the AprEndpoint can handle
-endpoint.apr.remoteport=APR socket [{0}] opened with remote port [{1}]
-endpoint.apr.makeConf=Creating OpenSSLConf context
-endpoint.apr.errMakeConf=Could not create OpenSSLConf context
-endpoint.apr.checkConf=Checking OpenSSLConf
-endpoint.apr.errCheckConf=Error during OpenSSLConf check
-endpoint.apr.assignConf=Assigning SSL context to OpenSSLConfCmd context
-endpoint.apr.applyConf=Applying OpenSSLConfCmd to SSL context
-endpoint.apr.errApplyConf=Could not apply OpenSSLConf to SSL context
-endpoint.jsse.cannotHonorServerCipherOrder=The Java Runtime does not support "useServerCipherSuitesOrder" with JSSE. You must use OpenSSL or Java 8 onwards to use this feature.
-endpoint.jsse.noSslContext=No SSLContext could be found for the host name [{0}]
-endpoint.nio.registerFail=Failed to register socket with selector from poller
-endpoint.nio.selectorCloseFail=Failed to close selector when closing the poller
-endpoint.nio.stopLatchAwaitFail=The pollers did not stop within the expected time
-endpoint.nio.stopLatchAwaitInterrupted=This thread was interrupted while waiting for the pollers to stop
-endpoint.nio.timeoutCme=Exception during processing of timeouts. The code has been checked repeatedly and no concurrent modification has been found. If you are able to repeat this error please open a Tomcat bug and provide the steps to reproduce.
-endpoint.nio2.exclusiveExecutor=The NIO2 connector requires an exclusive executor to operate properly on shutdown
-
-channel.nio.interrupted=The current thread was interrupted
-channel.nio.ssl.closeSilentError=As expected, there was an exception trying to close the connection cleanly.
-channel.nio.ssl.notHandshaking=NOT_HANDSHAKING during handshake
-channel.nio.ssl.handshakeError=Handshake error
-channel.nio.ssl.unexpectedStatusDuringWrap=Unexpected status [{0}] during handshake WRAP.
-channel.nio.ssl.unexpectedStatusDuringUnwrap=Unexpected status [{0}] during handshake UNWRAP.
-channel.nio.ssl.invalidStatus=Unexpected status [{0}].
-channel.nio.ssl.netInputNotEmpty=Network input buffer still contains data. Handshake will fail.
-channel.nio.ssl.netOutputNotEmpty=Network output buffer still contains data. Handshake will fail.
-channel.nio.ssl.appInputNotEmpty=Application input buffer still contains data. Data would have been lost.
-channel.nio.ssl.appOutputNotEmpty=Application output buffer still contains data. Data would have been lost.
-channel.nio.ssl.eofDuringHandshake=EOF during handshake.
-channel.nio.ssl.timeoutDuringHandshake=Timeout during handshake.
-channel.nio.ssl.pendingWriteDuringClose=Pending write, so remaining data in the network buffer, can't send SSL close message, socket closed anyway
-channel.nio.ssl.remainingDataDuringClose=Remaining data in the network buffer, can't send SSL close message, socket closes anyway
-channel.nio.ssl.invalidCloseState=Invalid close state, will not send network data.
-channel.nio.ssl.unwrapFail=Unable to unwrap data, invalid status [{0}]
-channel.nio.ssl.unwrapFailResize=Unable to unwrap data because buffer is too small, invalid status [{0}]
-channel.nio.ssl.wrapException=Handshake failed during wrap
-channel.nio.ssl.wrapFail=Unable to wrap data, invalid status [{0}]
-channel.nio.ssl.incompleteHandshake=Handshake incomplete, you must complete handshake before reading data.
-channel.nio.ssl.closing=Channel is in closing state.
-channel.nio.ssl.expandNetInBuffer=Expanding network input buffer to [{0}] bytes
-channel.nio.ssl.expandNetOutBuffer=Expanding network output buffer to [{0}] bytes
-channel.nio.ssl.sniDefault=Unable to buffer enough data to determine requested SNI host name. Using default
-channel.nio.ssl.sniHostName=The SNI host name extracted for connection [{0}] was [{1}]
-channel.nio.ssl.foundHttp=Found an plain text HTTP request on what should be an encrypted TLS connection
+endpoint.warn.executorShutdown=The executor associated with thread pool [{0}] has not fully shutdown. Some application threads may still be running.
+endpoint.warn.incorrectConnectionCount=Incorrect connection count, multiple socket.close called on the same socket.
+endpoint.warn.noLocalAddr=Unable to determine local address for socket [{0}]
+endpoint.warn.noLocalName=Unable to determine local host name for socket [{0}]
+endpoint.warn.noLocalPort=Unable to determine local port for socket [{0}]
+endpoint.warn.noRemoteAddr=Unable to determine remote address for socket [{0}]
+endpoint.warn.noRemoteHost=Unable to determine remote host name for socket [{0}]
+endpoint.warn.noRemotePort=Unable to determine remote port for socket [{0}]
+endpoint.warn.noSendfileWithSSL=Sendfile is not supported for the connector when SSL is enabled
+endpoint.warn.unlockAcceptorFailed=Acceptor thread [{0}] failed to unlock. Forcing hard socket shutdown.
 
 jsse.invalid_truststore_password=The provided trust store password could not be used to unlock and/or validate the trust store. Retrying to access the trust store with a null password which will skip validation.
 jsse.keystore_load_failed=Failed to load keystore type [{0}] with path [{1}] due to [{2}]
@@ -132,26 +131,25 @@ jsse.tls13.auth=The JSSE TLS 1.3 implementation does not support authentication
 sniExtractor.clientHelloInvalid=The ClientHello message was not correctly formatted
 sniExtractor.clientHelloTooBig=The ClientHello was not presented in a single TLS record so no SNI information could be extracted
 
-socket.closed=The socket associated with this connection has been closed.
-socket.sslreneg=Exception re-negotiating SSL connection
-
-
 socket.apr.clientAbort=The client aborted the connection.
+socket.apr.closed=The socket [{0}] associated with this connection has been closed.
 socket.apr.read.error=Unexpected error [{0}] reading data from the APR/native socket [{1}] with wrapper [{2}].
 socket.apr.write.error=Unexpected error [{0}] writing data to the APR/native socket [{1}] with wrapper [{2}].
-socket.apr.closed=The socket [{0}] associated with this connection has been closed.
+socket.closed=The socket associated with this connection has been closed.
+socket.sslreneg=Exception re-negotiating SSL connection
 
-sslHostConfig.certificateVerificationInvalid=The certificate verification value [{0}] is not recognised
 sslHostConfig.certificate.notype=Multiple certificates were specified and at least one is missing the required attribute type
+sslHostConfig.certificateVerificationInvalid=The certificate verification value [{0}] is not recognised
+sslHostConfig.fileNotFound=Configured file [{0}] does not exist
 sslHostConfig.mismatch=The property [{0}] was set on the SSLHostConfig named [{1}] and is for the [{2}] configuration syntax but the SSLHostConfig is being used with the [{3}] configuration syntax
+sslHostConfig.opensslconf.alreadyset=Attempt to set another OpenSSLConf ignored
+sslHostConfig.opensslconf.null=Attempt to set null OpenSSLConf ignored
 sslHostConfig.prefix_missing=The protocol [{0}] was added to the list of protocols on the SSLHostConfig named [{1}]. Check if a +/- prefix is missing.
+
 sslHostConfigCertificate.mismatch=The property [{0}] was set on the SSLHostConfigCertificate named [{1}] and is for certificate storage type [{2}] but the certificate is being used with a storage of type [{3}]
-sslHostConfig.opensslconf.null=Attempt to set null OpenSSLConf ignored
-sslHostConfig.opensslconf.alreadyset=Attempt to set another OpenSSLConf ignored
-sslHostConfig.fileNotFound=Configured file [{0}] does not exist
 
-sslImplementation.cnfe= Unable to create SSLImplementation for class [{0}]
+sslImplementation.cnfe=Unable to create SSLImplementation for class [{0}]
 
-sslUtilBase.noneSupported=None of the [{0}] specified are supported by the SSL engine : [{1}]
 sslUtilBase.active=The [{0}] that are active are : [{1}]
+sslUtilBase.noneSupported=None of the [{0}] specified are supported by the SSL engine : [{1}]
 sslUtilBase.skipped=Some of the specified [{0}] are not supported by the SSL engine and have been skipped: [{1}]
diff --git a/java/org/apache/tomcat/util/net/LocalStrings_es.properties b/java/org/apache/tomcat/util/net/LocalStrings_es.properties
index e7280ec..def2571 100644
--- a/java/org/apache/tomcat/util/net/LocalStrings_es.properties
+++ b/java/org/apache/tomcat/util/net/LocalStrings_es.properties
@@ -12,29 +12,28 @@
 # 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.
-#
-# net resources
-endpoint.err.handshake = Acuerdo fallido
-endpoint.err.unexpected = Error inesperado al procesar conector
-endpoint.debug.unlock.fail = Excepci\u00F3n cogida intentando desbloquear aceptaci\u00F3n en puerto [{0}]
-endpoint.err.close = Excepci\u00F3n cogida intentando cerrar conector
-endpoint.init.bind = Ligado de conector fall\u00F3: [{0}] [{1}]
-endpoint.init.listen = Escucha de conector fall\u00F3: [{0}] [{1}]
-endpoint.init.notavail = APR no disponible
-endpoint.accept.fail = Aceptaci\u00F3n de conector fall\u00F3
-endpoint.poll.limitedpollsize = No pude crear encuestador de medida espec\u00EDfica de [{0}]
-endpoint.poll.initfail = Fall\u00F3 la creaci\u00F3n del encuestador
-endpoint.poll.fail = Fallo cr\u00EDtico de encuestador (reiniciando encuestador): [{0}] [{1}]
-endpoint.poll.error = Error inesperado de encuestador
-endpoint.process.fail = Error reservando procesador de conector
-endpoint.sendfile.error = Error inesperado de env\u00EDo de fichero
-endpoint.sendfile.addfail = Fallo en Sednfile: [{0}] [{1}]
-endpoint.warn.noInsecureReneg = La renegociaci\u00F3n segura no est\u00E1 soportada por la biblioteca SSL [{0}]
-endpoint.warn.unlockAcceptorFailed = El hilo aceptador [{0}] fall\u00F3 al desbloquear. Forzando apagado de enchufe (socket).
-endpoint.debug.channelCloseFail = No puede cerrar el canal
-endpoint.debug.socketCloseFail = No pude cerrar el enchufe (socket)
-endpoint.apr.noSslCertFile = El atribiuto del conector SSLCertificateFile debe de ser definido al usar SSL con APR
-endpoint.apr.invalidSslProtocol = Se ha proporcionado un valor inv\u00E1lido [{0}] para el atributo SSLProtocol
 
-jsse.invalid_truststore_password = La clave del almac\u00E9n de confianza suministrada no se pudo usar para desbloquear y/o validar el almac\u00E9n de confianza. Reintentando acceder el almac\u00E9n de confianza con una clave nula que se saltar\u00E1 la validaci\u00F3n.
-jsse.keystore_load_failed = No pude cargar almac\u00E9n de claves de tipo [{0}] con ruta [{1}] debido a [{2}]
+endpoint.accept.fail=Aceptación de conector falló
+endpoint.apr.invalidSslProtocol=Se ha proporcionado un valor inválido [{0}] para el atributo SSLProtocol
+endpoint.apr.noSslCertFile=El atribiuto del conector SSLCertificateFile debe de ser definido al usar SSL con APR
+endpoint.debug.channelCloseFail=No puede cerrar el canal
+endpoint.debug.socketCloseFail=No pude cerrar el enchufe (socket)
+endpoint.debug.unlock.fail=Excepción cogida intentando desbloquear aceptación en puerto [{0}]
+endpoint.err.close=Excepción cogida intentando cerrar conector
+endpoint.err.handshake=Acuerdo fallido
+endpoint.err.unexpected=Error inesperado al procesar conector
+endpoint.init.bind=Ligado de conector falló: [{0}] [{1}]
+endpoint.init.listen=Escucha de conector falló: [{0}] [{1}]
+endpoint.init.notavail=APR no disponible
+endpoint.poll.error=Error inesperado de encuestador
+endpoint.poll.fail=Fallo crítico de encuestador (reiniciando encuestador): [{0}] [{1}]
+endpoint.poll.initfail=Falló la creación del encuestador
+endpoint.poll.limitedpollsize=No pude crear encuestador de medida específica de [{0}]
+endpoint.process.fail=Error reservando procesador de conector
... 698 lines suppressed ...


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