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 2020/05/04 16:34:47 UTC

[tomcat] branch 8.5.x updated (cf861cb -> d7df70c)

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 cf861cb  Fix indent
     new da503f3  Back-port updates/additions to French translations
     new 163c9a0  Backport updates / additions to Japanese translations
     new 6e439e3  Backport updates/additions to Korean translations
     new d7df70c  Backport updates / additions to Chinese translations

The 4 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:
 java/javax/el/LocalStrings_ja.properties           |   4 +-
 java/javax/el/LocalStrings_zh_CN.properties        |   2 +
 java/javax/servlet/LocalStrings_zh_CN.properties   |   4 +-
 .../servlet/http/LocalStrings_zh_CN.properties     |   2 +
 .../authenticator/LocalStrings_ja.properties       |  32 ++--
 .../authenticator/LocalStrings_zh_CN.properties    |  16 ++
 .../jaspic/LocalStrings_ja.properties              |   6 +-
 .../jaspic/LocalStrings_zh_CN.properties           |   4 +
 .../catalina/connector/LocalStrings_fr.properties  |   1 +
 .../catalina/connector/LocalStrings_ja.properties  |   5 +-
 .../catalina/connector/LocalStrings_ko.properties  |   1 +
 .../connector/LocalStrings_zh_CN.properties        |  30 ++++
 .../catalina/core/LocalStrings_ja.properties       |  43 +++--
 .../catalina/core/LocalStrings_zh_CN.properties    | 116 +++++++++++++
 .../catalina/deploy/LocalStrings_zh_CN.properties  |   3 +
 .../catalina/filters/LocalStrings_ja.properties    |   6 +-
 .../catalina/filters/LocalStrings_zh_CN.properties |  19 +++
 .../ha/authenticator/LocalStrings_zh_CN.properties |   1 +
 .../ha/context/LocalStrings_zh_CN.properties       |   3 +
 .../catalina/ha/deploy/LocalStrings_ja.properties  |  18 +-
 .../ha/deploy/LocalStrings_zh_CN.properties        |  19 +++
 .../ha/session/LocalStrings_zh_CN.properties       |  32 +++-
 .../catalina/ha/tcp/LocalStrings_ja.properties     |   2 +-
 .../catalina/ha/tcp/LocalStrings_zh_CN.properties  |  14 ++
 .../catalina/loader/LocalStrings_ja.properties     |  10 +-
 .../catalina/loader/LocalStrings_zh_CN.properties  |  26 +++
 .../catalina/manager/LocalStrings_fr.properties    |   1 +
 .../catalina/manager/LocalStrings_ja.properties    |  20 ++-
 .../catalina/manager/LocalStrings_ko.properties    |   1 +
 .../catalina/manager/LocalStrings_zh_CN.properties |   3 +-
 .../manager/host/LocalStrings_ja.properties        |   6 +-
 .../manager/host/LocalStrings_zh_CN.properties     |   2 +-
 .../catalina/mapper/LocalStrings_ja.properties     |   2 +-
 .../catalina/mapper/LocalStrings_zh_CN.properties  |   8 +
 .../catalina/mbeans/LocalStrings_zh_CN.properties  |   2 +
 .../catalina/realm/LocalStrings_fr.properties      |   1 +
 .../catalina/realm/LocalStrings_ja.properties      |  12 +-
 .../catalina/realm/LocalStrings_ko.properties      |   1 +
 .../catalina/realm/LocalStrings_zh_CN.properties   |  41 +++++
 .../catalina/security/LocalStrings_ja.properties   |   2 +-
 .../security/LocalStrings_zh_CN.properties         |   6 +
 .../catalina/servlets/LocalStrings_ja.properties   |   6 +-
 .../servlets/LocalStrings_zh_CN.properties         |  21 +++
 .../catalina/session/LocalStrings_fr.properties    |   5 +
 .../catalina/session/LocalStrings_ja.properties    |  17 +-
 .../catalina/session/LocalStrings_ko.properties    |   7 +
 .../catalina/session/LocalStrings_zh_CN.properties |  33 +++-
 .../catalina/startup/LocalStrings_ja.properties    |  58 +++----
 .../catalina/startup/LocalStrings_ko.properties    |   1 +
 .../catalina/startup/LocalStrings_zh_CN.properties |  64 +++++--
 .../storeconfig/LocalStrings_ja.properties         |   4 +-
 .../storeconfig/LocalStrings_zh_CN.properties      |   8 +
 .../tribes/group/LocalStrings_zh_CN.properties     |   2 +
 .../group/interceptors/LocalStrings_ja.properties  |   6 +-
 .../interceptors/LocalStrings_zh_CN.properties     |  41 +++--
 .../catalina/tribes/io/LocalStrings_ja.properties  |   2 +-
 .../tribes/io/LocalStrings_zh_CN.properties        |   4 +
 .../tribes/jmx/LocalStrings_zh_CN.properties       |   3 +
 .../tribes/membership/LocalStrings_ja.properties   |   2 +-
 .../membership/LocalStrings_zh_CN.properties       |  11 ++
 .../tribes/tipis/LocalStrings_ja.properties        |   4 +-
 .../tribes/tipis/LocalStrings_zh_CN.properties     |  19 ++-
 .../tribes/transport/LocalStrings_ja.properties    |   2 +-
 .../tribes/transport/LocalStrings_zh_CN.properties |   3 +
 .../transport/nio/LocalStrings_ja.properties       |   4 +-
 .../transport/nio/LocalStrings_zh_CN.properties    |  11 ++
 .../tribes/util/LocalStrings_zh_CN.properties      |   5 +
 .../catalina/users/LocalStrings_ja.properties      |   4 +-
 .../catalina/users/LocalStrings_zh_CN.properties   |   3 +
 .../catalina/util/LocalStrings_ja.properties       |   4 +-
 .../catalina/util/LocalStrings_zh_CN.properties    |  15 ++
 .../catalina/valves/LocalStrings_ja.properties     |  14 +-
 .../catalina/valves/LocalStrings_zh_CN.properties  |  46 +++++
 .../valves/rewrite/LocalStrings_ja.properties      |   2 +-
 .../valves/rewrite/LocalStrings_zh_CN.properties   |   4 +
 .../webresources/LocalStrings_ja.properties        |   2 +
 .../webresources/LocalStrings_zh_CN.properties     |  18 ++
 java/org/apache/coyote/LocalStrings_ja.properties  |  14 +-
 .../apache/coyote/LocalStrings_zh_CN.properties    |  17 ++
 .../apache/coyote/ajp/LocalStrings_ja.properties   |   1 +
 .../coyote/ajp/LocalStrings_zh_CN.properties       |   6 +
 .../coyote/http11/LocalStrings_ja.properties       |  24 +--
 .../coyote/http11/LocalStrings_ko.properties       |   1 +
 .../coyote/http11/LocalStrings_zh_CN.properties    |  11 ++
 .../http11/filters/LocalStrings_zh_CN.properties   |   2 +
 .../http11/upgrade/LocalStrings_ja.properties      |  12 +-
 .../http11/upgrade/LocalStrings_zh_CN.properties   |  10 ++
 .../apache/coyote/http2/LocalStrings_ja.properties |  22 ++-
 .../coyote/http2/LocalStrings_zh_CN.properties     |  65 +++++++
 .../jasper/resources/LocalStrings_fr.properties    |  12 +-
 .../jasper/resources/LocalStrings_ja.properties    | 186 +++++++++++----------
 .../jasper/resources/LocalStrings_ko.properties    |   1 +
 .../jasper/resources/LocalStrings_zh_CN.properties | 131 ++++++++++++++-
 java/org/apache/naming/LocalStrings_fr.properties  |   2 +-
 .../apache/naming/LocalStrings_zh_CN.properties    |   5 +
 .../naming/factory/LocalStrings_ja.properties      |   4 +
 .../naming/factory/LocalStrings_zh_CN.properties   |   7 +
 .../dbcp/dbcp2/LocalStrings_zh_CN.properties       |   6 +
 .../tomcat/util/LocalStrings_zh_CN.properties      |   5 +
 .../tomcat/util/buf/LocalStrings_fr.properties     |   2 +
 .../tomcat/util/buf/LocalStrings_ja.properties     |   7 +-
 .../tomcat/util/buf/LocalStrings_ko.properties     |   2 +
 .../tomcat/util/buf/LocalStrings_zh_CN.properties  |   8 +
 .../tomcat/util/compat/LocalStrings_ja.properties  |   6 +-
 .../util/descriptor/LocalStrings_ja.properties     |   2 +-
 .../util/descriptor/LocalStrings_zh_CN.properties  |   5 +
 .../util/descriptor/web/LocalStrings_ja.properties |  32 ++--
 .../descriptor/web/LocalStrings_zh_CN.properties   |  25 +++
 .../util/digester/LocalStrings_zh_CN.properties    |   1 +
 .../tomcat/util/http/LocalStrings_ja.properties    |   8 +-
 .../tomcat/util/http/LocalStrings_zh_CN.properties |   7 +
 .../util/http/parser/LocalStrings_ja.properties    |   2 +-
 .../util/http/parser/LocalStrings_zh_CN.properties |   6 +
 .../tomcat/util/modeler/LocalStrings_ja.properties |   4 +-
 .../util/modeler/LocalStrings_zh_CN.properties     |   1 +
 .../tomcat/util/net/LocalStrings_ja.properties     |  20 ++-
 .../tomcat/util/net/LocalStrings_zh_CN.properties  |  52 ++++++
 .../util/net/jsse/LocalStrings_ja.properties       |   7 +-
 .../util/net/jsse/LocalStrings_zh_CN.properties    |  10 ++
 .../util/net/openssl/LocalStrings_ja.properties    |   5 +-
 .../util/net/openssl/LocalStrings_ko.properties    |   1 +
 .../util/net/openssl/LocalStrings_zh_CN.properties |  25 +++
 .../tomcat/util/scan/LocalStrings_zh_CN.properties |   2 +
 .../tomcat/websocket/LocalStrings_ja.properties    |   7 +-
 .../tomcat/websocket/LocalStrings_zh_CN.properties |  46 +++++
 .../websocket/pojo/LocalStrings_zh_CN.properties   |  10 ++
 .../websocket/server/LocalStrings_ja.properties    |   2 +-
 .../websocket/server/LocalStrings_zh_CN.properties |   9 +
 .../WEB-INF/classes/LocalStrings_ja.properties     |   2 +-
 .../WEB-INF/classes/LocalStrings_zh_CN.properties  |   3 +
 130 files changed, 1505 insertions(+), 340 deletions(-)


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


[tomcat] 04/04: Backport updates / additions to Chinese translations

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 d7df70c4749a2dbd5b419ea86794dc46fc6ebd54
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Mon May 4 17:32:44 2020 +0100

    Backport updates / additions to Chinese translations
---
 java/javax/el/LocalStrings_zh_CN.properties        |   2 +
 java/javax/servlet/LocalStrings_zh_CN.properties   |   4 +-
 .../servlet/http/LocalStrings_zh_CN.properties     |   2 +
 .../authenticator/LocalStrings_zh_CN.properties    |  16 +++
 .../jaspic/LocalStrings_zh_CN.properties           |   4 +
 .../connector/LocalStrings_zh_CN.properties        |  30 +++++
 .../catalina/core/LocalStrings_zh_CN.properties    | 116 ++++++++++++++++++
 .../catalina/deploy/LocalStrings_zh_CN.properties  |   3 +
 .../catalina/filters/LocalStrings_zh_CN.properties |  19 +++
 .../ha/authenticator/LocalStrings_zh_CN.properties |   1 +
 .../ha/context/LocalStrings_zh_CN.properties       |   3 +
 .../ha/deploy/LocalStrings_zh_CN.properties        |  19 +++
 .../ha/session/LocalStrings_zh_CN.properties       |  32 ++++-
 .../catalina/ha/tcp/LocalStrings_zh_CN.properties  |  14 +++
 .../catalina/loader/LocalStrings_zh_CN.properties  |  26 ++++
 .../catalina/manager/LocalStrings_zh_CN.properties |   3 +-
 .../manager/host/LocalStrings_zh_CN.properties     |   2 +-
 .../catalina/mapper/LocalStrings_zh_CN.properties  |   8 ++
 .../catalina/mbeans/LocalStrings_zh_CN.properties  |   2 +
 .../catalina/realm/LocalStrings_zh_CN.properties   |  41 +++++++
 .../security/LocalStrings_zh_CN.properties         |   6 +
 .../servlets/LocalStrings_zh_CN.properties         |  21 ++++
 .../catalina/session/LocalStrings_zh_CN.properties |  33 +++++-
 .../catalina/startup/LocalStrings_zh_CN.properties |  64 ++++++++--
 .../storeconfig/LocalStrings_zh_CN.properties      |   8 ++
 .../tribes/group/LocalStrings_zh_CN.properties     |   2 +
 .../interceptors/LocalStrings_zh_CN.properties     |  41 +++++--
 .../tribes/io/LocalStrings_zh_CN.properties        |   4 +
 .../tribes/jmx/LocalStrings_zh_CN.properties       |   3 +
 .../membership/LocalStrings_zh_CN.properties       |  11 ++
 .../tribes/tipis/LocalStrings_zh_CN.properties     |  19 ++-
 .../tribes/transport/LocalStrings_zh_CN.properties |   3 +
 .../transport/nio/LocalStrings_zh_CN.properties    |  11 ++
 .../tribes/util/LocalStrings_zh_CN.properties      |   5 +
 .../catalina/users/LocalStrings_zh_CN.properties   |   3 +
 .../catalina/util/LocalStrings_zh_CN.properties    |  15 +++
 .../catalina/valves/LocalStrings_zh_CN.properties  |  46 ++++++++
 .../valves/rewrite/LocalStrings_zh_CN.properties   |   4 +
 .../webresources/LocalStrings_zh_CN.properties     |  18 +++
 .../apache/coyote/LocalStrings_zh_CN.properties    |  17 +++
 .../coyote/ajp/LocalStrings_zh_CN.properties       |   6 +
 .../coyote/http11/LocalStrings_zh_CN.properties    |  11 ++
 .../http11/filters/LocalStrings_zh_CN.properties   |   2 +
 .../http11/upgrade/LocalStrings_zh_CN.properties   |  10 ++
 .../coyote/http2/LocalStrings_zh_CN.properties     |  65 ++++++++++
 .../jasper/resources/LocalStrings_zh_CN.properties | 131 +++++++++++++++++++--
 .../apache/naming/LocalStrings_zh_CN.properties    |   5 +
 .../naming/factory/LocalStrings_zh_CN.properties   |   7 ++
 .../dbcp/dbcp2/LocalStrings_zh_CN.properties       |   6 +
 .../tomcat/util/LocalStrings_zh_CN.properties      |   5 +
 .../tomcat/util/buf/LocalStrings_zh_CN.properties  |   8 ++
 .../util/descriptor/LocalStrings_zh_CN.properties  |   5 +
 .../descriptor/web/LocalStrings_zh_CN.properties   |  25 ++++
 .../util/digester/LocalStrings_zh_CN.properties    |   1 +
 .../tomcat/util/http/LocalStrings_zh_CN.properties |   7 ++
 .../util/http/parser/LocalStrings_zh_CN.properties |   6 +
 .../util/modeler/LocalStrings_zh_CN.properties     |   1 +
 .../tomcat/util/net/LocalStrings_zh_CN.properties  |  52 ++++++++
 .../util/net/jsse/LocalStrings_zh_CN.properties    |  10 ++
 .../util/net/openssl/LocalStrings_zh_CN.properties |  25 ++++
 .../tomcat/util/scan/LocalStrings_zh_CN.properties |   2 +
 .../tomcat/websocket/LocalStrings_zh_CN.properties |  46 ++++++++
 .../websocket/pojo/LocalStrings_zh_CN.properties   |  10 ++
 .../websocket/server/LocalStrings_zh_CN.properties |   9 ++
 .../WEB-INF/classes/LocalStrings_zh_CN.properties  |   3 +
 65 files changed, 1096 insertions(+), 43 deletions(-)

diff --git a/java/javax/el/LocalStrings_zh_CN.properties b/java/javax/el/LocalStrings_zh_CN.properties
index 7b409ee..406d6a9 100644
--- a/java/javax/el/LocalStrings_zh_CN.properties
+++ b/java/javax/el/LocalStrings_zh_CN.properties
@@ -23,12 +23,14 @@ elProcessor.defineFunctionNoMethod=无法找到类[{1}]的公共静态方法[{0}
 elProcessor.defineFunctionNullParams=一个或多个输入参数为null
 
 expressionFactory.cannotCreate=无法创建类型为[{0}]的表达式工厂
+expressionFactory.cannotFind=找不到类型为[{0}]的ExpressionFactory
 expressionFactory.readFailed=无法读取[{0}]
 
 importHandler.ambiguousImport=无法导入类[{0}],因为它与已导入的[{1}]冲突
 importHandler.ambiguousStaticImport=无法处理静态导入[{0}],因为它与已导入的[{1}]冲突
 importHandler.classNotFound=无法导入类[{0}],因为无法找到它
 importHandler.invalidClass=类[{0}]必须是公共的、非抽象的、非接口且(对于Java 9+)在一个导出包
+importHandler.invalidClassName=要导入的类的名称[{0}]必须包含一个包。
 importHandler.invalidClassNameForStatic=为 static import [{1}] 指定的类 [{0}] 不可用
 importHandler.invalidStaticName=导入 [{0}] 的静态方法或字段名称必须包含类
 importHandler.staticNotFound=导入[{2}]的类[{1}]中找不到静态导入[{0}]
diff --git a/java/javax/servlet/LocalStrings_zh_CN.properties b/java/javax/servlet/LocalStrings_zh_CN.properties
index f1ca507..60310f3 100644
--- a/java/javax/servlet/LocalStrings_zh_CN.properties
+++ b/java/javax/servlet/LocalStrings_zh_CN.properties
@@ -19,7 +19,5 @@ httpConstraintElement.invalidRolesDeny=使用 DENY 时可能未指定角色
 
 httpMethodConstraintElement.invalidMethod=无效的HTTP.方法
 
+value.false=否
 value.true=true
-
-wrapper.nullRequest=请求不能为空
-wrapper.nullResponse=响应不能为空
diff --git a/java/javax/servlet/http/LocalStrings_zh_CN.properties b/java/javax/servlet/http/LocalStrings_zh_CN.properties
index 4e8f6b2..d74232e 100644
--- a/java/javax/servlet/http/LocalStrings_zh_CN.properties
+++ b/java/javax/servlet/http/LocalStrings_zh_CN.properties
@@ -14,6 +14,8 @@
 # limitations under the License.
 
 err.cookie_name_blank=Cookie名称不能为null或零长度
+err.cookie_name_is_token=Cookie name[{0}]是一个保留令牌
+err.io.indexOutOfBounds=为大小为[{2}]的数组指定的偏移量[{0}]和/或长度[{1}]无效。
 err.io.nullArray=Null在write方法中传递给字节数组
 err.io.short_read=短.读
 
diff --git a/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties b/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
index 5545b03..68b8427 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
@@ -15,6 +15,8 @@
 
 authenticator.certificates=此请求中没有客户端证书链
 authenticator.changeSessionId=在身份验证时, 会话 ID 从 [{0} 更改为 [{1}]
+authenticator.check.authorize=用户名[{0}]从连接器获得,并被信任为有效。从Tomcat领域获取此用户的角色。
+authenticator.check.authorizeFail=领域无法识别用户[{0}]。创建具有该名称且没有角色的主体。
 authenticator.check.found=已通过身份验证 [{0}]
 authenticator.check.sso=未经过身份验证但找到了SSO会话ID [{0}]。尝试重新验证。
 authenticator.formlogin=对表单登录页的直接引用无效
@@ -34,23 +36,37 @@ basicAuthenticator.invalidCharset=只允许值为null、空字符串或UTF-8
 
 digestAuthenticator.cacheRemove=已从客户端 nonce 缓存中删除有效条目,以便为新条目腾出空间。重播攻击现在是可能的。为防止重播攻击的可能性,请降低nonceValidity或增加nonceCacheSize。此类型的进一步警告将被抑制5分钟。
 
+formAuthenticator.forwardErrorFail=转发到错误页时出现意外错误。
+formAuthenticator.forwardLogin=使用请求方法GET将使用方法[{1}]发出的对[{0}]的请求转发到上下文[{3}]的登录页[{2}]
+formAuthenticator.forwardLoginFail=转发到登录页时出现意外错误。
 formAuthenticator.noErrorPage=没有为上下文[{0}]中的表单身份验证定义错误页
 formAuthenticator.noLoginPage=在环境[{0}]中,未为FORM认证定义登录页面
 
 singleSignOn.debug.associate=SSO将应用程序会话[{1}]与SSO会话[{0}]关联
+singleSignOn.debug.associateFail=SSO无法关联应用程序会话{0},因为SSO会话{1}不存在。
 singleSignOn.debug.cookieCheck=SSO检查SSO cookie
 singleSignOn.debug.cookieNotFound=SSO没有找到SSO cookie
+singleSignOn.debug.deregister=与SSO会话[{1}]关联的SSO过期应用程序会话[{0}]
 singleSignOn.debug.deregisterFail=SSO撤销登记SSO会话[{0}]失败,因为缓存中不包含这个SSO会话
+singleSignOn.debug.deregisterNone=SSO注销了SSO会话[{0}],但未找到关联的应用程序会话
 singleSignOn.debug.hasPrincipal=找到以前经过身份验证的主体[{0}]
 singleSignOn.debug.invoke=SSO为[{0}]处理请求
 singleSignOn.debug.principalCheck=SSO为SSO会话[{0}]寻找缓存的Principal
 singleSignOn.debug.principalFound=SSO 找到了带着认证类型的缓存代理
 singleSignOn.debug.principalNotFound=SSO未找到缓存的Principal,为会话[{0}]擦除SSO cookie
+singleSignOn.debug.register=使用身份验证类型[{2}]的用户[{1}]的SSO注册SSO会话[{0}]。
 singleSignOn.debug.removeSession=SSO 从 SSO session [{1}] 中删除应用程序会话 [{0}]
+singleSignOn.debug.sessionLogout=SSO正在处理SSO会话[{0}]和应用程序会话[{1}]的注销
+singleSignOn.debug.sessionTimeout=SSO正在处理SSO会话[{0}]和应用程序会话[{1}]的超时
 singleSignOn.debug.update=SSO 更新SSO 会话[{0}] 对认证 类型[{1}]
 singleSignOn.sessionExpire.contextNotFound=SSO无法中止[{0}],因为Context未找到
+singleSignOn.sessionExpire.engineNull=SSO无法使会话[{0}]过期,因为引擎为空。
 singleSignOn.sessionExpire.hostNotFound=因为 Host 丢失,SSO 无法使 session [{0}] 失效
 singleSignOn.sessionExpire.managerError=由于会话管理器在检索会话时抛出异常,导致单点登录无法使会话[{0}]失效
 singleSignOn.sessionExpire.managerNotFound=SSO无法使会话[{0}]过期,因为找不到管理器
+singleSignOn.sessionExpire.sessionNotFound=SSO无法使会话[{0}]过期,因为找不到该会话
 
 spnegoAuthenticator.authHeaderNoToken=客户端发送的协商授权 header 未包含 token
+spnegoAuthenticator.authHeaderNotNego=客户端发送的授权头不是以协商开始的。
+spnegoAuthenticator.serviceLoginFail=无法作为服务主体登录
+spnegoAuthenticator.ticketValidateFail=无法验证客户端提供的票证
diff --git a/java/org/apache/catalina/authenticator/jaspic/LocalStrings_zh_CN.properties b/java/org/apache/catalina/authenticator/jaspic/LocalStrings_zh_CN.properties
index 04485b4..aed0961 100644
--- a/java/org/apache/catalina/authenticator/jaspic/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/authenticator/jaspic/LocalStrings_zh_CN.properties
@@ -14,9 +14,13 @@
 # limitations under the License.
 
 authConfigFactoryImpl.load=从[{0}]加载持久化提供者注册信息
+authConfigFactoryImpl.registerClass=正在为层[{1}]和应用程序上下文[{2}]注册类[{0}]
+authConfigFactoryImpl.registerInstance=正在为层[{1}]和应用程序上下文[{2}]注册类型为[{0}]的实例
 authConfigFactoryImpl.zeroLengthAppContext=:)应用上下文名称的长度为0是无效的
 authConfigFactoryImpl.zeroLengthMessageLayer=零长度的消息层名称是无效的
 
+callbackHandlerImpl.jaspicCallbackMissing=接收到不支持的类型为{0}的JASPIC回调,该回调被忽略
+
 jaspicAuthenticator.authenticate=通过JASPIC验证[{0}]的请求
 
 persistentProviderRegistrations.deleteFail=无法删除临时文件[{0}]
diff --git a/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties b/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
index c024ad6..42fcf30 100644
--- a/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
@@ -13,49 +13,79 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+coyoteAdapter.accesslogFail=尝试向访问日志添加条目时发生异常。
+coyoteAdapter.asyncDispatch=处理异步请求时发生异常
+coyoteAdapter.authenticate=连接器提供的经过身份验证的用户[{0}]。
 coyoteAdapter.authorize=(:使用Tomcat的领域授权用户[{0}]
+coyoteAdapter.checkRecycled.request=遇到未回收的请求并强制回收。
 coyoteAdapter.checkRecycled.response=遇到非回收的相应并强行回收。
 coyoteAdapter.debug=变量[{0}]的值为[{1}]。
+coyoteAdapter.nullRequest=异步分派只能在现有请求上发生
 
 coyoteConnector.invalidEncoding=编码 [{0}] 不能被 JRE 识别,Connector 将继续使用 [{1}]
 coyoteConnector.invalidPort=连接器不能启动,因为指定的端口 [{0}]无效
+coyoteConnector.notAsciiSuperset=编码[{0}]不是RFC 7230要求的ASCII超集。连接器将继续使用[{1}]
 coyoteConnector.parseBodyMethodNoTrace=方法TRACE禁止包含实体(详情查看RFC 2616 章节 9.6)
+coyoteConnector.protocolHandlerDestroyFailed=协议处理程序销毁失败
+coyoteConnector.protocolHandlerInitializationFailed=协议处理程序初始化失败
 coyoteConnector.protocolHandlerInstantiationFailed=协议处理程序实例化失败
 coyoteConnector.protocolHandlerNoAprLibrary=配置的协议[{0}]需要不可用的APR/本机库
 coyoteConnector.protocolHandlerNoAprListener=配置的协议[{0}]需要不可用的aprlifecycleListener
 coyoteConnector.protocolHandlerPauseFailed=协议处理程序暂停失败
+coyoteConnector.protocolHandlerResumeFailed=协议处理程序恢复失败
 coyoteConnector.protocolHandlerStartFailed=协议处理器启动失败
 coyoteConnector.protocolHandlerStopFailed=协议处理程序.停止失败
 
 coyoteInputStream.nbNotready=在非阻塞模式下,只有之前的读数据完成,并且isReady()方法返回true,你才可以使用 ServletInputStream 读取数据
 
+coyoteOutputStream.nbNotready=在非阻塞模式下,在上一次写入完成且isReady()返回true之前,您不能写入ServletOutputStream
+
+coyoteRequest.alreadyAuthenticated=此请求已通过身份验证
 coyoteRequest.attributeEvent=属性事件侦听器引发的异常
 coyoteRequest.authenticate.ise=):提交响应后无法调用authenticate()
 coyoteRequest.changeSessionId=无法更改 session ID。 没有与此请求关联的 session。
 coyoteRequest.chunkedPostTooLarge=由于请求参数数据太大,导致参数不能解析。因为当前请求是块状请求,后续也不会处理。如果应用程序需要接收大的POST请求,可以使用连接器的maxPostSize解决它。
 coyoteRequest.filterAsyncSupportUnknown=无法确定是否有任何过滤器不支持异步处理
+coyoteRequest.getContextPath.ise=找不到规范上下文路径[{0}]与用户代理[{1}]提供的URI之间的匹配项。
+coyoteRequest.getInputStream.ise=已为此请求调用getReader()
 coyoteRequest.getReader.ise=当前请求已经调用过方法getInputStream()
 coyoteRequest.gssLifetimeFail=为用户主体 [{0}] 获取剩余生命期失败
 coyoteRequest.maxPostSizeExceeded=):大多部分请求包含的参数数据(不包括上载的文件)超过了关联连接器上设置的maxPostSize 的限制
+coyoteRequest.noAsync=无法启动async,因为处理链中的下列类不支持async[{0}]
 coyoteRequest.noMultipartConfig=由于没有提供multi-part配置,无法处理parts
+coyoteRequest.parseParameters=处理发布的参数时引发异常
+coyoteRequest.postTooLarge=未分析参数,因为发布的数据太大。如果应用程序应接受大型post,请使用连接器的maxPostSize属性来解决此问题。
 coyoteRequest.sendfileNotCanonical=无法确定指定用于sendfile的文件[{0}]的规范名称
 coyoteRequest.sessionCreateCommitted=提交响应后无法创建会话
 coyoteRequest.sessionEndAccessFail=在回收请求时,异常触发了对会话的结束访问。
 coyoteRequest.setAttribute.namenull=不能在一个空的名字上调用setAttribute
+coyoteRequest.uploadCreate=根据servlet[{1}]的要求创建临时上载位置[{0}]
+coyoteRequest.uploadCreateFail=无法创建上载位置[{0}]
 coyoteRequest.uploadLocationInvalid=临时上传路径[{0}]无效
 
 coyoteResponse.encoding.invalid=JRE无法识别编码[{0}]
+coyoteResponse.getOutputStream.ise=已为此响应调用getWriter()
 coyoteResponse.getWriter.ise=当前响应已经调用了方法getOutputStream()
 coyoteResponse.reset.ise=已经提交响应后无法调用reset()
+coyoteResponse.resetBuffer.ise=提交响应后无法重置缓冲区
 coyoteResponse.sendError.ise=响应提交后无法调用sendError()
+coyoteResponse.sendRedirect.ise=提交响应后无法调用sendRedirect()。
 coyoteResponse.sendRedirect.note=<html><body><p>重定向到<a href="{0}">{0}</a></p></body></html>
+coyoteResponse.setBufferSize.ise=写入数据后无法更改缓冲区大小
 
 inputBuffer.requiresNonBlocking=非阻塞模式下不可用
+inputBuffer.streamClosed=关闭的流。
+
+outputBuffer.writeNull=要写入的字符串参数(String,int,int)不能为空
 
 request.asyncNotSupported=当前链的筛选器或servlet不支持异步操作。
+request.fragmentInDispatchPath=调度路径[{0}]中的片段已被删除
+request.illegalWrap=请求包装器必须包装从getRequest()获得的请求
+request.notAsync=如果当前请求不在异步模式下,则调用此方法是非法的(即isAsyncStarted()返回false)
 
 requestFacade.nullRequest=请求对象已被回收,不再与此facade关联
 
+response.illegalWrap=响应包装器必须包装从getResponse()获得的响应
 response.sendRedirectFail=重定向到[{0}]失败
 
 responseFacade.nullResponse=响应对象已被回收,不再与此外观关联
diff --git a/java/org/apache/catalina/core/LocalStrings_zh_CN.properties b/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
index 36d34b4..adc71d3 100644
--- a/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
@@ -13,83 +13,151 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+applicationContext.addFilter.ise=无法将筛选器添加到上下文[{0}],因为该上下文已初始化
 applicationContext.addJspFile.iae=JSP 文件 [{0}] 不可用
 applicationContext.addListener.iae.cnfe=无法创建类型为 [{0}] 的实例
+applicationContext.addListener.iae.init=无法将类型为[{0}]的实例添加为侦听器
+applicationContext.addListener.iae.sclNotAllowed=一旦调用了第一个ServletContextListener,就不能再添加ServletContextListener。
 applicationContext.addListener.iae.wrongType=指定的类型[{0}]不是预期的侦听器类型之一
+applicationContext.addListener.ise=无法将侦听器添加到上下文[{0}]中,因为该上下文已初始化
 applicationContext.addRole.ise=上下文被初始化后,角色不能再被添加到[{0}]中
 applicationContext.addServlet.ise=无法将servlet添加到上下文[{0}]中,因为该上下文已初始化
 applicationContext.attributeEvent=属性事件监听器引发的异常
+applicationContext.illegalDispatchPath=应用程序试图获取具有非法路径[{0}]的请求分派器,但该路径被拒绝,因为它包含一个编码的目录遍历尝试
 applicationContext.invalidFilterName=由于筛选器名称[{0}]无效,无法添加筛选器定义。
 applicationContext.invalidServletName=由于servlet名称[{0}]无效,无法添加对应servlet的定义。
+applicationContext.lookup.error=在上下文[{1}]中找不到资源[{0}]
 applicationContext.mapping.error=映射中.的错误
+applicationContext.requestDispatcher.iae=路径[{0}]不以“/”字符开头
 applicationContext.resourcePaths.iae=路径[{0}]不以“/”字符开头
+applicationContext.role.iae=要为上下文[{0}]声明的单个角色不能为空,也不能为空字符串
+applicationContext.roles.iae=要为上下文[{0}]声明的角色数组不能为空
 applicationContext.setAttribute.namenull=Name 不能为 null
+applicationContext.setInitParam.ise=初始化上下文后无法设置初始化参数
+applicationContext.setRequestEncoding.ise=无法为上下文[{0}]设置请求编码,因为该上下文已初始化
+applicationContext.setResponseEncoding.ise=无法为上下文[{0}]设置响应编码,因为该上下文已初始化
 applicationContext.setSessionTimeout.ise=(:无法为上下文[{0}]设置会话超时,因为该上下文已初始化
+applicationContext.setSessionTracking.iae.invalid=该上下文不支持为上下文[{1}]请求的会话跟踪模式[{0}]
 applicationContext.setSessionTracking.iae.ssl=为上下文 [{0}] 请求的 session 跟踪模式包括 SSL 和至少一种其他模式。 SSL可能未配置其他模式。
 applicationContext.setSessionTracking.ise=当上下文正在运行,无法设置上下文[{0}]的会话跟踪模式
 
+applicationDispatcher.allocateException=为servlet[{0}]分配异常
+applicationDispatcher.deallocateException=servlet[{0}]的解除分配异常
+applicationDispatcher.forward.ise=提交响应后无法转发
+applicationDispatcher.isUnavailable=Servlet[{0}]当前不可用
 applicationDispatcher.serviceException=Servlet[{0}]的Servlet.service()抛出异常
+applicationDispatcher.specViolation.request=原始ServletRequest或包装的原始ServletRequest未传递给RequestDispatcher,这违反了SRV.8.2和SRV.14.2.5.1
 applicationDispatcher.specViolation.response=原始的ServletResponse或包装后的ServletResponse未传递给RequestDispatcher,原因:违反了SRV.8.2和SRV.14.2.5.1\n\
 \n
 
+applicationFilterConfig.jmxRegisterFail=类型为[{0}]且名称为[{1}]的筛选器的JMX注册失败
+applicationFilterConfig.jmxUnregister=已完成对类型为[{0}]且名称为[{1}]的筛选器的JMX取消注册。
+applicationFilterConfig.jmxUnregisterFail=类型为[{0}]且名称为[{1}]的筛选器的JMX取消注册失败
 applicationFilterConfig.preDestroy=):为类型为[{1}]的名为[{0}]的筛选器调用preDestroy 失败
 applicationFilterConfig.release=失败的销毁过滤器类型为[{1}]名称为[{0}]
 
+applicationFilterRegistration.nullInitParam=由于名称和/或值为空,无法为筛选器设置初始化参数。名称[{0}],值[{1}]
 applicationFilterRegistration.nullInitParams=由于name和(或)value为null,无法为过滤器设置初始化参数。name为 [{0}],value为 [{1}]
 
+applicationHttpRequest.fragmentInDispatchPath=调度路径[{0}]中的片段已被删除
+
+applicationPushBuilder.methodInvalid=推送请求的HTTP方法必须既可缓存又安全,但是[{0}]不是
 applicationPushBuilder.methodNotToken=HTTP方法必须是令牌(token),但 [{0}] 包含非令牌字符
 
 applicationServletRegistration.setServletSecurity.iae=为部署到名为[{1}]的上下文的Servlet[{0}]指定的空约束
+applicationServletRegistration.setServletSecurity.ise=无法将安全性约束添加到已部署到名称为[{1}]的上下文的servlet [{0}]中,因为上下文已被初始化
+
+applicationSessionCookieConfig.ise=无法将属性{0}添加到上下文{1}的sessioncokieconfig中,因为该上下文已初始化
 
+aprListener.aprDestroy=无法关闭基于APR的Apache Tomcat本机库
+aprListener.aprInit=在java.library.path:[{0}]上找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中获得最佳性能
+aprListener.aprInitDebug=在java.library.path[{1}]上使用名称[{0}]找不到基于APR的ApacheTomcat本机库。报告的错误是[{2}]
 aprListener.aprInitError=基于APR的本地库加载失败.错误报告为[{0}]
 aprListener.config=APR/OpenSSL配置:useAprConnector[{0}],useOpenSSL[{1}]
+aprListener.currentFIPSMode=当前FIPS模式:[{0}]。
 aprListener.enterAlreadyInFIPSMode=AprLifecycleListener 配置为强制进入FIPS模式,但库已处于FIPS模式[{0}]
+aprListener.flags=APR功能:IPv6[{0}]、sendfile[{1}]、accept filters[{2}]、random[{3}]。
 aprListener.initializeFIPSFailed=进入FIPS模式失败
 aprListener.initializeFIPSSuccess=成功的进入FIPS 模式
+aprListener.initializedOpenSSL=OpenSSL成功初始化 [{0}]
 aprListener.initializingFIPS=初始化FIPS模式...
+aprListener.requireNotInFIPSMode=AprLifecycleListener配置为要求库已处于FIPS模式,但它未处于FIPS模式
 aprListener.skipFIPSInitialization=已经处于FIPS模式,跳过FIPS初始化
+aprListener.sslInit=无法初始化SSLEngine
 aprListener.tcnInvalid=安装了不兼容的APR(基于Apache Tomcat原生库)版本[{0}],而Tomcat要求版本[{1}]
+aprListener.tcnValid=使用APR版本[{1}]加载了基于APR的Apache Tomcat本机库[{0}]。
 aprListener.tcnVersion=安装了基于APR的Apache Tomcat Native库的旧版本[{0}],而Tomcat建议使用[{1}]的最低版本
 aprListener.tooLateForFIPSMode=无法设置FIPSMode:SSL已初始化
+aprListener.tooLateForSSLEngine=无法设置引擎:SSL已初始化
 aprListener.tooLateForSSLRandomSeed=无法设置 SSLRandomSeed:SSL已经初始化
+aprListener.wrongFIPSMode=AprLifecycleListener的FIPSMode选项的意外值:[{0}]
 
+asyncContextImpl.asyncDispachError=异步调度时出错
+asyncContextImpl.asyncRunnableError=通过AsyncContext.start()处理异步运行时出错
+asyncContextImpl.dispatchingStarted=异步调度操作已经被调用。不允许在同一异步周期内进行其他异步调度操作。
+asyncContextImpl.fireOnComplete=为任何异步侦听器触发onComplete()事件
+asyncContextImpl.fireOnError=为任何异步侦听器触发onError()事件
+asyncContextImpl.fireOnStartAsync=为任何异步侦听器启动onStartAsync()事件
+asyncContextImpl.fireOnTimeout=为任何异步侦听器触发onTimeout()事件
 asyncContextImpl.noAsyncDispatcher=从ServletContext 返回的调度程序不支持异步调度
+asyncContextImpl.onCompleteError=对类型为[{0}]的侦听器的onComplete()调用失败
+asyncContextImpl.onErrorError=对类型为[{0}]的侦听器的onError()调用失败
+asyncContextImpl.onStartAsyncError=对类型为[{0}]的侦听器的onStartAsync()调用失败
+asyncContextImpl.onTimeoutError=对类型为[{0}]的侦听器的onTimeout()调用失败
 asyncContextImpl.request.ise=调用方法complete()后或者任意一个dispatch()方法调用后,调用getRequest()方法是非法的
 asyncContextImpl.requestEnded=AsyncContext关联的请求已经完成处理。
 asyncContextImpl.response.ise=调用complete()或者任何的dispatch()方法后,调用getResponse()方法是非法的。
 
 containerBase.backgroundProcess.cluster=异常处理集群[{0}]后台进程
+containerBase.backgroundProcess.realm=异常处理领域[{0}]后台进程
 containerBase.backgroundProcess.unexpectedThreadDeath=后台线程[{0}]意外结束
 containerBase.backgroundProcess.valve=处理阀门[{0}]后台进程异常
 containerBase.nullName=容器名称不能为null
 containerBase.threadedStartFailed=子容器启动失败
+containerBase.threadedStopFailed=停止期间子容器失败
 
 defaultInstanceManager.invalidInjection=方法资源注入注解无效
+defaultInstanceManager.restrictedClass=禁止访问类[{0}]。这是一个限制类。必须将web应用程序配置为具有特权才能加载它
 defaultInstanceManager.restrictedContainerServlet=禁止访问类 [{0}]。 它是一个受限制的类(实现了 ContainerServlet 接口)。 必须将 Web 应用程序配置为特权才能加载它
 defaultInstanceManager.restrictedFiltersResource=找不到受限制的过滤器属性文件[{0}]
 defaultInstanceManager.restrictedListenersResource=无法找到RestrictedListener的配置文件[{0}]
+defaultInstanceManager.restrictedServletsResource=找不到受限制的servlets属性文件[{0}]
+defaultInstanceManager.restrictedWrongValue=类名为{1}的受限类属性文件{0}中的值错误。期望值:[restricted],实际值:[{2}]
 
 filterChain.filter=Filter 执行抛出一个异常
 filterChain.servlet=Servlet执行抛出一个异常
 
 jreLeakListener.classToInitializeFail=在tomcat启动期间未能加载类[{0}],以防止可能的内存泄漏。
 jreLeakListener.gcDaemonFail=Tomcat开始预防潜在的内存溢出期间,触发GC守护线程失败,在非Sun JVMs上这是正常的。
+jreLeakListener.jarUrlConnCacheFail=默认情况下无法禁用Jar URL连接缓存。
+jreLeakListener.ldapPoolManagerFail=在Tomcat启动期间未能触发com.sun.jndi.ldap.LdapPoolManager类的创建以防止可能的内存泄漏。这在非Sun jvm上是预期的。
+jreLeakListener.xmlParseFail=尝试在XML解析期间防止内存泄漏时出错。
 
 naming.addEnvEntry=添加环境条目 [{0}]
 naming.addResourceEnvRef=添加资源环境引用 [{0}]
+naming.bindFailed=无法绑定对象:[{0}]
 naming.invalidEnvEntryType=环境条目[{0}]没有一个有效哦的类型
+naming.invalidEnvEntryValue=环境项[{0}]的值无效。
 naming.jmxRegistrationFailed=注册到JMX失败:[{0}]
 naming.namingContextCreationFailed=创建上下文名称失败
 naming.unbindFailed=解绑对象[{0}]失败
 naming.wsdlFailed=未找到 wsdl 文件:[{0}]
 
+noPluggabilityServletContext.notAllowed=Servlet 3.0规范的第4.4节不允许从未在web.xml,web-fragment.xml文件中定义或未用@WebListener注释的ServletContextListener调用此方法。
+
+pushBuilder.noPath=在设置路径之前调用push()是非法的
+
 standardContext.applicationListener=配置应用程序监听器[{0}]错误
 standardContext.applicationSkipped=由于以前的错误,已跳过安装应用程序侦听器
+standardContext.backgroundProcess.instanceManager=异常处理实例管理器[{0}]后台进程
 standardContext.backgroundProcess.loader=异常处理加载程序[{0}]后台进程
+standardContext.backgroundProcess.manager=异常处理管理器[{0}]后台进程。
 standardContext.backgroundProcess.resources=异常处理资源[{0}] 后台进程
 standardContext.cluster.noManager=未发现管理器。检查是否需要集群管理器。集群配置:[{0}],应用程序分配:[{1}]
+standardContext.configurationFail=一个或多个组件将上下文标记为未正确配置
 standardContext.cookieProcessor.null=不允许将上下文的CookieProcessor 设置为null
 standardContext.duplicateListener=当前上下文已经配置了监听器[{0}],重复的定义将被忽略。
+standardContext.errorPage.error=错误页面位置[{0}]必须以“ /”开头
 standardContext.errorPage.required=ErrorPage不能为null
 standardContext.errorPage.warning=警告:在Servlet 2.4中,错误页位置 [{0}] 必须以"/"开头
 standardContext.extensionValidationError=尝试校验必需的应用程序扩展时发生错误
@@ -103,28 +171,44 @@ standardContext.isUnavailable=此应用程序目前不可用
 standardContext.listenerFail=一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
 standardContext.listenerStart=异常将上下文初始化事件发送到类的侦听器实例.[{0}]
 standardContext.listenerStop=例外情况发送上下文删除事件[{0}],以便列表实例
+standardContext.loadOnStartup.loadException=web应用程序[{0}]中的Servlet[{1}]引发了load()异常
 standardContext.loginConfig.errorPage=表单错误页[{0}]必须以"/"开始
 standardContext.loginConfig.errorWarning=警告:Servlet 2.4中,表单错误页[{0}]必须以"/"开始
 standardContext.loginConfig.loginPage=表单登录页面 [{0}] 必须以''/''开头
 standardContext.loginConfig.loginWarning=警告:在Servlet 2.4 中 Form 登录页[{0}] 必须以 "/" 开头
+standardContext.loginConfig.required=LoginConfig不能为空
 standardContext.manager=配置类为[{0}]的管理器
 standardContext.managerFail=会话管理器无法启动
+standardContext.namingResource.destroy.fail=无法销毁旧的命名资源
 standardContext.namingResource.init.fail=未能初始化新的命名资源
 standardContext.notStarted=名称为[{0}]的上下文还没有启动
+standardContext.notWrapper=上下文的子级必须是包装器
 standardContext.parameter.duplicate=重复的上下文初始化参数[{0}]
+standardContext.parameter.required=参数名和参数值都是必需的
+standardContext.pathInvalid=上下文路径必须是空字符串或以''/''开头,而不能以''/''结尾。路径[{0}]不符合这些条件,已更改为[{1}]
+standardContext.postconstruct.duplicate=类[{0}]的构造后方法定义重复
+standardContext.postconstruct.required=完全限定的类名和方法名都是必需的
 standardContext.predestroy.duplicate=类 [{0}] 的 @PreDestroy 方法定义重复
+standardContext.predestroy.required=完全合格的类名和方法名都是必需的
+standardContext.reloadingCompleted=已完成重新加载名为{0}的上下文
+standardContext.reloadingStarted=已开始重新加载名为[{0}]的上下文
+standardContext.requestListener.requestInit=向类[{0}]的侦听器实例发送请求初始化的生命周期事件的异常
 standardContext.resourcesInit=初始化静态变量错误
 standardContext.resourcesStart=启动静态资源出错
 standardContext.resourcesStop=停止静态资源时出错
+standardContext.sciFail=ServletContainerInitializer处理期间出错
 standardContext.securityConstraint.mixHttpMethod=在相同的web资源集合中不允许混用: <http-method> 和 <http-method-omission>
 standardContext.securityConstraint.pattern=安全约束中的<url-pattern> [{0}] 无效
 standardContext.servletFail=启动时无法加载一个或多个Servlet。 全部的详细信息可在相应的容器日志文件中找到
+standardContext.servletMap.name=Servlet映射指定未知的Servlet名称[{0}]
+standardContext.servletMap.pattern=servlet映射中的<url pattern>[{0}]无效
 standardContext.startFailed=由于之前的错误,Context[{0}]启动失败
 standardContext.startingContext=启动Context[{0}]出现异常
 standardContext.stop.asyncWaitInterrupted=等待卸载延迟毫秒以完成飞行中的异步请求时收到中断。上下文停止将继续,不会有进一步的延迟。
 standardContext.stoppingContext=异常停止的上下文使用名为[{0}]
 standardContext.threadBindingListenerError=上下文[{0}]配置的线程绑定监听器发生错误
 standardContext.urlPattern.patternWarning=警告:在Servlet 2.4中,URL模式[{0}]必须以“/”开头
+standardContext.webappClassLoader.missingProperty=无法将web应用程序类加载器属性[{0}]设置为[{1}],因为该属性不存在。
 standardContext.workCreateException=无法从目录[{0}]和catalina_home[{1}]中为上下文[{2}]确定绝对工作目录
 standardContext.workCreateFail=无法为上下文[{1}]创建工作目录[{0}]
 standardContext.workPath=获取上下文[{0}]的工作路径时发生异常
@@ -135,26 +219,58 @@ standardEngine.jvmRouteFail=无法从系统属性设置引擎的jvmRoute 属性
 standardEngine.notHost=Engine的子节点必须是一个Host
 standardEngine.notParent=引擎不能有父容器
 
+standardHost.clientAbort=远程客户端中止请求,IOException:[{0}]。
+standardHost.invalidErrorReportValveClass=无法加载指定的错误报告阀类:[{0}]
 standardHost.noContext=没有配置上下文来处理此请求
 standardHost.notContext=主机的子节点必须有上下文
 standardHost.nullName=主机名是必需的
+standardHost.problematicAppBase=在主机[{0}]上为appBase使用空字符串会将其设置为CATALINA_BASE,这是一个坏主意
+
+standardHostValue.customStatusFailed=无法正确调度自定义错误页[{0}]
+
+standardPipeline.basic.start=启动新基本阀时出错
+standardPipeline.basic.stop=停止旧基本阀时出错
+standardPipeline.valve.destroy=破坏阀门错误
+standardPipeline.valve.start=错误启动阀
+standardPipeline.valve.stop=错误截止阀
 
+standardServer.accept.error=尝试在侦听shutdown命令的套接字上接受IO异常
+standardServer.accept.readError=尝试读取关机命令时发生IO异常
+standardServer.accept.security=试图在侦听shutdown命令的套接字上接受时发生安全错误
 standardServer.accept.timeout=在调用accept()方法之后,侦听shutdown命令的套接字经历了意外的超时[{0}]毫秒。 这是bug 56684的一个例子?
+standardServer.invalidShutdownCommand=收到无效的关闭命令[{0}]
+standardServer.shutdownViaPort=通过关闭端口接收到有效的关闭命令。正在停止服务器实例。
+standardServer.storeConfig.contextError=存储上下文[{0}]配置时出错
+standardServer.storeConfig.error=存储服务器配置时出错
 standardServer.storeConfig.notAvailable=没有将StoreConfig实现注册为名为[{0}]的MBean,因此无法保存配置。合适的MBean通常通过StoreConfigLifecycleListener注册。
 
 standardService.engine.startFailed=启动关联的Engine失败
 standardService.engine.stopFailed=失败停止关联的引擎
+standardService.mapperListener.startFailed=无法启动关联的MapperListener
+standardService.mapperListener.stopFailed=无法停止关联的MapperListener
+standardService.start.name=正在启动服务[{0}]
 standardService.stop.name=正在停止服务[{0}]
 
 standardWrapper.allocate=分配一个servlet实例错误
+standardWrapper.allocateException=分配异常的servlet [{0}]
+standardWrapper.deallocateException=servlet[{0}]的解除分配异常
+standardWrapper.destroyException=Servlet[{0}]的Servlet.destroy()引发异常
 standardWrapper.destroyInstance=servlet[{0}]实例管理销毁(destroy) 抛出异常
+standardWrapper.initException=Servlet[{0}]的Servlet.init()引发异常
 standardWrapper.instantiate=实例化Servlet类[{0}]异常
 standardWrapper.isUnavailable=Servlet [{0}]当前不可用。
 standardWrapper.notChild=Wrapper容器内部不允许有子容器。
 standardWrapper.notClass=未为servlet[{0}]指定servlet类
+standardWrapper.notContext=包装的父容器必须是上下文
 standardWrapper.notFound=Servlet [{0}] 不可用
+standardWrapper.notServlet=类{0}不是Servlet
 standardWrapper.releaseFilters=发布过滤器异常,servlet:[{0}]
 standardWrapper.serviceException=在路径为[{1}]的上下文中,servlet[{0}]的Servlet.service()引发异常
+standardWrapper.serviceExceptionRoot=在路径为{1}的上下文中,Servlet[{0}]的Servlet.service()引发了具有根本原因的异常{2}
+standardWrapper.unavailable=将servlet[{0}]标记为不可用
+standardWrapper.unloadException=Servlet[{0}]引发unload()异常
 standardWrapper.unloading=无法分配servlet [{0}],因为它没有被加载
+standardWrapper.waiting=正在等待为Servlet[{1}]释放[{0}]实例
 
 threadLocalLeakPreventionListener.containerEvent.error=异常处理容器事件[{0}]
+threadLocalLeakPreventionListener.lifecycleEvent.error=处理生命周期事件[{0}]时发生异常
diff --git a/java/org/apache/catalina/deploy/LocalStrings_zh_CN.properties b/java/org/apache/catalina/deploy/LocalStrings_zh_CN.properties
index 6d7f3a8..02e82bf 100644
--- a/java/org/apache/catalina/deploy/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/deploy/LocalStrings_zh_CN.properties
@@ -13,8 +13,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+namingResources.cleanupCloseFailed=无法为容器[{2}]中的资源[{1}]调用方法[{0}],因此未对该资源执行清理
 namingResources.cleanupCloseSecurity=无法检索容器[{2}]中的资源[{1}]的方法[{0}],因此没有对该资源进行清理
 namingResources.cleanupNoClose=容器[{1}]中的资源[{0}]没有[{2}]方法,因此没有对该资源执行清理
+namingResources.cleanupNoContext=无法检索容器[{0}]的JNDI命名上下文,因此未对该容器执行清理
+namingResources.cleanupNoResource=无法检索容器[{1}]的JNDI资源[{0}],因此未对该资源执行清理。
 namingResources.ejbLookupLink=EJB的引用[{0}]同时指定了ejb-link和lookup-name
 namingResources.envEntryLookupValue=环境参数 [{0}] 指定查询名称和值
 namingResources.mbeanCreateFail=为命名资源[{0}]创建MBean失败
diff --git a/java/org/apache/catalina/filters/LocalStrings_zh_CN.properties b/java/org/apache/catalina/filters/LocalStrings_zh_CN.properties
index 956688b..3cdf7f6 100644
--- a/java/org/apache/catalina/filters/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/filters/LocalStrings_zh_CN.properties
@@ -13,7 +13,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+addDefaultCharset.unsupportedCharset=不支持指定的字符集[{0}]
+
 corsFilter.invalidPreflightMaxAge=无法解析 preflightMaxAge
+corsFilter.invalidSupportsCredentials=当allowedOrigins=[*]时,不允许配置supportsCredentials=[true]。
 corsFilter.nullRequest=HttpServletRequest 对象为空
 corsFilter.nullRequestType=CORSRequestType对象为空(null)
 corsFilter.onlyHttp=CORS不支持非HTTP请求或响应
@@ -22,13 +25,22 @@ corsFilter.wrongType2=期望类型为[{0}]或[{1}]的HttpServletRequest对象
 
 csrfPrevention.invalidRandomClass=不能使用class [{0}]创建随机源。
 
+expiresFilter.exceptionProcessingParameter=异常处理配置参数[{0}]:[{1}]
+expiresFilter.expirationHeaderAlreadyDefined=请求[{0}]的响应状态为[{1}]内容类型[{2}],已经定义了到期标头
+expiresFilter.filterInitialized=使用配置[{0}]初始化的筛选器
 expiresFilter.invalidDurationNumber=指令[{1}]中的持续时间(数字)[{0}]无效
+expiresFilter.invalidDurationUnit=指令[{1}]中的持续时间单位无效(年|月|周|天|小时|分钟|秒)[{0}]
 expiresFilter.noDurationFound=在指令[{0}]中找不到持续时间
+expiresFilter.noDurationUnitAfterAmount=在指令[{1}]中的amount[{0}]之后找不到持续时间单位
 expiresFilter.noExpirationConfigured=请求[{0}],其响应状态为[{1}]内容类型[{2}],未配置到期日期
 expiresFilter.noExpirationConfiguredForContentType=没有为 content-type [{0}] 找到过期配置
+expiresFilter.numberError=分析逗号分隔列表[{1}中位置[{0}(基于零)处的数字时发生异常
 expiresFilter.responseAlreadyCommited=请求[{0}],无法对已提交的响应应用ExpiresFilter。
+expiresFilter.setExpirationDate=请求{0},响应状态为{1},内容类型为{2},设置过期日期{3}
+expiresFilter.skippedStatusCode=请求{0},响应状态为{1},内容类型为{1},跳过给定状态的过期头生成。
 expiresFilter.startingPointInvalid=在指令[{1}]中无效的起点(访问|现在|修改|a<秒>|m<秒>)[{0}]
 expiresFilter.startingPointNotFound=起始点(access|now|modification|a<seconds>|m<seconds>)未在指令[{0}]中找到
+expiresFilter.unknownParameterIgnored=忽略值为[{1}]的未知参数[{0}]!
 expiresFilter.unsupportedStartingPoint=不支持的起始点 [{0}]
 expiresFilter.useDefaultConfiguration=对内容类型[{1}]使用默认的[{0}]返回[{2}]
 expiresFilter.useMatchingConfiguration=对内容类型[{2}]返回[{3}]使用[{0}]匹配[{1}]
@@ -40,9 +52,16 @@ http.403=禁止访问指定资源 [{0}] 。
 httpHeaderSecurityFilter.clickjack.invalid=为防点击挟持的响应消息头指定了非法值 [{0}]
 httpHeaderSecurityFilter.committed=在进入HttpHeaderSecurityFilter的时候响应消息已经提交导致不能添加响应消息头
 
+remoteCidrFilter.invalid=为{0}提供的配置无效。有关详细信息,请参阅以前的消息。
 remoteCidrFilter.noRemoteIp=客户端没有 IP 地址,请求被拒绝。
 
 remoteIpFilter.invalidHostHeader=HTTP头 [{1}]中,为Host找到一个无效值 [{0}]
 remoteIpFilter.invalidHostWithPort=HTTP头 [{1}]中的Host值 [{0}]包含一个被忽略的端口号
+remoteIpFilter.invalidNumber=参数[{0}]的数字非法:[{1}]
 
 requestFilter.deny=基于属性:[{1}],[{0}]的请求被拒绝。
+
+restCsrfPreventionFilter.invalidNonce=CSRF nonce验证失败
+
+webDavFilter.xpProblem=WebdavFixFilter:已知XP-x64-SP2客户端不使用WebDAV Servlet
+webDavFilter.xpRootContext=WebdavFixFilter:XP-x64-SP2客户端将仅与根上下文一起工作
diff --git a/java/org/apache/catalina/ha/authenticator/LocalStrings_zh_CN.properties b/java/org/apache/catalina/ha/authenticator/LocalStrings_zh_CN.properties
index f4f5ddf..9a0d4b6 100644
--- a/java/org/apache/catalina/ha/authenticator/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/ha/authenticator/LocalStrings_zh_CN.properties
@@ -14,3 +14,4 @@
 # limitations under the License.
 
 clusterSingleSignOn.clusterLoad.fail=在集群加载时, 集群单点登录异常
+clusterSingleSignOn.nocluster=没有群集SingleSignon的群集。
diff --git a/java/org/apache/catalina/ha/context/LocalStrings_zh_CN.properties b/java/org/apache/catalina/ha/context/LocalStrings_zh_CN.properties
index 65e5f3c..5c49312 100644
--- a/java/org/apache/catalina/ha/context/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/ha/context/LocalStrings_zh_CN.properties
@@ -13,4 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+applicationContext.setAttribute.namenull=名称不能为空
+
 replicatedContext.startFailed=启动ReplicatedContext失败:[{0}]
+replicatedContext.startUnable=无法启动ReplicatedContext:[{0}]
diff --git a/java/org/apache/catalina/ha/deploy/LocalStrings_zh_CN.properties b/java/org/apache/catalina/ha/deploy/LocalStrings_zh_CN.properties
index 7bdb390..cd87218 100644
--- a/java/org/apache/catalina/ha/deploy/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/ha/deploy/LocalStrings_zh_CN.properties
@@ -13,8 +13,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+farmWarDeployer.alreadyDeployed=webapp[{0}]已部署。
 farmWarDeployer.deleteFail=无法删除 [{0}]
+farmWarDeployer.deployEnd=[{0}]中的部署已完成。
+farmWarDeployer.fileCopyFail=无法从[{0}]复制到[{1}]
 farmWarDeployer.hostOnly=FarmWarDeployer 只有做为 host cluster 的子元素是才生效
+farmWarDeployer.hostParentEngine=FarmWarDeployer只能在[{0}]的父级是引擎时工作!
 farmWarDeployer.mbeanNameFail=无法为引擎[{0}]和主机[{1}]构造MBean对象名
 farmWarDeployer.modInstall=从 [{1}] 安装 webapp [{0}]
 farmWarDeployer.modInstallFail=无法安装 WAR 文件
@@ -23,17 +27,32 @@ farmWarDeployer.msgRxDeploy=接收集群部署路径[{0}],战争[{1}]
 farmWarDeployer.msgRxUndeploy=从路径[{0}]接收未部署群集
 farmWarDeployer.removeFailLocal=从[{0}]本地移除失败
 farmWarDeployer.removeFailRemote=本地从[{0}]删除失败,其他经理有app在服务!
+farmWarDeployer.removeLocal=正在删除webapp[{0}]
 farmWarDeployer.removeLocalFail=无法移除WAR文件
+farmWarDeployer.removeStart=群集范围内删除web应用程序[{0}]
+farmWarDeployer.removeTxMsg=从[{0}]发送群集范围的取消部署
 farmWarDeployer.renameFail=将 [{0}] 重命名为 [{1}] 失败
+farmWarDeployer.sendEnd=发送群集war部署路径[{0}],war[{1}]已完成。
 farmWarDeployer.sendFragment=将群集战争片段路径[{0}],战争[{1}]发送到[{2}]
 farmWarDeployer.sendStart=发送集群war部署路径[{0}],war[{1}]已启动
 farmWarDeployer.servicingDeploy=应用程序[{0}]正在服务。再次触摸WAR文件[{1}]!
 farmWarDeployer.servicingUndeploy=正在处理应用程序[{0}],无法从备份群集节点中删除它
+farmWarDeployer.started=群集FarmWarDeployer已启动。
+farmWarDeployer.stopped=群集FarmWarDeployer已停止。
 farmWarDeployer.undeployEnd=从[{0}]取消部署完成。
 farmWarDeployer.undeployLocal=不能部署本地上下文[{0}]
+farmWarDeployer.watchDir=群集部署正在监视[{0}]的更改
 
+fileMessageFactory.cannotRead=无法读取消息,此工厂正在写入
+fileMessageFactory.cannotWrite=无法写入消息,此工厂正在读取
+fileMessageFactory.closed=工厂已经关闭
 fileMessageFactory.deleteFail=无法删除 [{0}]
+fileMessageFactory.duplicateMessage=收到重复消息。发件人超时是否太低?上下文:[{0}]文件名:[{1}]数据:[{2}]数据长度:[{3}]
+
+fileNewFail=无法创建[{0}]
 
 warWatcher.cantListWatchDir=无法列出WatchDir文件夹 [{0}] 中的文件:检查该路径是否为目录且应用具有读取权限。
 warWatcher.checkWarResult=WarInfo.check() 为[{1}]返回[{0}]
 warWatcher.checkingWar=检查 WAR 文件 [{0}]
+warWatcher.checkingWars=正在检查[{0}]中的wars
+warWatcher.listedFileDoesNotExist=[{1}]中检测到[{0}],但不存在。在[{1}]上检查目录权限?
diff --git a/java/org/apache/catalina/ha/session/LocalStrings_zh_CN.properties b/java/org/apache/catalina/ha/session/LocalStrings_zh_CN.properties
index 9ab3a0b..865325f 100644
--- a/java/org/apache/catalina/ha/session/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/ha/session/LocalStrings_zh_CN.properties
@@ -18,43 +18,73 @@ backupManager.startFailed=启动BackupManager: [{0}]失败
 backupManager.startUnable=无法启动BackupManager: [{0}]
 backupManager.stopped=管理者[{0}]正在停止。
 
-clusterSessionListener.noManager=Context管理器不存在:[{0}]
+clusterSessionListener.noManager=上下文管理器不存在:[{0}]
 
 deltaManager.createMessage.access=管理器[{0}]:创建会话为会话[{1}]存取消息
+deltaManager.createMessage.accessChangePrimary=管理器{0}:为会话{1}创建更改主节点消息。
+deltaManager.createMessage.allSessionData=管理器[{0}]发送了所有会话数据。
+deltaManager.createMessage.allSessionTransfered=管理器[{0}]发送了所有传输的会话数据
 deltaManager.createMessage.delta=管理器[{0}] ):为会话[{1}]创建增量请求消息
 deltaManager.createMessage.expire=管理器[{0}] (:为会话[{1}]创建会话过期消息
+deltaManager.createMessage.unableCreateDeltaRequest=无法序列化sessionid[{0}]的增量请求
 deltaManager.createSession.newSession=用id[{0}]创建一个扩展会话(DeltaSession),总数为 [{1}]
+deltaManager.dropMessage=管理器[{0}]:将消息[{1}]放入GET_所有会话同步阶段开始日期[{2}]消息日期[{3}]。
+deltaManager.expireSessions=管理器[{0}]关闭时使会话过期
 deltaManager.foundMasterMember=复制主master 成员在上下文中被发现.\n
 deltaManager.loading.cnfe=加载持久化会话 [{0}] 时出现ClassNotFoundException
+deltaManager.loading.existing.session=重载现有会话[{0}]。
 deltaManager.loading.ioe=加载持久 session 时出现 IOException:[{0}]
 deltaManager.managerLoad=从永久存储加载会话时发生异常
+deltaManager.noCluster=启动。。。没有与此上下文关联的群集:[{0}]。
 deltaManager.noContextManager=管理器[{0}]:回复[{1}]发送的“获取所有会话数据”消息,在[{2}] ms后收到“无匹配的上下文管理器”消息
+deltaManager.noMasterMember=启动。。。在域[{1}]没有上下文[{0}]的其他成员
+deltaManager.noMembers=管理器[{0}]:正在跳过状态传输。群集组中没有活动的成员。
 deltaManager.noSessionState=管理者[{0}]:没有收到[{1}]发送的会话状态,在[{2}]毫秒之后超时。
 deltaManager.receiveMessage.accessed=管理器[{0}]:接收会话为会话[{1}]存取消息
 deltaManager.receiveMessage.allSessionDataAfter=Manager [{0}]: session 状态反序列化
 deltaManager.receiveMessage.allSessionDataBegin=管理者[{0}]:接收到所有会话数据状态
+deltaManager.receiveMessage.createNewSession=管理器{0}:已收到会话为会话{1}创建的消息
+deltaManager.receiveMessage.delta=管理器[{0}]:已收到会话[{1}的会话增量消息。
 deltaManager.receiveMessage.delta.unknown=管理器[{0}]:未知会话的接收会话增量[{1}]
+deltaManager.receiveMessage.error=管理器[{0}]:无法通过TCP通道接收消息
+deltaManager.receiveMessage.eventType=管理器[{0}]:从[{2}]接收到类型为[{1}]的SessionMessage
 deltaManager.receiveMessage.expired=管理器[{0}]: 接收到的会话 [{1}] 已过期。
+deltaManager.receiveMessage.noContextManager=从节点[{1}:{2}]接收的管理器[{0}]没有上下文管理器
+deltaManager.receiveMessage.transfercomplete=从节点[{1}:{2}]接收的管理器[{0}]会话状态已传输。
+deltaManager.receiveMessage.unloadingAfter=管理器[{0}]:卸载会话完成
 deltaManager.receiveMessage.unloadingBegin=管理器[{0}]: 开始卸载会话
 deltaManager.registerCluster=将管理器[{0}]注册到名为[{2}]的集群元素[{1}]
 deltaManager.sendMessage.newSession=\ 管理器 [{0}] 发送新的会话 [{1}]
 deltaManager.sessionReceived=管理器[{0}];在[{1}]发送的会话状态在[{2}]毫秒内收到。
+deltaManager.startClustering=在[{0}]启动群集管理器
 deltaManager.stopped=管理器[{0}]已停止
 deltaManager.unableSerializeSessionID=无法序列化会话ID [{0}]
 deltaManager.unloading.ioe=当保存永久回话:[{0}] 时,抛出 IOException
+deltaManager.waitForSessionState=管理器[{0}],正在从[{1}]请求会话状态。如果在[{2}]秒内未收到会话状态,则此操作将超时
 
+deltaRequest.invalidAttributeInfoType=无效的属性信息类型=[{0}]
 deltaRequest.removeUnable=不能移除元素
 deltaRequest.showPrincipal=Principal [{0}] 和session [{1}]产生关联。
 deltaRequest.ssid.mismatch=回话ID不匹配,不执行delta请求
+deltaRequest.ssid.null=setSessionId的会话Id为空
 deltaRequest.wrongPrincipalClass=ClusterManager仅支持GenericPrincipal。 你的Realm使用的Principal类为[{0}]。
 
+deltaSession.notifying=通知群集会话过期:primary=[{0}],sessionId[{1}]
+deltaSession.readSession=readObject()正在加载会话[{0}]
 deltaSession.writeSession=writeObject()存储会话[{0}]
 
+jvmRoute.cannotFindSession=找不到会话[{0}]
 jvmRoute.changeSession=会话从[{0}]切换到[{1}]
+jvmRoute.failover=在会话id[{2}]检测到具有不同jvmRoute的故障转移-原始路由:[{0}]新路由:[{1}]
+jvmRoute.foundManager=在[{1}]找到群集管理器[{0}]
 jvmRoute.missingJvmRouteAttribute=没有配置引擎jvmRoute属性!
+jvmRoute.noCluster=已配置JvmRouterBinderValve,但未使用群集。如果使用了PersistentManager,故障转移仍然有效。
 jvmRoute.notFoundManager=没有在 [{0}] 找到Cluster Manager
 jvmRoute.set.orignalsessionid=在请求属性[{0}]值:[{1}]处设置原始会话ID
+jvmRoute.turnoverInfo=周转检查时间[{0}]msec
 jvmRoute.valve.started=JvmRouteBinderValve 启动
 jvmRoute.valve.stopped=JvmRouteBinderValve停止
 
+standardSession.notSerializable=无法序列化会话[{1}]的会话属性[{0}]。
+standardSession.removeAttribute.ise=removeAttribute:会话已失效。
 standardSession.setAttribute.namenull=setAttribute:名称属性不能为空
diff --git a/java/org/apache/catalina/ha/tcp/LocalStrings_zh_CN.properties b/java/org/apache/catalina/ha/tcp/LocalStrings_zh_CN.properties
index b89e1d4..15727ad 100644
--- a/java/org/apache/catalina/ha/tcp/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/ha/tcp/LocalStrings_zh_CN.properties
@@ -13,16 +13,30 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+ReplicationValve.crossContext.add=将跨上下文会话复制容器添加到replicationValve threadlocal
+ReplicationValve.crossContext.registerSession=注册交叉上下文会话id =[{0}]来自上下文[{1}]
+ReplicationValve.crossContext.remove=从replicationValve threadlocal中删除跨上下文会话复制容器
+ReplicationValve.crossContext.sendDelta=从上下文[{0}]发送跨上下文会话增量。
 ReplicationValve.filter.failure=无法编译 filter = [{0}]
+ReplicationValve.filter.loading=正在加载请求筛选器=[{0}]
 ReplicationValve.invoke.uri=在[{0}]上执行同步请求
+ReplicationValve.nocluster=没有为此请求配置群集。
+ReplicationValve.resetDeltaRequest=群集是独立的:在上下文[{0}]处重置会话请求增量
 ReplicationValve.send.failure=无法执行同步请求。
+ReplicationValve.send.invalid.failure=无法通过群集发送会话[id={0}]无效消息。
 ReplicationValve.session.found=上下文[{0}]:找到会话[{1}]但它不是ClusterSession。
+ReplicationValve.session.indicator=上下文[{0}]:请求属性[{2}]中会话[{1}]的优先级为[{3}]。
 ReplicationValve.session.invalid=上下文[{0}]:请求的会话[{1}]在此节点上无效,已删除或未复制。
+ReplicationValve.stats=对于[{2}]请求、[{3}]发送请求、[{4}]跨上下文请求和[{5}]筛选请求,平均请求时间为[{0}]ms,群集开销时间为[{1}]ms(总请求时间为[{6}]ms,总群集请求时间为[{7}]ms)。
 
+simpleTcpCluster.clustermanager.cloneFailed=无法克隆群集管理器,默认为org.apache.catalina.ha.session.DeltaManager。
 simpleTcpCluster.clustermanager.notImplement=连接器 [{0}] 不能继承 ClusterManager,除非集群被停止。
 simpleTcpCluster.member.addFailed=无法连接到复制系统。
 simpleTcpCluster.member.added=添加同步成员:[{0}]
 simpleTcpCluster.member.disappeared=收到成员消失:[{0}]
 simpleTcpCluster.member.removeFailed=无法从复制系统中移除集群节点
 simpleTcpCluster.sendFailed=无法使用集群发送器发送消息
+simpleTcpCluster.start=群集即将启动
+simpleTcpCluster.startUnable=无法启动群集。
 simpleTcpCluster.stopUnable=无法停止集群
+simpleTcpCluster.unableSend.localMember=无法将消息发送到本地成员[{0}]
diff --git a/java/org/apache/catalina/loader/LocalStrings_zh_CN.properties b/java/org/apache/catalina/loader/LocalStrings_zh_CN.properties
index e8f980f..a944485 100644
--- a/java/org/apache/catalina/loader/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/loader/LocalStrings_zh_CN.properties
@@ -13,18 +13,38 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+webappClassLoader.addExportsRmi=在Java 9上运行时,需要在JVM命令行参数中添加“-add opens=Java.rmi/sun.rmi.transport=ALL-UNNAMED”,以启用rmi目标内存泄漏检测。或者,可以通过禁用RMI目标内存泄漏检测来抑制此警告。
+webappClassLoader.addExportsThreadLocal=在Java 9上运行时,需要在JVM命令行参数中添加“-add opens=Java.base/Java.lang=ALL-UNNAMED”,以启用线程本地内存泄漏检测。或者,可以通过禁用ThreadLocal内存泄漏检测来抑制此警告。
+webappClassLoader.addPermisionNoCanonicalFile=无法从URL[{0}]获取规范文件路径
+webappClassLoader.addPermisionNoProtocol=不支持URL[{1}]中的协议[{0}],因此未授予位于此URL的资源的读取权限
 webappClassLoader.addTransformer=将类文件转换器[{0}]添加到Web应用程序[{1}]。
+webappClassLoader.addTransformer.duplicate=将类文件转换器[{0}]添加到web应用程序[{1}]的重复调用被忽略。
 webappClassLoader.addTransformer.illegalArgument=Web应用程序[{0}]试图添加空类文件转换器。
+webappClassLoader.checkThreadLocalsForLeaks=web应用程序[{0}]创建了一个ThreadLocal,其键类型为[{1}](值为[{2}]),值类型为[{3}](值为[{4}),但在停止web应用程序时未能将其删除。线程将随着时间的推移而更新,以尝试避免可能的内存泄漏
+webappClassLoader.checkThreadLocalsForLeaks.badKey=无法确定类型为[{0}]的键的字符串表示形式
 webappClassLoader.checkThreadLocalsForLeaks.badValue=无法确定类型为 [{0}] 的值的字符串表示形式
 webappClassLoader.checkThreadLocalsForLeaks.unknown=:)未知
 webappClassLoader.checkThreadLocalsForLeaksFail=检查ThreadLocal引用失败,web应用程序:[{0}]
 webappClassLoader.checkThreadLocalsForLeaksNone=web应用程序 [{0}] 创建了1个ThreadLocal变量(键:[{2}] (类型[{1}]) ,值:[{4}](类型[{3}]) )。键仅被ThreadLocal Map弱引用,所以不是内存泄露。
+webappClassLoader.checkThreadLocalsForLeaksNull=web应用程序[{0}]创建了一个ThreadLocal,其键类型为[{1}](值为[{2}])。ThreadLocal已正确设置为null,GC将删除该键
+webappClassLoader.checkThreadsHttpClient=找到使用web应用程序类加载器的HttpClient保持活动线程。通过将线程切换到父类加载器修复。
 webappClassLoader.clearJdbc=Web应用程序 [{0}] 注册了JDBC驱动程序 [{1}],但在Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。
+webappClassLoader.clearObjectStreamClassCachesFail=无法清除web应用程序[{0}]的ObjectStreamClass$缓存中的软引用
+webappClassLoader.clearRmi=找到具有存根类类[{0}]和值[{1}]的RMI目标。已强制移除此RMI目标,以防止内存泄漏。
+webappClassLoader.clearRmiFail=无法清除从web应用程序[{0}]的sun.rmi.transport.Target引用的上下文类加载器
+webappClassLoader.clearRmiInfo=找不到类sun.rmi.transport.Target以清除web应用程序[{0}]的上下文类加载器。这在非Sun jvm上是预期的。
 webappClassLoader.getThreadGroupError=无法获得线程组[{0}]的父级。不可能检查所有线程是否存在潜在的内存泄漏。
+webappClassLoader.jarsAdded=一个或多个jar已添加到web应用程序[{0}]
+webappClassLoader.jarsModified=一个或多个jar已在web应用程序中修改[{0}]
 webappClassLoader.jarsRemoved=一个或多个 JAR 已被从 Web 应用程序 [{0}] 中删除
+webappClassLoader.javaseClassLoaderNull=j2seClassLoader属性不能为空
 webappClassLoader.jdbcRemoveFailed=Web应用程序 [{0}] 的JDBC驱动程序注销失败
+webappClassLoader.loadedByThisOrChildFail=无法完全检查[{0}]实例中的条目,看上下文[{1}]中是否存在潜在的内存泄漏
 webappClassLoader.readError=资源读取错误:不能加载 [{0}].
+webappClassLoader.removeTransformer=已从web应用程序[{1}]中删除类文件转换器[{0}]。
+webappClassLoader.resourceModified=资源[{0}]已被修改。上次修改时间是[{1}],现在是[{2}]
 webappClassLoader.stackTrace=Web应用程序[{0}]似乎启动了一个名为[{1}]的线程,但未能停止它。这很可能会造成内存泄漏。线程的堆栈跟踪:[{2}]
+webappClassLoader.stackTraceRequestThread=web应用程序[{0}]仍在处理一个尚未完成的请求。这很可能会造成内存泄漏。您可以使用标准上下文实现的unloadDelay属性来控制请求完成所允许的时间。请求处理线程的堆栈跟踪:[{2}]
 webappClassLoader.stopThreadFail=为web应用程序[{1}]终止线程[{0}]失败
 webappClassLoader.stopTimerThreadFail=无法终止名为[{0}]的TimerThread,web应用程序:[{1}]
 webappClassLoader.stopped=非法访问:此Web应用程序实例已停止。无法加载[{0}]。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。
@@ -33,4 +53,10 @@ webappClassLoader.transformError=检测错误:无法转换类[{0}],因为它
 webappClassLoader.warnTimerThread=Web应用程序[{0}]似乎已通过java.util.Timer API启动了名为[{1}]的TimerThread,但未能将其停止。 为防止内存泄漏,计时器(以及相关联的线程)已被强制取消。
 webappClassLoader.wrongVersion=(无法载入的.类 [{0}])
 
+webappClassLoaderParallel.registrationFailed=将org.apache.catalina.loader.ParallelWebappClassLoader注册为能够并行加载类失败
+
+webappLoader.deploy=将类存储库部署到工作目录[{0}]
+webappLoader.reloadable=无法将可重载属性设置为[{0}]
 webappLoader.setContext.ise=当加载器启动的时候设置上下文是不被允许的
+webappLoader.starting=启动此加载程序
+webappLoader.stopping=停止此加载程序
diff --git a/java/org/apache/catalina/manager/LocalStrings_zh_CN.properties b/java/org/apache/catalina/manager/LocalStrings_zh_CN.properties
index b1244c6..b6f1c31 100644
--- a/java/org/apache/catalina/manager/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/manager/LocalStrings_zh_CN.properties
@@ -87,7 +87,7 @@ htmlManagerServlet.jvmTableTitleMemoryPool=内存.池
 htmlManagerServlet.jvmTableTitleTotal=总共
 htmlManagerServlet.jvmTableTitleType=类型
 htmlManagerServlet.jvmTableTitleUsed=已用
-htmlManagerServlet.jvmTotalMemory=总内存
+htmlManagerServlet.jvmTotalMemory=总内存:
 htmlManagerServlet.list=应用程序列表
 htmlManagerServlet.manager=管理器
 htmlManagerServlet.messageLabel=消息:
@@ -112,6 +112,7 @@ htmlManagerServlet.serverVersion=Tomcat.版本
 htmlManagerServlet.title=Tomcat Web应用程序管理者
 
 jmxProxyServlet.noBeanFound=无法找到名为[{0}]的MBean对象
+jmxProxyServlet.noOperationOnBean=在对象名为{2}的操作{0}中找不到参数为{1}]的操作{0},该操作是{3}
 
 managerServlet.alreadyContext=失败 - 应用程序已存在于路径 [{0}]
 managerServlet.certsNotAvailable=在运行期,无法从连接器中获取认证信息
diff --git a/java/org/apache/catalina/manager/host/LocalStrings_zh_CN.properties b/java/org/apache/catalina/manager/host/LocalStrings_zh_CN.properties
index c9cccbc..b68c873 100644
--- a/java/org/apache/catalina/manager/host/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/manager/host/LocalStrings_zh_CN.properties
@@ -57,7 +57,7 @@ htmlHostManagerServlet.addDeployOnStartup=启动.部署
 htmlHostManagerServlet.addDeployXML=部署XML
 htmlHostManagerServlet.addHost=主机
 htmlHostManagerServlet.addManager=管理 App
-htmlHostManagerServlet.addName=名称
+htmlHostManagerServlet.addName=名称:
 htmlHostManagerServlet.addTitle=添加.虚拟主机
 htmlHostManagerServlet.addUnpackWARs=解压WARs
 htmlHostManagerServlet.helpHtmlManager=HTML主机管理器帮助
diff --git a/java/org/apache/catalina/mapper/LocalStrings_zh_CN.properties b/java/org/apache/catalina/mapper/LocalStrings_zh_CN.properties
index c2765f8..7bf8926 100644
--- a/java/org/apache/catalina/mapper/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/mapper/LocalStrings_zh_CN.properties
@@ -13,11 +13,19 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+mapper.addHost.sameHost=同一主机[{0}]的重复注册。忽略。
+mapper.addHost.success=注册主机[{0}]
+mapper.addHostAlias.sameHost=为同一主机[{1}]重复注册别名[{0}]。忽略。
 mapper.addHostAlias.success=为虚拟主机 [{1}] 注册了别名 [{0}]
+mapper.duplicateHost=重复的主机[{0}]。主机[{1}已使用该名称。此主机将被忽略。
+mapper.duplicateHostAlias=主机[{1}]中的主机别名[{0}]重复。主机[{2}已使用该名称。将忽略此别名。
+mapper.removeWrapper=正在从路径为[{1}]的上下文[{0}]中删除包装。
 
 mapperListener.pauseContext=根据服务需要,注册内容[{0}]已经重新加载
+mapperListener.registerContext=为服务[{1}]注册上下文[{0}]
 mapperListener.registerHost=这域名[{1}]注册主机[{0}],服务:[{2}]
 mapperListener.registerWrapper=为服务Service[{2}]在上下文Context[{1}]注册Wrapper[{0}]
+mapperListener.unknownDefaultHost=服务{1}的默认主机{0}未知。Tomcat将无法处理未指定主机名的HTTP/1.0请求。
 mapperListener.unregisterContext=注销服务[{1}]的上下文[{0}]
 mapperListener.unregisterHost=在域[{1}]中.,不能注册主机[{0}]为服务[{2}]
 mapperListener.unregisterWrapper=在上下文[{1}]中注销服务[{2}]的包装程序[{0}]
diff --git a/java/org/apache/catalina/mbeans/LocalStrings_zh_CN.properties b/java/org/apache/catalina/mbeans/LocalStrings_zh_CN.properties
index 0cb4d5c..fa92e6b 100644
--- a/java/org/apache/catalina/mbeans/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/mbeans/LocalStrings_zh_CN.properties
@@ -16,3 +16,5 @@
 jmxRemoteLifecycleListener.createRegistryFailed=无法使用端口[{1}]为[{0}]服务器创建RMI注册表
 jmxRemoteLifecycleListener.createServerFailed=无法为[{0}]服务器创建JMX连接器服务器或启动失败
 jmxRemoteLifecycleListener.invalidURL=为[{0}]服务器[{1}]请求的JMX服务URL无效
+
+mBeanFactory.managerContext=管理器组件只能添加到上下文中。
diff --git a/java/org/apache/catalina/realm/LocalStrings_zh_CN.properties b/java/org/apache/catalina/realm/LocalStrings_zh_CN.properties
index 44eb9c7..405cbaf 100644
--- a/java/org/apache/catalina/realm/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/realm/LocalStrings_zh_CN.properties
@@ -13,36 +13,68 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+combinedRealm.addRealm=添加[{0}]领域,共有[{1}]个领域。
 combinedRealm.authFail=无法使用域[{1}]对用户[{0}]进行身份验证
+combinedRealm.authStart=正在尝试使用领域[{1}]对用户[{0}]进行身份验证
 combinedRealm.authSuccess=认证用户[{0}],权限[{1}]
+combinedRealm.getPassword=永远不应该调用getPassword()方法
 combinedRealm.getPrincipal=方法getPrincipal()永远不应该被调用
+combinedRealm.realmStartFail=无法启动[{0}]领域
+combinedRealm.unexpectedMethod=对组合域上的方法进行了意外调用
 
+credentialHandler.invalidStoredCredential=域提供了无效的存储凭据字符串[{0}],以便与用户提供的凭据匹配
+
+dataSourceRealm.authenticateFailure=用户名[{0}]未成功验证
+dataSourceRealm.authenticateSuccess=用户名[{0}]已成功通过身份验证。
+dataSourceRealm.close=关闭数据库连接时发生异常
 dataSourceRealm.exception=认证异常
 dataSourceRealm.getPassword.exception=获取用户名[{0}]对应的密码失败。
 dataSourceRealm.getRoles.exception=:)检索角色[{0}]异常
 
 jaasCallback.username=返回用户名 [{0}]
 
+jaasRealm.accountExpired=由于帐户过期,用户名[{0}]未通过身份验证
 jaasRealm.authenticateFailure=用户 [{0}] 认证失败
 jaasRealm.authenticateSuccess=用户名 [{0}] 已被成功认证为身份 [{1}] -- 主体也已创建
+jaasRealm.beginLogin=使用应用程序[{1}的LoginContext为用户名[{0}]请求JAASRealm登录
+jaasRealm.checkPrincipal=正在检查主体[{0}[{1}]
+jaasRealm.credentialExpired=由于凭据过期,用户名[{0}]未通过身份验证
 jaasRealm.failedLogin=由于登录失败,用户名 [{0}] 无法授权
 jaasRealm.loginContextCreated=为用户名创建的JAAS 登陆上下文[{0}]
 jaasRealm.loginException=登录异常,认证用户名  [{0}]
+jaasRealm.rolePrincipalAdd=正在将角色主体[{0}]添加到此用户主体的角色
+jaasRealm.rolePrincipalFailure=找不到有效的角色主体。
+jaasRealm.unexpectedError=意外错误
 jaasRealm.userPrincipalFailure=未发现有效的用户Principal
+jaasRealm.userPrincipalSuccess=主体[{0}]是有效的用户类。我们将其用作用户主体。
 
 jdbcRealm.authenticateFailure=用户名称[{0}]未校验成功
+jdbcRealm.authenticateSuccess=用户名[{0}]已成功通过身份验证
 jdbcRealm.close=关闭数据库连接异常
+jdbcRealm.exception=执行身份验证时发生异常
 jdbcRealm.open=打开数据库连接时发生异常
+jdbcRealm.open.invalidurl=驱动程序[{0}]不支持url[{1}]。
 
 jndiRealm.authenticateFailure=用户名[{0}]没有成功认证
 jndiRealm.authenticateSuccess=用户名[{0}]成功认证
 jndiRealm.cipherSuites=启用 [{0}] 作为 TLS 连接的加密套件。
+jndiRealm.close=关闭目录服务器连接时发生异常
+jndiRealm.emptyCipherSuites=给定密码套件的空字符串。使用默认密码套件
 jndiRealm.exception=执行认证异常
+jndiRealm.exception.retry=执行身份验证时发生异常。正在重试。。。
+jndiRealm.invalidHostnameVerifier=[{0}]不是HostnameVerifier的有效类名
+jndiRealm.invalidSslProtocol=给定的协议[{0}]无效。它必须是[{1}]之一
+jndiRealm.invalidSslSocketFactory=[{0}]不是SSLSocketFactory的有效类名。
 jndiRealm.negotiatedTls=使用协议[{0}]协商的TLS连接
 jndiRealm.open=打开目录服务器链接异常
+jndiRealm.tlsClose=关闭tls响应时出现异常
 
 lockOutRealm.authLockedUser=尝试对锁定的用户[{0}]进行身份验证
+lockOutRealm.removeWarning=用户[{0}]在[{1}]秒后从失败的用户缓存中删除,以将缓存大小保持在限制集内
+
+mdCredentialHandler.unknownEncoding=不支持编码{0},因此仍将使用当前的设置{1}
 
+memoryRealm.authenticateFailure=用户名[{0}]未成功通过身份验证
 memoryRealm.authenticateSuccess=用户名称[{0}]认证成功
 memoryRealm.loadExist=内存数据库文件[{0}]无法读取
 memoryRealm.loadPath=从内存数据库文件 [{0}] 加载用户
@@ -53,10 +85,19 @@ pbeCredentialHandler.invalidKeySpec=无法生成基于密码的密钥
 
 realmBase.algorithm=无效的消息摘要算法[{0}]
 realmBase.authenticateFailure=用户名 [{0}] 认证失败
+realmBase.authenticateSuccess=用户名[{0}]已成功通过身份验证
+realmBase.cannotGetRoles=无法从主体[{0}]获取角色
 realmBase.createUsernameRetriever.ClassCastException=类[{0}] 不是一个X509UsernameRetriever.
+realmBase.createUsernameRetriever.newInstance=无法创建类型为{0}的对象。
+realmBase.credentialNotDelegated=虽然已请求存储,但用户[{0}]的凭据尚未委派
+realmBase.delegatedCredentialFail=无法获取用户[{0}]的委派凭据。
 realmBase.digest=对用户凭证摘要发生错误
 realmBase.forbidden=已拒绝访问所请求的资源
+realmBase.gotX509Username=从X509证书中获取用户名:[{0}]
+realmBase.gssContextNotEstablished=身份验证器实现错误:传递的安全上下文未完全建立
+realmBase.gssNameFail=无法从已建立的GSSContext中提取名称
 realmBase.hasRoleFailure=用户[{0}]没有角色[{1}]
 realmBase.hasRoleSuccess=用户名[{0}] 有角色[{1}]
 
+userDatabaseRealm.lookup=在键[{0}]下查找用户数据库时发生异常
 userDatabaseRealm.noDatabase=未找到key[{0}]对应的UserDatabase组件。
diff --git a/java/org/apache/catalina/security/LocalStrings_zh_CN.properties b/java/org/apache/catalina/security/LocalStrings_zh_CN.properties
index 53f7274..efc7e2d 100644
--- a/java/org/apache/catalina/security/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/security/LocalStrings_zh_CN.properties
@@ -13,4 +13,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+SecurityListener.checkUmaskFail=尝试使用umask设置[{0}]启动。生命周期侦听器org.apache.catalina.security.security listener(通常在catalina-BASE/conf/server.xml中配置)已阻止在没有umask的情况下运行Tomcat,其限制至少与[{1}]相同
+SecurityListener.checkUmaskNone=在系统属性[{0}]中找不到umask设置。但是,看来Tomcat在支持umask的平台上运行。系统属性通常在CATALINA_HOME / bin / catalina.sh中设置。生命周期侦听器org.apache.catalina.security.SecurityListener(通常在CATALINA_BASE / conf / server.xml中配置)期望umask的限制至少与[{1}]相同
+SecurityListener.checkUmaskParseFail=无法将值[{0}]分析为有效的umask。
 SecurityListener.checkUmaskSkip=无法确定权限。这表示 Tomcat 正在 Windows 上运行,所以跳过权限检查。
+SecurityListener.checkUserWarning=以用户[{0}]身份运行时尝试启动。作为此用户运行Tomcat已被生命周期侦听器org.apache.catalina.security.security listener(通常在catalina_BASE/conf/server.xml中配置)阻止
+
+SecurityUtil.doAsPrivilege=运行privilegedexception块时发生异常。
diff --git a/java/org/apache/catalina/servlets/LocalStrings_zh_CN.properties b/java/org/apache/catalina/servlets/LocalStrings_zh_CN.properties
index 7d8130b..3bf7e35 100644
--- a/java/org/apache/catalina/servlets/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/servlets/LocalStrings_zh_CN.properties
@@ -13,22 +13,43 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+cgiServlet.emptyEnvVarName=初始化参数中的环境变量名为空[环境变量-]
+cgiServlet.expandCloseFail=无法关闭路径[{0}]处脚本的输入流
+cgiServlet.expandCreateDirFail=无法为脚本扩展创建目标目录[{0}]
 cgiServlet.expandDeleteFail=扩展期间,发生IOException异常后删除文件[{0}]失败
 cgiServlet.expandFail=在路径[{0}] 到[{1}] 展开脚本失败.
+cgiServlet.expandNotFound=无法展开[{0}],因为找不到它。
 cgiServlet.expandOk=从路径[{0}]到[{1}]扩展脚本
+cgiServlet.find.found=找到CGI:name[{0}]、path[{1}]、script name[{2}]和CGI name[{3}]
 cgiServlet.find.location=在 [{0}] 查找文件
 cgiServlet.find.path=在相对于CGI位置[{1}]的路径[{0}]处请求的CGI脚本
+cgiServlet.invalidArgumentDecoded=解码的命令行参数[{0}]与配置的cmdLineArgumentsDecoded模式[{1}]不匹配
+cgiServlet.invalidArgumentEncoded=编码的命令行参数[{0}]与配置的cmdLineArgumentsEncoded模式[{1}]不匹配
+cgiServlet.runBadHeader=标头行[{0}]错误
 cgiServlet.runFail=处理CGI发生I/O问题
 cgiServlet.runHeaderReaderFail=I/O 问题关闭请求头读操作
 cgiServlet.runInvalidStatus=无效状态 [{0}]
 cgiServlet.runOutputStreamFail=关闭输出流时发生I/O问题
 cgiServlet.runReaderInterrupt=对于标准错误的读线程,中断并等待。
+cgiServlet.runStdErr=标准行:[{0}]。
+cgiServlet.runStdErrCount=在stderr上收到了[{0}]行
 cgiServlet.runStdErrFail=I/O标准错误问题
 
+defaultServlet.blockExternalEntity=阻止访问publicId[{0}]和systemId[{0}]的外部实体。
+defaultServlet.blockExternalEntity2=阻止访问名为{0}、publicId[{1}、baseURI[{2}]和systemId[{3}]的外部实体。
 defaultServlet.blockExternalSubset=用名称[{0}]和baseURI[{1}]阻止对外部子集的访问
+defaultServlet.missingResource=请求的资源[{0}]不可用
 defaultServlet.noResources=找不到静态资源
+defaultServlet.readerCloseFailed=无法关闭读卡器
+defaultServlet.skipfail=读取失败,因为只有[{0}]个字节可用,但需要跳过[{1}]个字节才能到达请求范围的开始
+defaultServlet.xslError=XSL转换器错误
 
 directory.filename=文件名
+directory.lastModified=上次修改时间。
+directory.parent=最多[{0}]
 directory.size=大小
+directory.title=[{0}]的目录列表
 
+webdavservlet.enternalEntityIgnored=请求包含对PublicID[{0}]和SystemID[{1}]的外部实体的引用,该引用被忽略。
+webdavservlet.inputstreamclosefail=无法关闭[{0}]的输入流
 webdavservlet.jaxpfailed=JAXP 初始化失败
diff --git a/java/org/apache/catalina/session/LocalStrings_zh_CN.properties b/java/org/apache/catalina/session/LocalStrings_zh_CN.properties
index a1e894e..2354b3f 100644
--- a/java/org/apache/catalina/session/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/session/LocalStrings_zh_CN.properties
@@ -18,36 +18,60 @@ JDBCStore.checkConnectionClassNotFoundException=找不到 JDBC 驱动程序类 [
 JDBCStore.checkConnectionDBClosed=数据库连接为空或已关闭。正在尝试重新连接。
 JDBCStore.checkConnectionDBReOpenFail=重新打开数据库失败,数据库可能已经宕机。
 JDBCStore.checkConnectionSQLException=发生 SQL 异常 [{0}]
+JDBCStore.close=关闭数据库连接[{0}]时发生异常
+JDBCStore.commitSQLException=关闭前提交连接的SQLException
 JDBCStore.loading=正在从数据库[{1}]加载会话[{0}]
 JDBCStore.missingDataSourceName=没有给出有效的 JNDI 名称。
+JDBCStore.removing=正在删除数据库{1}上的会话{0}]
 JDBCStore.saving=保存Session [{0}] 到数据库 [{1}]
 JDBCStore.wrongDataSource=无法打开 JNDI 数据源 [{0}]
 
+fileStore.createFailed=无法创建用于存储会话数据的目录[{0}]。
 fileStore.deleteFailed=无法删除阻止创建会话存储位置的文件 [{0}]
 fileStore.deleteSessionFailed=无法删除不再需要的文件[{0}]
+fileStore.loading=正在从文件[{1}]加载会话[{0}]
+fileStore.removing=正在删除文件{1}处的会话{0}]
 fileStore.saving=保存会话[{0}]到文件[{1}]
 
+managerBase.container.noop=添加到上下文以外的容器的管理器将永远不会被使用
 managerBase.contextNull=使用 Manager 之前,必须将 Context 设置为非 null 值
 managerBase.createSession.ise=createSession:活跃session过多
+managerBase.sessionAttributeNameFilter=已跳过名为[{0}]的会话属性,因为它与名称筛选器[{1}]不匹配。
+managerBase.sessionAttributeValueClassNameFilter=已跳过名为[{0}]的会话属性,因为值类型[{1}]与筛选器[{2}]不匹配
 managerBase.sessionNotFound=找不到会话 [{0}]
+managerBase.sessionTimeout=无效的会话超时设置[{0}]
 managerBase.setContextNotNew=如果Manager未处于NEW状态,则调用setContext()以更改与Manager关联的Context是非法的
 
+persistentManager.backupMaxIdle=正在将会话[{0}]备份到存储区,空闲时间为[{1}]秒。
 persistentManager.deserializeError=错误反序列化会话[{0}]: [{1}]
+persistentManager.isLoadedError=检查内存中是否加载了会话{0}时出错
+persistentManager.loading=正在加载[{0}]持久化会话
+persistentManager.removeError=从存储中删除会话[{0}]时出错
+persistentManager.serializeError=错误的序列化会话 [{0}]:[{1}]
+persistentManager.storeClearError=清除存储区中的所有会话时出错
 persistentManager.storeKeysException=不能从 session存储中获取session ID 的列表,假设存储为空
+persistentManager.storeLoadError=从存储区交换会话时出错
+persistentManager.storeLoadKeysError=从存储加载会话密钥时出错
 persistentManager.storeSizeException=无法确定 session 存储区的会话数,假定存储区为空
 persistentManager.swapIn=在表单存储中,交换会话[{0}]
+persistentManager.swapInException=交换期间存储区中出现异常:[{0}]
+persistentManager.swapInInvalid=交换会话[{0}]无效。
 persistentManager.swapMaxIdle=交换会话[{0}]以存储,空闲为[{1}]秒
 persistentManager.swapTooManyActive=太多活跃会话,替换闲置 [{1}] 秒的会话 [{0}]
 persistentManager.tooManyActive=活跃会话太多,[{0}],寻找闲置的会话来交换
+persistentManager.unloading=正在保存[{0}]持续会话
 
 standardManager.deletePersistedFileFail=读取持久会话后无法删除[{0}]。 此文件的持续存在可能导致将来尝试持续会话失败。
+standardManager.loading=正在从[{0}]加载持久化会话
 standardManager.loading.exception=加载持久化会话时发生异常
 standardManager.managerLoad=从持久化存储加载会话发生异常
 standardManager.managerUnload=卸载会话到持久存储的异常
 standardManager.unloading=保存持久化会话到[{0}]
+standardManager.unloading.debug=卸载持续会话
 standardManager.unloading.nosessions=没有要卸载的持久会话
 
 standardSession.attributeEvent=会话属性事件侦听器引发异常
+standardSession.bindingEvent=会话绑定事件侦听器引发异常
 standardSession.getAttribute.ise=getAttribute: 会话已失效
 standardSession.getAttributeNames.ise=getAttributeNames:会话已失效
 standardSession.getCreationTime.ise=getCreataionTime:会话已经无效
@@ -55,10 +79,15 @@ standardSession.getIdleTime.ise=getIdleTime: 已失效的会话
 standardSession.getLastAccessedTime.ise=getLastAccessedTime: 会话已失效
 standardSession.getThisAccessedTime.ise=getThisAccessedTime:会话已经失效
 standardSession.getValueNames.ise=getValueNames:会话已经失效
+standardSession.invalidate.ise=无效:会话已无效。
+standardSession.isNew.ise=isNew:会话已失效
 standardSession.logoutfail=当回话将过期登出用户异常
 standardSession.notDeserializable=无法反序列化会话 [{1}] 的属性 [{0}]
 standardSession.notSerializable=不能序列化会话[{1}]的属性[{0}]
-standardSession.principalNotDeserializable=无法反序列化Principal对象,会话:[{0}]
-standardSession.principalNotSerializable=无法序列化Principal对象,会话:[{0}]
+standardSession.principalNotDeserializable=无法为会话[{0}]反序列化Principal对象
+standardSession.principalNotSerializable=无法为会话[{0}]序列化Principal对象
 standardSession.removeAttribute.ise=删除属性:会话已失效
 standardSession.sessionEvent=会话时间监听抛出异常
+standardSession.setAttribute.iae=setAttribute:不可序列化的属性[{0}]。
+standardSession.setAttribute.ise=setAttribute:会话[{0}]已无效
+standardSession.setAttribute.namenull=setAttribute:name参数不能为空
diff --git a/java/org/apache/catalina/startup/LocalStrings_zh_CN.properties b/java/org/apache/catalina/startup/LocalStrings_zh_CN.properties
index c3fb34f..ac0036e 100644
--- a/java/org/apache/catalina/startup/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_zh_CN.properties
@@ -13,10 +13,17 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+catalina.configFail=无法从[{0}]加载服务器配置
 catalina.noCluster=由于[{0}]未找到群集Ruleset。已禁用群集配置。
 catalina.serverStartFail=所必需的服务组件启动失败,所以无法启动Tomcat
+catalina.shutdownHookFail=关闭挂钩在尝试停止服务器时遇到错误
+catalina.stopServer=未配置关闭端口。通过OS信号关闭服务器。服务器未关闭。
+
+connector.noSetExecutor=连接器[{0}]不支持外部执行器。找不到方法setExecutor(java.util.concurrent.Executor)
+connector.noSetSSLImplementationName=连接器[{0}]不支持更改SSL实现。找不到方法setslimplementationname(String)。
 
 contextConfig.altDDNotFound=未找到 alt-dd 文件 [{0}]
+contextConfig.annotationsStackOverflow=由于StackOverflower错误,无法完成对web应用程序[{0}]的批注的扫描。可能的根本原因包括-Xss的设置过低和非法的循环继承依赖项。正在处理的类层次结构是[{1}]
 contextConfig.applicationMissing=web.xml文件丢失,只使用默认。
 contextConfig.applicationParse=解析应用程序的web.xml错误,位置:[{0}]
 contextConfig.applicationPosition=发生在第[{0}]行,属性[{1}]
@@ -49,10 +56,12 @@ contextConfig.missingRealm=对应的认证领域未配置
 contextConfig.processAnnotationsDir.debug=使用注解 [{0}]扫描目录中的类文件
 contextConfig.processAnnotationsJar.debug=扫描jar文件中注解[{0}]的类文件
 contextConfig.processAnnotationsWebDir.debug=扫描 web 应用程序目录下含有 [{0}] 注解的 class 文件
+contextConfig.resourceJarFail=无法处理在URL[{0}]处找到的JAR,以便将静态资源包含在名为[{1}]的上下文中
 contextConfig.role.auth=在标签<auth-constraint>的子标签<security-role>中没有定义角色名[{0}]
 contextConfig.role.link=<role-link>中使用的安全角色[{0}]未被定义在<security-role>中
 contextConfig.role.runas=<run-as> 中使用的安全角色名 [{0}],未在 <security-role> 中定义
 contextConfig.sci.debug=无法为[{0}]处理ServletContainerInitializer,很可能是由于丢失了一个使用@HandlesTypes注解定义的类
+contextConfig.sci.info=无法处理[{0}]的ServletContainerInitializer。这很可能是由于@handleTypes注释中定义的类丢失所致。为完整堆栈跟踪启用调试级别日志记录。
 contextConfig.servletContainerInitializerFail=无法检测到上下文名称为[{0}]的ServletContainerInitializers
 contextConfig.start=ContextConfig:开始处理
 contextConfig.stop=ContextConfig:停止处理
@@ -64,58 +73,87 @@ contextConfig.xmlSettings=上下文[{0}]将解析web.xml和web-fragment.xml文
 embedded.notmp=在[{0}]找不到指定的临时文件夹
 
 engineConfig.cce=生命周期事件数据对象[{0}]不是一个引擎(Engine)
-engineConfig.stop=配置引擎,处理进程停止。
+engineConfig.start=EngineConfig:处理开始。
+engineConfig.stop=引擎配置:处理进程停止
 
 expandWar.copy=错误的拷贝[{0}] to [{1}]
 expandWar.createFailed=无法创建文件夹[{0}]。
+expandWar.createFileFailed=无法创建文件[{0}]
 expandWar.deleteFailed=[{0}] 无法被彻底删除。其余残留文件可能会导致问题
 expandWar.deleteOld=发现一个展开的目录[{0}],它的最后修改时间与关联的WAR不一致.它将被删除.
 expandWar.illegalPath=归档[{0}]格式错误,将被忽略:条目包含非扩展到[{2}]的非法路径[{1}],因为它超出了定义的docBase [{3}]
+expandWar.lastModifiedFailed=无法为[{0}]设置上次修改时间
 expandWar.missingJarEntry=无法获得 JarEntry [{0}] 的输入流 - WAR 文件是否已损坏?
 
+failedContext.start=无法处理全局,每个主机或特定于上下文的context.xml文件,因此无法启动[{0}]上下文。
+
 hostConfig.appBase=主机[{0}]的应用程序基础[{1}]不存在或不是目录。deployOnStartUp和autoDebug已设置为false,以防止部署错误。其他错误仍然可能发生。
+hostConfig.canonicalizing=试图取消部署[{1}]时,无法确定[{0}]的规范路径
+hostConfig.cce=生命周期事件数据对象[{0}]不是主机
 hostConfig.context.remove=移除上下文[{0}]错误
+hostConfig.context.restart=上下文[{0}]重新启动时出错。
+hostConfig.createDirs=无法为部署创建目录:[{0}]
+hostConfig.deploy.error=部署web应用程序目录[{0}]时发生异常
+hostConfig.deployDescriptor=正在部署部署描述符[{0}]。
 hostConfig.deployDescriptor.blocked=(:未部署上下文路径为[{0}]的Web应用程序,因为它包含一个部署描述符[{1}],该描述符可能包含安全部署应用程序所需的配置,但此主机的DeployXML设置阻止了部署描述符的处理。应该在[{2}]创建适当的描述符来部署此应用程序。
 hostConfig.deployDescriptor.error=部署描述符[{0}]时出错
 hostConfig.deployDescriptor.finished=部署描述符[{0}]的部署已在[{1}]ms内完成
 hostConfig.deployDescriptor.localDocBaseSpecified=(:在主机appBase 中指定了docBase [{0}],将被忽略
+hostConfig.deployDescriptor.threaded.error=等待部署描述符的多线程部署完成时出错
 hostConfig.deployDir=把web 应用程序部署到目录 [{0}]
 hostConfig.deployDir.error=无法部署应用目录 [{0}]
+hostConfig.deployDir.finished=Web应用程序目录[{0}]的部署已在[{1}]毫秒内完成
+hostConfig.deployDir.threaded.error=等待目录的多线程部署完成时出错
+hostConfig.deployWar=正在部署web应用程序存档文件[{0}]
 hostConfig.deployWar.error=部署 Web 应用程序 archive [{0}] 时出错
+hostConfig.deployWar.finished=web应用程序存档文件[{0}]的部署已在[{1}]ms内完成
 hostConfig.deployWar.hiddenDir=将忽略目录[{0}],因为WAR [{1}]优先,unpackWAR为false
 hostConfig.deployWar.threaded.error=等待WAR文件的多线程部署完成时出错
 hostConfig.deploying=部署发现的web应用
 hostConfig.docBaseUrlInvalid=所提供的部署目录无法用URL来表示
+hostConfig.expand=正在扩展web应用程序存档文件[{0}]
 hostConfig.expand.error=解压WEB应用程序文件[{0}]时异常
 hostConfig.ignorePath=忽略appBase中的路径[{0}]以进行自动部署
+hostConfig.illegalWarName=战争名称[{0}]无效。存档将被忽略
+hostConfig.jmx.register=注册上下文[{0}]失败。
 hostConfig.jmx.unregister=移除注册上下文[{0}]失败
+hostConfig.reload=重新加载上下文[{0}]
+hostConfig.resourceNotAbsolute=无法从上下文[{0}]中删除资源,因为[{1}]不是绝对路径
 hostConfig.start=HostConfig: 开始处理
 hostConfig.stop=:)Host配置:停止处理
+hostConfig.undeploy=正在取消部署上下文[{0}]
+hostConfig.undeployVersion=正在取消部署没有活动会话的旧版本上下文[{0}]
+
+passwdUserDatabase.readFail=无法从/etc/passwd获取完整的用户集
 
 tomcat.addWebapp.conflictChild=无法在[{0}]处部署到上下文路径[{1}],因为存在上下文[{2}]
 tomcat.addWebapp.conflictFile=由于现有文件[{2}]的存在,无法在[{0}]将战争部署到上下文路径[{1}]
+tomcat.baseDirMakeFail=无法创建用作基本目录的目录{0}
 tomcat.baseDirNotDir=基本目录指定的位置[{0}]不是一个目录
 tomcat.defaultMimeTypeMappingsFail=无法加载默认MIME类型
 tomcat.homeDirMakeFail=无法创建用作主目录的目录 [{0}]
 
 userConfig.database=加载用户数据库异常
+userConfig.deploy=正在为用户[{0}]部署web应用程序
 userConfig.deploy.threaded.error=等待用户目录的多线程部署完成时出错
 userConfig.deploying=正在部署用户 web 应用程序
 userConfig.error=为用户 [{0}]部署web应用发生错误
 userConfig.start=用户配置:处理开始
+userConfig.stop=UserConfig:处理停止
 
-versionLoggerListener.arg=命令行参数:[{0}]
-versionLoggerListener.catalina.base=CATALINA_BASE:[{0}]
-versionLoggerListener.catalina.home=CATALINA_HOME:         {0}
+versionLoggerListener.arg=命令行参数:{0}
+versionLoggerListener.catalina.base=CATALINA_BASE:     {0}
+versionLoggerListener.catalina.home=CATALINA_HOME:     {0}
 versionLoggerListener.env=环境变量:[{0}] = [{1}]
-versionLoggerListener.java.home=Java 环境变量:         {0}
-versionLoggerListener.os.arch=架构:                  {0}
-versionLoggerListener.os.version=OS.版本:               {0}
-versionLoggerListener.prop=系统属性:       {0} = {1}
-versionLoggerListener.serverInfo.server.built=服务器构建:            {0}
-versionLoggerListener.serverInfo.server.number=服务器版本号(:{0}
-versionLoggerListener.serverInfo.server.version=Server.服务器版本:     {0}
-versionLoggerListener.vm.vendor=JVM.供应商:            {0}
-versionLoggerListener.vm.version=JVM 版本:              {0}
+versionLoggerListener.java.home=Java 环境变量:     {0}
+versionLoggerListener.os.arch=架构:              {0}
+versionLoggerListener.os.name=操作系统名称:      {0}
+versionLoggerListener.os.version=OS.版本:           {0}
+versionLoggerListener.prop=系统属性:            {0} = {1}
+versionLoggerListener.serverInfo.server.built=服务器构建:        {0}
+versionLoggerListener.serverInfo.server.number=服务器版本号(:     {0}
+versionLoggerListener.serverInfo.server.version=Server.服务器版本: {0}
+versionLoggerListener.vm.vendor=JVM.供应商:        {0}
+versionLoggerListener.vm.version=Java虚拟机版本:    {0}
 
 webAnnotationSet.invalidInjection=方法资源注入注解无效。
diff --git a/java/org/apache/catalina/storeconfig/LocalStrings_zh_CN.properties b/java/org/apache/catalina/storeconfig/LocalStrings_zh_CN.properties
index 3c4bdd7..d113d6a 100644
--- a/java/org/apache/catalina/storeconfig/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/storeconfig/LocalStrings_zh_CN.properties
@@ -13,5 +13,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+config.storeContextError=存储上下文[{0}]时出错
+config.storeServerError=存储服务器时出错
+
+factory.storeNoDescriptor=元素类[{0}]的描述符未配置!
+factory.storeTag=存储标记[{0}](对象:[{1}])。
+
+storeConfigListener.notServer=侦听器已添加到服务器以外的组件,因此将被忽略
+
 storeFileMover.directoryCreationError=无法创建目录 [{0}]
 storeFileMover.renameError=无法将 [{0}] 重命名为 [{1}]
diff --git a/java/org/apache/catalina/tribes/group/LocalStrings_zh_CN.properties b/java/org/apache/catalina/tribes/group/LocalStrings_zh_CN.properties
index aaa58cb..efa8454 100644
--- a/java/org/apache/catalina/tribes/group/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/tribes/group/LocalStrings_zh_CN.properties
@@ -20,6 +20,8 @@ groupChannel.listener.alreadyExist=侦听器已存在:[{0}][{1}]
 groupChannel.noDestination=没有指定目的地
 groupChannel.nullMessage=无法发送空消息
 groupChannel.optionFlag.conflict=拦截器选项标志冲突:[{0}]
+groupChannel.receiving.error=接收消息时出错:
+groupChannel.sendFail.noRpcChannelReply=找不到rpc通道,无法发送NoRpcChannelReply。
 groupChannel.unable.deserialize=无法反序列化消息:[{0}]
 groupChannel.unable.sendHeartbeat=无法通过Tribes拦截器堆栈发送心跳。 会再试一次。
 
diff --git a/java/org/apache/catalina/tribes/group/interceptors/LocalStrings_zh_CN.properties b/java/org/apache/catalina/tribes/group/interceptors/LocalStrings_zh_CN.properties
index 38b9eb2..bd4117d 100644
--- a/java/org/apache/catalina/tribes/group/interceptors/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/tribes/group/interceptors/LocalStrings_zh_CN.properties
@@ -16,32 +16,49 @@
 domainFilterInterceptor.member.refused=成员被拒绝加入集群 cluster[{0}]
 domainFilterInterceptor.message.refused=从集群[{0}]中接收的消息被拒绝
 
+encryptInterceptor.algorithm.required=加密算法是必需的,充分说明,例如AES / CBC / PKCS5Padding
+encryptInterceptor.algorithm.unsupported-mode=EncryptInterceptor不支持分组密码模式[{0}]
 encryptInterceptor.decrypt.error.short-message=解密消息失败: 结尾消息提前结束
 encryptInterceptor.decrypt.failed=无法解密信息
 encryptInterceptor.encrypt.failed=无法加密信息
 encryptInterceptor.init.failed=初始化EncryptInterceptor失败
+encryptInterceptor.key.required=需要加密密钥
 encryptInterceptor.tcpFailureDetector.ordering=加密拦截器必须位于TCP故障检测器的上游。请重新订购加密拦截器,将其列在通道拦截器管道中的TCP故障检测器之前。
 
+fragmentationInterceptor.fragments.missing=碎片丢失。
+fragmentationInterceptor.heartbeat.failed=无法在frag拦截器中执行心跳清除
+
+gzipInterceptor.compress.failed=无法压缩字节内容
+gzipInterceptor.decompress.failed=无法解压缩字节内容
+
+messageDispatchInterceptor.AsyncMessage.failed=处理异步消息时出错。
+messageDispatchInterceptor.completeMessage.failed=无法报告已完成的邮件。
 messageDispatchInterceptor.errorMessage.failed=无法回传错误信息
 messageDispatchInterceptor.queue.full=异步队列已满,达到 [{0}] 字节的限制,当前:[{1}] 字节
 messageDispatchInterceptor.unableAdd.queue=无法将消息添加到异步队列,队列 bug?
 messageDispatchInterceptor.warning.optionflag=警告!你正在覆盖异步选项标志,这将禁用其它程序可能用到的 Channel.SEND_OPTIONS_ASYNCHRONOUS。
 
+nonBlockingCoordinator.electionMessage.sendfailed=无法将选择消息发送到:[{0}]
 nonBlockingCoordinator.heartbeat.failed=无法执行心跳
 nonBlockingCoordinator.heartbeat.inconsistency=心跳发现不一致,重新启动选举
+nonBlockingCoordinator.memberAdded.failed=添加成员后无法开始选举。
 nonBlockingCoordinator.memberAlive.failed=无法执行成员活动检查,猜测成员下线。
 nonBlockingCoordinator.memberDisappeared.failed=当成员被移除后无法启动选举
 nonBlockingCoordinator.processCoordinationMessage.failed=处理协调消息时出错。 可能是致命的。
 
+orderInterceptor.messageAdded.sameCounter=添加的消息具有相同的计数器,同步错误。禁用订单拦截程序
+
 staticMembershipInterceptor.no.failureDetector=没有TcpFailureDetector。 自动检测静态成员无法正常工作。 通过在TcpFailureDetector下定义StaticMembershipInterceptor,可以自动检测静态成员。
 staticMembershipInterceptor.no.pingInterceptor=在没有TcpPingInterceptor的情况下,静态成员的健康检查不会正常工作。只有定义了TcpPingInterceptor,才能使健康检查正常进行。
 staticMembershipInterceptor.sendLocalMember.failed=本地成员通知失败
 staticMembershipInterceptor.sendShutdown.failed=关闭通知失败。
 
+tcpFailureDetector.already.disappeared=验证完成。成员已消失[{0}]。
 tcpFailureDetector.failureDetection.failed=无法进行失败监测,假定成员宕机。[{0}]
 tcpFailureDetector.heartbeat.failed=TCP心跳检测器无法执行心跳
 tcpFailureDetector.member.disappeared=认证完成。成员消失[{0}]
 tcpFailureDetector.memberDisappeared.verify=(:收到的membermissed[{0}]消息。将验证。
+tcpFailureDetector.performBasicCheck.memberAdded=成员已添加,即使我们未收到通知:[{0}]。
 tcpFailureDetector.still.alive=验证完成。成员 [{0}] 仍然存活
 tcpFailureDetector.suspectMember.alive=验证可疑成员服务器还活着。[{0}]
 tcpFailureDetector.suspectMember.dead=可疑对象,确认已死。[{0}]
@@ -49,16 +66,18 @@ tcpFailureDetector.suspectMember.dead=可疑对象,确认已死。[{0}]
 tcpPingInterceptor.ping.failed=无法发送 TCP ping
 tcpPingInterceptor.pingFailed.pingThread=不能从ping 线程发送ping
 
-throughputInterceptor.report=吞吐量拦截器 报告[\n\
-\   传输消息: {0} 消息数.\n\
-\   发送: {1} MB(总共)\n\
-\   发送: {2} MB (应用)\n\
-\   耗时: {3} 秒\n\
-\   传输速率: {4}MB/sec (总共)\n\
-\   传输速率: {5}MB/sec (应用)\n\
-\  错误消息: {6}\n\
-\  接收消息: {7} 消息数\n\
-\  接收速率: {8} MB/sec (从第一个消息开始)\n\
-\  收到: {9}MB]
+throughputInterceptor.report=吞吐量拦截器报告[\n\
+\    传输消息: {0}消息数\n\
+\    发送:{1}MB(总共)\n\
+\    发送:{2}MB (应用)\n\
+\    耗时:{3}秒\n\
+\    传输速率:{4}MB/秒(总共)\n\
+\    传输速率:{5}MB/秒(应用)\n\
+\    错误消息:{6}\n\
+\    接收消息:{7} 消息数\n\
+\    接收速率:{8} MB/秒(从第一个消息开始)\n\
+\    收到:{9}MB]\n\
+\n
 
 twoPhaseCommitInterceptor.heartbeat.failed=无法在两阶段提交拦截器上执行心跳。
+twoPhaseCommitInterceptor.originalMessage.missing=收到确认,但原始邮件丢失。Id:[{0}]
diff --git a/java/org/apache/catalina/tribes/io/LocalStrings_zh_CN.properties b/java/org/apache/catalina/tribes/io/LocalStrings_zh_CN.properties
index b21c8b7..3e79933 100644
--- a/java/org/apache/catalina/tribes/io/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/tribes/io/LocalStrings_zh_CN.properties
@@ -13,11 +13,15 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+bufferPool.created=已创建缓冲池,最大大小为:[{0}]字节,类型为:[{1}]
+
 objectReader.retrieveFailed.socketReceiverBufferSize=无法检索套接字接收器缓冲区大小,设置为默认43800字节。
 
 replicationStream.conflict=和非公开接口类加载器冲突
 
+xByteBuffer.discarded.invalidHeader=丢弃了包,头无效。
 xByteBuffer.no.package=XByteBuffer中不存在数据包
 xByteBuffer.size.larger.buffer=大小比现有缓冲区大。
 xByteBuffer.unableCreate=不能创建数据包, buffer 太小
+xByteBuffer.unableTrim=修剪的字节数不能超过可用字节数。长度:[{0}]修剪:[{1}]
 xByteBuffer.wrong.class=消息对应类不符合要求。 它应该实现Serializable,而不是:[{0}]。
diff --git a/java/org/apache/catalina/tribes/jmx/LocalStrings_zh_CN.properties b/java/org/apache/catalina/tribes/jmx/LocalStrings_zh_CN.properties
index c086c48..9e33f58 100644
--- a/java/org/apache/catalina/tribes/jmx/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/tribes/jmx/LocalStrings_zh_CN.properties
@@ -14,5 +14,8 @@
 # limitations under the License.
 
 jmxRegistry.no.domain=未指定JMX域
+jmxRegistry.objectName.failed=请求的ObjectName[{0}]无效
 jmxRegistry.registerJmx.failed=无法注册名称为 [{1}] 的对象 [{0}]
+jmxRegistry.registerJmx.notCompliant=请求的对象[{0}]不符合JMX规范
+jmxRegistry.unregisterJmx.failed=无法注销名为[{0}]的MBean
 jmxRegistry.unregisterJmx.notFound=ObjectName[{0}]还未注册到MBeanServer
diff --git a/java/org/apache/catalina/tribes/membership/LocalStrings_zh_CN.properties b/java/org/apache/catalina/tribes/membership/LocalStrings_zh_CN.properties
index aefc652..2dcbde9 100644
--- a/java/org/apache/catalina/tribes/membership/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/tribes/membership/LocalStrings_zh_CN.properties
@@ -13,9 +13,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+McastService.domain=无法发送域更新
 McastService.parseSoTimeout=无法解析SoTimeout:[{0}]
+McastService.parseTTL=无法分析TTL:[{0}]
 McastService.payload=无法发送负载更新
+McastService.stopFail=无法停止mcast服务,级别:[{0}]
 
+mcastService.exceed.maxPacketSize=数据包长度[{0}]超过了最大数据包大小[{1}]字节。
 mcastService.missing.property=McastService:缺少必需属性 [{0}]。
 mcastService.noStart=多路广播发送未启动或未启用
 
@@ -24,7 +28,12 @@ mcastServiceImpl.bind.failed=绑定到多播地址失败。仅绑定到端口。
 mcastServiceImpl.error.receiving=接收mcast包时出错。睡眠500毫秒
 mcastServiceImpl.invalid.startLevel=无效的启动级别。只接受以下级别:Channel.MBR_RX_SEQ或 Channel.MBR_TX_SEQ
 mcastServiceImpl.invalid.stopLevel=无效的停止级别。只有Channel.MBR_RX_SEQ和Channel.MBR_TX_SEQ是可接受的级别
+mcastServiceImpl.memberDisappeared.failed=无法处理成员已消失的消息。
+mcastServiceImpl.packet.tooLong=收到的多播数据包太长,正在删除包:[{0}]
+mcastServiceImpl.receive.running=McastService.receive已经运行。
 mcastServiceImpl.recovery=家族成员,运行恢复线程,广播不是功能。
+mcastServiceImpl.recovery.failed=恢复尝试次数[{0}]失败,请在[{1}]秒内重试
+mcastServiceImpl.recovery.startFailed=恢复线程无法启动成员资格服务。
 mcastServiceImpl.recovery.stopFailed=恢复线程未能停止成员服务。
 mcastServiceImpl.recovery.successful=成员身份恢复成功。
 mcastServiceImpl.send.failed=无法发送多播信息
@@ -37,6 +46,8 @@ mcastServiceImpl.unableReceive.broadcastMessage=无法接收广播消息。
 mcastServiceImpl.waitForMembers.done=休眠完毕,成员已连接,启动等级:[{0}]
 mcastServiceImpl.waitForMembers.start=休眠[{0}]毫秒后启动连接集群,启动登记:[{1}]
 
+memberImpl.invalid.package.begin=无效的包,应以“[{0}”开头。
+memberImpl.invalid.package.end=无效的包,应以“[{0}”结尾
 memberImpl.large.payload=负载太大以至于难以处理
 memberImpl.notEnough.bytes=成员包中的字节不够。
 memberImpl.package.small=成员包太小以至于不能校验。
diff --git a/java/org/apache/catalina/tribes/tipis/LocalStrings_zh_CN.properties b/java/org/apache/catalina/tribes/tipis/LocalStrings_zh_CN.properties
index 14441bd..6d2631b 100644
--- a/java/org/apache/catalina/tribes/tipis/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/tribes/tipis/LocalStrings_zh_CN.properties
@@ -14,19 +14,34 @@
 # limitations under the License.
 
 abstractReplicatedMap.broadcast.noReplies=广播收到0回复,可能是超时了。
+abstractReplicatedMap.heartbeat.failed=无法发送AbstractReplicatedMap.ping消息
+abstractReplicatedMap.init.completed=AbstractReplicatedMap[{0}]初始化在[{1}]ms内完成。
+abstractReplicatedMap.init.start=正在初始化上下文名称为:[{0}]的AbstractReplicatedMap
 abstractReplicatedMap.leftOver.ignored=消息[{0}]被忽略
+abstractReplicatedMap.leftOver.pingMsg=PING消息已超过超时时间。映射成员[{0}]可能已从映射成员身份中删除。
 abstractReplicatedMap.mapMember.unavailable=Member[{0}]还不可用
+abstractReplicatedMap.mapMemberAdded.added=已添加映射成员:[{0}]
 abstractReplicatedMap.mapMemberAdded.nullMember=通知的成员未注册:[{0}]
 abstractReplicatedMap.member.disappeared=成员[{0}]已消失。相关的映射项将重新定位到新节点。
+abstractReplicatedMap.ping.stateTransferredMember=成员[{0}]已状态转移,但尚不可用。
+abstractReplicatedMap.ping.timeout=映射[{1}]中的成员[{0}]在ping处理中超时。
+abstractReplicatedMap.relocate.complete=已在[{0}]ms内完成映射项的重新定位。
 abstractReplicatedMap.transferState.noReplies=传输状态,0响应,也许是超时。
-abstractReplicatedMap.unable.get=无法复制 AbstractReplicatedMap.get 操作的数据
+abstractReplicatedMap.unable.deserialize.MapMessage=无法反序列化映射消息。
+abstractReplicatedMap.unable.diffObject=无法区分对象。将复制整个对象。
+abstractReplicatedMap.unable.get=无法复制AbstractReplicatedMap.get操作的数据
 abstractReplicatedMap.unable.put=无法复制AbstractReplicatedMap.Put操作的数据
 abstractReplicatedMap.unable.relocate=无法将[{0}]重新定位到新的备份节点
-abstractReplicatedMap.unable.retrieve=无法获取远程对象,key:[{0}]
+abstractReplicatedMap.unable.remove=无法为AbstractReplicatedMap.remove操作复制数据
+abstractReplicatedMap.unable.replicate=无法复制数据。
+abstractReplicatedMap.unable.retrieve=无法获取远程对象,主键:[{0}]
+abstractReplicatedMap.unable.transferState=无法传输AbstractReplicatedMap状态
+abstractReplicatedMap.unableApply.diff=无法将diff应用于键:[{0}]
 abstractReplicatedMap.unableSelect.backup=无法选择备用节点
 abstractReplicatedMap.unableSend.startMessage=无法发送map启动消息。
 abstractReplicatedMap.unableStart=无法启动复制Map
 
+lazyReplicatedMap.unableReplicate.backup=无法将备份密钥:[{0}]复制到备份:[{1}]。原因:[{2}]
 lazyReplicatedMap.unableReplicate.proxy=不能复制proxy key:[{0}]到备份:[{1}]. 原因是:[{2}]
 
 mapMessage.deserialize.error.key=反序列化MapMessage主键失败
diff --git a/java/org/apache/catalina/tribes/transport/LocalStrings_zh_CN.properties b/java/org/apache/catalina/tribes/transport/LocalStrings_zh_CN.properties
index bd74dd2..cd8a42b 100644
--- a/java/org/apache/catalina/tribes/transport/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/tribes/transport/LocalStrings_zh_CN.properties
@@ -15,7 +15,10 @@
 
 PooledSender.senderDisconnectFail=与 sender 断开连接失败
 
+pooledSender.closed.queue=队列已关闭
+
 receiverBase.bind.failed=对内容类型[{2}]返回[{3}]使用[{0}]匹配[{1}]
 receiverBase.socket.bind=服务器套接字接收器绑定到:[{0}]
+receiverBase.udp.bind=绑定到的UDP接收器服务器套接字:[{0}]
 receiverBase.unable.bind=无法绑定套接字端口:{{0}},出现异常
 receiverBase.unable.bind.udp=无法将UDP套接字绑定到:[{0}]抛出错误。
diff --git a/java/org/apache/catalina/tribes/transport/nio/LocalStrings_zh_CN.properties b/java/org/apache/catalina/tribes/transport/nio/LocalStrings_zh_CN.properties
index cb7d2a6..5baf3e8 100644
--- a/java/org/apache/catalina/tribes/transport/nio/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/tribes/transport/nio/LocalStrings_zh_CN.properties
@@ -22,25 +22,36 @@ nioReceiver.start.fail=无法启动集群接收器
 nioReceiver.stop.fail=无法关闭集群接收的选择器
 nioReceiver.stop.threadRunning=NioReceiver线程没有及时停止。关闭选择器时可能会观察到错误。
 nioReceiver.threadpool.fail=ThreadPool 无法初始化。 监听器未启动。
+nioReceiver.threadsExhausted=通道密钥已注册,但对上一次[{0}]ms没有兴趣的操作(已取消:[{1}]):[{2}]最后一次访问:[{3}]可能的原因:所有使用的线程,请执行线程转储
 
 nioReplicationTask.error.register.key=错误的注册key被读取:[{0}]
+nioReplicationTask.exception.drainChannel=TcpReplicationThread.drainChannel中捕获异常
 nioReplicationTask.process.clusterMsg.failed=处理集群消息失败
 nioReplicationTask.unable.ack=不能通过channel发送ack,channel已经断开?[{0}]
+nioReplicationTask.unable.drainChannel.ioe=复制工作器中的IOException,无法耗尽通道。可能的原因:保持活动套接字关闭[{0}]。
 
 nioSender.already.connected=NioSender已经处于连接状态
 nioSender.datagram.already.established=数据报通道已经建立。连接可能正在进行中。
 nioSender.key.inValid=Key无效,它必须是已经被取消的。
 nioSender.not.connected=NioSender未连接,这是不应该发生的。
+nioSender.receive.failedAck=收到一个失败的ack:org.apache.catalina.tribes.transport.Constants.FAIL_ack_DATA
 nioSender.sender.disconnected=发件人已断开连接,无法处理选择密钥。
+nioSender.socketChannel.already.established=套接字通道已建立。连接可能正在进行中
 nioSender.unable.disconnect=无法断开NioSender,消息=[{0}]
 nioSender.unable.receive.ack=无法接收确认消息。已到达套接字通道上的EOF。
 nioSender.unknown.state=数据处于未知状态。readyOps = [{0}]
 
+parallelNioSender.error.keepalive=对发件人进行keepalive测试时出错:[{0}]。
+parallelNioSender.operation.timedout=操作已超时([{0}]ms)。
+parallelNioSender.send.fail=[{0}]的成员发送失败;设置为可疑
 parallelNioSender.send.fail.retrying=成员发送失败:[{0}]; 设置为怀疑并重试。
 parallelNioSender.send.failed=并行的NIO.发送失败。
 parallelNioSender.sendFailed.attempt=发送失败,尝试: [{0}] 最大: [{1}]
+parallelNioSender.sender.disconnected.notRetry=未重试发送:[{0}];发件人已断开连接。
 parallelNioSender.sender.disconnected.sendFailed=发送失败且sender已断开连接,不再重试。
+parallelNioSender.unable.setup.NioSender=无法设置NioSender。
 
 pooledParallelSender.sender.disconnected=sender 未连接。
 pooledParallelSender.unable.open=无法打开nio选择器。
 pooledParallelSender.unable.retrieveSender=无法从sender池中获取一个sender
+pooledParallelSender.unable.retrieveSender.timeout=无法检索数据发件人,超时([{0}]ms)错误。
diff --git a/java/org/apache/catalina/tribes/util/LocalStrings_zh_CN.properties b/java/org/apache/catalina/tribes/util/LocalStrings_zh_CN.properties
index f2c0ce9..cd2af0f 100644
--- a/java/org/apache/catalina/tribes/util/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/tribes/util/LocalStrings_zh_CN.properties
@@ -15,6 +15,11 @@
 
 arrays.keyoffset.outOfBounds=key的偏移.超出了界限。
 arrays.length.outOfBounds=当前key下没有足够的元素,长度越界
+arrays.malformed.arrays=字节数组必须表示为{1,3,4,5,6}
+arrays.srcoffset.outOfBounds=srcoffset超出界限。
 
 executorFactory.not.running=执行器没有运行,无法强制把命令送入队列
 executorFactory.queue.full=队列已满
+
+uuidGenerator.createRandom=使用[{0}]创建用于UUID生成的SecureRandom实例花费了[{1}]毫秒。
+uuidGenerator.unable.fit=无法将[{0}]字节放入数组。长度:[{1}]所需长度:[{2}]
diff --git a/java/org/apache/catalina/users/LocalStrings_zh_CN.properties b/java/org/apache/catalina/users/LocalStrings_zh_CN.properties
index c4915d3..9453bd4 100644
--- a/java/org/apache/catalina/users/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/users/LocalStrings_zh_CN.properties
@@ -17,6 +17,7 @@ memoryUserDatabase.fileClose=关闭 [{0}] 失败
 memoryUserDatabase.fileDelete=无法删除 [{0}]
 memoryUserDatabase.fileNotFound=指定用户数据库[{0}]未找到
 memoryUserDatabase.notPersistable=用户数据库不可持久化 - 对目录没有写入权限
+memoryUserDatabase.nullGroup=指定的组名为空或零长度。将忽略组。
 memoryUserDatabase.nullRole=指定的角色名为Null或着长度为0。角色将被忽略,
 memoryUserDatabase.nullUser=Null或者零长度的用户名称,忽略这个用户。
 memoryUserDatabase.readOnly=用户数据库已被设为只读。修改无法保存
@@ -25,3 +26,5 @@ memoryUserDatabase.reloadError=从更新后的源 [{1}] 重新加载内存用户
 memoryUserDatabase.renameNew=无法将新文件重命名为 [{0}]
 memoryUserDatabase.renameOld=原文件无法改名为[{0}]
 memoryUserDatabase.restoreOrig=无法往原始文件中保存[{0}]
+memoryUserDatabase.writeException=向[{0}]写入IOException
+memoryUserDatabase.xmlFeatureEncoding=配置digester以允许在XML文件中使用java编码名称时发生异常。只支持IANA编码名称。
diff --git a/java/org/apache/catalina/util/LocalStrings_zh_CN.properties b/java/org/apache/catalina/util/LocalStrings_zh_CN.properties
index adc17eb..4ad7254 100644
--- a/java/org/apache/catalina/util/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/util/LocalStrings_zh_CN.properties
@@ -19,20 +19,35 @@ customObjectInputStream.logRequired=使用日志记录进行类名过滤需要
 customObjectInputStream.nomatch=类不能匹配合适的表达式,因为类被允许反序列化
 
 extensionValidator.extension-not-found-error=ExtensionValidator[{0}][{1}]: 请求的拓展[{2}]未找到。
+extensionValidator.extension-validation-error=扩展验证程序[{0}]:找不到[{1}]所需的扩展。
+extensionValidator.failload=加载扩展名[{0}]失败
 extensionValidator.web-application-manifest=web 应用程序清单
 
 introspection.classLoadFailed=加载 class [{0}] 失败
 
+lifecycleBase.alreadyDestroyed=在调用destroy()之后,在组件[{0}]上调用了destroy()方法。第二个呼叫将被忽略。
 lifecycleBase.alreadyStarted=在调用start()之后,在组件[{0}]上调用start()方法。第二个电话将被忽略。
+lifecycleBase.alreadyStopped=在调用stop()之后,对组件[{0}]调用了stop()方法。第二个调用将被忽略。
+lifecycleBase.destroyFail=未能销毁组件[{0}]
 lifecycleBase.destroyStopFail=在失败组件[{0}]上调用Stop()以触发清理,但也失败了
 lifecycleBase.initFail=初始化组件[{0}]失败。
+lifecycleBase.invalidTransition=无效的生命周期转变被尝试 [{0}]) 组件 [{1}] 状态 [{2}]
 lifecycleBase.setState=设置状态从[{0}]到[{1}]
+lifecycleBase.startFail=无法启动组件[{0}]
+lifecycleBase.stopFail=无法停止组件[{0}]
 
 lifecycleMBeanBase.registerFail=在组件初始化期间,无法注册名为{1}的对象{0}]
 
 netmask.cidrNegative=CIDR [{0}]为负数。
+netmask.cidrNotNumeric=CIDR[{0}]不是数字
 netmask.cidrTooBig=CIDR[{0}]大于地址长度[{1}]
 netmask.invalidAddress=地址 [{0}] 无效
 
+parameterMap.locked=不允许修改锁定的参数映射
+
+resourceSet.locked=不允许修改锁定的资源集
+
+sessionIdGeneratorBase.createRandom=使用[{0}]创建会话ID生成的SecureRandom实例花费了[{1}]毫秒。
+sessionIdGeneratorBase.random=初始化类{0}的随机数生成器时发生异常。回到java.secure.SecureRandom
 sessionIdGeneratorBase.randomAlgorithm=使用算法[{0}]初始化随机数生成器时发生异常
 sessionIdGeneratorBase.randomProvider=使用程序提供的初始化随机数生成器异常[{0}]
diff --git a/java/org/apache/catalina/valves/LocalStrings_zh_CN.properties b/java/org/apache/catalina/valves/LocalStrings_zh_CN.properties
index 26171ce..e5c1be8 100644
--- a/java/org/apache/catalina/valves/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/valves/LocalStrings_zh_CN.properties
@@ -13,20 +13,38 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+accessLogValve.alreadyExists=无法将访问日志从{0}重命名为{1},文件已存在
 accessLogValve.closeFail=关闭访问日志文件失败
+accessLogValve.deleteFail=未能删除旧的访问日志[{0}]
 accessLogValve.invalidLocale=无法将区域设置设为 [{0}]
 accessLogValve.invalidPortType=端口类型 [{0}] 无效,使用服务器(本地)端口
+accessLogValve.openDirFail=无法为访问日志创建目录[{0}]。
 accessLogValve.openFail=无法打开访问日志文件[{0}]。
+accessLogValve.renameFail=无法将访问日志从[{0}]重命名为[{1}]。
 accessLogValve.rotateFail=失败的循环切割访问日志.
+accessLogValve.unsupportedEncoding=未能将编码设置为[{0}],将使用系统默认字符集。
 accessLogValve.writeFail=无法写入日志消息[{0}]
 
 errorReportValve.description=描述
+errorReportValve.exception=例外情况
 errorReportValve.exceptionReport=异常报告
 errorReportValve.message=消息
+errorReportValve.noDescription=没有可用的描述
 errorReportValve.note=):注意
+errorReportValve.rootCause=根本原因。
 errorReportValve.rootCauseInLogs=主要问题的全部 stack 信息可以在 server logs 里查看
+errorReportValve.statusHeader=HTTP状态 {0} - {1}
+errorReportValve.statusReport=状态报告
+errorReportValve.type=类型
 errorReportValve.unknownReason=未知的原因
 
+extendedAccessLogValve.badXParam=无效的x参数格式,需要是'x-#(…)
+extendedAccessLogValve.badXParamValue=Servlet请求[{0}]的x参数值无效
+extendedAccessLogValve.decodeError=无法解码以[{0}]开头的其余字符
+extendedAccessLogValve.emptyPattern=模式只是空的或空白的
+extendedAccessLogValve.noClosing=未关闭)在解码中找到
+extendedAccessLogValve.patternParseError=分析模式[{0}]时出错
+
 http.400.desc=由于被认为是客户端对错误(例如:畸形的请求语法、无效的请求信息帧或者虚拟的请求路由),服务器无法或不会处理当前请求。
 http.400.reason=错误的请求
 http.401.desc=因为当前请求缺少对目标资源对有效的认证信息,所以它不会实施。
@@ -48,11 +66,15 @@ http.408.reason=请求超时
 http.409.desc=由于和目标资源对当前状态发生冲突,所以请求无法完成。
 http.409.reason=冲突
 http.410.desc=原始服务器上不再可以访问目标资源,并且此条件可能是永久性的。
+http.410.reason=跑了。
+http.411.desc=服务器拒绝接受没有定义内容长度的请求。
 http.411.reason=所需长度
 http.412.desc=在服务器上测试时,请求头字段中给出的一个或多个条件被评估为false。
 http.412.reason=前置条件失败
+http.413.desc=服务器拒绝处理请求,因为请求负载大于服务器愿意或能够处理的负载
 http.413.reason=有效载荷过大
 http.414.desc=服务器拒绝为请求提供服务,因为请求目标比服务器愿意解释的要长。
+http.414.reason=URI太长
 http.415.desc=源服务器拒绝服务请求,因为有效负载的格式在目标资源上此方法不支持。
 http.415.reason=不支持的媒体类型
 http.416.desc=(:请求的范围头字段中的任何范围都没有与选定资源的当前范围重叠,或者请求的范围集由于无效范围或小范围或重叠范围的过度请求而被拒绝。
@@ -60,6 +82,9 @@ http.416.reason=范围不满足
 http.417.desc=(:至少有一个入站服务器无法满足请求的Expect头字段中给定的期望。
 http.417.reason=期望的失败
 http.421.desc=请求被定向到一台无法响应的服务器
+http.421.reason=错误的请求。
+http.422.desc=服务器了解请求实体的内容类型,请求实体的语法正确,但无法处理包含的指令。
+http.422.reason=不可处理实体
 http.423.desc=源或目标资源的方法被锁
 http.423.reason=已锁定
 http.424.desc=这个方法不能在这个资源上执行,因为请求操作依赖另一个操作,但是另一个操作失败了。
@@ -67,31 +92,52 @@ http.424.reason=失败的依赖项
 http.426.desc=服务器拒绝使用当前协议执行请求,但可能愿意在客户端升级到其他协议后执行。
 http.426.reason=需要升级
 http.428.desc=原始服务器要求请求是有条件的。
+http.428.reason=要求先决条件
+http.429.desc=用户在给定的时间内发送了太多请求(“速率限制”)
 http.429.reason=请求过多
+http.431.desc=服务器不愿意处理该请求,因为它的头字段太大。
 http.431.reason=请求头的字段太大
 http.451.desc=服务器出于法律原因拒绝了此请求。
+http.451.reason=因法律原因无法获得。
 http.500.desc=服务器遇到一个意外的情况,阻止它完成请求。
+http.500.reason=内部服务器错误
+http.501.desc=服务器不支持完成请求所需的功能。
+http.501.reason=未实现
 http.502.desc=服务器在充当网关或代理时, 在尝试完成请求时, 从它访问的入站服务器收到无效响应。
+http.502.reason=坏网关
 http.503.desc=由于临时过载或计划维护,服务器当前无法处理请求,这可能会在一些延迟后得到缓解。
+http.503.reason=服务不可用。
 http.504.desc=服务器在充当网关或代理时,没有从上游服务器接收到完成请求所需访问的及时响应。
 http.504.reason=网关超时
+http.505.desc=服务器不支持或拒绝支持请求消息中使用的主要HTTP版本。
 http.505.reason=HTTP 版本不支持
 http.506.desc=服务器内部配置错误:选取的变体资源配置为自身去处理透明的内容协商,因此在协商进程中不是一个合适的终点。
+http.506.reason=变体也协商
 http.507.desc=无法对资源执行该方法,因为服务器无法存储成功完成请求所需的表示。
 http.507.reason=存储空间.不足
+http.508.desc=服务器终止了一个操作,因为它在处理“深度:无限”请求时遇到无限循环
 http.508.reason=监测到循环回路
+http.510.desc=请求中未满足访问资源的策略
 http.510.reason=没有.扩展
 http.511.desc=客户端需要进行身份验证才能获得网络访问权限。
+http.511.reason=需要网络身份验证
+
+jdbcAccessLogValve.close=无法关闭数据库。
+jdbcAccessLogValve.exception=执行插入访问项时发生异常
 
+remoteCidrValve.invalid=为{0}提供的配置无效。有关详细信息,请参阅以前的消息
 remoteCidrValve.noRemoteIp=客户端没有IP地址。请求被拒绝。
 
 remoteIpValve.invalidHostHeader=在HTTP请求头[{1}]中发现Host的无效值[{0}]
+remoteIpValve.invalidHostWithPort=HTTP头[{1}]中的主机值[{0}]包含将被忽略的端口号
 remoteIpValve.invalidPortHeader=HTTP标头[{1}]中的端口找到的值[{0}]无效
 
 requestFilterValve.configInvalid=为Remote [Addr | Host]阀门提供了一个或多个无效配置设置,阻止Valve及其父容器启动
 requestFilterValve.deny=根据[{1}]配置拒绝[{0}]的请求
 
+sslValve.certError=无法处理证书字符串[{0}]以创建java.security.cert.X509Certificate对象
 sslValve.invalidProvider=与此{[0}]请求关联的连接器上指定的SSL提供程序无效。 无法处理证书数据。
 
 stuckThreadDetectionValve.notifyStuckThreadCompleted=线程[{0}](id=[{3}])之前报告为卡住,但是已经完成。它活跃了大概[{1}]毫秒。{2,选择,0#|0< 仍有[{2}]个被Valve监控的线程可能卡住}
 stuckThreadDetectionValve.notifyStuckThreadDetected=线程[{0}](id=[{6}])已处于活动状态[{1}]毫秒(自[{2}]起),以便为[{4}]提供相同的请求,并且可能被卡住(此StuckThreadDetectionValve的配置阈值为[{5}]秒)。总共有{3}个线程受此阀监视,可能被卡住。
+stuckThreadDetectionValve.notifyStuckThreadInterrupted=线程[{0}](id=[{5}])已被中断,因为它在[{1}]毫秒(自[{2}]起)内处于活动状态,以便为[{3}]提供相同的请求,并且可能被卡住(此StuckThreadDetectionValve的配置中断阈值为[{4}]秒)。
diff --git a/java/org/apache/catalina/valves/rewrite/LocalStrings_zh_CN.properties b/java/org/apache/catalina/valves/rewrite/LocalStrings_zh_CN.properties
index bbd2934..1053848 100644
--- a/java/org/apache/catalina/valves/rewrite/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/valves/rewrite/LocalStrings_zh_CN.properties
@@ -13,4 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+rewriteValve.closeError=关闭配置时出错
+rewriteValve.invalidFlags=[{0}]标志[{1}]中的标志无效
+rewriteValve.invalidLine=无效行[{0}]
+rewriteValve.invalidMapClassName=无效的映射类名[{0}]
 rewriteValve.readError=读取配置时发生异常
diff --git a/java/org/apache/catalina/webresources/LocalStrings_zh_CN.properties b/java/org/apache/catalina/webresources/LocalStrings_zh_CN.properties
index e5667c7..6eca519 100644
--- a/java/org/apache/catalina/webresources/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/webresources/LocalStrings_zh_CN.properties
@@ -16,26 +16,44 @@
 abstractArchiveResourceSet.setReadOnlyFalse=基于存档的WebResourceSets 如基于jar的WebResourceSets 硬编码为只读,并且不能配置为读写
 
 abstractResource.getContentFail=无法把[{0}]作为byte数组返回
+abstractResource.getContentTooLarge=无法返回[{0}]作为字节数组,因为资源的大小[[1]]个字节大于字节数组的最大大小
+
+abstractResourceSet.checkPath=请求的路径[{0}]无效。必须以“/”开头。
 
 cache.addFail=无法将位于[{0}]的资源添加到Web应用程序[{1}]的缓存中,因为在清除过期缓存条目后可用空间仍不足 - 请考虑增加缓存的最大空间。
+cache.backgroundEvictFail=后台缓存收回进程无法释放上下文[{1}的缓存的[{0}]%-请考虑增加缓存的最大大小。在逐出之后,缓存中大约保留了[{2}]KB的数据。
+cache.objectMaxSizeTooBig=objectMaxSize的值[{0}]kB大于maxSize/20的限制,因此已缩减为[{1}]kB
+cache.objectMaxSizeTooBigBytes=为要缓存的最大对象大小[{0}] kB指定的值大于Integer.MAX_VALUE字节,后者是可以缓存的最大大小。该限制将设置为Integer.MAX_VALUE字节。
 
 cachedResource.invalidURL=无法创建CachedResourceURLStreamHandler实例,因为URL[{0}]畸形
 
+classpathUrlStreamHandler.notFound=无法使用线程上下文类加载器或当前类的类加载器加载资源{0}
+
 dirResourceSet.manifestFail=从[{0}]读取manifest失败
 dirResourceSet.notDirectory=基本和内部路径[{0}] {1} [{2}]指定的目录不存在。
+dirResourceSet.writeNpe=输入流不能为空
 
 extractingRoot.jarFailed=解压JAR文件[{0}]失败
 extractingRoot.targetFailed=无法为提取的 JAR 文件创建目录 [{0}]
 
 fileResource.getCanonicalPathFail=不能判断资源的标准路径[{0}]
+fileResource.getCreationFail=无法确定资源 [{0}] 的创建时间
 fileResource.getUrlFail=不能决定一个url 为资源[{0}]
 
+fileResourceSet.notFile=由基路径和内部路径[{0}]{1}[{2}]指定的文件不存在。
+
 jarResource.getInputStreamFail=无法获取JAR[{1}]中的资源文件[{0}]的一个InputStream
 
+jarResourceRoot.invalidWebAppPath=此资源总是引用一个目录,因此提供的webAppPath必须以/结尾,但提供的webAppPath是[{0}]
+
+jarWarResourceSet.codingError=编码错误
+
 standardRoot.checkStateNotStarted=如果当前未启动资源,则可能无法访问这些资源
+standardRoot.createInvalidFile=无法从[{0}]创建WebResourceSet。
 standardRoot.createUnknownType=无法为未知类型[{0}]创建WebResourceSet。
 standardRoot.invalidPath=资源路径[{0}]无效
 standardRoot.invalidPathNormal=资源路径[{0}]已规范化为无效的[{1}]
 standardRoot.lockedFile=Web应用程序[{0}]无法关闭通过以下堆栈跟踪打开的文件[{1}]
 standardRoot.noContext=尚未为WebResourceRoot配置上下文
 standardRoot.startInvalidMain=指定的主资源集 [{0}] 无效
+standardRoot.unsupportedProtocol=此web资源实现不支持URL协议[{0}]
diff --git a/java/org/apache/coyote/LocalStrings_zh_CN.properties b/java/org/apache/coyote/LocalStrings_zh_CN.properties
index 5b4dccb..8cbffeb 100644
--- a/java/org/apache/coyote/LocalStrings_zh_CN.properties
+++ b/java/org/apache/coyote/LocalStrings_zh_CN.properties
@@ -14,17 +14,24 @@
 # limitations under the License.
 
 abstractConnectionHandler.connectionsGet=为套接字[{1}]找到一个处理器[{0}]
+abstractConnectionHandler.error=读取请求时出错,忽略
 abstractConnectionHandler.ioexception.debug=正常的 IOException,忽略
+abstractConnectionHandler.negotiatedProcessor.fail=无法为协商协议[{0}]创建处理器
+abstractConnectionHandler.oome=无法完成请求的处理
+abstractConnectionHandler.process=正在处理状态为[{1}]的套接字[{0}]
 abstractConnectionHandler.processorCreate=创建新处理器[{0}]
 abstractConnectionHandler.processorPop=从缓存中弹出的处理器[{0}]
+abstractConnectionHandler.protocolexception.debug=ProtocolExceptions是正常的,被忽略
 abstractConnectionHandler.socketexception.debug=(:SocketException是正常的,忽略
 abstractConnectionHandler.upgradeCreate=为套接字包装程序[{1}]创建了升级处理器[{0}]
 
 abstractProcessor.fallToDebug=注意:更多的请求解析错误将以DEBUG级别日志进行记录。
 abstractProcessor.hostInvalid=[{0}] 是无效主机
 abstractProcessor.httpupgrade.notsupported=此协议不支持HTTP升级(upgrade)。
+abstractProcessor.pushrequest.notsupported=此协议不支持服务器推送请求
 abstractProcessor.socket.ssl=获取SSL属性异常
 
+abstractProtocol.mbeanDeregistrationFailed=无法从MBean服务器[{1}]中注销名为[{0}]的MBean
 abstractProtocol.processorRegisterError=注册请求处理器错误
 abstractProtocol.processorUnregisterError=注销请求处理器错误
 abstractProtocol.waitingProcessor.add=添加处理器[{0}]到等待队列
@@ -32,6 +39,9 @@ abstractProtocol.waitingProcessor.remove=从等待的处理器中移除处理器
 
 abstractProtocolHandler.destroy=正在摧毁协议处理器 [{0}]
 abstractProtocolHandler.init=初始化协议处理器 [{0}]
+abstractProtocolHandler.pause=暂停ProtocolHandler[{0}]
+abstractProtocolHandler.resume=正在恢复ProtocolHandler[{0}]
+abstractProtocolHandler.setAttribute=使用值[{1}]设置属性[{0}]
 abstractProtocolHandler.start=开始协议处理句柄[{0}]
 abstractProtocolHandler.stop=正在停止ProtocolHandler [{0}]
 
@@ -39,5 +49,12 @@ asyncStateMachine.invalidAsyncState=调用[{0}]对于具有异步状态[{1}]的
 
 compressionConfig.ContentEncodingParseFail=检查压缩是否已经在使用时,解析Content-Encoding头失败
 
+request.notAsync=只有在异步处理或HTTP升级处理中切换到非阻塞IO才有效
+request.nullReadListener=传递给setReadListener()的侦听器不能为空
+request.readListenerSet=已设置非阻塞读取侦听器
+
+response.encoding.invalid=JRE无法识别编码[{0}]
+response.notAsync=只有在异步处理或HTTP升级处理中切换到非阻塞IO才有效
 response.notNonBlocking=当响应尚未进入非阻塞模式时,调用 isReady() 无效
+response.nullWriteListener=传递给setWriteListener()的侦听器不能为空
 response.writeListenerSet=非阻塞的写监听已经被设置.
diff --git a/java/org/apache/coyote/ajp/LocalStrings_zh_CN.properties b/java/org/apache/coyote/ajp/LocalStrings_zh_CN.properties
index a3b791e..3b4d026 100644
--- a/java/org/apache/coyote/ajp/LocalStrings_zh_CN.properties
+++ b/java/org/apache/coyote/ajp/LocalStrings_zh_CN.properties
@@ -13,15 +13,21 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+ajpMessage.invalidPos=请求读取的字节位于位置[{0}],该位置超出了AJP消息的结尾
+
 ajpmessage.invalid=收到无效的带有签名[{0}]的消息
+ajpmessage.invalidLength=接收到长度为[{0}]的无效消息。
 ajpmessage.null=不能赋空值
 ajpmessage.overflow=在缓冲区[{1}]位置添加[{0}]字节时发生溢出错误
 
 ajpprocessor.certs.fail=):证书转换失败
 ajpprocessor.header.error=头部信息解析失败
+ajpprocessor.header.tooLong=已收到长度为[{0}]的头消息,但packetSize仅为[{1}]
 ajpprocessor.readtimeout=从Socket读取数据超时
 ajpprocessor.request.prepare=准备请求错误
 ajpprocessor.request.process=处理请求错误
 
+ajpprotocol.noSSL=AJP不支持SSL。[{0}]的SSL主机配置被忽略
 ajpprotocol.noSecret=AJP连接器配置secretRequired="true",但是属性secret确实空或者空字符串,这样的组合是无效的。
 ajpprotocol.noUpgrade=AJP 不支持升级。[{0}] 的升级协议配置被忽略。
+ajpprotocol.noUpgradeHandler=AJP不支持升级。 HttpUpgradeHandler [{0}]无法处理
diff --git a/java/org/apache/coyote/http11/LocalStrings_zh_CN.properties b/java/org/apache/coyote/http11/LocalStrings_zh_CN.properties
index afa039a..b1aa136 100644
--- a/java/org/apache/coyote/http11/LocalStrings_zh_CN.properties
+++ b/java/org/apache/coyote/http11/LocalStrings_zh_CN.properties
@@ -14,28 +14,39 @@
 # limitations under the License.
 
 abstractHttp11Protocol.alpnConfigured=[{0}]连接器已配置为支持通过ALPN与[{1}]协商。
+abstractHttp11Protocol.alpnWithNoAlpn=[{1}]的升级处理程序[{0}]仅支持通过ALPN升级,但已为不支持ALPN的[{2}]连接器配置
+abstractHttp11Protocol.httpUpgradeConfigured=[{0}]连接器已配置为支持HTTP升级到[{1}]
 
+http11processor.fallToDebug=注意:HTTP请求解析错误的进一步发生将记录在DEBUG级别。
 http11processor.header.parse=解析 HTTP 请求 header 错误
+http11processor.request.finish=完成请求时出错
 http11processor.request.inconsistentHosts=请求行中指定的主机与主机头不一致。
 http11processor.request.invalidScheme=HTTP请求包含具有无效方案的绝对URL
 http11processor.request.invalidTransferEncoding=HTTP请求包含了一个无效的Transfer-Encoding头
 http11processor.request.invalidUri=HTTP请求包含一个无效的URI
 http11processor.request.invalidUserInfo=HTTP 请求包含带有无效 userinfo 的绝对 URI
 http11processor.request.multipleContentLength=请求包含了多个content-length请求头参数
+http11processor.request.multipleHosts=请求包含多个主机头
 http11processor.request.noHostHeader=http/1.1请求没有提供主机头
+http11processor.request.nonNumericContentLength=请求包含一个具有非数字值的内容长度头
 http11processor.request.prepare=准备请求时出错
 http11processor.request.process=错误的处理请求
 http11processor.response.finish=错误完成相应
+http11processor.sendfile.error=使用sendfile发送数据时出错。可能是由于起点/终点的请求属性无效引起的
 http11processor.socket.info=获取socket信息异常
 
 iib.available.readFail=尝试确定数据是否可用时,非阻塞读取失败
 iib.eof.error=套接字读取到意外的EOF
+iib.failedread.apr=读取失败,APR/本机错误代码为[{0}]
 iib.filter.npe=你不能添加空过滤器(null)
+iib.invalidHttpProtocol=在HTTP协议中发现无效字符
 iib.invalidPhase=无效的请求行解析阶段[{0}]
+iib.invalidRequestTarget=在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义
 iib.invalidheader=HTTP header行 [{0}] 不符合RFC 7230并且已被忽略。
 iib.invalidmethod=在方法名称中发现无效的字符串, HTTP 方法名必须是有效的符号.
 iib.parseheaders.ise.error=意外状态:已解析标头。 缓冲池不回收?
 iib.readtimeout=从套接字读取数据超时
+iib.requestheadertoolarge.error=请求头太大
 
 iob.failedwrite=写入.失败
 iob.failedwrite.ack=无法发送HTTP 100继续响应
diff --git a/java/org/apache/coyote/http11/filters/LocalStrings_zh_CN.properties b/java/org/apache/coyote/http11/filters/LocalStrings_zh_CN.properties
index b9ecd33..7661321 100644
--- a/java/org/apache/coyote/http11/filters/LocalStrings_zh_CN.properties
+++ b/java/org/apache/coyote/http11/filters/LocalStrings_zh_CN.properties
@@ -16,9 +16,11 @@
 chunkedInputFilter.eos=读取请求主体时流的意外结束
 chunkedInputFilter.eosTrailer=读取 trailer 头时出现意外的流结束
 chunkedInputFilter.error=没有数据可用由于先前的错误
+chunkedInputFilter.invalidCrlf=行尾序列无效(找到除CR或LF以外的字符)
 chunkedInputFilter.invalidCrlfCRCR=无效的结束的行序列(CRCR)
 chunkedInputFilter.invalidCrlfNoCR=无效的行尾结束符序列(LF前缺少CR)
 chunkedInputFilter.invalidCrlfNoData=无效的行尾序列(没有可读取的数据)
+chunkedInputFilter.invalidHeader=无效的块
 chunkedInputFilter.maxExtension=超过最大扩展数
 chunkedInputFilter.maxTrailer=超过最大数
 
diff --git a/java/org/apache/coyote/http11/upgrade/LocalStrings_zh_CN.properties b/java/org/apache/coyote/http11/upgrade/LocalStrings_zh_CN.properties
index c8e935c..358d8e4 100644
--- a/java/org/apache/coyote/http11/upgrade/LocalStrings_zh_CN.properties
+++ b/java/org/apache/coyote/http11/upgrade/LocalStrings_zh_CN.properties
@@ -13,14 +13,24 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+upgrade.sis.errorCloseFail=在上一个错误之后无法干净地关闭InputStream
 upgrade.sis.isFinished.ise=当 ServletInputStream 不处于非阻塞模式时调用 isFinished() 是非法的(即必须首先调用 setReadListener())
+upgrade.sis.isReady.ise=当ServletInputStream未处于非阻塞模式时,调用isReady()是非法的(即必须首先调用setReadListener())
 upgrade.sis.onErrorFail=对注册的readlistener的错误处理触发了这个进一步的错误,该错误被吞入
 upgrade.sis.read.closed=InputStream 已被关闭
 upgrade.sis.read.ise=在非阻塞模式下调用任何read()方法而不首先通过调用isready()检查是否有可用的数据是非法的
+upgrade.sis.readListener.null=向setReadListener()传递null是非法的
 upgrade.sis.readListener.set=在同一个upgraded连接上调用多次setReadListener()函数是非法的
+upgrade.sos.canWrite.ise=当ServletOutputStream未处于非阻塞模式时,调用canWrite()是非法的(即必须首先调用setWriteListener)
+upgrade.sos.errorCloseFail=在上一个错误之后无法干净地关闭OutputStream
 upgrade.sos.onErrorFail=对注册的WriteListener 的错误处理触发了这个进一步的错误,该错误被吞入
 upgrade.sos.write.closed=输出流已被关闭
 upgrade.sos.write.ise=在非阻塞模式下调用任何写()方法都是非法的,而无需首先检查是否有可用的空间,只需调用isreadi()
 upgrade.sos.writeListener.null=对setWriteListener()传递null是非法的
+upgrade.sos.writeListener.set=对于同一个升级的连接,多次调用setWriteListener()是非法的
 
+upgradeProcessor.isCloseFail=无法关闭与升级连接关联的输入流
+upgradeProcessor.osCloseFail=无法关闭与升级连接关联的输出流。
+upgradeProcessor.requiredClose=由于流的closeRequired状态,因此关闭升级的连接:输入[{0}],输出[{1}]
+upgradeProcessor.stop=正在关闭升级的连接,因为传入的套接字状态为“停止”。
 upgradeProcessor.unexpectedState=因传入套接字状态为[{0}]而意外关闭升级连接
diff --git a/java/org/apache/coyote/http2/LocalStrings_zh_CN.properties b/java/org/apache/coyote/http2/LocalStrings_zh_CN.properties
index f25b427..aa192dc 100644
--- a/java/org/apache/coyote/http2/LocalStrings_zh_CN.properties
+++ b/java/org/apache/coyote/http2/LocalStrings_zh_CN.properties
@@ -17,6 +17,7 @@ abstractStream.windowSizeDec=连接[{0}],流[{1}],将流控制窗口减少[{
 abstractStream.windowSizeInc=连接 [{0}], 流 [{1}], 增加流量控制窗口[{2}] 到 [{3}]
 abstractStream.windowSizeTooBig=连接[{0}],流[{1}],窗口大小从[{2}]增加到[{3}],超过了允许的最大值
 
+connectionPrefaceParser.eos=读取打开客户端序字节序列时出现意外的流结尾。只读取了[{0}]个字节。
 connectionPrefaceParser.mismatch=请求了新的远程流ID[{0}],但所有远程流都必须使用奇数标识符。
 
 connectionSettings.debug=连接[{0}],参数类型[{1}]设置为[{2}]
@@ -32,67 +33,131 @@ frameType.checkStream=无效的帧类型[{0}]
 hpack.integerEncodedOverTooManyOctets=HPACK 可变长度整数编码过多的八位字节,最大值为[{0}]
 hpack.invalidCharacter=代码点[{1}]处的Unicode字符[{0}]无法编码,因为它超出了允许的0到255范围。
 
+hpackEncoder.encodeHeader=编码头[{0}],值为[{1}]
+
 hpackdecoder.headerTableIndexInvalid=头部表索引[{0}]无效,因为有[{1}]个静态实例和[{2}]个动态实例
+hpackdecoder.maxMemorySizeExceeded=头表大小[{0}]超过了最大大小[{1}]
+hpackdecoder.notImplemented=尚未实施
+hpackdecoder.nullHeader=索引[{0}]处的头为空
 hpackdecoder.tableSizeUpdateNotAtStart=任何表大小的更新都必须在头块开始时发送。
+hpackdecoder.zeroNotValidHeaderTableIndex=零不是有效的头表索引
+
+hpackhuffman.huffmanEncodedHpackValueDidNotEndWithEOS=HPACK头中的Huffman编码值没有以EOS填充结束
+hpackhuffman.stringLiteralEOS=包含EOS符号的HPACK头中的Huffman编码值
+hpackhuffman.stringLiteralTooMuchPadding=超过7个bits的EOS填充提供了在一个霍夫曼编码字符串的结束
 
 http2Parser.headerLimitCount=连接[{0}],流[{1}],标题太多
 http2Parser.headerLimitSize=连接[{0}],Stream[{1}],总的头信息尺寸太大
+http2Parser.headers.wrongFrameType=连接{0},正在处理流{1}的头,但收到了类型为{2}的帧
 http2Parser.headers.wrongStream=连接[{0}], 头部信息对于流[{1}]正在进行但对于流[{2}]的一帧已经收到了。
 http2Parser.nonZeroPadding=连接[{0}],流[{1}],非零填充
+http2Parser.payloadTooBig=有效负载是[{0}]字节长,但最大帧大小是[{1}]。
 http2Parser.preface.invalid=出现无效连接
+http2Parser.preface.io=无法读取连接前言
+http2Parser.processFrame=连接{0}、流{1}、帧类型{2}、标志{3}、负载大小{4}
+http2Parser.processFrame.tooMuchPadding=连接[{0}],流[{1}],填充长度[{2}]对于负载[{3}]太大
 http2Parser.processFrame.unexpectedType=需要帧类型[{0}],但收到帧类型[{1}]
+http2Parser.processFrameContinuation.notExpected=连接{0},当没有头正在进行时,为流{1}接收到连续帧。
+http2Parser.processFrameData.lengths=连接[{0}],流[{1}],数据长度,[{2}],填充长度[{3}]
 http2Parser.processFrameData.window=连接[{0}],客户端发送的数据比流窗口允许的多
 http2Parser.processFrameHeaders.decodingDataLeft=数据在HPACK解码后依然保留 - 它本应该被消费掉
+http2Parser.processFrameHeaders.decodingFailed=对HTTP头进行HPACK解码时出错
 http2Parser.processFrameHeaders.payload=连接:[{0}],流:[{1}],正在处理[{1}]大小的头文件负载
 http2Parser.processFramePriority.invalidParent=连接[{0}],流[{1}],流可能不依赖于自身
 http2Parser.processFramePushPromise=请求了新的远程流ID[{0}],但所有远程流都必须使用奇数标识符\n\
 \n
+http2Parser.processFrameSettings.ackWithNonZeroPayload=接收到带有ACK标志设置和有效负载的设置帧
+http2Parser.processFrameWindowUpdate.debug=连接[{0}],流[{1}],窗口大小增量[{2}]
+http2Parser.processFrameWindowUpdate.invalidIncrement=接收到的窗口更新帧具有无效的增量大小[{0}]
 http2Parser.swallow.debug=连接:[{0}],流:[{1}],吞下[{2}]字节
 
+pingManager.roundTripTime=连接[{0}]往返时间测量为[{1}]ns
+
 stream.closed=连接[{0}],流[{1}],一旦关闭就无法写入流
+stream.header.case=连接[{0}],流[{1}],HTTP标头名称[{2}]必须小写
+stream.header.connection=HTTP/2请求中不允许连接{0}、流{1}、HTTP头[连接]
+stream.header.contentLength=连接{0},流{1},内容长度头值{2}与接收的数据大小{3}不一致
 stream.header.debug=连接[{0}],流[{1}],HTTP标头[{2}],值[{3}]
+stream.header.duplicate=连接[{0}],流[{1}],收到多个[{3}]头
+stream.header.invalid=连接[{0}],流[{1}],头[{2}]包含无效值[{3}]
 stream.header.noPath=连接[{0}],流[{1}],[:path]伪标头为空
 stream.header.required=连接 [{0}], 流 [{1}], 缺少一个或多个必要的头文件
+stream.header.te=连接{0}、流{1}、HTTP头[te]在HTTP/2请求中不允许有值{2}
+stream.header.unexpectedPseudoHeader=连接[{0}],流[{1}],伪头[{2}]在常规头之后接收
 stream.header.unknownPseudoHeader=收到连接[{0}],流[{1}],未知伪标头[{2}]
+stream.inputBuffer.copy=正在将[{0}]字节从inBuffer复制到outBuffer
+stream.inputBuffer.dispatch=注册读取兴趣时将数据添加到inBuffer中。触发读取分派
+stream.inputBuffer.empty=流输入缓冲区为空。等待更多数据
 stream.inputBuffer.readTimeout=等待从客户端读取数据超时
 stream.inputBuffer.reset=流.重置
 stream.inputBuffer.signal=读线程在等待时,数据被添加到inBuffer中。 发信号通知该线程继续
+stream.notWritable=连接{0},流{1},此流不可写
+stream.outputBuffer.flush.debug=连接{0},流{1},用缓冲区在位置{2}刷新输出,writeInProgress[{3}]并关闭了[{4}]
 stream.reprioritisation.debug=连接[{0}],流[{1}],独占[{2}],父[{3}],权重[{4}]
 stream.reset.fail=连接[{0}],流[{1}],重置流失败
+stream.reset.receive=连接{0},流{1},由于{2}而收到重置
+stream.reset.send=连接{0},流{1},由于{2}重置发送
+stream.trailerHeader.noEndOfStream=连接[{0}],流[{1}],尾部标头不包括流结束标志
 stream.writeTimeout=等待客户端增加流控制窗口以允许写入流数据的超时
 
 streamProcessor.cancel=连接到[{0}],Stream [{1}],
 streamProcessor.error.connection=连接[{0}],Stream[{0}],处理中发生错误,对连接来说是致命的。
+streamProcessor.error.stream=连接{0},流{1},处理过程中发生对流致命的错误
+streamProcessor.flushBufferedWrite.entry=连接[{0}],流[{1}],正在刷新缓冲写入
 streamProcessor.service.error=请求处理期间出错
 
 streamStateMachine.debug.change=(:连接[{0}],流[{1}],状态从[{2}]更改为[{3}]
+streamStateMachine.invalidFrame=连接{0}、流{1}、状态{2}、帧类型{3}
 
+upgradeHandler.allocate.debug=连接[{0}],流[{1}],已分配[{2}]字节
 upgradeHandler.allocate.left=连接[{0}],流[{1}],[{2}]字节未分配 - 尝试分配给子项
 upgradeHandler.allocate.recipient=(:连接[{0}],流[{1}],潜在接收者[{2}],权重为[{3}]
+upgradeHandler.connectionError=连接错误
+upgradeHandler.dependency.invalid=连接{0},流{1},流可能不依赖于自身
 upgradeHandler.goaway.debug=连接[{0}],离开,最后的流[{1}],错误码[{2}],调试数据[{3}]
 upgradeHandler.init=连接[{0}],状态[{1}]
+upgradeHandler.initialWindowSize.invalid=连接{0},初始窗口大小忽略了非法值{1}。
+upgradeHandler.invalidPreface=连接[{0}],连接前言无效
 upgradeHandler.ioerror=连接[{0}]
+upgradeHandler.noAllocation=连接[{0}],流[{1}],等待分配超时
+upgradeHandler.noNewStreams=连接{0},流{1},忽略流,因为此连接上不允许有新的流
+upgradeHandler.pause.entry=连接[{0}]正在暂停
 upgradeHandler.pingFailed=对客户端发送ping 链接失败.
 upgradeHandler.prefaceReceived=连接[{0}],从客户端收到连接准备。
 upgradeHandler.pruneIncomplete=连接[{0}],流[{1}],无法完全修剪连接,因为有[{2}]个活动流太多
+upgradeHandler.pruneStart=连接[{0}]正在开始修剪旧流。限制为[{1}]+10%,当前有[{2}]个流。
+upgradeHandler.pruned=连接[{0}]已修剪完成的流[{1}]
 upgradeHandler.prunedPriority=连接[{0}]已经成为了属于优先级树中未使用的流[{1}]
+upgradeHandler.releaseBacklog=连接[{0}],流[{1}]已从待办事项列表中释放
 upgradeHandler.rst.debug=连接[{0}],流[{1}],错误[{2}],消息[{3}],RST(关闭流)
 upgradeHandler.sendPrefaceFail=连接[{0}],给客户端发送前言失败
 upgradeHandler.socketCloseFailed=关闭 socket 错误
 upgradeHandler.stream.closed=流[{0}]已经关闭了一段时间
 upgradeHandler.stream.even=\ 请求了新的远程流ID[{0}],但所有远程流都必须使用奇数标识符\n\
 \n
+upgradeHandler.stream.notWritable=连接{0},流{1},此流不可写。
+upgradeHandler.stream.old=请求了新的远程流ID [{0}],但最近的流是[{1}]
+upgradeHandler.tooManyRemoteStreams=客户端试图使用超过[{0}]个活动流。
 upgradeHandler.tooMuchOverhead=连接[{0}],开销过大,连接将关闭
 upgradeHandler.unexpectedAck=连接[{0}],流[{1}],收到一个非预期的设置确认
 upgradeHandler.upgrade=连接[{0}], HTTP/1.1 升级到流[1]
 upgradeHandler.upgrade.fail=):连接[{0}],http/1.1升级失败
 upgradeHandler.upgradeDispatch.entry=条目,连接[{0}],SocketStatus [{1}]
 upgradeHandler.upgradeDispatch.exit=退出,连接[{0}], SocketState[{1}]
+upgradeHandler.windowSizeReservationInterrupted=连接[{0}],流[{1}],保留[{2}]字节
 upgradeHandler.windowSizeTooBig=连接[{0}],流[{1}],窗口太大
 upgradeHandler.writeBody=连接 [{0}],数据流[{1}], 数据长度[{2}]
 upgradeHandler.writeHeaders=连接 [{0}],流 [{1}]
+upgradeHandler.writePushHeaders=连接{0}、流{1}、推送流{2}、EndOfStream{3}
 
+windowAllocationManager.dispatched=连接[{0}],流[{1}],已调度
+windowAllocationManager.notified=连接[{0}],流[{1}],已通知
 windowAllocationManager.notify=连接[{0}], 流[{1}], 等待类型[{2}], 通知类型[{3}]
+windowAllocationManager.waitFor.connection=连接{0},流{1},等待连接流控制窗口(阻塞),超时为{2}]
 windowAllocationManager.waitFor.ise=连接[{0}], 流[{1}], 已经准备好
+windowAllocationManager.waitFor.stream=连接[{0}],流[{1}],等待流控制窗口(阻塞),超时为[{2}]
+windowAllocationManager.waitForNonBlocking.connection=连接[{0}],流[{1}],正在等待连接流控制窗口(非阻塞)
+windowAllocationManager.waitForNonBlocking.stream=连接[{0}],流[{1}],正在等待流控制窗口(非阻塞)
 
+writeStateMachine.endWrite.ise=写入完成后,为新状态指定[{0}]是非法的
 writeStateMachine.ise=处于 [{1}] 状态时调用 [{0}()] 方法是非法的
diff --git a/java/org/apache/jasper/resources/LocalStrings_zh_CN.properties b/java/org/apache/jasper/resources/LocalStrings_zh_CN.properties
index d230524..1bc2b1d 100644
--- a/java/org/apache/jasper/resources/LocalStrings_zh_CN.properties
+++ b/java/org/apache/jasper/resources/LocalStrings_zh_CN.properties
@@ -15,66 +15,114 @@
 
 jasper.error.emptybodycontent.nonempty=根据 TLD,[{0}] 标签必须为空,但不是
 
+jsp.engine.info=Jasper JSP{0}引擎
 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指令,attribute[{0}]不接受任何表达式
 jsp.error.attribute.deferredmix=不能在同一属性值中同时使用 ${} 和 #{} EL 表达式
 jsp.error.attribute.duplicate=属性限定名在元素中必须是唯一的
+jsp.error.attribute.invalidPrefix=属性前缀[{0}]与任何导入的标记库都不对应
 jsp.error.attribute.noequal=期望的符号是等号
 jsp.error.attribute.noescape=属性值[{0}]引用[{1}],在值内使用时必须被转义。
+jsp.error.attribute.noquote=需要引号。
 jsp.error.attribute.nowhitespace=JSP 规范要求一个属性名字前有空格
+jsp.error.attribute.null_name=空属性名
+jsp.error.attribute.standard.non_rt_with_expr=[{1}]标准操作的[{0}]属性不接受任何表达式
+jsp.error.attribute.unterminated=[{0}]的属性值未正确终止
 jsp.error.bad.scratch.dir=你指定的 scratchDir:[{0}] 不可用。
+jsp.error.badStandardAction=无效的标准操作。
 jsp.error.bad_attribute=属性[{0}]无效为tag[{1}] 通过TLD
+jsp.error.bad_tag=在用前缀[{1}]导入的标记库中未定义标记[{0}]
+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=尝试获取一个bean 操作在一个空对象上.
 jsp.error.beans.property.conversion=无法将字符串[{0}]转换为属性[{2}]的类[{1}]:[{3}]
 jsp.error.beans.propertyeditor.notregistered=属性编辑器未注册到属性编辑管理器
+jsp.error.beans.setproperty.noindexset=无法设置索引属性。
+jsp.error.bug48498=无法显示JSP提取。可能是由于XML解析器错误(有关详细信息,请参阅TomcatBug48498)。
+jsp.error.classname=无法从.class文件确定类名
+jsp.error.coerce_to_type=无法将值[{2}]强制为属性[{0}]的类型[{1}]。
+jsp.error.compilation=编译文件时出错:[{0}[{1}]
 jsp.error.compiler=没有可用的Java编译器
+jsp.error.compiler.config=没有可用于配置选项的Java编译器compilerClassName:[{0}]和compiler:[{1}]
 jsp.error.config_pagedir_encoding_mismatch=jsp属性组[{0}]中指定的页编码与page指令[{1}]中指定的页编码不同
 jsp.error.corresponding.servlet=生成的servlet错误:\n
 jsp.error.could.not.add.taglibraries=不能增加一个或者多个tag 库.
 jsp.error.data.file.processing=处理文件 [{0}] 错误
+jsp.error.data.file.read=读取文件[{0}]时出错
+jsp.error.data.file.write=写入数据文件时出错
+jsp.error.deferredmethodandvalue=“deferredValue”和“deferredMethod”不能同时为“true”
+jsp.error.deferredmethodsignaturewithoutdeferredmethod=如果“deferredMethod”不是“true”,则无法指定方法签名
 jsp.error.deferredvaluetypewithoutdeferredvalue=如果“deferredValue”的值不是“true”的话,不能指定一个值类型
+jsp.error.directive.isnottagfile=[{0}]指令只能在标记文件中使用
+jsp.error.directive.istagfile=[{0}]指令不能在标记文件中使用
 jsp.error.duplicate.name.jspattribute=标准或自定义操作中指定的属性[{0}]也显示为随附的jsp:属性中name属性的值
+jsp.error.duplicateqname=找到具有重复限定名[{0}]的属性。属性限定名在元素中必须是唯一的。
+jsp.error.dynamic.attributes.not.implemented=[{0}]标记声明它接受动态属性,但未实现所需的接口
+jsp.error.el.parse=[{0}]:[{1}]
 jsp.error.el.template.deferred=#{...} 不允许出现在模板文本中
 jsp.error.el_interpreter_class.instantiation=加载或实例化ELInterpreter类[{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=文.件[{0}] 未找到
 jsp.error.flush=刷新数据时发生异常
+jsp.error.fragmentwithtype=无法同时指定“片段”和“类型”属性。如果存在“片段”,则“类型”固定为“ {0}”
+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.invalid.attribute=[{0}]有一个无效属性:[{1}]
+jsp.error.invalid.bean=useBean类属性[{0}]的值无效。
+jsp.error.invalid.directive=无效指令
+jsp.error.invalid.expression=[{0}]包含无效表达式:[{1}]
+jsp.error.invalid.implicit=[{0}]处标记文件的隐式TLD无效
+jsp.error.invalid.implicit.version=[{0}]处标记文件的隐式TLD中定义的JSP版本无效。
 jsp.error.invalid.scope=非法的scope属性值:[{0}](必须是page、request、session或application中的一个)
 jsp.error.invalid.tagdir=标签文件目录 [{0}] 不以"/WEB-INF/tags"开头
 jsp.error.invalid.version=为标签 [{0}] 定义了无效的 JSP 版本号
 jsp.error.ise_on_clear=当缓存大小等于0时调用clear()函数是非法的
+jsp.error.java.line.number=在生成的java文件中的第:[{0}]行发生错误:[{1}]
 jsp.error.javac=Javac异常
+jsp.error.javac.env=环境:
 jsp.error.jspbody.emptybody.only=标签[{}]的标签体内智能包含jsp:attribute
 jsp.error.jspbody.invalidUse=JSP:主体必须是标准或自定义操作的子元素
 jsp.error.jspbody.required=如果使用 jsp:attribute,则必须使用 jsp:body 为 [{0}] 指定标记正文。
 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.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.doctypepublicsystem=&amp;lt;jsp:output&amp;gt;:如果显示“doctype public”属性,则必须显示“doctype system”属性
+jsp.error.jspoutput.invalidUse=&amp;lt;jsp:output&amp;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.lastModified=无法确定文件 [{0}] 的最后修改日期
 jsp.error.library.invalid=根据库[{0}](:[{1}],jsp页无效
+jsp.error.literal_with_void=为属性[{0}]指定了一个文本值,该属性定义为返回类型为void的延迟方法。在这种情况下,JSP.2.3.4不允许使用文本值。
 jsp.error.loadclass.taghandler=无法为TAG [{1}]加载标记处理程序类[{0}]
 jsp.error.location=行.: [{0}], 列: [{1}]
 jsp.error.mandatory.attribute=[{0}]: 强制性属性 [{1}] 缺失。
+jsp.error.missing.tagInfo=TLD中缺少[{0}]的TagInfo对象
 jsp.error.missing_attribute=根据TLD或标记文件,标记[{1}]必须使用属性[{0}]
+jsp.error.missing_var_or_varReader=缺少“var”或“varReader”属性
+jsp.error.namedAttribute.invalidUse=jsp:属性必须是标准或自定义操作的子元素
+jsp.error.needAlternateJavaEncoding=默认java编码[{0}]在java平台上无效。可以通过JspServlet的“javaEncoding”参数指定备用项。
 jsp.error.nested.jspattribute=jsp:attribute标准操作不能嵌套在另一个jsp:attribute标准操作中
 jsp.error.nested.jspbody=JSP:体标准动作不能嵌套在另一个jsp:body 或者 jsp:属性标准动作中
 jsp.error.nested_jsproot=嵌套的&lt;jsp:root&gt;
+jsp.error.no.more.content=在需要更多分析时到达内容结尾:标记嵌套错误?
 jsp.error.no.scratch.dir=JSP引擎未配置scratch文件夹。\n\
 请在对应上下文Context的servlets.properties文件中添加"jsp.initparams=scratchdir=<dir-name>"。
 jsp.error.no.scriptlets=脚本( &lt;%!, &lt;jsp声明, &lt;%=, &lt;jsp表达式, &lt;%, &lt;jsp脚本变量 )不允许出现在这里
 jsp.error.noFunction=无法使用指定的前缀找到函数[{0}]
+jsp.error.noFunctionMethod=在类{2}中找不到函数{1}的方法{0}]
+jsp.error.non_null_tei_and_var_subelems=标记{0}有一个或多个变量子元素和返回一个或多个变量信息的TagExtraInfo类
 jsp.error.not.in.template=在模板文本体中, [{0}] 是不允许的.
 jsp.error.outputfolder=无输出目录
 jsp.error.overflow=错误:JSP缓冲区溢出
@@ -104,94 +152,159 @@ jsp.error.page.multi.pageencoding=页指令不能有多次出现的页编码
 jsp.error.page.noSession=无法访问不参与任何会话的页中的会话作用域
 jsp.error.param.invalidUse=jsp:param 不能在jsp:include、jsp:forward或jsp:params等元素外使用
 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=无法解析 XML 文件 [{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中
 jsp.error.plugin.notype=jsp:plugin中未声明type
+jsp.error.prefix.refined=尝试将前缀[{0}]重新定义为[{1}],但当前作用域中已将其定义为[{2}]。
 jsp.error.prefix.use_before_dcl=tag指令中设置的前缀[{0}]之前已被[{1}]文件[{2}]行的一个action使用
 jsp.error.prolog_config_encoding_mismatch=XML prolog [{0}]中指定的页面编码与jsp-property-group [{1}]中指定的页面编码不同
 jsp.error.prolog_pagedir_encoding_mismatch=指定在XML语言[{0}]的网页编码是不同于指定在网页的指令[{1}]。
 jsp.error.quotes.unterminated=未终结的引号
 jsp.error.scripting.variable.missing_name=无法从属性[{0}]确定脚本变量名称
+jsp.error.security=上下文的安全初始化失败
+jsp.error.servlet.destroy.failed=JSP页面的Servlet.destroy()期间出现异常
+jsp.error.servlet.invalid.method=JSP 只允许 GET、POST 或 HEAD。Jasper 还允许 OPTIONS
+jsp.error.setLastModified=无法设置文件[{0}]的上次修改日期
 jsp.error.signature.classnotfound=无法找到TLD中方法签名中为函数[{1}]指定的类[{0}]。[{2}]
 jsp.error.simpletag.badbodycontent=对于一下简单的标记符,用于类[{0}]的标记描述符指定了一个无效的body内容(JSP)中
 jsp.error.single.line.number=JSP文件:[{1}] 的第 [{0}] 行发生了一个错误
 jsp.error.stream.close.failed=流.关闭失败
 jsp.error.stream.closed=流.关闭
+jsp.error.tag.conflict.attr=Tag指令:具有多个具有不同值的属性{0}的重复出现是非法的(旧的:[{1},新的:[{2}])
+jsp.error.tag.conflict.deferredsyntaxallowedasliteral=Tag指令:具有多个具有不同值的“deferredSyntaxAllowedAsLiteral”(旧值:[{0}),新值:[{1})的重复出现是非法的。
 jsp.error.tag.conflict.iselignored=TAG指令:多次出现不同值的“isELIgnored”(旧:[{0}],New:[{1}])
 jsp.error.tag.conflict.language=标签指令:非法出现多次出现的具有不同值的“语言”(旧:[{0}],新:[{1}])
 jsp.error.tag.conflict.trimdirectivewhitespaces=标签指令:非法地多次出现具有不同值的“trimDirectiveWhitespaces”(旧值:[{0}),新值:[{1}])
 jsp.error.tag.invalid.deferredsyntaxallowedasliteral=标签指令):deferredSyntaxAllowedAsLiteral的值无效
 jsp.error.tag.invalid.iselignored=Tag指令:对isELIgnored来说是无效值
-jsp.error.tag.invalid.trimdirectivewhitespaces=TAG指令:trimDirectiveWhitespaces的值无效
+jsp.error.tag.invalid.trimdirectivewhitespaces=Tag指令:trimDirectiveWhitespaces的值无效
+jsp.error.tag.language.nonjava=标记指令:无效的语言属性。
+jsp.error.tag.multi.pageencoding=Tag指令不能多次出现pageencoding
 jsp.error.tagdirective.badbodycontent=标签指令中的无效的内容体[{0}]
+jsp.error.tagfile.badSuffix=在文件路径[{0}]下找不到".tag"的后缀
+jsp.error.tagfile.illegalPath=非法的标记文件路径:[{0}],必须以“/WEB-INF/tags”或“/META-INF/tags”开头。
+jsp.error.tagfile.missingPath=未指定标记文件的路径
 jsp.error.tagfile.nameFrom.badAttribute=属性指令(在行[{1}]中声明并且其name属性为[{0}],此name-from-attribute属性的值)必须是java.lang.String类型,是“required”而不是一个“rtexprvalue”。
 jsp.error.tagfile.nameFrom.noAttribute=找不到具有值[{0}]的name属性的属性指令,该属性是name-from-attribute属性的值。
+jsp.error.tagfile.nameNotUnique=[{0}]的值与第[{2}]行中的[{1}]的值相同。
 jsp.error.taglibDirective.absUriCannotBeResolved=无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[{0}]
+jsp.error.taglibDirective.both_uri_and_tagdir=同时指定了“uri”和“tagdir”属性
 jsp.error.taglibDirective.missing.location='uri'和'tagdir' 属性均未指定。
 jsp.error.taglibDirective.uriInvalid=为标签库[{0}]提供的URI不是有效的URI
 jsp.error.tei.invalid.attributes=来自TagExtraInfo的[{0}]的验证错误消息
 jsp.error.teiclass.instantiation=无法加载或实例化TagExtraInfo类:[{0}]。
 jsp.error.text.has_subelement=&LT; JSP:文本&GT; 不得有任何子元素
+jsp.error.tld.fn.duplicate.name=标记库[{1}]中的函数名[{0}]重复
 jsp.error.tld.fn.invalid.signature=TLD中函数签名的语法无效。 标签库:[{0}],功能:[{1}]
+jsp.error.tld.invalid_tld_file=无效的tld文件:[{0}],有关详细信息,请参阅JSP规范第7.3.1节。
 jsp.error.tld.mandatory.element.missing=TLD [{1}] 中强制 TLD 元素 [{0}] 不存在或为空
+jsp.error.tld.missing=找不到URI:[{1}]的taglib[{0}]
 jsp.error.tld.missing_jar=丢失了包含TLD的JAR资源[{0}]
+jsp.error.tld.unable_to_get_jar=无法获取包含TLD:[{1}]的JAR资源[{0}]
 jsp.error.tlv.invalid.page=):[{0}]和[{1}]的TagLibraryValidator的验证错误消息
+jsp.error.tlvclass.instantiation=未能加载或实例化TagLibraryValidator类:[{0}]
+jsp.error.unable.compile=无法为JSP编译类
 jsp.error.unable.deleteClassFile=无法删除class文件[{0}]
 jsp.error.unable.load=无法加载JSP的相关类
 jsp.error.unable.renameClassFile=无法重命名类文件[{0}]为[{1}]
 jsp.error.unable.to_find_method=不能为属性:[{0}]找到setter 方法.
 jsp.error.unavailable=JSP已被标记为不可用
 jsp.error.unbalanced.endtag=结束标签&lt;/{0}不对称
+jsp.error.undeclared_namespace=使用未声明的命名空间[{0}]遇到自定义标记
 jsp.error.unknown_attribute_type=属性[{0}]的未知属性类型[{1}]。
 jsp.error.unsupported.encoding=不支持的编码:[{0}]
+jsp.error.unterminated=未终止的[{0}]标记。
+jsp.error.usebean.duplicate=useBean:重复的bean名称:[{0}]
+jsp.error.usebean.noSession=当JSP页声明(通过page指令)useBean不参与会话时,useBean使用会话作用域是非法的
+jsp.error.var_and_varReader=只有一个“var”或“varReader”能被指定
+jsp.error.variable.alias=必须在variable指令中指定属性和别名属性中的name或none
 jsp.error.variable.both.name=不能在变量指令的属性属性中同时指定给定的名称和名称
 jsp.error.variable.either.name=必须在变量指令中指定 name-given 或 name-from-attribute 属性
 jsp.error.xml.badStandardAction=无效、标准的action: [{0}]
+jsp.error.xml.bad_tag=在与uri[{1}]关联的标记库中未定义标记[{0}]
 jsp.exception=在 [{1}] 行处理 [{0}] 时发生异常
 jsp.info.ignoreSetting=因为 SecurityManager 被启用,忽略 [{1}] 的 [{0}] 的设置
+jsp.message.dont.modify.servlets=重要提示:不要修改生成的servlet
 jsp.message.jsp_added=增加JSP 为路径[{0}]为上下文[{1}]的队列
+jsp.message.jsp_queue_created=用长度[{0}]上下文[{1}]创建了jsp队列
 jsp.message.jsp_queue_update=在上下文[{1}]队列中更新路径为[{0}]的JSP
 jsp.message.jsp_removed_excess=从上下文[{1}]的队列中移除额外在路径[{0}]中JSP,
 jsp.message.jsp_removed_idle=在[{2}]毫秒之后删除上下文[{1}]中路径[{0}]的空闲JSP
 jsp.message.jsp_unload_check=在context[{0}]中检查未加载的jsp,jsp总共:[{1}]队列长度[{2}]
+jsp.message.parent_class_loader_is=父类加载器是:[{0}]
+jsp.message.scratch.dir.is=JSP引擎的Scratch目录是:[{0}]
 jsp.tldCache.noTldInDir=在目录[{0}]中未找到TLD文件
+jsp.tldCache.noTldInJar=在{0}中找不到TLD文件。考虑将JAR添加到CATALINA_BASE/conf/CATALINA.properties文件中的tomcat.util.scan.StandardJarScanFilter.jarsToSkip属性。
+jsp.tldCache.noTldInResourcePath=在资源路径{0}中找不到TLD文件。
 jsp.tldCache.noTldSummary=至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
 jsp.tldCache.tldInDir=在目录 [{0}]中找到了TLD文件。
+jsp.tldCache.tldInJar=在JAR[{0}]中找到了TLD文件。
+jsp.tldCache.tldInResourcePath=在资源路径{0}中找到TLD文件。
+jsp.warning.bad.urlpattern.propertygroup=web.xml中url模式子元素中的值[{0}]错误
+jsp.warning.checkInterval=警告:initParam checkInterval的值无效。将使用默认值“300”秒
+jsp.warning.classDebugInfo=警告:initParam classdebuginfo的值无效。将使用默认值“false”
+jsp.warning.classpathUrl=在类路径中找到无效的URL。此URL将被忽略
+jsp.warning.compiler.classfile.delete.fail=未能删除生成的类文件[{0}]
 jsp.warning.compiler.classfile.delete.fail.unknown=删除生成的class文件失败
+jsp.warning.compiler.javafile.delete.fail=未能删除生成的Java文件[{0}]
+jsp.warning.development=警告:initParam开发的值无效。将使用默认值“true”。
 jsp.warning.displaySourceFragment=警告:displaySourceFragment初始化参数时参数值无效,将使用默认的值“true”
 jsp.warning.dumpSmap=警告:初始化堆内存的值无效。将使用“false”的默认值
 jsp.warning.enablePooling=警告:initParam enablePooling的值无效。将使用默认值“true”
 jsp.warning.fork=警告:initParam的值无效。将使用“true”的默认值
+jsp.warning.genchararray=警告:initParam genstringascharray的值无效。将使用默认值“false”
+jsp.warning.jspIdleTimeout=警告:initParam jspIdleTimeout的值无效。将使用默认值“-1”
+jsp.warning.keepgen=警告:initParam keepgenerated的值无效。将使用默认值“false”
+jsp.warning.mappedFile=警告:initParam mappedFile的值无效。将使用默认值“false”
+jsp.warning.maxLoadedJsps=警告:initParam maxLoadedJsps的值无效。将使用默认值“-1”。
+jsp.warning.modificationTestInterval=警告:initParam modificationTestInterval的值无效。将使用默认值“4”秒
 jsp.warning.noJarScanner=警告:ServletContext中没有设置org.apache.tomcat.JarScaner。回到默认的JarScaner实现。
+jsp.warning.quoteAttributeEL=警告:initParam quoteattribeel的值无效。将使用默认值“false”
+jsp.warning.recompileOnFail=警告:initParam recompileOnFail的值无效。将使用默认值“false”
 jsp.warning.strictQuoteEscaping=警告:对initParam strictQuoteEscaping来说无效的值,将会使用默认值“true”
 jsp.warning.suppressSmap=警告:suppressSmap的初始化参数无效。将使用默认值“false”
+jsp.warning.tagPreDestroy=处理标记实例的preDestroy时出错[{0}]
+jsp.warning.tagRelease=处理[{0}]的标记实例上的释放时出错
+jsp.warning.unknown.sourceVM=忽略未知源VM[{0}]
+jsp.warning.unknown.targetVM=忽略未知目标VM[{0}]
+jsp.warning.unsupported.sourceVM=不支持的源VM[{0}]请求,使用[{1}]
+jsp.warning.unsupported.targetVM=不支持请求的目标VM[{0}],使用[{1}]
+jsp.warning.xpoweredBy=警告:initParam xpoweredBy的值无效。将使用默认值“false”
 
 jspc.delete.fail=无法删除文件 [{0}]
 jspc.error.fileDoesNotExist=文件参数 [{0}] 不存在
-jspc.webfrg.footer=\n\
-</web-fragment>\n\
+jspc.error.generalException=错误文件[{0}]生成以下常规异常:
+jspc.error.invalidFragment=由于web片段中的错误而中止预编译
+jspc.error.invalidWebXml=由于web.xml中的错误而中止预编译
+jspc.generation.result=生成在[{1}]毫秒内完成,出现[{0}]个错误
+jspc.implicit.uriRoot=uriRoot隐式设置为[{0}]
+jspc.webfrg.footer=</web-fragment>\n\
 \n
-jspc.webinc.footer=\n\
-<!--\n\
+jspc.webinc.footer=<!--\n\
 由Apache Tomcat JSPC自动创建的内容结束。\n\
 -->\n\
 \n
-jspc.webinc.header=\n\
-<!--\n\
+jspc.webinc.header=<!--\n\
 由 Apache Tomcat JspC 自动生成。\n\
 -->\n\
 \n
 jspc.webinc.insertEnd=<!-- JSPC servlet 映射结束 -->
 jspc.webinc.insertStart=<!-- JSPC servlet 映射开始 -->
-jspc.webxml.footer=\n\
-</web-app>\n\
+jspc.webxml.footer=</web-app>\n\
 \n
 
+org.apache.jasper.compiler.ELParser.invalidQuotesForStringLiteral=字符串文本[{0}]无效。它必须包含在单引号或双引号中。
+org.apache.jasper.compiler.ELParser.invalidQuoting=表达式[{0}]无效。在带引号的字符串中,只有[],['']和[“]可以用[]转义。
 org.apache.jasper.compiler.TldCache.servletContextNull=提供的 ServletContext 为 null
+org.apache.jasper.servlet.JasperInitializer.onStartup=正在初始化上下文[{0}]的Jasper
 org.apache.jasper.servlet.TldScanner.webxmlAdd=从资源路径[{0} ]加载URI[{1}]的TLD
 org.apache.jasper.servlet.TldScanner.webxmlFailPathDoesNotExist=无法使用路径 [{0}] 和 URI [{1}] 处理TLD。指定的路径不存在。
+org.apache.jasper.servlet.TldScanner.webxmlSkip=跳过从资源路径{0}加载URI[{1}]的TLD,因为它已在<jsp config>中定义
 
 xmlParser.skipBomFail=解析XML输入流时,跳过BOM失败。
diff --git a/java/org/apache/naming/LocalStrings_zh_CN.properties b/java/org/apache/naming/LocalStrings_zh_CN.properties
index 7bae775..822482f 100644
--- a/java/org/apache/naming/LocalStrings_zh_CN.properties
+++ b/java/org/apache/naming/LocalStrings_zh_CN.properties
@@ -17,8 +17,13 @@ contextBindings.noContextBoundToCL=没有绑定到此类加载器的命名上下
 contextBindings.noContextBoundToThread=没有绑定到此线程的命名上下文
 contextBindings.unknownContext=未知.上下文名:[{0}]
 
+namingContext.alreadyBound=名称[{0}]已在此上下文中绑定
 namingContext.contextExpected=上下文Context未绑定名称name
 namingContext.failResolvingReference=解析引用时意外异常
+namingContext.invalidName=名称无效
+namingContext.nameNotBound=名称[{0}]未在此上下文中绑定。找不到[{1}]。
+namingContext.noAbsoluteName=无法为此命名空间生成绝对名称
+namingContext.readOnly=上下文是只读的
 
 selectorContext.methodUsingName=用[{1}]的name属性调用方法[{0}]
 selectorContext.methodUsingString=使用字符串[{1}]调用方法[{0}]
diff --git a/java/org/apache/naming/factory/LocalStrings_zh_CN.properties b/java/org/apache/naming/factory/LocalStrings_zh_CN.properties
index fb99e01..4891b49 100644
--- a/java/org/apache/naming/factory/LocalStrings_zh_CN.properties
+++ b/java/org/apache/naming/factory/LocalStrings_zh_CN.properties
@@ -13,13 +13,20 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+dataSourceLinkFactory.badWrapper=不是类型[{0}]的包装
+
 factoryBase.factoryClassError=无法加载资源工厂类
 factoryBase.factoryCreationError=无法创建资源工厂实例
 factoryBase.instanceCreationError=无法创建资源实例
 
+lookupFactory.circularReference=找到一个涉及[{0}]的循环引用
 lookupFactory.createFailed=无法创建JNDI查找工厂类实例
 lookupFactory.loadFailed=无法加载JNDI查找工厂类
 lookupFactory.typeMismatch=期望JNDI引用[{0}]的类型为[{1}],但查找[{2}]返回类型为[{3}]的对象
 
+resourceFactory.factoryCreationError=无法创建资源工厂实例
+
+resourceLinkFactory.invalidGlobalContext=调用方提供的全局上下文无效
 resourceLinkFactory.nullType=引用全局资源 [{1}] 的本地资源链接 [{0}] 未指定所需的属性类型
 resourceLinkFactory.unknownType=引用全局资源[{1}]的本地资源链接[{0}]指定了未知类型[{2}]
+resourceLinkFactory.wrongType=引用全局资源[{1}]的本地资源链接[{0}]应返回[{2}]的实例,但返回了[{3}]的实例
diff --git a/java/org/apache/tomcat/dbcp/dbcp2/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/dbcp/dbcp2/LocalStrings_zh_CN.properties
index d981065..f557591 100644
--- a/java/org/apache/tomcat/dbcp/dbcp2/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/dbcp/dbcp2/LocalStrings_zh_CN.properties
@@ -13,8 +13,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+connectionFactory.lifetimeExceeded=连接的生存期[{0}]毫秒超过了允许的最大值[{1}]毫秒。
+
+pool.close.fail=无法关闭连接池。
+
 poolableConnection.validate.fastFail=此连接上预先抛出了致命的 SQLException。
 
+poolableConnectionFactory.validateObject.fail=无法验证可共用连接。
+
 poolingDataSource.factoryConfig=PoolableConnectionFactory 未连接到连接池。请调用 setPool() 修复此配置。
 
 swallowedExceptionLogger.onSwallowedException=一个内部对象池吞并了一个异常。
diff --git a/java/org/apache/tomcat/util/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/LocalStrings_zh_CN.properties
index 6a3d8d9..fc1e6b7 100644
--- a/java/org/apache/tomcat/util/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/LocalStrings_zh_CN.properties
@@ -18,8 +18,13 @@ diagnostics.vmInfoClassCompilation=:)class汇编
 diagnostics.vmInfoClassLoading=类加载中
 diagnostics.vmInfoGarbageCollectors=垃圾收集器[{0}]
 diagnostics.vmInfoLogger=日志记录器(Logger)信息
+diagnostics.vmInfoMemory=内存信息
+diagnostics.vmInfoMemoryManagers=内存管理器[{0}]
+diagnostics.vmInfoMemoryPools=内存池[{0}]
 diagnostics.vmInfoOs=操作系统信息
+diagnostics.vmInfoPath=路径信息
 diagnostics.vmInfoRuntime=运行时信息
+diagnostics.vmInfoStartup=启动参数
 diagnostics.vmInfoSystem=系统.属性
 diagnostics.vmInfoThreadCounts=线程数
 diagnostics.vmInfoThreadMxBean=ThreadMXBean功能
diff --git a/java/org/apache/tomcat/util/buf/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/buf/LocalStrings_zh_CN.properties
index 3424dbb..af4c9ae 100644
--- a/java/org/apache/tomcat/util/buf/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/buf/LocalStrings_zh_CN.properties
@@ -16,6 +16,14 @@
 asn1Parser.lengthInvalid=无效长度 [{0}]字节报告,但是输入数据的长度是 [{1}]字节
 asn1Parser.tagMismatch=期望找到值 [{0}]但是却找到值 [{1}]
 
+b2cConverter.unknownEncoding=不支持字符编码[{0}]
+
+byteBufferUtils.cleaner=无法使用直接ByteBuffer清洁剂,可能会发生内存泄漏
+
 hexUtils.fromHex.nonHex=输入只能由十六进制数字组成
+hexUtils.fromHex.oddDigits=输入必须由偶数个十六进制数字组成
 
+uDecoder.eof=文件结尾(EOF)
+uDecoder.noSlash=不允许使用编码的斜杠字符
 uDecoder.urlDecode.conversionError=使用编码[{1}]解码[{0}]失败
+uDecoder.urlDecode.missingDigit=无法解码[{0}],因为%字符必须后跟两个十六进制数字。
diff --git a/java/org/apache/tomcat/util/descriptor/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/descriptor/LocalStrings_zh_CN.properties
index 37298fe..c7bc72e 100644
--- a/java/org/apache/tomcat/util/descriptor/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/descriptor/LocalStrings_zh_CN.properties
@@ -14,3 +14,8 @@
 # limitations under the License.
 
 digesterFactory.missingSchema=XML模型[{0}]未找到,如果XML校验功能开启了的话,这很可能终止XML校验
+
+localResolver.unresolvedEntity=不能解决XML资源[{0}]与公共ID[{1}],系统ID[{2}]和基础URI[{3}]到一个已知,当地的实体。
+
+xmlErrorHandler.error=非致命错误[{0}]报告正在处理[{1}]。
+xmlErrorHandler.warning=警告[{0}]报告处理[{1}]。
diff --git a/java/org/apache/tomcat/util/descriptor/web/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/descriptor/web/LocalStrings_zh_CN.properties
index df89aad..e63839f 100644
--- a/java/org/apache/tomcat/util/descriptor/web/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/descriptor/web/LocalStrings_zh_CN.properties
@@ -15,23 +15,47 @@
 
 filterDef.invalidFilterName=过滤器定义中的<filter-name> [{0}] 无效。
 
+securityConstraint.uncoveredHttpMethod=对于URL模式为[{0}]的安全约束,只包括HTTP方法[{1}]。所有其他方法都没有涉及。
+securityConstraint.uncoveredHttpMethodFix=添加URL模式为[{0}]的安全约束,以拒绝使用未覆盖的HTTP方法进行访问,这些方法不是下列方法之一[{1}]。
 securityConstraint.uncoveredHttpOmittedMethod=对于URL模式[{0}]的安全性约束,将发现HTTP方法[{1}]。
 securityConstraint.uncoveredHttpOmittedMethodFix=添加url模式为[{0}]的安全约束以拒绝使用未覆盖的http方法[{1}]的访问
 
+servletDef.invalidServletName=servlet定义中的<servlet name>[{0}]无效。
+
 webRuleSet.absoluteOrdering=<绝对值排序>元素在web片段xml中无效,将被忽略。
+webRuleSet.absoluteOrderingCount=<absolute ordering>元素限制为1次出现
 webRuleSet.nameCount=<name>元素只能出现1次
 webRuleSet.postconstruct.duplicate=class [{0}] 有重复的 post 构造方法声明
+webRuleSet.predestroy.duplicate=类[{0}]的@PreDestroy方法定义重复
+webRuleSet.relativeOrdering=<ordering>元素在web.xml中无效,将被忽略
+webRuleSet.relativeOrderingCount=<ordering>元素限制为1次出现。
 
 webXml.duplicateEnvEntry=重复的env-entry 名 [{0}]
 webXml.duplicateFilter=重复的过滤器名称 [{0}]
+webXml.duplicateFragment=找到多个名为{0}的片段。这是不合法的相对排序。有关详细信息,请参阅Servlet规范的第8.2.2 2c节。考虑使用绝对排序。
+webXml.duplicateMessageDestination=重复的邮件目标名称[{0}]。
+webXml.duplicateMessageDestinationRef=重复的消息目标引用名称[{0}]
+webXml.duplicateResourceEnvRef=重复的资源env ref name[{0}]
+webXml.duplicateResourceRef=重复的资源引用名称[{0}]
 webXml.duplicateServletMapping=名为 [{0}]和 [{1}] 的servlet不能映射为一个url模式(url-pattern) [{2}]
+webXml.duplicateTaglibUri=重复的标记库URI[{0}]
 webXml.mergeConflictDisplayName=显示名称在多个片段中被定义,这些片段包含不同的值,包括位于[{1}]的[{0}]的片段。
 webXml.mergeConflictFilter=筛选器[{0}]在多个片段中定义不一致,包括位于[{2}]的名为[{1}]的片段
+webXml.mergeConflictLoginConfig=在多个片段中定义的LoginConfig不一致,其中包括位于[{1}]的名为[{0}]的片段
 webXml.mergeConflictOrder=片段相对顺序包含循环引用。这可以通过在web.xml中使用绝对排序来解决。
+webXml.mergeConflictResource=资源[{0}]在多个片段中定义不一致,包括位于[{2}]的名为[{1}]的片段。
 webXml.mergeConflictServlet=Servlet[{0}]在多个片段中的定义不一致,包括位于[{2}]的名为[{1}]的片段
+webXml.mergeConflictSessionCookieComment=会话cookie注释在多个具有不同值的片段中定义不一致,包括位于{1}的名为{0}]的片段
+webXml.mergeConflictSessionCookieDomain=会话cookie域在多个具有不同值的片段中定义不一致,包括位于[{1}]的名为[{0}]的片段
+webXml.mergeConflictSessionCookieHttpOnly=会话cookie http only标志在多个具有不同值的片段中定义不一致,包括位于[{1}]的名为[{0}]的片段
+webXml.mergeConflictSessionCookieMaxAge=会话cookie max age在多个具有不同值的片段中定义不一致,包括位于[{1}]的名为[{0}]的片段
 webXml.mergeConflictSessionCookieName=会话cookie名称在多个具有不同值的片段中定义不一致,包括位于 [{1}] 的片段 [{0}]
+webXml.mergeConflictSessionCookiePath=会话cookie路径在多个具有不同值的片段中定义不一致,包括位于[{1}]的名为[{0}]的片段
+webXml.mergeConflictSessionCookieSecure=会话cookie安全标志在多个具有不同值的片段中定义不一致,包括位于{1}的名为{0}]的片段
 webXml.mergeConflictSessionTimeout=会话超时以不同值的多个片段不一致地定义,这些片段包括位于[{1}]的具有名称[{0}]的片段。
 webXml.mergeConflictSessionTrackingMode=会话跟踪模式在多个片段中定义不一致,包括位于[{1}]的名称为[{0}]的片段
+webXml.mergeConflictString=名称为{1}的{0}在多个片段中定义不一致,包括位于{3}的名称为{2}的片段
+webXml.multipleOther=嵌套在<ordering>元素中的多个<others>条目
 webXml.reservedName=使用保留名称[{0}]检测到web.xml文件。 此片段将忽略name元素。
 webXml.unrecognisedPublicId=对于web.xml文件,公共ID[{0}]不匹配任何已知的公共ID‘,因此无法识别版本。
 webXml.version.unknown=未知版本字符串 [{0}]。将使用默认版本。
@@ -39,3 +63,4 @@ webXml.wrongFragmentName=在web.xml绝对排序标签上使用了错误的片段
 
 webXmlParser.applicationParse=解析应用web.xml错误,路径:[{0}]
 webXmlParser.applicationPosition=出现在第 [{0}] 行 第 [{1}] 列
+webXmlParser.applicationStart=正在分析位于[{0}]的应用程序web.xml文件
diff --git a/java/org/apache/tomcat/util/digester/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/digester/LocalStrings_zh_CN.properties
index fa98acf..034d501 100644
--- a/java/org/apache/tomcat/util/digester/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/digester/LocalStrings_zh_CN.properties
@@ -14,3 +14,4 @@
 # limitations under the License.
 
 digester.failedToUpdateAttributes=属性[{0}]更新失败,旧数据为[{1}]
+digester.failedToUpdateSystemProperty=系统属性[{0}]更新失败,仍为[{1}]
diff --git a/java/org/apache/tomcat/util/http/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/http/LocalStrings_zh_CN.properties
index 331826a..703308b 100644
--- a/java/org/apache/tomcat/util/http/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/http/LocalStrings_zh_CN.properties
@@ -13,7 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+cookies.fallToDebug=␣注意:将在调试级别记录进一步出现的Cookie错误。
 cookies.invalidCookieToken=Cookie:cookie无效。值不是令牌或引用值
+cookies.invalidSameSiteCookies=未知设置[{0}],必须是以下之一:unset、none、lax、strict。默认值为unset。
 cookies.invalidSpecial=Cookies:未知特殊的Cookie
 cookies.maxCountFail=检测到超过Cookie最大允许的数量[{0}]
 
@@ -22,10 +24,15 @@ headers.maxCountFail=检测到超过了允许设置的最大header 数[{0}]
 parameters.bytes=开始处理输入[{0}]
 parameters.copyFail=无法创建以调试日志记录为目的的原始参数值的副本
 parameters.decodeFail.debug=字符解码失败.参数 [{0}]和值 [{1}]被忽略
+parameters.decodeFail.info=字符解码失败。值为[{1}]的参数[{0}]已被忽略。请注意,此处引用的名称和值可能由于解码失败而损坏。使用调试级别日志记录查看原始的、未损坏的值。
 parameters.emptyChunk=忽略空参数块
 parameters.fallToDebug=注:更多的参数错误将以DEBUG级别日志进行记录。
+parameters.invalidChunk=从字节[{0}]开始到字节[{1}]结束的无效块,忽略值[{2}]
 parameters.maxCountFail=检测到单个请求([{0}])的最大请求参数数(GET加POST)。 超出此限制的任何参数都被忽略。 要更改此限制,请在Connector上设置maxParameterCount属性。
 parameters.maxCountFail.fallToDebug=注意:更多的错误信息只在debug级别日志中记录
+parameters.multipleDecodingFail=字符解码失败。总共检测到[{0}]个失败,但只记录了第一个失败。为此记录器启用调试级别日志记录以记录所有故障。
 parameters.noequal=):参数从位置[{0}]开始,到位置[{1}]结束,值为[{2}],后面没有“=”字符
 
+rfc6265CookieProcessor.invalidCharInValue=Cookie值中存在无效字符[{0}]
+rfc6265CookieProcessor.invalidDomain=为此cookie指定的域[{0}]无效
 rfc6265CookieProcessor.invalidPath=这个cookie被指定了一个无效的路径 [{0}]
diff --git a/java/org/apache/tomcat/util/http/parser/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/http/parser/LocalStrings_zh_CN.properties
index d8d08db..f90af7e 100644
--- a/java/org/apache/tomcat/util/http/parser/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/http/parser/LocalStrings_zh_CN.properties
@@ -13,9 +13,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+cookie.fallToDebug=␣注意:此错误的进一步出现将记录在调试级别。
+cookie.invalidCookieValue=收到包含无效cookie的cookie头[{0}]。将忽略该cookie。
+cookie.invalidCookieVersion=使用无法识别的[{0}] cookie版本接收到cookie标头。标头及其包含的cookie将被忽略。
 cookie.valueNotPresent=<不存在>
 
 http.closingBracket=在非IPv6主机名中找到了右括号']'。
+http.illegalAfterIpv6=不允许字符[{0}]跟随主机名中的IPv6地址。
+http.illegalCharacterDomain=字符[{0}]在域名中永远无效。
 http.illegalCharacterIpv4=字符[{0}]为非法的IPv4地址。
 http.illegalCharacterIpv6=字符[{0}]为非法的IPv6地址。
 http.invalidCharacterDomain.afterColon=字符 [{0}] 在域名中的冒号后无效。
@@ -37,3 +42,4 @@ http.singleColonStart=一个IPv6地址也许不是以单个冒号":"开头的。
 http.tooFewHextets=一个IPv6地址必须包含8个16进制数,但是这个IP地址包含了[(0)]个16进制数,并且无“::”序列表示一个或多个0个16进制数
 http.tooManyColons=IPv6地址不能包含超过2个连续冒号字符。
 http.tooManyDoubleColons=一个IPv6地址只能包含一个 '::' 序列。
+http.tooManyHextets=IPv6地址包含[{0}]个十六进制数,但有效的IPv6地址不能超过8个。
diff --git a/java/org/apache/tomcat/util/modeler/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/modeler/LocalStrings_zh_CN.properties
index 623a146..01e2a23 100644
--- a/java/org/apache/tomcat/util/modeler/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/modeler/LocalStrings_zh_CN.properties
@@ -13,4 +13,5 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+modules.digesterParseError=分析注册表数据时出错
 modules.readDescriptorsError=读取描述文件出错
diff --git a/java/org/apache/tomcat/util/net/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/net/LocalStrings_zh_CN.properties
index fb07012..846f4e9 100644
--- a/java/org/apache/tomcat/util/net/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/net/LocalStrings_zh_CN.properties
@@ -13,22 +13,36 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+channel.nio.interrupted=当前线程被中断。
+channel.nio.ssl.appInputNotEmpty=应用程序输入缓冲区仍然包含数据。数据将会丢失。
 channel.nio.ssl.appOutputNotEmpty=应用程序输出缓冲区仍包含数据。数据可能会丢失。
+channel.nio.ssl.closeSilentError=如所料,尝试完全关闭连接时出现异常。
 channel.nio.ssl.closing=通道处于关闭状态
 channel.nio.ssl.eofDuringHandshake=握手期间EOF
 channel.nio.ssl.expandNetInBuffer=增加网络入口缓冲到[{0}]字节
+channel.nio.ssl.expandNetOutBuffer=正在将网络输出缓冲区扩展到[{0}]字节。
 channel.nio.ssl.foundHttp=找到一个明文HTTP请求,它应该是一个加密的TLS连接
+channel.nio.ssl.handshakeError=握手错误。
+channel.nio.ssl.incompleteHandshake=握手未完成,您必须在读取数据之前完成握手。
 channel.nio.ssl.invalidCloseState=无效的关闭状态,不会发送网络数据。
+channel.nio.ssl.invalidStatus=意外状态[{0}]。
+channel.nio.ssl.netInputNotEmpty=网络输入缓冲区仍然包含数据。握手会失败的。
+channel.nio.ssl.netOutputNotEmpty=网络输出缓冲区仍然包含数据。握手会失败的。
 channel.nio.ssl.notHandshaking=握手认证期间NOT_HANDSHAKING
+channel.nio.ssl.pendingWriteDuringClose=挂起写入,因此网络缓冲区中的剩余数据无法发送SSL close消息,套接字已关闭
 channel.nio.ssl.remainingDataDuringClose=网络缓冲区中的剩余数据,无法发送SSL关闭消息,套接字仍将关闭
 channel.nio.ssl.sniDefault=无法缓冲足够的数据来确定请求的SNI主机名。使用默认值
 channel.nio.ssl.sniHostName=连接[{0}]中提取的SNI主机名称是[{1}]
 channel.nio.ssl.timeoutDuringHandshake=握手期间超时。
+channel.nio.ssl.unexpectedStatusDuringUnwrap=握手展开期间出现意外状态[{0}]。
 channel.nio.ssl.unexpectedStatusDuringWrap=握手WRAP期间出现意外状态[{0}]。
 channel.nio.ssl.unwrapFail=无法解包数据,无效状态 [{0}]
 channel.nio.ssl.unwrapFailResize=由于缓冲区太小无法解包数据,无效状态 [{0}]
+channel.nio.ssl.wrapException=包装期间握手失败
+channel.nio.ssl.wrapFail=无法包装数据,状态无效[{0}]
 
 endpoint.accept.fail=套接字接受失败
+endpoint.alpn.fail=无法使用[{0}]为ALPN配置终结点。
 endpoint.alpn.negotiated=使用ALPN协商的[{0}]协议
 endpoint.apr.applyConf=正将OpenSSLConfCmd应用在SSL Context上。
 endpoint.apr.checkConf=检查配置OpenSSLConf
@@ -39,29 +53,54 @@ endpoint.apr.failSslContextMake=无法创建SSLContext。检查AprLifecycleListe
 endpoint.apr.invalidSslProtocol=为SSLProtocol属性提供了无效值[{0}]
 endpoint.apr.maxConnections.running=):APR终结点在运行时不支持MaxConnections的设置。[{0}]的现有值将继续使用。
 endpoint.apr.maxConnections.unlimited=APR终结点不支持无限连接。[{0}]的现有值将继续使用。
+endpoint.apr.noSendfileWithSSL=启用SSL时,APR/native连接器不支持Sendfile
 endpoint.apr.pollAddInvalid=无效企图向一个轮询器中添加一个套接字[{0}]
 endpoint.apr.pollError=Poller失败,异常[{0}]:[{1}]
+endpoint.apr.pollMergeEvents=为套接字[{0}]创建合并事件[{2}]的合并轮询器事件[{1}]
+endpoint.apr.pollUnknownEvent=从轮询器返回的套接字具有无法识别的事件[{0}]
+endpoint.apr.remoteport=APR套接字[{0}]已打开,远程端口为[{1}]
 endpoint.apr.tooManyCertFiles=证书文件配置超过了
 endpoint.debug.channelCloseFail=关闭频道失败
 endpoint.debug.destroySocket=将销毁socket [{0}]
+endpoint.debug.pollerAdd=添加到addList socket[{0}],timeout[{1}],flags[{2}]
+endpoint.debug.pollerAddDo=添加到轮询器套接字[{0}]
 endpoint.debug.pollerProcess=为事件[{1}]处理套接字[{0}]
+endpoint.debug.pollerRemove=正在尝试从轮询器中删除[{0}]。
+endpoint.debug.pollerRemoved=已从轮询器中删除[{0}]
+endpoint.debug.registerRead=[{0}]的注册读兴趣
+endpoint.debug.registerWrite=[{0}]的注册写利息
 endpoint.debug.socket=socket [{0}]
 endpoint.debug.socketCloseFail=关闭 socket 失败
+endpoint.debug.socketTimeout=超时 [{0}]
+endpoint.debug.unlock.fail=尝试在端口[{0}]上解除接受锁定时捕获到异常
+endpoint.debug.unlock.localFail=无法确定[{0}]的本地地址
 endpoint.debug.unlock.localNone=无法解除 [{0}] 的接受器,因为本地地址不可用
+endpoint.duplicateSslHostName=为主机名[{0}]提供了多个SSLHostConfig元素。主机名必须唯一
 endpoint.err.close=抓住异常试图关闭socket
+endpoint.err.handshake=握手失败
 endpoint.err.unexpected=处理套接字时意外错误
+endpoint.executor.fail=执行器拒绝了用于处理的套接字[{0}]
 endpoint.getAttribute=[{0}] 是 [{1}]
 endpoint.init.bind=套接字绑定失败: [{0}] [{1}]
+endpoint.init.bind.inherited=连接器配置为使用继承通道时没有继承通道
+endpoint.init.listen=套接字侦听失败:[{0}][{1}]
 endpoint.init.notavail=APR.不可用
+endpoint.invalidJmxNameSslHost=无法为与主机[{0}]关联的SSLHostConfig生成有效的JMX对象名
 endpoint.invalidJmxNameSslHostCert=对于SSLHostConfigCertificate关联的主机[{0}]和证书类型[{1}],无法生成有效的XML对象名称
 endpoint.jmxRegistrationFailed=未能使用名称[{0}]注册JMX对象
 endpoint.jsse.noSslContext=):找不到主机名[{0}]的SSLContext
+endpoint.launch.fail=无法启动新的可运行文件
+endpoint.nio.registerFail=无法用轮询器中的选择器注册套接字。
+endpoint.nio.selectorCloseFail=关闭轮询器时未能关闭选择器
 endpoint.nio.stopLatchAwaitFail=在预期的时间内,pollers未停止
 endpoint.nio.stopLatchAwaitInterrupted=在等待轮询器停止时,该线程被中断
 endpoint.nio.timeoutCme=处理超时异常. 这段代码已经被重复检查并且没有并发修改发现。如果你能重现这个错误,请提交一个tomcat bug, 提供重现步骤.
+endpoint.nio2.exclusiveExecutor=NIO2连接器需要一个独占的执行器才能在关机时正常运行
 endpoint.noSslHostConfig=没有找到带有hostName[{0}]的SSLHostConfig元素,以匹配连接器[{1}]的默认SSLHostConfigName
 endpoint.noSslHostName=SSL主机中没有被提供主机名
+endpoint.poll.error=意外的轮询器错误
 endpoint.poll.fail=严重轮询器故障(重新启动轮询器)[{0}] [{1}]
+endpoint.poll.initfail=轮询器创建失败。
 endpoint.poll.limitedpollsize=创建轮询器失败,大小:[{0}]
 endpoint.process.fail=分配 socket 处理器出错
 endpoint.processing.fail=运行.套接字处理器出错
@@ -71,20 +110,31 @@ endpoint.sendfile.error=未知的sendfile异常。
 endpoint.serverSocket.closeFailed=无法为 [{0}] 关闭服务器 socket
 endpoint.setAttribute=设置. [{0}] 到 [{1}]
 endpoint.timeout.err=处理套接字超时出错
+endpoint.unknownSslHostName=此终结点无法识别SSL主机名[{0}]
 endpoint.warn.executorShutdown=与线程池[{0}]关联的执行程序尚未完全关闭。 某些应用程序线程可能仍在运行。
 endpoint.warn.incorrectConnectionCount=连接数不正确,在同一个套接字上调用多个socket.close。
 endpoint.warn.noLocalAddr=无法确定套接字 [{0}] 的本地地址
 endpoint.warn.noLocalName=无法确定 socket [{0}] 的本地主机名
 endpoint.warn.noLocalPort=无法确定套接字 [{0}] 的本地端口
+endpoint.warn.noRemoteAddr=无法确定套接字[{0}]的远程地址
+endpoint.warn.noRemoteHost=无法确定套接字[{0}]的远程主机名
 endpoint.warn.noRemotePort=无法确定 socket [{0}] 的远程端口
+endpoint.warn.unlockAcceptorFailed=接收器线程[{0}]解锁失败。强制硬套接字关闭。
 
+jsse.invalid_truststore_password=提供的信任存储密码无法用于解锁和/或验证信任存储。正在重试使用空密码访问信任存储,该密码将跳过验证。
+jsse.keystore_load_failed=由于{2},无法加载路径为{1}]的密钥库类型{0}]
 jsse.ssl3=SSLv3 已显式启用。 已知该协议是不安全。
+jsse.tls13.auth=JSSE TLS 1.3实现不支持初始握手后的身份验证,因此与可选的客户端身份验证不兼容
 
 sniExtractor.clientHelloInvalid=ClientHello信息未正常格式化
 sniExtractor.clientHelloTooBig=):ClientHello 没有出现在单个TLS记录中,因此无法提取SNI信息
 
+socket.apr.clientAbort=客户端中止连接。
 socket.apr.closed=与该链接所关联的 socket [{0}] 被关闭
+socket.apr.read.error=从APR/native socket[{1}]中读取带有包装器[{2}]的数据时出现意外错误[{0}]。
+socket.apr.write.error=将数据写入APR/native socket[{1}]时出现意外错误[{0}],包装器为[{2}]。
 socket.closed=与此连接关联的套接字已关闭。
+socket.sslreneg=重新协商SSL连接时出现异常
 
 sslHostConfig.certificate.notype=指定了多个证书,并且至少有一个证书缺少必需的属性类型
 sslHostConfig.certificateVerificationInvalid=证书认证值[{0}]未识别
@@ -93,6 +143,8 @@ sslHostConfig.mismatch=属性[{0}]是在名为[{1}]的SSLHostConfig 上设置的
 sslHostConfig.opensslconf.null=(:忽略设置空OpenSSLConf 的尝试
 sslHostConfig.prefix_missing=协议[{0}]已添加到名为[{1}]的SSLHostConfig 上的协议列表中。检查是否缺少一个+/-前缀。
 
+sslHostConfigCertificate.mismatch=属性[{0}]是在名为[{1}]的SSLHostConfigCertificate上设置的,用于证书存储类型[{2}],但该证书正与类型为[{3}]的存储一起使用。
+
 sslImplementation.cnfe=无法为类 [{0}] 创建SSLImplementation
 
 sslUtilBase.active=活跃的[{0}]是:[{1}]
diff --git a/java/org/apache/tomcat/util/net/jsse/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/net/jsse/LocalStrings_zh_CN.properties
index d1830a6..2e152c2 100644
--- a/java/org/apache/tomcat/util/net/jsse/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/net/jsse/LocalStrings_zh_CN.properties
@@ -13,13 +13,23 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+jsse.alias_no_key_entry=别名[{0}]不标识密钥项
+jsse.excludeProtocol=此JRE支持的SSL协议[{0}]已从Tomcat可用的协议中排除
+jsse.invalidTrustManagerClassName=提供的trustManagerClassName[{0}]未实现javax.net.ssl.TrustManager
+jsse.noCertFile=使用SSL连接器时必须定义SSLHostConfig属性certificateFile
 jsse.noDefaultProtocols=无法确定sslEnabledProtocols的默认值。设置显式值以确保连接器可以启动。
+jsse.noKeys=在密钥存储中找不到私钥的别名
 jsse.openssl.effectiveCiphers=使用的密码:[{0}]
+jsse.openssl.unknownElement=密码字符串中的未知元素:[{0}]。
 jsse.pemParseError=无法从 [{0}] 解析 key
 
 jsseSupport.certTranslationError=错误的转换证书[{0}]
 jsseSupport.clientCertError=尝试从客户端获取证书时出错
 
+jsseUtil.noCrlSupport=truststoreProvider [{0}]不支持certificateRevocationFile配置选项
+jsseUtil.noVerificationDepth=truststoreProvider[{0}]不支持CertificationDepth配置选项
+jsseUtil.trustedCertNotChecked=未检查别名为{0}的受信任证书的有效日期,因为该证书属于未知类型
 jsseUtil.trustedCertNotValid=由于[{2}],别名为[{0}]且DN [{1}]的可信证书无效。 将接受由此可信证书签署的证书
 
+pemFile.noMultiPrimes=PKCS#1证书是多素数格式的,Java不提供从该格式构造RSA私钥对象的API
 pemFile.notValidRFC5915=提供的key文件不符合RFC 5915
diff --git a/java/org/apache/tomcat/util/net/openssl/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/net/openssl/LocalStrings_zh_CN.properties
index d7fbc35..14342d4 100644
--- a/java/org/apache/tomcat/util/net/openssl/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/net/openssl/LocalStrings_zh_CN.properties
@@ -16,22 +16,47 @@
 engine.ciphersFailure=获取密码列表失败
 engine.emptyCipherSuite=空密码套件
 engine.engineClosed=引擎已经关闭
+engine.failedCipherSuite=无法启用密码套件[{0}]
+engine.inboundClose=入站在收到对等方的关闭通知之前关闭
+engine.invalidBufferArray=偏移量:[{0}],长度:[{1}](应为:偏移量<=偏移量+长度<=srcs.length[{2}])
 engine.noRestrictSessionCreation=OpenSslEngine不允许限制引擎仅仅去唤醒已经存在的会话
+engine.noSSLContext=没有SSL上下文
 engine.noSession=SSL会话ID不可用
+engine.nullBuffer=空缓冲区
+engine.nullBufferInArray=数组中的空缓冲区
 engine.nullCipherSuite=无加密套件
+engine.nullName=空值名称
+engine.nullValue=空值
 engine.openSSLError=OpenSSL 错误:[{0}] 信息: [{1}]
+engine.oversizedPacket=加密包过大
+engine.unsupportedCipher=不支持的密码套件:[{0}][{1}]。
 engine.unsupportedProtocol=不支持协议 [{0}]
+engine.unverifiedPeer=未经核实的同行
 engine.writeToSSLFailed=写入SSL失败,返回:[{0}]
 
 openssl.X509FactoryError=获取X509工厂实例时出错
 openssl.addedClientCaCert=添加了客户端 CA 证书:[{0}]
+openssl.applyConf=将OpenSSLConfCmd应用于SSL上下文
+openssl.certificateVerificationFailed=证书验证失败
+openssl.checkConf=检查OpenSSLConf
 openssl.doubleInit=SSL环境已经初始化,忽略
 openssl.errApplyConf=无法将OpenSSLConf 应用于SSL 上下文
+openssl.errCheckConf=OpenSSLConf检查期间出错。
 openssl.errMakeConf=无法创建OpenSSLConf上下文
+openssl.errorSSLCtxInit=初始化SSL上下文时出错
 openssl.keyManagerMissing=key管理器未找到
+openssl.makeConf=创建OpenSSLConf上下文
+openssl.nonJsseCertficate=无法使用JSSE密钥管理器处理证书{0}或其私钥{1},该证书将直接提供给OpenSSL
+openssl.nonJsseChain=证书链[{0}]未指定或无效,JSSE需要有效的证书链,因此尝试直接使用OpenSSL
 openssl.trustManagerMissing=没有找到.信任管理者
 
+opensslconf.applyCommand=OpenSSLConf正在应用命令(name[{0}],value[{1}])
+opensslconf.applyFailed=将OpenSSLConf应用于SSL上下文时失败
+opensslconf.checkCommand=OpenSSLConf检查命令(name[{0}],value[{1}])
 opensslconf.checkFailed=检查OpenSSLConf时失败。
+opensslconf.failedCommand=OpenSSLConf失败的命令(名称为{0},值为{1}]),结果为{2}-将被忽略
 opensslconf.finishFailed=OpenSSLConf 配置失败结果为 [{0}]
+opensslconf.noCommandName=OpenSSLConf没有命令名-将被忽略(命令值[{0}])
+opensslconf.resultCommand=OpenSSLConf命令(name[{0}],value[{1}])返回了[{2}]
 
 sessionContext.nullTicketKeys=Null keys
diff --git a/java/org/apache/tomcat/util/scan/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/scan/LocalStrings_zh_CN.properties
index 9e4c257..d81f815 100644
--- a/java/org/apache/tomcat/util/scan/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/scan/LocalStrings_zh_CN.properties
@@ -19,5 +19,7 @@ jarScan.classloaderJarScan=从classpath扫描JAR[{0}]
 jarScan.classloaderStart=在类加载器层次结构中扫描JAR
 jarScan.jarUrlStart=正在扫描URL [{0}] 上的JAR文件
 jarScan.webinfclassesFail=无法扫描/WEB-INF/classes
+jarScan.webinflibFail=无法从/WEB-INF/lib扫描JAR[{0}]。
 jarScan.webinflibJarNoScan=没有扫描到/WEB-INF/lib目录下的JAR [{0}]
+jarScan.webinflibJarScan=从/WEB-INF/lib扫描JAR[{0}]
 jarScan.webinflibStart=扫描./WEB-INF/lib 中的JARs
diff --git a/java/org/apache/tomcat/websocket/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/websocket/LocalStrings_zh_CN.properties
index e3c66c5..cb77244 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings_zh_CN.properties
@@ -17,37 +17,63 @@ asyncChannelGroup.createFail=无法为WebSocket客户端创建专用的异步通
 
 asyncChannelWrapperSecure.check.notOk=TLS握手返回意外状态[{0}]
 asyncChannelWrapperSecure.check.unwrap=在读取期间将字节写入输出
+asyncChannelWrapperSecure.check.wrap=在写入过程中从输入消耗了字节
 asyncChannelWrapperSecure.closeFail=干净的关闭通道失败
+asyncChannelWrapperSecure.concurrentRead=不允许并发读取操作
+asyncChannelWrapperSecure.concurrentWrite=不允许并发写操作
 asyncChannelWrapperSecure.eof=意外的流结尾
+asyncChannelWrapperSecure.notHandshaking=TLS握手过程中出现意外状态[非握手]
 asyncChannelWrapperSecure.statusUnwrap=unwrap()操作后SSLEngineResult 的意外状态
+asyncChannelWrapperSecure.statusWrap=wrap()操作后SSLEngineResult的意外状态
+asyncChannelWrapperSecure.tooBig=结果[{0}]太大,无法表示为整数
+asyncChannelWrapperSecure.wrongStateRead=尝试完成读取操作时,发现指示正在进行读取的标志为false(应该为true)
+asyncChannelWrapperSecure.wrongStateWrite=尝试完成写操作时,发现指示正在进行写操作的标志为false(应该为true)
 
 backgroundProcessManager.processFailed=后台进程失败
 
 caseInsensitiveKeyMap.nullKey=不允许 Key 是 Null
 
+futureToSendHandler.timeout=等待[{0}[{1}]完成后操作超时。
+
 perMessageDeflate.alreadyClosed=转换器已经关闭且可能永远不会使用
 perMessageDeflate.deflateFailed=无法压缩这个WebSocket压缩结构
 perMessageDeflate.duplicateParameter=重复定义的扩展参数[{0}]
+perMessageDeflate.invalidState=无效状态
 perMessageDeflate.invalidWindowSize=为[{0}]指定了[{1}]大小的无效窗口。 有效值是从8到15(包括8和15)的整数。
+perMessageDeflate.unknownParameter=定义了未知的扩展参数[{0}]
+
+transformerFactory.unsupportedExtension=不支持扩展名[{0}]。
 
+util.invalidMessageHandler=提供的消息处理程序没有onMessage(对象)方法。
 util.invalidType=无法强制值[{0}]转为[{1}]类型(不支持次类型)。
 util.notToken=一个非法的扩展参数被指定为名称[{0}]和值[{0}]
 util.unknownDecoderType=无法识别该解码器类型[{0}]
 
+wsFrame.alreadyResumed=已恢复邮件接收
 wsFrame.alreadySuspended=消息接收已挂起。
+wsFrame.bufferTooSmall=没有异步消息支持,并且缓冲区太小。缓冲区大小:[{0}],消息大小:[{1}]
 wsFrame.byteToLongFail=提供了太多字节([{0}]),转换成一个长的字节。
 wsFrame.closed=在一个关闭的控制帧后受到了一个新的帧.
 wsFrame.controlFragmented=接收到分段的控制帧,但控制帧可能不被分割。
 wsFrame.controlNoFin=发送一个没有设置的控制帧。控制帧不允许使用连续帧。
 wsFrame.controlPayloadTooBig=以大于125字节的最大允许值的大小[{0}]的有效载荷发送控制帧。
 wsFrame.illegalReadState=意外的读状态[{0}]
+wsFrame.invalidOpCode=用无法识别的操作码[{0}]发送了WebSocket帧
+wsFrame.invalidUtf8=接收到无法解码为UTF-8的WebSocket文本帧,因为它包含无效的字节序列
 wsFrame.invalidUtf8Close=接收到一个WebSocket关闭帧,其关闭原因包含无效的UTF-8字节序列
+wsFrame.ioeTriggeredClose=发生不可恢复的IOException,因此连接已关闭。
+wsFrame.messageTooBig=消息的长度为[{0}]个字节,但消息处理程序的限制为[{1}]个字节。
+wsFrame.noContinuation=当需要延续帧时启动了新消息。
 wsFrame.notMasked=客户端帧未被屏蔽,但必须屏蔽所有客户端帧
+wsFrame.oneByteCloseCode=客户端发送了一个包含无效单字节有效负载的关闭帧。
 wsFrame.partialHeaderComplete=接收到WebSocket帧. fin [{0}], rsv [{1}], OpCode [{2}], payload 长度 [{3}]
 wsFrame.sessionClosed=无法处理客户端数据,因为会话已被关闭
+wsFrame.suspendRequested=已请求暂停接收邮件。
 wsFrame.textMessageTooBig=解码的文本消息对于输出缓冲区太大,终结点不支持部分消息
 wsFrame.wrongRsv=对于具有opCode [{1}]的消息,客户端帧将保留位设置为[{0}],此端点不支持
 
+wsFrameClient.ioe=从发送的服务器上读取数据失败
+
 wsHandshakeRequest.invalidUri=字符串  [{0}] 不能用来组成一个有效的URI
 wsHandshakeRequest.unknownScheme=请求中的计划[{0}]未识别
 
@@ -56,30 +82,50 @@ wsRemoteEndpoint.changeType=发送分段消息时,所有片段必须是相同
 wsRemoteEndpoint.closed=由于 WebSocket session 已关闭,消息将不会被发送
 wsRemoteEndpoint.closedDuringMessage=因为 WebSocket session 被关闭,消息的剩余部分将不会被送达
 wsRemoteEndpoint.closedOutputStream=由于OutputStream已关闭,不应该调用此方法。
+wsRemoteEndpoint.closedWriter=此方法不能调用,因为编写器已关闭。
 wsRemoteEndpoint.flushOnCloseFailed=会话关闭后仍然启用批处理消息。无法刷新剩余的批量消息
+wsRemoteEndpoint.invalidEncoder=无法实例化类型为[{0}]的指定编码器
 wsRemoteEndpoint.noEncoder=没有为类 [{0}] 的对象指定编码器
 wsRemoteEndpoint.nullData=无效空的data 参数
+wsRemoteEndpoint.nullHandler=无效的空处理程序参数
 wsRemoteEndpoint.sendInterrupt=当前线程在等待阻塞发送完成时被中断
 wsRemoteEndpoint.tooMuchData=ping或pong不应该发送超过125字节
+wsRemoteEndpoint.writeTimeout=阻塞写入超时
 wsRemoteEndpoint.wrongState=远程 endpoint 处于 [{0}] 状态,是被调用方法的无效状态
 
 wsSession.closed=WebSocket会话[{0}]已关闭,并且在关闭的会话上不能调用任何方法(除了close())
 wsSession.created=创建WebSocket session [{0}]。
 wsSession.doClose=关闭 WebSocket session [{1}]
+wsSession.duplicateHandlerBinary=已配置二进制消息处理程序
 wsSession.duplicateHandlerPong=已经配置了pong消息处理器
 wsSession.duplicateHandlerText=已配置文本消息处理器
+wsSession.flushFailOnClose=会话关闭时刷新批处理邮件失败
 wsSession.instanceNew=endpoint 实例注册失败
+wsSession.invalidHandlerTypePong=一个pong消息处理程序必须实现MessageHandler.Whole
+wsSession.messageFailed=无法写入完整消息,因为WebSocket连接已关闭
+wsSession.removeHandlerFailed=无法删除处理程序[{0}],因为它未在此会话中注册
 wsSession.sendCloseFail=给远程端点发送关闭消息失败,session:[{0}]
+wsSession.timeout=WebSocket会话[{0}]超时已过期
 wsSession.unknownHandler=无法添加消息处理程序[{0}],因为它是针对无法识别的类型[{1}]
+wsSession.unknownHandlerType=无法添加消息处理程序[{0}],因为它被包装为无法识别的类型[{1}]。
 
 wsWebSocketContainer.asynchronousSocketChannelFail=无法打开与服务器的连接
+wsWebSocketContainer.defaultConfiguratorFail=无法创建默认配置程序。
+wsWebSocketContainer.endpointCreateFail=未能创建类型为[{0}]的本地终结点
 wsWebSocketContainer.failedAuthentication=无法处理http响应代码[{0}]。服务器不接受身份验证头。
+wsWebSocketContainer.httpRequestFailed=启动WebSocket连接的HTTP请求失败
 wsWebSocketContainer.invalidExtensionParameters=服务器用客户端无法支持的扩展参数响应
+wsWebSocketContainer.invalidHeader=无法分析HTTP头,因为在[{0}]中没有冒号来分隔头名称和头值。已跳过标题。
+wsWebSocketContainer.invalidStatus=来自服务器[{0}]的HTTP响应不允许HTTP升级到WebSocket
+wsWebSocketContainer.invalidSubProtocol=WebSocket服务器为Sec-WebSocket-Protocol标头返回了多个值
+wsWebSocketContainer.maxBuffer=此实现将缓冲区的最大大小限制为Integer.MAX_VALUE
 wsWebSocketContainer.missingAnnotation=无法使用POJO类[{0}],因为它未添加注解@ClientEndpoint
 wsWebSocketContainer.missingLocationHeader=处理HTTP响应码 [{0}] 失败。响应头缺少Location
 wsWebSocketContainer.missingWWWAuthenticateHeader=无法处理HTTP响应代码[{0}]。 缺少WWW-Authenticate标头作为响应
 wsWebSocketContainer.pathNoHost=URI中未指定主机
+wsWebSocketContainer.pathWrongScheme=不支持方案[{0}]。支持的方案是ws和wss
 wsWebSocketContainer.proxyConnectFail=失败连接到已配置的代理 [{0}]。HTTP 响应码是 [{1}]
+wsWebSocketContainer.redirectThreshold=循环位置头[{0}]检测到/达到最大重定向数[{1}]的最大值[{2}]
 wsWebSocketContainer.sessionCloseFail=ID 为 [{0}] 的session 没有彻底关闭
 wsWebSocketContainer.shutdown=web应用程序正在停止
 wsWebSocketContainer.sslEngineFail=无法创建SSLEngine以支持SSL/TLS连接
diff --git a/java/org/apache/tomcat/websocket/pojo/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/websocket/pojo/LocalStrings_zh_CN.properties
index 4b74f50..3147f4a 100644
--- a/java/org/apache/tomcat/websocket/pojo/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/websocket/pojo/LocalStrings_zh_CN.properties
@@ -13,23 +13,33 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+pojoEndpointBase.closeSessionFail=在错误处理期间无法关闭WebSocket会话
 pojoEndpointBase.onCloseFail=):无法为类型为[{0}]的POJO调用POJO端点的onClose方法
 pojoEndpointBase.onError=在错误发生后,没有为[{0}]配置错误处理
+pojoEndpointBase.onErrorFail=无法为类型为[{0}]的POJO调用POJO端点的onError方法
 pojoEndpointBase.onOpenFail=无法为类型为[{0}]的POJO调用POJO端点的onOpen方法
 
 pojoEndpointServer.getPojoInstanceFail=创建类型为 [{0}] 的 POJO 实例失败
 
 pojoMessageHandlerWhole.decodeIoFail=解码消息时出现IO错误
+pojoMessageHandlerWhole.maxBufferSize=此实现支持的最大消息大小为Integer.MAX_VALUE
 
+pojoMethodMapping.decodePathParamFail=未能将路径参数值[{0}]解码为预期的类型[{1}]
 pojoMethodMapping.duplicateAnnotation=类[{1}]上存在的重复注释[{0}]
 pojoMethodMapping.duplicateLastParam=用OnMessage注释的类[{1}]的方法[{0}]上存在多个布尔参数(最后的)
+pojoMethodMapping.duplicateMessageParam=类[{1}]的方法[{0}]上存在多个消息参数,该方法已用OnMessage进行了注释。
 pojoMethodMapping.duplicatePongMessageParam=使用OnMessage注释的类[{1}]的方法[{0}]上存在多个PongMessage参数
+pojoMethodMapping.duplicateSessionParam=类[{1}]的方法[{0}]上存在多个会话参数,该方法使用OnMessage进行了注释
 pojoMethodMapping.invalidDecoder=这个特定类型的解码器[{0}]无法被实例化
 pojoMethodMapping.methodNotPublic=注解方法[{0}]不为公共方法
 pojoMethodMapping.noDecoder=在用onMessage注释的类[{1}]的方法[{0}]上找不到消息参数的解码器。
+pojoMethodMapping.noPayload=用OnMessage注释的类{1}的方法{0}上不存在有效负载参数
 pojoMethodMapping.onErrorNoThrowable=):类[{1}]的方法[{0}]上不存在用OnError注释的抛出参数
 pojoMethodMapping.paramWithoutAnnotation=在类[{2}]的方法[{1}]上找到了类型为[{0}]的参数,该方法没有@PathParam 注释
+pojoMethodMapping.partialInputStream=类[{1}]的方法[{0}]中存在无效的InputStream和boolean参数,该方法使用OnMessage进行了批注
 pojoMethodMapping.partialObject=用onMessage注释的类[{1}]的方法[{0}]中存在无效的对象和布尔参数
+pojoMethodMapping.partialPong=用OnMessage注释的类[{1}]的方法[{0}]上存在无效的PongMessage和布尔参数
+pojoMethodMapping.partialReader=用OnMessage注释的类[{1}]的方法[{0}]中存在无效的读取器和布尔参数
 pojoMethodMapping.pongWithPayload=类[{1}]的方法[{0}]中存在无效的PongMessage 和消息参数,该方法是用onMessage注释的
 
 pojoPathParam.wrongType=不允许将类型[{0}]作为路径参数。用@PathParam注释的参数只能是字符串、Java原语或盒装版本。
diff --git a/java/org/apache/tomcat/websocket/server/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/websocket/server/LocalStrings_zh_CN.properties
index e67db5f..a41b171 100644
--- a/java/org/apache/tomcat/websocket/server/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/websocket/server/LocalStrings_zh_CN.properties
@@ -13,19 +13,28 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+serverContainer.addNotAllowed=一旦尝试使用以前注册的终结点之一,就不能再注册其他终结点
 serverContainer.configuratorFail=无法为[{1}]类型的POJO创建类型[{0}]的配置程序
 serverContainer.duplicatePaths=多个端点可能不能发不到同一个路径[{0}]:已经存在的端点[{1}]和新的端点[{2}]
 serverContainer.encoderFail=无法创建[{0}]类型的编码器
 serverContainer.failedDeployment=由于以前的部署失败,不允许将WebSocket终结点部署到主机[{1}]中路径为[{0}]的Web应用程序
+serverContainer.missingAnnotation=无法部署POJO类[{0}],因为它没有用@ServerEndpoint进行注释
 serverContainer.servletContextMissing=没有指定ServletContext
 
 upgradeUtil.incompatibleRsv=指定扩展名具有不兼容的RSV位使用
 
+uriTemplate.duplicateParameter=参数[{0}]在不允许的路径中出现多次
+uriTemplate.emptySegment=路径[{0}]包含一个或多个不允许的空段
 uriTemplate.invalidPath=路径 [{0}] 无效。
+uriTemplate.invalidSegment=段[{0}]在提供的路径[{1}]中无效
 
 wsFrameServer.bytesRead=将[{0}]个字节读入输入缓冲区,准备进行处理
+wsFrameServer.illegalReadState=意外的读取状态[{0}]
 wsFrameServer.onDataAvailable=进入方法
 
+wsHttpUpgradeHandler.closeOnError=由于错误关闭WebSocket连接
+wsHttpUpgradeHandler.destroyFailed=销毁WebSocket HttpUpgradeHandler时无法关闭WebConnection
 wsHttpUpgradeHandler.noPreInit=在容器调用init()之前,必须调用preinit()方法来配置WebSocket HttpUpgradeHandler。通常,这意味着创建WsHttpUpgradeHandler 实例的servlet也应该调用preinit()
+wsHttpUpgradeHandler.serverStop=服务器正在停止
 
 wsRemoteEndpointServer.closeFailed=无法完全关闭ServletOutputStream 连接
diff --git a/webapps/examples/WEB-INF/classes/LocalStrings_zh_CN.properties b/webapps/examples/WEB-INF/classes/LocalStrings_zh_CN.properties
index a7e0c93..fa9f447 100644
--- a/webapps/examples/WEB-INF/classes/LocalStrings_zh_CN.properties
+++ b/webapps/examples/WEB-INF/classes/LocalStrings_zh_CN.properties
@@ -19,6 +19,7 @@ cookies.name=名.称:
 cookies.no-cookies=你的浏览器未发送任何cookie
 cookies.set=你刚刚将以下cookie发送到你的浏览器:
 cookies.title=cookie示例
+cookies.value=值:
 
 helloworld.title=你好,世界.
 
@@ -32,12 +33,14 @@ requestinfo.label.requesturi=请求 URI (:
 requestinfo.title=请求信息范例
 
 requestparams.firstname=姓:
+requestparams.lastname=姓氏:
 requestparams.no-params=没有参数,请输入一些
 requestparams.params-in-req=参数在请求中.
 requestparams.title=请求参数示例
 
 sessions.adddata=将数据添加到你的会话中
 sessions.created=已创建的:
+sessions.data=以下数据在您的会话中:
 sessions.dataname=会话属性名:
 sessions.datavalue=会话属性值:
 sessions.id=会话ID:


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


[tomcat] 01/04: Back-port updates/additions to French translations

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 da503f3e6e0d8f8fbd92c3d036c37ac5d957d66b
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Mon May 4 17:29:45 2020 +0100

    Back-port updates/additions to French translations
---
 .../org/apache/catalina/connector/LocalStrings_fr.properties |  1 +
 java/org/apache/catalina/manager/LocalStrings_fr.properties  |  1 +
 java/org/apache/catalina/realm/LocalStrings_fr.properties    |  1 +
 java/org/apache/catalina/session/LocalStrings_fr.properties  |  5 +++++
 java/org/apache/jasper/resources/LocalStrings_fr.properties  | 12 ++++--------
 java/org/apache/naming/LocalStrings_fr.properties            |  2 +-
 java/org/apache/tomcat/util/buf/LocalStrings_fr.properties   |  2 ++
 7 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/java/org/apache/catalina/connector/LocalStrings_fr.properties b/java/org/apache/catalina/connector/LocalStrings_fr.properties
index 8f8ac8d..9430f27 100644
--- a/java/org/apache/catalina/connector/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/connector/LocalStrings_fr.properties
@@ -24,6 +24,7 @@ coyoteAdapter.nullRequest=Un dispatch asynchrone peut seulement se produire sur
 
 coyoteConnector.invalidEncoding=L''encodage [{0}] n''est pas reconnu par la JRE. Le connecteur (Connector) continuera à utiliser [{1}]
 coyoteConnector.invalidPort=Le connecteur ne peut pas démarrer, parce que la valeur spécifiée du port [{0}] n''est pas valide
+coyoteConnector.notAsciiSuperset=L''encodage [{0}] n''inclut pas l''ASCII comme requis par la RFC 7230, le connecteur va continuer à utiliser [{1}]
 coyoteConnector.parseBodyMethodNoTrace=La méthode "TRACE" NE PEUT PAS contenir une entité (voir RFC 2616 Section 9.6)
 coyoteConnector.protocolHandlerDestroyFailed=La destruction du gestionnaire de protocole a échoué
 coyoteConnector.protocolHandlerInitializationFailed=L'initialisation du gestionnaire de protocole a échoué
diff --git a/java/org/apache/catalina/manager/LocalStrings_fr.properties b/java/org/apache/catalina/manager/LocalStrings_fr.properties
index 2cbf355..4fbe336 100644
--- a/java/org/apache/catalina/manager/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/manager/LocalStrings_fr.properties
@@ -148,6 +148,7 @@ managerServlet.resourcesType=OK - Liste des ressources globales de type [{0}]
 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.savedContextFail=ECHEC - L''enregistrement de la configuration du Contexte [{0}] a échoué
 managerServlet.serverInfo=OK - Informations sur le serveur\n\
 Version de Tomcat : [{0}]\n\
 Nom de l''OS : [{1}]\n\
diff --git a/java/org/apache/catalina/realm/LocalStrings_fr.properties b/java/org/apache/catalina/realm/LocalStrings_fr.properties
index 32adafd..75fb113 100644
--- a/java/org/apache/catalina/realm/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/realm/LocalStrings_fr.properties
@@ -20,6 +20,7 @@ combinedRealm.authSuccess=Authentifié l''utilisateur [{0}] avec le domaine [{1}
 combinedRealm.getPassword=La méthode getPassword() ne doit jamais être appelée
 combinedRealm.getPrincipal=La méthode getPrincipal() ne devrait jamais être appelée
 combinedRealm.realmStartFail=Impossible de démarrer le royaume [{0}]
+combinedRealm.setCredentialHandler=Un CredentialHandler a été défini sur une instance de CombinedRealm (ou une sous classe de CombinedRealm), et CombinedRealm ne supporte pas de CredentialHandler
 combinedRealm.unexpectedMethod=Un appel de méthode inattendu à été effectué sur le royaumes combiné
 
 credentialHandler.invalidStoredCredential=Le royaume a fourni des identifiants [{0}] invalides à comparer avec ceux fournis par le client
diff --git a/java/org/apache/catalina/session/LocalStrings_fr.properties b/java/org/apache/catalina/session/LocalStrings_fr.properties
index f9f6932..b2fca5f 100644
--- a/java/org/apache/catalina/session/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/session/LocalStrings_fr.properties
@@ -44,9 +44,14 @@ managerBase.setContextNotNew=Il est illégal d'appeler setContext() pour changer
 
 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}]
+persistentManager.isLoadedError=Erreur en vérifiant si la session [{0}] est chargée en mémoire
 persistentManager.loading=Chargement de [{0}] sessions persistantes
+persistentManager.removeError=Erreur en enlevant la session [{0}] du stockage
 persistentManager.serializeError=Erreur lors de la sérialisation de la session [{0}] : [{1}]
+persistentManager.storeClearError=Erreur en supprimant toutes les sessions du stockage
 persistentManager.storeKeysException=Incapacité de déterminer la liste des ID de session, pour les sessions dans le magasin de sessions.  Supposant le magasin vide.
+persistentManager.storeLoadError=Erreur en déplaçant les sessions à partir du stockage
+persistentManager.storeLoadKeysError=Erreur lors du chargement des clés des sessions du stockage
 persistentManager.storeSizeException=Impossible de déterminer le nombre de sessions dans le magasin de sessions, le magasin doit être vide.
 persistentManager.swapIn=Basculement depuis le stockage (swap in) de la session [{0}]
 persistentManager.swapInException=Exception dans la Store lors du swapIn : [{0}]
diff --git a/java/org/apache/jasper/resources/LocalStrings_fr.properties b/java/org/apache/jasper/resources/LocalStrings_fr.properties
index 0b5f1d7..5e673d4 100644
--- a/java/org/apache/jasper/resources/LocalStrings_fr.properties
+++ b/java/org/apache/jasper/resources/LocalStrings_fr.properties
@@ -323,8 +323,7 @@ et où les options sont :\n\
 \    -target <version>     Fixe l'argument -target pour le compilateur (par défaut 1.7)\n\
 \    -threadCount <count>  Nombre de threads à utiliser pour la compilation\n\
 \                          ("2.0C" veut dire deux threads par cœur)\n
-jspc.webfrg.footer=\n\
-</web-fragment>\n\
+jspc.webfrg.footer=</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\
@@ -339,20 +338,17 @@ jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
 Crée automatiquement par JspC de Apache Tomcat.\n\
 -->\n\
 \n
-jspc.webinc.footer=\n\
-<!--\n\
+jspc.webinc.footer=<!--\n\
 Fin du contenu généré automatiquement par JspC de Apache Tomcat.\n\
 -->\n\
 \n
-jspc.webinc.header=\n\
-<!--\n\
+jspc.webinc.header=<!--\n\
 Créé automatiquement par JspC de Apache Tomcat.\n\
 -->\n\
 \n
 jspc.webinc.insertEnd=<!-- Fin des mappings des Servlets JSPC -->
 jspc.webinc.insertStart=<!-- Début des mappings des Servlets JSPC -->
-jspc.webxml.footer=\n\
-</web-app>\n\
+jspc.webxml.footer=</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\
diff --git a/java/org/apache/naming/LocalStrings_fr.properties b/java/org/apache/naming/LocalStrings_fr.properties
index 33dd57d..eb297c8 100644
--- a/java/org/apache/naming/LocalStrings_fr.properties
+++ b/java/org/apache/naming/LocalStrings_fr.properties
@@ -27,4 +27,4 @@ namingContext.readOnly=Le Contexte est en lecture seule
 
 selectorContext.methodUsingName=Appel de la méthode [{0}] avec le nom [{1}]
 selectorContext.methodUsingString=Appel de la méthode [{0}] avec la String [{1}]
-selectorContext.noJavaUrl=Ce Contexte doit être accédé par une URL commençant par 'java:'
+selectorContext.noJavaUrl=Ce Contexte doit être accédé par une URL commençant par 'java :'
diff --git a/java/org/apache/tomcat/util/buf/LocalStrings_fr.properties b/java/org/apache/tomcat/util/buf/LocalStrings_fr.properties
index f23cd3d..a29921b 100644
--- a/java/org/apache/tomcat/util/buf/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/util/buf/LocalStrings_fr.properties
@@ -20,6 +20,8 @@ b2cConverter.unknownEncoding=L''encodage de caractères [{0}] n''est pas support
 
 byteBufferUtils.cleaner=Impossible d'utiliser le nettoyeur de ByteBuffers directs, une fuite de mémoire peut se produire
 
+encodedSolidusHandling.invalid=La valeur [{0}] n''est pas reconnue
+
 hexUtils.fromHex.nonHex=L'entrée doit être uniquement des chiffres héxadécimaux
 hexUtils.fromHex.oddDigits=L'entrée doit contenir un nombre pair de chiffres héxadécimaux
 


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


[tomcat] 03/04: Backport updates/additions to Korean translations

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 6e439e310ebaeddbc454adf82e4423a04d5f41f9
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Mon May 4 17:31:42 2020 +0100

    Backport updates/additions to Korean translations
---
 java/org/apache/catalina/connector/LocalStrings_ko.properties      | 1 +
 java/org/apache/catalina/manager/LocalStrings_ko.properties        | 1 +
 java/org/apache/catalina/realm/LocalStrings_ko.properties          | 1 +
 java/org/apache/catalina/session/LocalStrings_ko.properties        | 7 +++++++
 java/org/apache/catalina/startup/LocalStrings_ko.properties        | 1 +
 java/org/apache/coyote/http11/LocalStrings_ko.properties           | 1 +
 java/org/apache/jasper/resources/LocalStrings_ko.properties        | 1 +
 java/org/apache/tomcat/util/buf/LocalStrings_ko.properties         | 2 ++
 java/org/apache/tomcat/util/net/openssl/LocalStrings_ko.properties | 1 +
 9 files changed, 16 insertions(+)

diff --git a/java/org/apache/catalina/connector/LocalStrings_ko.properties b/java/org/apache/catalina/connector/LocalStrings_ko.properties
index cb49fb7..2e13de3 100644
--- a/java/org/apache/catalina/connector/LocalStrings_ko.properties
+++ b/java/org/apache/catalina/connector/LocalStrings_ko.properties
@@ -81,6 +81,7 @@ request.asyncNotSupported=현재 체인의 필터 또는 서블릿이, 비동기
 request.fragmentInDispatchPath=디스패치 경로 [{0}](으)로부터 URI fragment를 제거했습니다.
 request.illegalWrap=요청 wrapper는 반드시 getRequest()로부터 얻어진 요청을 wrap해야 합니다.
 request.notAsync=만일 현재의 쓰레드가 비동기 모드에 있지 않다면, 이 메소드를 호출하는 것은 불허됩니다. (즉, isAsyncStarted()가 false를 반환하는 경우)
+request.session.failed=다음 오류로 인해 세션 [{0}]을(를) 로드하지 못했습니다: [{1}]
 
 requestFacade.nullRequest=요청 객체가 이미 참조 해제 되었고, 더 이상 이 facade와 연관되지 않습니다.
 
diff --git a/java/org/apache/catalina/manager/LocalStrings_ko.properties b/java/org/apache/catalina/manager/LocalStrings_ko.properties
index 965c44a..192daaf 100644
--- a/java/org/apache/catalina/manager/LocalStrings_ko.properties
+++ b/java/org/apache/catalina/manager/LocalStrings_ko.properties
@@ -148,6 +148,7 @@ managerServlet.resourcesType=OK - 타입이 [{0}]인 글로벌 리소스들의 
 managerServlet.saveFail=실패 - 설정을 저장하지 못했습니다: [{0}]
 managerServlet.saved=OK - 서버 설정이 저장되었습니다.
 managerServlet.savedContext=OK - 컨텍스트 [{0}]의 설정이 저장되었습니다.
+managerServlet.savedContextFail=실패 - Context [{0}] 설정을 저장하지 못했습니다.
 managerServlet.serverInfo=OK - 서버 정보\n\
 Tomcat 버전: [{0}]\n\
 운영체제 이름: [{1}]\n\
diff --git a/java/org/apache/catalina/realm/LocalStrings_ko.properties b/java/org/apache/catalina/realm/LocalStrings_ko.properties
index e48df55..6fa71bd 100644
--- a/java/org/apache/catalina/realm/LocalStrings_ko.properties
+++ b/java/org/apache/catalina/realm/LocalStrings_ko.properties
@@ -20,6 +20,7 @@ combinedRealm.authSuccess=사용자 [{0}]을(를) realm [{1}]을(를) 사용하
 combinedRealm.getPassword=getPassword() 메소드는 절대 호출되서는 안됩니다.
 combinedRealm.getPrincipal=getPrincipal() 메소드는 절대로 호출되서는 안됩니다.
 combinedRealm.realmStartFail=[{0}] realm을 시작하지 못했습니다.
+combinedRealm.setCredentialHandler=CredentialHandler가 해당 CombinedRealm (혹은 CombinedRealm의 서브클래스) 객체에 설정 되었습니다만, CombinedRealm 클래스는 CredentialHandler를 사용하지 않습니다. 설정 오류인가요?
 combinedRealm.unexpectedMethod=CombinedRealm의 메소드에 예기치 않은 호출이었습니다.
 
 credentialHandler.invalidStoredCredential=사용자가 제공한 credentials과 부합하는지 검사하기 위하여, 유효하지 않은 저장된 credentials 문자열 [{0}]이(가), Realm에 의해 제공되었습니다.
diff --git a/java/org/apache/catalina/session/LocalStrings_ko.properties b/java/org/apache/catalina/session/LocalStrings_ko.properties
index e7fd6d1..42ed1fe 100644
--- a/java/org/apache/catalina/session/LocalStrings_ko.properties
+++ b/java/org/apache/catalina/session/LocalStrings_ko.properties
@@ -44,9 +44,14 @@ managerBase.setContextNotNew=만일 매니저가 NEW 상태에 있지 않다면,
 
 persistentManager.backupMaxIdle=세션 [{0}]을(를) 세션 저장소에 백업합니다. [{1}]초 동안 유휴 상태였습니다.
 persistentManager.deserializeError=세션 [{0}]을(를) 역직렬화하는 중 오류 발생
+persistentManager.isLoadedError=세션 [{0}]이(가) 메모리에 로드되었는지 점검 중 오류 발생
 persistentManager.loading=[{0}]개의 저장된 세션들을 로드합니다.
+persistentManager.removeError=세션 [{0}]을(를) 저장소로부터 제거하는 중 오류 발생
 persistentManager.serializeError=세션을 직렬화하는 중 오류 발생 [{0}]: [{1}]
+persistentManager.storeClearError=저장소로부터 모든 세션들을 해제하는 중 오류 발생
 persistentManager.storeKeysException=세션 저장소에 있는 세션들의 ID 목록을 결정할 수 없습니다. 아마도 세션 저장소가 비어 있는 것 같습니다.
+persistentManager.storeLoadError=저장소로부터 세션들을 메모리로 로드하는 중 오류 발생
+persistentManager.storeLoadKeysError=저장소로부터 세션 키들을 로드하는 중 오류 발생
 persistentManager.storeSizeException=세션 저장소에 얼마나 많은 세션이 존재하는지 알아낼 수 없습니다. 아마도 세션 저장소가 비어 있는 것 같습니다.
 persistentManager.swapIn=저장소로부터 세션 [{0}]을(를) 다시 로드하여 활성화시킵니다.
 persistentManager.swapInException=저장소에 저장된 세션을 메모리로 로드하는 중, 저장소에서 예외 발생: [{0}]
@@ -79,6 +84,8 @@ standardSession.isNew.ise=isNew: 세션이 이미 무효화 되었습니다.
 standardSession.logoutfail=세션을 만료시킬 때, 사용자를 로그아웃 하는 중 예외 발생
 standardSession.notDeserializable=세션 [{1}]을(를) 위한 세션 속성 [{0}]을(를) 역직렬화할 수 없습니다.
 standardSession.notSerializable=세션 [{1}]을(를) 위한 세션 속성 [{0}]을(를) 직렬화할 수 없습니다.
+standardSession.principalNotDeserializable=세션 [{0}]을(를) 위한 Principal 객체를 역직렬화할 수 없습니다.
+standardSession.principalNotSerializable=세션 [{0}]을(를) 위한 Principal 객체를 직렬화할 수 없습니다.
 standardSession.removeAttribute.ise=removeAttribute: 세션이 이미 무효화되었습니다.
 standardSession.sessionEvent=세션 이벤트 리스너가 예외를 발생시켰습니다.
 standardSession.setAttribute.iae=setAttribute: 직렬화할 수 없는 속성 [{0}]
diff --git a/java/org/apache/catalina/startup/LocalStrings_ko.properties b/java/org/apache/catalina/startup/LocalStrings_ko.properties
index 96724e3..3a22667 100644
--- a/java/org/apache/catalina/startup/LocalStrings_ko.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_ko.properties
@@ -130,6 +130,7 @@ tomcat.addWebapp.conflictChild=이미 존재하는 컨텍스트 [{2}](으)로 
 tomcat.addWebapp.conflictFile=이미 존재하는 파일 [{2}](으)로 인하여, [{0}]에 위치한 WAR를 컨텍스트 경로 [{1}](으)로 배치할 수 없습니다.
 tomcat.baseDirMakeFail=Base 디렉토리로서 사용하기 위한, 디렉토리 [{0}]을(를) 생성할 수 없습니다.
 tomcat.baseDirNotDir=base 디렉토리를 위해 지정된 위치 [{0}]은(는) 디렉토리가 아닙니다.
+tomcat.defaultMimeTypeMappingsFail=기본 MIME 타입들을 로드할 수 없습니다.
 tomcat.homeDirMakeFail=홈 디렉토리로 사용할 디렉토리 [{0}]을(를) 생성할 수 없습니다.
 
 userConfig.database=사용자 데이터베이스를 로드하는 중 예외 발생
diff --git a/java/org/apache/coyote/http11/LocalStrings_ko.properties b/java/org/apache/coyote/http11/LocalStrings_ko.properties
index 91a835d..980999b 100644
--- a/java/org/apache/coyote/http11/LocalStrings_ko.properties
+++ b/java/org/apache/coyote/http11/LocalStrings_ko.properties
@@ -41,6 +41,7 @@ iib.eof.error=소켓에서 예기치 않은 EOF를 읽었습니다.
 iib.failedread.apr=APR/native 오류 코드 [{0}]와(과) 함께, 읽기가 실패했습니다.
 iib.filter.npe=널인 필터를 추가할 수 없습니다.
 iib.invalidHttpProtocol=HTTP 프로토콜에서 유효하지 않은 문자가 발견되었습니다.
+iib.invalidPhase=파싱 국면 [{0}]에서, 유효하지 않은 HTTP 요청 라인 오류
 iib.invalidRequestTarget=요청 타겟에서 유효하지 않은 문자가 발견되었습니다. 유효한 문자들은 RFC 7230과 RFC 3986에 정의되어 있습니다.
 iib.invalidheader=HTTP 헤더 행 [{0}]이(가) RFC 7230을 준수하지 않아, 무시되었습니다.
 iib.invalidmethod=메소드 이름에 유효하지 않은 문자가 발견되었습니다. HTTP 메소드 이름은 유효한 토큰이어야 합니다.
diff --git a/java/org/apache/jasper/resources/LocalStrings_ko.properties b/java/org/apache/jasper/resources/LocalStrings_ko.properties
index 88073e9..411fa77 100644
--- a/java/org/apache/jasper/resources/LocalStrings_ko.properties
+++ b/java/org/apache/jasper/resources/LocalStrings_ko.properties
@@ -169,6 +169,7 @@ jsp.error.quotes.unterminated=종료되지 않은 인용부들
 jsp.error.scripting.variable.missing_name=속성 [{0}](으)로부터 스크립팅 변수 이름을 결정할 수 없습니다.
 jsp.error.security=컨텍스트를 위한 보안 초기화 작업이 실패했습니다.
 jsp.error.servlet.destroy.failed=JSP 페이지를 위한 Servlet.destroy() 호출 중 예외 발생
+jsp.error.servlet.invalid.method=JSP들은 오직 GET, POST 또는 HEAD 메소드만을 허용합니다. Jasper는 OPTIONS 메소드 또한 허용합니다.
 jsp.error.setLastModified=파일 [{0}]의 최종 변경 시간을 설정할 수 없습니다.
 jsp.error.signature.classnotfound=TLD 내에 function [{1}]을 위해 지정된 메소드 signature에 포함된 클래스 [{0}]을(를) 찾을 수 없습니다. [{2}]
 jsp.error.simpletag.badbodycontent=클래스 [{0}]을(를) 위한 TLD가 SimpleTag로서 유효하지 않은 body-content (JSP)를 지정하고 있습니다.
diff --git a/java/org/apache/tomcat/util/buf/LocalStrings_ko.properties b/java/org/apache/tomcat/util/buf/LocalStrings_ko.properties
index ff5a002..56e9e79 100644
--- a/java/org/apache/tomcat/util/buf/LocalStrings_ko.properties
+++ b/java/org/apache/tomcat/util/buf/LocalStrings_ko.properties
@@ -20,6 +20,8 @@ b2cConverter.unknownEncoding=문자 인코딩 [{0}]은(는) 지원되지 않습
 
 byteBufferUtils.cleaner=직접적인 ByteBuffer cleaner를 사용할 수 없습니다. 메모리 누수가 발생할 수 있습니다.
 
+encodedSolidusHandling.invalid=해당 값 [{0}]은(는) 인식되지 않습니다.
+
 hexUtils.fromHex.nonHex=입력은 오직 16진수 숫자로만 이루어져야 합니다.
 hexUtils.fromHex.oddDigits=입력은 반드시 짝수 개의 16진수 숫자들로 이루어져야 합니다.
 
diff --git a/java/org/apache/tomcat/util/net/openssl/LocalStrings_ko.properties b/java/org/apache/tomcat/util/net/openssl/LocalStrings_ko.properties
index 4b403e1..d70ac4b 100644
--- a/java/org/apache/tomcat/util/net/openssl/LocalStrings_ko.properties
+++ b/java/org/apache/tomcat/util/net/openssl/LocalStrings_ko.properties
@@ -19,6 +19,7 @@ engine.engineClosed=엔진이 닫혀 있습니다.
 engine.failedCipherSuite=Cipher suite [{0}]을(를) 사용가능 상태로 설정하지 못했습니다.
 engine.inboundClose=Peer의 close_notify를 받기 전에, Inbound가 닫혔습니다.
 engine.invalidBufferArray=offset: [{0}], 길이: [{1}] (요구사항: offset <= offset + length <= srcs.length [{2}])
+engine.noRestrictSessionCreation=OpenSslEngine은, 새로운 SSL 세션을 생성할 수 없고 오직 기존 SSL 세션들을 재개만 할 수 있게 하는 옵션을 지원하지 않습니다.
 engine.noSSLContext=SSL 컨텍스트가 없음.
 engine.noSession=SSL 세션 ID가 존재하지 않습니다.
 engine.nullBuffer=널 버퍼


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


[tomcat] 02/04: Backport updates / additions to Japanese translations

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 163c9a006a11b311675e6220590dc621d05d6090
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Mon May 4 17:31:23 2020 +0100

    Backport updates / additions to Japanese translations
---
 java/javax/el/LocalStrings_ja.properties           |   4 +-
 .../authenticator/LocalStrings_ja.properties       |  32 ++--
 .../jaspic/LocalStrings_ja.properties              |   6 +-
 .../catalina/connector/LocalStrings_ja.properties  |   5 +-
 .../catalina/core/LocalStrings_ja.properties       |  43 +++--
 .../catalina/filters/LocalStrings_ja.properties    |   6 +-
 .../catalina/ha/deploy/LocalStrings_ja.properties  |  18 +-
 .../catalina/ha/tcp/LocalStrings_ja.properties     |   2 +-
 .../catalina/loader/LocalStrings_ja.properties     |  10 +-
 .../catalina/manager/LocalStrings_ja.properties    |  20 ++-
 .../manager/host/LocalStrings_ja.properties        |   6 +-
 .../catalina/mapper/LocalStrings_ja.properties     |   2 +-
 .../catalina/realm/LocalStrings_ja.properties      |  12 +-
 .../catalina/security/LocalStrings_ja.properties   |   2 +-
 .../catalina/servlets/LocalStrings_ja.properties   |   6 +-
 .../catalina/session/LocalStrings_ja.properties    |  17 +-
 .../catalina/startup/LocalStrings_ja.properties    |  58 +++----
 .../storeconfig/LocalStrings_ja.properties         |   4 +-
 .../group/interceptors/LocalStrings_ja.properties  |   6 +-
 .../catalina/tribes/io/LocalStrings_ja.properties  |   2 +-
 .../tribes/membership/LocalStrings_ja.properties   |   2 +-
 .../tribes/tipis/LocalStrings_ja.properties        |   4 +-
 .../tribes/transport/LocalStrings_ja.properties    |   2 +-
 .../transport/nio/LocalStrings_ja.properties       |   4 +-
 .../catalina/users/LocalStrings_ja.properties      |   4 +-
 .../catalina/util/LocalStrings_ja.properties       |   4 +-
 .../catalina/valves/LocalStrings_ja.properties     |  14 +-
 .../valves/rewrite/LocalStrings_ja.properties      |   2 +-
 .../webresources/LocalStrings_ja.properties        |   2 +
 java/org/apache/coyote/LocalStrings_ja.properties  |  14 +-
 .../apache/coyote/ajp/LocalStrings_ja.properties   |   1 +
 .../coyote/http11/LocalStrings_ja.properties       |  24 +--
 .../http11/upgrade/LocalStrings_ja.properties      |  12 +-
 .../apache/coyote/http2/LocalStrings_ja.properties |  22 ++-
 .../jasper/resources/LocalStrings_ja.properties    | 186 +++++++++++----------
 .../naming/factory/LocalStrings_ja.properties      |   4 +
 .../tomcat/util/buf/LocalStrings_ja.properties     |   7 +-
 .../tomcat/util/compat/LocalStrings_ja.properties  |   6 +-
 .../util/descriptor/LocalStrings_ja.properties     |   2 +-
 .../util/descriptor/web/LocalStrings_ja.properties |  32 ++--
 .../tomcat/util/http/LocalStrings_ja.properties    |   8 +-
 .../util/http/parser/LocalStrings_ja.properties    |   2 +-
 .../tomcat/util/modeler/LocalStrings_ja.properties |   4 +-
 .../tomcat/util/net/LocalStrings_ja.properties     |  20 ++-
 .../util/net/jsse/LocalStrings_ja.properties       |   7 +-
 .../util/net/openssl/LocalStrings_ja.properties    |   5 +-
 .../tomcat/websocket/LocalStrings_ja.properties    |   7 +-
 .../websocket/server/LocalStrings_ja.properties    |   2 +-
 .../WEB-INF/classes/LocalStrings_ja.properties     |   2 +-
 49 files changed, 378 insertions(+), 288 deletions(-)

diff --git a/java/javax/el/LocalStrings_ja.properties b/java/javax/el/LocalStrings_ja.properties
index af700d4..8082ca0 100644
--- a/java/javax/el/LocalStrings_ja.properties
+++ b/java/javax/el/LocalStrings_ja.properties
@@ -29,7 +29,7 @@ expressionFactory.readFailed=[{0}]の読み取りに失敗しました
 importHandler.ambiguousImport=クラス [{0}] はすでにインポートした [{1}] と衝突するためインポートできません。
 importHandler.ambiguousStaticImport=static import [{0}] はすでにインポートした [{1}] と衝突するため処理できません。
 importHandler.classNotFound=存在しないクラス [{0}] はインポートできません。
-importHandler.invalidClass=クラス[{0}]は、パブリックで非abstract であり、インタフェースではない。
+importHandler.invalidClass=クラス[{0}]は publicで、(Java 9以降では) エクスポートされたパッケージ中にあり、非abstract で非インタフェースである必要があります
 importHandler.invalidClassName=インポートするクラスの名前[{0}]にはパッケージが含まれている必要があります
 importHandler.invalidClassNameForStatic=クラス [{0}] の static import [{1}] は不正です。
 importHandler.invalidStaticName=インポートするstaticメソッドまたはフィールドの名前[{0}]にはクラスが含まれている必要があります。
@@ -45,7 +45,7 @@ propertyReadError=タイプ[{0}]の[{1}]の読み取りエラー
 propertyWriteError=タイプ[{0}]の[{1}]への書き込みエラー
 
 staticFieldELResolver.methodNotFound=クラス[{1}]に[{0}]という名前に一致するpublic staticメソッドが見つかりません。
-staticFieldELResolver.notFound=クラス[{1}]に[{0}]という名前のpublic staticフィールドが見つかりませんでした。
+staticFieldELResolver.notFound=(Java 9 以降ではエクスポートされた) クラス[{1}]に[{0}]という名前のpublic staticフィールドが見つかりませんでした。
 staticFieldELResolver.notWriteable=静的フィールド(この場合、クラス[{1}]のフィールド[{0})への書き込みは許可されていません。
 
 util.method.ambiguous=曖昧さのないメソッドを見つけることができません:{0}。{1}({2})
diff --git a/java/org/apache/catalina/authenticator/LocalStrings_ja.properties b/java/org/apache/catalina/authenticator/LocalStrings_ja.properties
index 2a37dff..82f63e1 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings_ja.properties
@@ -36,7 +36,7 @@ basicAuthenticator.invalidCharset=指定できる値は、null、空の文字列
 
 digestAuthenticator.cacheRemove=有効なエントリがクライアントのnonceキャッシュから削除され、新しいエントリのためのスペースが確保されました。 リプレイ攻撃が可能になりました。 リプレイ攻撃の可能性を防ぐには、nonceValidityを減らすか、nonceCacheSizeを増やしてください。 このタイプの警告は5分間表示されなくなります。
 
-formAuthenticator.forwardErrorFail=予期せぬ異常によりエラーページへ転送します。
+formAuthenticator.forwardErrorFail=エラーページへ転送中の予期せぬエラー
 formAuthenticator.forwardLogin=リクエストメソッドGETを使用してコンテキスト[{3}]のページ[{2}]にメソッド[{1}]で行われた[{0}]の要求をフォワードします。
 formAuthenticator.forwardLoginFail=ログインページへの転送での予期しないエラー
 formAuthenticator.noErrorPage=コンテキスト[{0}]のFORM認証にエラーページが定義されていません
@@ -44,27 +44,27 @@ formAuthenticator.noLoginPage=コンテキスト[{0}]のFORM認証にログイ
 
 singleSignOn.debug.associate=SSOはアプリケーションセッション[{1}]をSSOセッション[{0}]に関連付けます
 singleSignOn.debug.associateFail=SSOセッション[{1}]が存在しないため、SSOはアプリケーションセッション[{0}]を関連付けられませんでした。
-singleSignOn.debug.cookieCheck=SSOがSSOクッキーをチェックします
+singleSignOn.debug.cookieCheck=SSOはSSOクッキーをチェックしています
 singleSignOn.debug.cookieNotFound=SSOはSSO Cookieを検出しませんでした。
-singleSignOn.debug.deregister=SSOセッション[{1}]に関連付けられたアプリケーションセッション[{0}]を期限切れにします。
+singleSignOn.debug.deregister=SSOセッション[{1}]に関連付けられたアプリケーションセッション[{0}]を破棄します。
 singleSignOn.debug.deregisterFail=キャッシュにないため、SSOセッション[{0}]の登録を解除できませんでした。
-singleSignOn.debug.deregisterNone=SSOセッション[{0}]の登録を解除しましたが、関連するアプリケーションセッションが見つかりませんでした。
+singleSignOn.debug.deregisterNone=SSOセッション[{0}]の登録を解除しましたが、関連付けられたアプリケーションセッションは見つかりませんでした。
 singleSignOn.debug.hasPrincipal=SSOが以前に認証されたプリンシパル[{0}]を検出しました
-singleSignOn.debug.invoke=[{0}]に対するSSO処理リクエスト
-singleSignOn.debug.principalCheck=SSOセッションのキャッシュされたプリンシパルを探すSSO [{0}]
+singleSignOn.debug.invoke=SSO は [{0}] に対するリクエストを処理しています
+singleSignOn.debug.principalCheck=SSO は SSO セッション [{0}] のキャッシュされたプリンシパルを探索しています
 singleSignOn.debug.principalFound=SSO のキャッシュされたプリンシパル [{0}] を取得しました。認証タイプは [{1}] です。
 singleSignOn.debug.principalNotFound=SSOはキャッシュされたプリンシパルを検出しませんでした。 セッション[{0}]のSSO Cookieを消去しています。
-singleSignOn.debug.register=認証タイプ[{2}]のユーザー[{1}]のSSOセッション[{0}]を登録しているSSO
-singleSignOn.debug.removeSession=SSOセッション[{1}]からのアプリケーションセッション[{0}]の削除
-singleSignOn.debug.sessionLogout=SSOセッション[{0}]とアプリケーションセッション[{1}]のログアウトを処理するSSO。
-singleSignOn.debug.sessionTimeout=SSOはSSOセッション[{0}]とアプリケーションセッション[{1}]のタイムアウト処理中
+singleSignOn.debug.register=SSOは認証タイプ[{2}]のユーザー[{1}]のSSOセッション[{0}]を登録しています
+singleSignOn.debug.removeSession=SSOはSSOセッション[{1}]からアプリケーションセッション[{0}]を削除しています
+singleSignOn.debug.sessionLogout=SSOはSSOセッション[{0}]とアプリケーションセッション[{1}]をログアウト処理しています
+singleSignOn.debug.sessionTimeout=SSOはSSOセッション[{0}]とアプリケーションセッション[{1}]のタイムアウトを処理しています
 singleSignOn.debug.update=SSOはSSOセッション[{0}]を認証タイプ[{1}]に更新します。
-singleSignOn.sessionExpire.contextNotFound=Contextが見つからないため、SSOはセッション[{0}]を期限切れにできません
-singleSignOn.sessionExpire.engineNull=Engine がNullだったため、SSOはセッション[{0}]を期限切れにできません。
-singleSignOn.sessionExpire.hostNotFound=ホストが見つからないため SSO セッション [{0}] を失効できません。
-singleSignOn.sessionExpire.managerError=セッションを検索するときにManagerが例外をスローしたため、SSOはセッション[{0}]を期限切れにできません
-singleSignOn.sessionExpire.managerNotFound=Managerが見つからなかったので、SSOはセッション[{0}]を期限切れにできません。
-singleSignOn.sessionExpire.sessionNotFound=セッションが見つかりませんでしたので、SSOはセッション[{0}]を期限切れにできません。
+singleSignOn.sessionExpire.contextNotFound=Contextが見つからないため、SSOはセッション[{0}]を破棄できません
+singleSignOn.sessionExpire.engineNull=Engine がNullだったため、SSOはセッション[{0}]を破棄できません。
+singleSignOn.sessionExpire.hostNotFound=ホストが見つからないため SSO セッション [{0}] を破棄できません。
+singleSignOn.sessionExpire.managerError=セッションを検索するときにManagerが例外をスローしたため、SSOはセッション[{0}]を破棄できません
+singleSignOn.sessionExpire.managerNotFound=Managerが見つからなかったので、SSOはセッション[{0}]を破棄できません。
+singleSignOn.sessionExpire.sessionNotFound=セッションが見つからないため、SSOはセッション[{0}]を破棄できません。
 
 spnegoAuthenticator.authHeaderNoToken=クライアントから受信した Negoiate 認証ヘッダにはトークンがありません。
 spnegoAuthenticator.authHeaderNotNego=クライアントから受信した認証ヘッダーは Negotiate から始まっていません。
diff --git a/java/org/apache/catalina/authenticator/jaspic/LocalStrings_ja.properties b/java/org/apache/catalina/authenticator/jaspic/LocalStrings_ja.properties
index 4e8aa50..a0266c28 100644
--- a/java/org/apache/catalina/authenticator/jaspic/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/authenticator/jaspic/LocalStrings_ja.properties
@@ -13,11 +13,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-authConfigFactoryImpl.load=[{0}]から永続的なプロバイダ登録を読み込みます。
+authConfigFactoryImpl.load=[{0}]から永続化プロバイダの登録を読み込みます。
 authConfigFactoryImpl.registerClass=アプリケーションコンテキスト [{2}] のレイヤー [{1}] にクラス [{0}] を登録します。
-authConfigFactoryImpl.registerInstance=レイヤ[{1}]とアプリケーションコンテキスト[{2}]のタイプ[{0}]のインスタンスの登録
+authConfigFactoryImpl.registerInstance=認証構成プロバイダ [{0}] のインスタンスを、レイヤ [{1}] とアプリケーションコンテキスト [{2}] に登録しています
 authConfigFactoryImpl.zeroLengthAppContext=文字列長が 0 のアプリケーションコンテキスト名は不正です。
-authConfigFactoryImpl.zeroLengthMessageLayer=長さゼロのメッセージ層名は無効です
+authConfigFactoryImpl.zeroLengthMessageLayer=長さゼロのメッセージレイヤ名は無効です
 
 callbackHandlerImpl.jaspicCallbackMissing=受信したタイプ[{0}]のサポートされていないJASPICコールバックが無視されました。
 
diff --git a/java/org/apache/catalina/connector/LocalStrings_ja.properties b/java/org/apache/catalina/connector/LocalStrings_ja.properties
index a037e3f..d94a0a9 100644
--- a/java/org/apache/catalina/connector/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/connector/LocalStrings_ja.properties
@@ -49,7 +49,7 @@ coyoteRequest.getContextPath.ise=標準的なコンテキストパス[{0}]とユ
 coyoteRequest.getInputStream.ise=getReader()はこのリクエストに対して既に呼び出されています
 coyoteRequest.getReader.ise=getInputStream()はこのリクエストに対して既に呼び出されています
 coyoteRequest.gssLifetimeFail=ユーザープリンシパル [{0}] の残りの寿命(秒単位) を取得できません。
-coyoteRequest.maxPostSizeExceeded=マルチパートリクエストには、関連するコネクタで設定されたmaxPostSizeの制限を超えたパラメータデータ(アップロードされたファイルを除く)が含まれていました。
+coyoteRequest.maxPostSizeExceeded=マルチパートリクエストには、関連付けられたコネクタで設定されたmaxPostSizeの制限を超えたパラメータデータ(アップロードされたファイルを除く)が含まれていました。
 coyoteRequest.noAsync=処理チェーン内の次のクラスが非同期をサポートしていないため、非同期を開始できません。[{0}]
 coyoteRequest.noMultipartConfig=multi-part 構成が提供されていないため、partを処理することができません
 coyoteRequest.parseParameters=POST パラメーターの処理中に例外を投げました。
@@ -78,10 +78,11 @@ inputBuffer.streamClosed=ストリームはクローズしています
 outputBuffer.writeNull=write(String, int, int) メソッドの String 型の引数に null を指定できません。
 
 request.asyncNotSupported=現在のチェーンのフィルタまたはサーブレットは非同期操作をサポートしていません。
+request.fragmentInDispatchPath=ディスパッチパス [{0}] 中のフラグメントは除去されました
 request.illegalWrap=リクエストラッパーは getRequest() で取得したリクエストをラップしなければなりません。
 request.notAsync=非同期モードではないリクエストでこのメソッドを呼び出すことはできません。(例えば isAsyncStarted() が false を返す場合)
 
-requestFacade.nullRequest=リクエストオブジェクトはリサイクルされこのファサードに関連付けられなくなりました。
+requestFacade.nullRequest=リクエストオブジェクトは回収されこのファサードに関連付けられなくなりました。
 
 response.illegalWrap=レスポンスラッパーは、getResponse()から取得したレスポンスをラップする必要があります。
 response.sendRedirectFail=[{0}] へのリダイレクトが失敗しました。
diff --git a/java/org/apache/catalina/core/LocalStrings_ja.properties b/java/org/apache/catalina/core/LocalStrings_ja.properties
index 08186de..854e055 100644
--- a/java/org/apache/catalina/core/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/core/LocalStrings_ja.properties
@@ -27,7 +27,7 @@ applicationContext.illegalDispatchPath=アプリケーションが、エンコ
 applicationContext.invalidFilterName=無効なフィルタ名[{0}]のためにフィルタ定義を追加できません。
 applicationContext.invalidServletName=不正なサーブレット名 [{0}] のため、サーブレット定義を追加できません。
 applicationContext.lookup.error=コンテキスト[{1}]でリソース[{0}]の場所を特定できませんでした。
-applicationContext.mapping.error=マッピング中のエラーです
+applicationContext.mapping.error=マッピング中のエラー
 applicationContext.requestDispatcher.iae=パス [{0}] が"/"文字で始まりません
 applicationContext.resourcePaths.iae=パス[{0}]は「/」文字で始まっていません。
 applicationContext.role.iae=コンテキスト[{0}]を宣言する個々のロールは、nullでも空の文字列でもありません。
@@ -58,11 +58,13 @@ applicationFilterConfig.release=タイプ[{1}]の名前[{0}]のフィルタを
 applicationFilterRegistration.nullInitParam=NULLの名前や値のためにフィルターの初期化パラメーターを設定できません。 名前[{0}]、値[{1}]
 applicationFilterRegistration.nullInitParams=キー [{0}] または値 [{1}] のいずれかが null のためフィルターの初期化パラメータを設定できませんでした。
 
+applicationHttpRequest.fragmentInDispatchPath=ディスパッチパス [{0}] 中のフラグメントは除去されました
+
 applicationPushBuilder.methodInvalid=プッシュリクエストの HTTP メソッドはキャッシュ可能、かつ、安全でなければなりません。[{0}] は指定できません。
 applicationPushBuilder.methodNotToken=HTTP メソッド [{0}] にトークンとして利用できない文字が含まれています。
 
-applicationServletRegistration.setServletSecurity.iae=サーブレット[{0}]に指定されたNULL制約が、名前[{1}]のコンテキストにデプロイされました
-applicationServletRegistration.setServletSecurity.ise=コンテキストが既に初期化されているため、名前[{1}]のコンテキストにデプロイされたサーブレット[{0}]にセキュリティ制約を追加できません。
+applicationServletRegistration.setServletSecurity.iae=サーブレット[{0}]に指定されたNULL制約が、名前[{1}]のコンテキストに配備されました
+applicationServletRegistration.setServletSecurity.ise=コンテキストが既に初期化されているため、名前[{1}]のコンテキストに配備されたサーブレット[{0}]にセキュリティ制約を追加できません。
 
 applicationSessionCookieConfig.ise=コンテキスト[{1}]が初期化済みなので、プロパティ[{0}]をSessionCookieConfigに追加することはできません。
 
@@ -90,7 +92,12 @@ aprListener.tooLateForSSLRandomSeed=setSSLRandomSeedできません:SSLは既
 aprListener.wrongFIPSMode=AprLifecycleListener の設定 FIPSMode に予期せぬ値 [{0}] が指定されました。
 
 asyncContextImpl.asyncDispachError=非同期ディスパッチの処理中にエラーが発生しました。
+asyncContextImpl.asyncRunnableError=AsyncContext.start() による非同期 Runnable 処理中のエラー
 asyncContextImpl.dispatchingStarted=非同期ディスパッチ操作は既に呼び出されています。 同じ非同期サイクル内の追加の非同期ディスパッチ操作は許可されません。
+asyncContextImpl.fireOnComplete=非同期リスナに onComploete() イベントを発火しました
+asyncContextImpl.fireOnError=非同期リスナに onError() イベントを発火しました
+asyncContextImpl.fireOnStartAsync=非同期リスナに onStartAsync() イベントを発火しました
+asyncContextImpl.fireOnTimeout=非同期リスナに onTimeout() イベントを発火しました
 asyncContextImpl.noAsyncDispatcher=ServletContextから返されたディスパッチャは非同期ディスパッチをサポートしていません。
 asyncContextImpl.onCompleteError=クラス [{0}] のリスナーオブジェクトで onComplete() の呼び出しに失敗しました。
 asyncContextImpl.onErrorError=クラス [{0}] のリスナーオブジェクトで onError() の呼び出しに失敗しました。
@@ -122,9 +129,9 @@ filterChain.servlet=サーブレットの実行により例外を投げました
 jreLeakListener.authPolicyFail=javax.security.auth.Policyクラスのメモリリークの防止を試みる際にエラーが発生しました。
 jreLeakListener.classToInitializeFail=Tomcat起動中に可能なメモリーリークを防止するためのクラス[{0}]をロードすることに失敗しました。
 jreLeakListener.gcDaemonFail=Tomcat の開始時に潜在的なメモリーリークを防ぐ GC デーモンスレッドの作成を開始できませんでした。Sun の JVM ではない可能性があります。
-jreLeakListener.jarUrlConnCacheFail=デフォルトでJar URL接続のキャッシュを無効にできませんでした。
+jreLeakListener.jarUrlConnCacheFail=既定でJar URL接続のキャッシュを無効にできませんでした。
 jreLeakListener.ldapPoolManagerFail=Tomcatの起動時にメモリリークを防ぐ為にcom.sun.jndi.ldap.LdapPoolManagerクラスの作成をトリガーすることができませんでした。 これはSun以外のJVMであることが予想されます。
-jreLeakListener.xmlParseFail=XML解析のメモリリークを防止しようとする際にエラーが発しました。
+jreLeakListener.xmlParseFail=XML解析中のメモリリークを防止を試行する際のエラー
 
 naming.addEnvEntry=環境変数 [{0}] を追加します。
 naming.addResourceEnvRef=リソースenv ref [{0}]を追加しています。
@@ -151,9 +158,9 @@ standardContext.configurationFail=コンテキストが正しく設定されて
 standardContext.cookieProcessor.null=コンテキストの CookieProcessor には null を指定できません。
 standardContext.duplicateListener=リスナー[{0}]は、すでにこのコンテキストに構成されています。 重複定義は無視されました。
 standardContext.errorPage.error=エラーページの位置 [{0}] は''/''で始まらなければいけません
-standardContext.errorPage.required=ErrorPageがnullではいけません
-standardContext.errorPage.warning=警告: Servlet 2.4ではエラーページの位置 [{0}] は''/''で始まらなければいけません
-standardContext.extensionValidationError=必要なアプリケーション拡張の検証中にエラーが発生しました
+standardContext.errorPage.required=ErrorPage は null に出来ません
+standardContext.errorPage.warning=警告: Servlet 2.4ではエラーページの場所 [{0}] は''/''で始まらなければいけません
+standardContext.extensionValidationError=アプリケーション拡張に必要な検証を試行中のエラー
 standardContext.filterFail=1つまたは複数のフィルタを開始できませんでした。 完全な詳細は適切なコンテナログファイルにあります。
 standardContext.filterMap.either=フィルタマッピングは<url-pattern>又は<servlet-name>のどちらかを指定しなければいけません
 standardContext.filterMap.name=フィルタマッピングは未知のフィルタ名 [{0}] を指定しました
@@ -187,7 +194,7 @@ standardContext.reloadingCompleted=このコンテキストの再ロードが完
 standardContext.reloadingStarted=このコンテキストの再ロードを開始しました
 standardContext.requestListener.requestInit=クラス [{0}] のリスナインスタンスに初期化するライフサイクルイベントのリクエストを送信中の例外です
 standardContext.resourcesInit=静的リソースの初期化エラー
-standardContext.resourcesStart=静的リソースの起動中のエラーです
+standardContext.resourcesStart=静的リソース開始中のエラー
 standardContext.resourcesStop=静的リソースの停止中のエラー
 standardContext.sciFail=ServletContainerInitializer の処理中にエラーが発生しました。
 standardContext.securityConstraint.mixHttpMethod=1つの Web リソースコレクションに <http-method> と <http-method-omission> を両方指定することはできません。
@@ -234,14 +241,14 @@ standardServer.accept.security=シャットダウンコマンドを受信する
 standardServer.accept.timeout=シャットダウンコマンドをリスンするソケットは、accept()の呼び出し後に予期しないタイムアウト[{0}]ミリ秒を経験しました。 これはバグ56684の一例ですか?
 standardServer.invalidShutdownCommand=不正なシャットダウンコマンド [{0}] を受信しました。
 standardServer.shutdownViaPort=有効なシャットダウンコマンドがシャットダウンポート経由で受信されました。 サーバーインスタンスを停止します。
-standardServer.storeConfig.contextError=コンテキスト [{0}] の構成の格納時にエラーが発生しました。
-standardServer.storeConfig.error=サーバー構成を格納できません。
+standardServer.storeConfig.contextError=コンテキスト [{0}] の構成格納中のエラー
+standardServer.storeConfig.error=サーバー構成格納中のエラー
 standardServer.storeConfig.notAvailable=StoreConfig実装は[{0}]という名前のMBeanとして登録されていないため、設定を保存することはできません。 適切なMBeanは通常StoreConfigLifecycleListenerを介して登録されます。
 
-standardService.engine.startFailed=関連するEngineの起動に失敗しました
-standardService.engine.stopFailed=関連するEngineの停止に失敗しました。
-standardService.mapperListener.startFailed=関連するMapperListenerの起動に失敗しました。
-standardService.mapperListener.stopFailed=関連するMapperListenerの停止に失敗しました。
+standardService.engine.startFailed=関連付けられたEngineの起動に失敗しました
+standardService.engine.stopFailed=関連付けられたEngineの停止に失敗しました。
+standardService.mapperListener.startFailed=関連付けられたMapperListenerの起動に失敗しました。
+standardService.mapperListener.stopFailed=関連付けられたMapperListenerの停止に失敗しました。
 standardService.start.name=サービス [{0}] を起動します
 standardService.stop.name=サービス [{0}] を停止します
 
@@ -251,7 +258,7 @@ standardWrapper.deallocateException=サーブレット [{0}] に対する例外
 standardWrapper.destroyException=サーブレット [{0}] のServlet.destroy()が例外を投げました
 standardWrapper.destroyInstance=サーブレット [{0}] の InstanceManager.destroy() が例外を送出しました。
 standardWrapper.initException=サーブレット [{0}] のServlet.init()が例外を投げました
-standardWrapper.instantiate=サーブレットクラス [{0}] を初期化中にエラーが発生しました
+standardWrapper.instantiate=サーブレットクラス [{0}] を初期化中のエラー
 standardWrapper.isUnavailable=サーブレット [{0}] は現在利用できません
 standardWrapper.notChild=Wrapper コンテナは子供のコンテナを持つことはできません
 standardWrapper.notClass=サーブレット [{0}] に指定されたサーブレットクラスがありません
@@ -264,7 +271,7 @@ standardWrapper.serviceExceptionRoot=パス[{1}]を持つコンテキスト内
 standardWrapper.unavailable=サーブレット [{0}] を利用不可能にマークします
 standardWrapper.unloadException=サーブレット [{0}] がunload()例外を投げました
 standardWrapper.unloading=サーブレット [{0}] がロードされていないので、割り当てることができません
-standardWrapper.waiting=[{0}] インスタンスが割り当て解除されるのを待っています
+standardWrapper.waiting=サーブレット [{1}] の [{0}] インスタンスが割り当て解除されるのを待機しています
 
 threadLocalLeakPreventionListener.containerEvent.error=コンテナーイベント [{0}] の処理中に例外が発生しました。
-threadLocalLeakPreventionListener.lifecycleEvent.error=ライフサイクルイベント [{0}] を処理中に例外が発生しました。
+threadLocalLeakPreventionListener.lifecycleEvent.error=ライフサイクルイベント [{0}] を処理中の例外
diff --git a/java/org/apache/catalina/filters/LocalStrings_ja.properties b/java/org/apache/catalina/filters/LocalStrings_ja.properties
index 1f6de03..11e25fe 100644
--- a/java/org/apache/catalina/filters/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/filters/LocalStrings_ja.properties
@@ -29,7 +29,7 @@ expiresFilter.exceptionProcessingParameter=構成パラメータ[{0}]:[{1}]処
 expiresFilter.expirationHeaderAlreadyDefined=レスポンスステータス[{1}]がコンテンツタイプ[{2}]のリクエスト[{0}、expirationヘッダーがすでに定義されています。
 expiresFilter.filterInitialized=設定[{0}]で初期化されたFilter
 expiresFilter.invalidDurationNumber=ディレクティブ[{1}]の無効な期間(number)[{0}]
-expiresFilter.invalidDurationUnit=  ディレクティブ[{1}]で期間ユニットが無効です。(years|months|weeks|days|hours|minutes|seconds) [{0}] \n
+expiresFilter.invalidDurationUnit=ディレクティブ [{1}] で期間の単位が無効です。(years|months|weeks|days|hours|minutes|seconds) [{0}]
 expiresFilter.noDurationFound=ディレクティブ[{0}]にDuration が見つかりません
 expiresFilter.noDurationUnitAfterAmount=ディレクティブ[{1}]のamount[{0}]の後にDuration 単位が見つかりません。
 expiresFilter.noExpirationConfigured=リクエスト [{0}] に対するレスポンスは応答コード [{1} コンテントタイプ [{2}] です。有効期限は未設定です。
@@ -42,7 +42,7 @@ expiresFilter.startingPointInvalid=ディレクティブ[{1}]の無効な開始
 expiresFilter.startingPointNotFound=ディレクティブ[{0}]に開始点(access|now|modification|a<seconds>|m<seconds>)が見つかりません
 expiresFilter.unknownParameterIgnored=値[{1}]を持つ未知のパラメータ[{0}]は無視されます!
 expiresFilter.unsupportedStartingPoint=[{0}] は未対応の開始点です。
-expiresFilter.useDefaultConfiguration=コンテンツタイプ[{1}]にデフォルト[{0}]を使用すると[{2}]が返されます。
+expiresFilter.useDefaultConfiguration=コンテンツタイプ[{1}]に既定[{0}]を使用すると[{2}]が返されます。
 expiresFilter.useMatchingConfiguration=content-type[{2}]が[{3}]を返すため、[{1}]と一致する[{0}]を使用します
 
 filterbase.noSuchProperty=[{1}]タイプのフィルタにはプロパティ[{0}]が定義されていません。
@@ -55,6 +55,8 @@ httpHeaderSecurityFilter.committed=HTTPヘッダーセキュリティフィル
 remoteCidrFilter.invalid=[{0}] に不正な値が指定されました。詳細は直前のメッセージを参照してください。
 remoteCidrFilter.noRemoteIp=クライアントは IP アドレスを持っていません。リクエストを拒否します。
 
+remoteIpFilter.invalidHostHeader=HTTP ヘッダ [{1}] 中の Host に無効な値 [{0}] が見つかりました
+remoteIpFilter.invalidHostWithPort=HTTP ヘッダ [{1}] 中の Host の値 [{0}] はポート番号を含んでいますが無視されます
 remoteIpFilter.invalidNumber=パラメータ[{0}]: [{1}]に不正な番号があります。
 
 requestFilter.deny=プロパティ [{1}] に従い  [{0}] へのリクエストを拒否しました。
diff --git a/java/org/apache/catalina/ha/deploy/LocalStrings_ja.properties b/java/org/apache/catalina/ha/deploy/LocalStrings_ja.properties
index 887abe8..46f11f4 100644
--- a/java/org/apache/catalina/ha/deploy/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/ha/deploy/LocalStrings_ja.properties
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-farmWarDeployer.alreadyDeployed=webapp [{0}]は既にデプロイされています。
+farmWarDeployer.alreadyDeployed=webapp [{0}]は既に配備されています。
 farmWarDeployer.deleteFail=[{0}] を削除できません。
 farmWarDeployer.deployEnd=[{0}]からの配備が完了しました。
 farmWarDeployer.fileCopyFail=[{0}] から [{1}] へコピーできません。
@@ -23,25 +23,25 @@ farmWarDeployer.mbeanNameFail=エンジン[{0}]とホスト[{1}]のMBeanオブ
 farmWarDeployer.modInstall=[{1}]からwebapp [{0}]をインストールしています。
 farmWarDeployer.modInstallFail=WAR ファイルをインストールできませんでした。
 farmWarDeployer.msgIoe=ファームデプロイファイルメッセージの読み取りに失敗しました。
-farmWarDeployer.msgRxDeploy=クラスタ展開パス[{0}]、WAR[{1}]を受信しました。
-farmWarDeployer.msgRxUndeploy=パス[{0}]からクラスタの展開解除を受信しました。
+farmWarDeployer.msgRxDeploy=クラスタ配備パス[{0}]、WAR[{1}]を受信しました。
+farmWarDeployer.msgRxUndeploy=パス[{0}]からクラスタの配備解除を受信しました。
 farmWarDeployer.removeFailLocal=[{0}]からのローカル削除に失敗しました
 farmWarDeployer.removeFailRemote=ローカルの [{0}] を削除できませんでした。他のマネージャーノードでサービス中です !
 farmWarDeployer.removeLocal=webapp [{0}]を削除しています
 farmWarDeployer.removeLocalFail=WAR ファイルを削除できません。
 farmWarDeployer.removeStart=Webアプリケーション[{0}]のクラスタ削除。
-farmWarDeployer.removeTxMsg=コンテキスト [{0}] からクラスターに配置解除メッセージを送信しました。
+farmWarDeployer.removeTxMsg=コンテキスト [{0}] からクラスターに配備解除メッセージを送信しました。
 farmWarDeployer.renameFail=[{0}] から [{1}] へ名前を変更できません。
-farmWarDeployer.sendEnd=クラスタWarデプロイメント パス[{0}]を送信しました。WAR[{1}]を完了しました。
+farmWarDeployer.sendEnd=クラスタWar配備 パス[{0}]を送信しました。WAR[{1}]を完了しました。
 farmWarDeployer.sendFragment=コンテキスト [{0}] の war [{1}] をクラスターメンバー [{2}] へ送信します。
-farmWarDeployer.sendStart=クラスタWar展開パス[{0}]を送信し、War[{1}]を開始しました。
+farmWarDeployer.sendStart=クラスタWar配備パス[{0}]を送信し、War[{1}]を開始しました。
 farmWarDeployer.servicingDeploy=アプリケーション [{0}] はすでにサービスを開始しています。もう一度 WAR ファイル [{1}] を更新してください。
 farmWarDeployer.servicingUndeploy=アプリケーション [{0}] はサービス中のためバックアップクラスタノードから削除できません。
 farmWarDeployer.started=クラスターの FarmWarDeployer を開始しました。
 farmWarDeployer.stopped=Cluster FarmWarDeployer が停止しました。
-farmWarDeployer.undeployEnd=コンテキスト [{0}] の配置解除が完了しました。
-farmWarDeployer.undeployLocal=ローカルコンテキスト [{0}] を配置解除します。
-farmWarDeployer.watchDir=クラスタデプロイメントの監視[{0}]が変更されています。
+farmWarDeployer.undeployEnd=コンテキスト [{0}] の配備解除が完了しました。
+farmWarDeployer.undeployLocal=ローカルコンテキスト [{0}] を配備解除します。
+farmWarDeployer.watchDir=クラスタ配備の監視[{0}]が変更されています。
 
 fileMessageFactory.cannotRead=メッセージを読むことができません。このFactoryは書き込み中です。
 fileMessageFactory.cannotWrite=メッセージを書き込めません、このFactoryは読み込み中です。
diff --git a/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties b/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties
index 232ecbe..4eee09c 100644
--- a/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties
@@ -29,7 +29,7 @@ ReplicationValve.session.indicator=Context [{0}]:リクエスト属性[{2}]の
 ReplicationValve.session.invalid=コンテキスト [{0}]: 不正なセッション [{1}] が要求されました。消去された、あるいは、このノードに複製されなかった可能性があります。
 ReplicationValve.stats=[{2}]リクエストの平均要求時間= [{0}] ms、クラスタオーバーヘッド時間= [{1}] ms、[{3}]リクエストの送信、[{4}]クロスコンテキストリクエスト、[{5} }]フィルタリクエスト(合計リクエスト= [{6}] ms、クラスタ全体リクエスト= [{7}] ms)。
 
-simpleTcpCluster.clustermanager.cloneFailed=クラスタマネージャをクローンできません。デフォルトはorg.apache.catalina.ha.session.DeltaManagerです。
+simpleTcpCluster.clustermanager.cloneFailed=クラスタマネージャをクローンできません。既定はorg.apache.catalina.ha.session.DeltaManagerです。
 simpleTcpCluster.clustermanager.notImplement=クラス [{0}] は ClusterManager を実装していません。それにクラスターはすでに停止しています。
 simpleTcpCluster.member.addFailed=レプリケーションシステムに接続できません。
 simpleTcpCluster.member.added=レプリケーションメンバーを追加しました: [{0}]
diff --git a/java/org/apache/catalina/loader/LocalStrings_ja.properties b/java/org/apache/catalina/loader/LocalStrings_ja.properties
index 1f26d0e..58fcb93 100644
--- a/java/org/apache/catalina/loader/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/loader/LocalStrings_ja.properties
@@ -13,8 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-webappClassLoader.addExportsRmi=Java 9で実行する場合は、JVMコマンドライン引数に "--add-opens = java.rmi / sun.rmi.transport = ALL-UNNAMED"を追加して、RMIターゲットメモリリーク検出を有効にする必要があります。 また、RMIターゲットメモリリーク検出を無効にすることで、この警告を抑制することも可能です。
-webappClassLoader.addExportsThreadLocal=Java 9で実行する場合は、JVMコマンドライン引数に "--add-opens = java.base / java.lang = ALL-UNNAMED"を追加して、ThreadLocalメモリリーク検出を有効にする必要があります。 また、ThreadLocalメモリリーク検出を無効にすることで、この警告を抑制することもできます。
+webappClassLoader.addExportsRmi=Java 9以降で実行する場合は、JVMコマンドライン引数に "--add-opens = java.rmi / sun.rmi.transport = ALL-UNNAMED"を追加して、RMIターゲットメモリリーク検出を有効にする必要があります。 また、RMIターゲットメモリリーク検出を無効にすることで、この警告を抑制することも可能です。
+webappClassLoader.addExportsThreadLocal=Java 9以降で実行する場合は、JVMコマンドライン引数に "--add-opens = java.base / java.lang = ALL-UNNAMED"を追加して、ThreadLocalメモリリーク検出を有効にする必要があります。 また、ThreadLocalメモリリーク検出を無効にすることで、この警告を抑制することもできます。
 webappClassLoader.addPermisionNoCanonicalFile=URL [{0}] の正規化パスを取得できません。
 webappClassLoader.addPermisionNoProtocol=URL [{1}] に含まれるプロトコル [{0}] は未対応です。この URL で参照できるリソースには読み取り権限を付与できません。
 webappClassLoader.addTransformer=Web アプリケーション [{1}] にクラスファイル変換器 [{0}] を追加しました。
@@ -40,7 +40,7 @@ webappClassLoader.jarsRemoved=Web アプリケーション [{0}] から 1 つ以
 webappClassLoader.javaseClassLoaderNull=j2seClassLoader属性はnullでない場合があります。
 webappClassLoader.jdbcRemoveFailed=Web アプリケーション [{0}] は JDBC ドライバーの登録を解除できません。
 webappClassLoader.loadedByThisOrChildFail=クラス [{0}] のインスタンスの全ての要素をチェックできませんでした。コンテキスト [{1}] でメモリーリークの発生する可能性があります。
-webappClassLoader.readError=リソースの読み込みに失敗: [{0}] が読み込めませんでした。
+webappClassLoader.readError=リソース読み込みエラー: [{0}] が読み込めませんでした。
 webappClassLoader.removeTransformer=クラスファイル変換器 [{0}] を Web アプリケーション [{1}] から削除しました。
 webappClassLoader.resourceModified=リソース [{0}] は変更されています。直前の更新日時は [{1}]、最新の更新日時は [{2}] です。
 webappClassLoader.stackTrace=Webアプリケーション[{0}]は[{1}]という名前のスレッドを開始したようですが、停止に失敗しました。 これはメモリリークを引き起こす可能性が非常に高いです。 スレッドのスタックトレース:{2}
@@ -49,8 +49,8 @@ webappClassLoader.stopThreadFail=Web アプリケーション [{1}] のスレッ
 webappClassLoader.stopTimerThreadFail=Webアプリケーション[{1}]の[{0}]という名前のTimerThreadを終了できませんでした。
 webappClassLoader.stopped=不正なアクセス: このWebアプリケーションのインスタンスは既に停止されています  Could not load [{0}]. 不正なアクセスを引き起こしたスレッドを終了させ、投げられたエラーによりデバッグ用に次のスタックトレースが生成されましたが,機能に影響はありません
 webappClassLoader.superCloseFail=基底クラスで close() の呼び出しに失敗しました。
-webappClassLoader.transformError=計測エラー:クラスファイル形式が正当でないため、クラス[{0}]を変換できませんでした。
-webappClassLoader.warnTimerThread=Web アプリケーション [{0}] が java.util.Timer API で開始した TimerThread [{1}] を停止できません。メモリーリークを防ぐにはタイマー(関連付けられたスレッドも)を強制的にキャンセルしてください。
+webappClassLoader.transformError=instrumentation エラー:クラスファイル形式が正当でないため、クラス[{0}]を変換できませんでした。
+webappClassLoader.warnTimerThread=Web アプリケーション [{0}] が java.util.Timer API で開始した TimerThread [{1}] を停止できません。メモリーリークを防ぐにはタイマー(とそれに伴って関連付けられたスレッド)を強制的にキャンセルしてください。
 webappClassLoader.wrongVersion=(クラス[{0}]をロードできません)
 
 webappClassLoaderParallel.registrationFailed=並列にクラスをロードできるorg.apache.catalina.loader.ParallelWebappClassLoaderの登録に失敗しました。
diff --git a/java/org/apache/catalina/manager/LocalStrings_ja.properties b/java/org/apache/catalina/manager/LocalStrings_ja.properties
index 662e25a..3cea8c7 100644
--- a/java/org/apache/catalina/manager/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/manager/LocalStrings_ja.properties
@@ -61,9 +61,9 @@ htmlManagerServlet.deployUploadNoFile=FAIL - ファイルのアップロード
 htmlManagerServlet.deployUploadNotWar=FAIL - アップロードするファイル [{0}] はWARファイルでなければいけません
 htmlManagerServlet.deployUploadWarExists=FAIL - WARファイル [{0}] は既にサーバ上に存在します
 htmlManagerServlet.deployWar=WARファイル又はディレクトリのURL:
-htmlManagerServlet.diagnosticsLeak=Web アプリケーションの停止や再読み込み、配置解除でメモリーリークが発生しているか確認します。
+htmlManagerServlet.diagnosticsLeak=Web アプリケーションの停止や再読み込み、配備解除でメモリーリークが発生しているか確認します。
 htmlManagerServlet.diagnosticsLeakButton=メモリリーク発見
-htmlManagerServlet.diagnosticsLeakWarning=この診断チェックにより、Fill GCがトリガーされます。 プロダクションシステムには非常に注意して使用してください。
+htmlManagerServlet.diagnosticsLeakWarning=この診断チェックにより、Full GCがトリガーされます。本番システムには非常に注意して使用してください。
 htmlManagerServlet.diagnosticsSsl=TLSコネクタ構成の診断
 htmlManagerServlet.diagnosticsSslConnectorCertsButton=証明書
 htmlManagerServlet.diagnosticsSslConnectorCertsText=設定済みのTLS仮想ホストとそれぞれの証明書チェーンを一覧表示します。
@@ -77,7 +77,7 @@ htmlManagerServlet.expire.unit=分
 htmlManagerServlet.findleaksList=次のWebアプリケーションは停止しました(再ロード、アンデプロイ)。\n\
 以前の起動からのクラスはまだメモリにロードされているため、メモリ\n\
 リークを引き起こします。(確認のためにプロファイラを使用して下さい):
-htmlManagerServlet.findleaksNone=停止、再読み込み読み込み、配置解除によりメモリーリークの発生した Web アプリケーションはありません。
+htmlManagerServlet.findleaksNone=停止、再読み込み、配備解除によりメモリーリークの発生した Web アプリケーションはありません。
 htmlManagerServlet.helpHtmlManager=HTMLマネージャヘルプ
 htmlManagerServlet.helpHtmlManagerFile=../docs/html-manager-howto.html
 htmlManagerServlet.helpManager=マネージャヘルプ
@@ -114,16 +114,19 @@ htmlManagerServlet.serverTitle=サーバ情報
 htmlManagerServlet.serverVersion=Tomcatバージョン
 htmlManagerServlet.title=Tomcat Webアプリケーションマネージャ
 
+jmxProxyServlet.noBeanFound=オブジェクト名 [{0}] の MBean が見つかりません
+jmxProxyServlet.noOperationOnBean=クラス名 [{3}]、オブジェクト名 [{2}] の MBean で引数が [{1}] 個の操作 [{0}] が見つかりません
+
 managerServlet.alreadyContext=FAIL - アプリケーションは、既にパス [{0}] に存在します
 managerServlet.certsNotAvailable=実行時にこのコネクタから証明書情報を取得できません。
 managerServlet.deleteFail=FAIL  -  [{0}]を削除できません。 このファイルが継続して存在すると、問題が発生する可能性があります。
 managerServlet.deployFailed=FAIL - コンテキストパス [{0}] にアプリケーションを配備できません。
 managerServlet.deployed=OK - コンテキストパス [{0}] でアプリケーションを配備しました
-managerServlet.deployedButNotStarted=FAIL  - コンテキストパス[{0}]にアプリケーションをデプロイしましたが、コンテキストを開始できませんでした。
+managerServlet.deployedButNotStarted=FAIL  - コンテキストパス[{0}]にアプリケーションを配備しましたが、コンテキストを開始できませんでした。
 managerServlet.exception=FAIL - 例外 [{0}] が発生しました
 managerServlet.findleaksFail=FAIL - リークを検出できません。Hostは StandardHost のインスタンスめはありません。
 managerServlet.findleaksList=OK - 次のアプリケーションで潜在的なメモリリークが見つかりました:
-managerServlet.findleaksNone=OK - メモリリークは見つかりません
+managerServlet.findleaksNone=OK - メモリリークは見つかりませんでした
 managerServlet.inService=FAIL - アプリケーション [{0}] はすでにサービスを開始しています。
 managerServlet.invalidCommand=FAIL  - コマンド[{0}]に無効なパラメータが指定されました
 managerServlet.invalidPath=FAIL - 無効なコンテキストパス [{0}] が指定されました
@@ -147,6 +150,7 @@ managerServlet.resourcesType=OK - タイプ [{0}] のグローバルリソース
 managerServlet.saveFail=FAIL - 設定の保存に失敗しました: [{0}]
 managerServlet.saved=OK - サーバの設定を保存しました
 managerServlet.savedContext=OK - コンテキスト [{0}] の設定を保存しました
+managerServlet.savedContextFail=FAIL - コンテキスト [{0}] の構成を保存できませんでした
 managerServlet.serverInfo=OK - サーバー情報\n\
 Tomcatバージョン:[{0}]\n\
 OS名:[{1}]\n\
@@ -154,7 +158,7 @@ OSバージョン:[{2}]\n\
 OSアーキテクチャ:[{3}]\n\
 JVMバージョン:[{4}]\n\
 JVMベンダー:[{5}]
-managerServlet.sessiondefaultmax=デフォルトの最大セッション停止間隔は[{0}]分です
+managerServlet.sessiondefaultmax=既定の最大セッション非活性時間は[{0}]分です
 managerServlet.sessions=OK - コンテキストパス [{0}] のアプリケーションのセッション情報です
 managerServlet.sessiontimeout=[{0}]分: [{1}]セッション
 managerServlet.sessiontimeout.expired=[{0}]分: expired [{1}]セッション
@@ -162,8 +166,8 @@ managerServlet.sessiontimeout.unlimited=unlimited 分: [{0}]セッション
 managerServlet.sslConnectorCerts=OK - コネクタ/証明書チェーンの情報
 managerServlet.sslConnectorCiphers=OK - Connector/ SSL暗号情報
 managerServlet.sslConnectorTrustedCerts=OK - コネクタ/信頼された証明書情報
-managerServlet.sslReload=OK - [{0}]のリロードされたTLS設定
-managerServlet.sslReloadAll=OK - すべてのTLS仮想ホストのリロードされたTLS設定
+managerServlet.sslReload=OK - [{0}]のTLS構成をリロードしました
+managerServlet.sslReloadAll=OK - すべてのTLS仮想ホストのTLS構成をリロードしました
 managerServlet.sslReloadFail=FAIL  -  TLS設定を再ロードできませんでした
 managerServlet.startFailed=FAIL - コンテキストパス [{0}] のアプリケーションが起動できません
 managerServlet.started=OK - コンテキストパス [{0}] でアプリケーションを起動しました
diff --git a/java/org/apache/catalina/manager/host/LocalStrings_ja.properties b/java/org/apache/catalina/manager/host/LocalStrings_ja.properties
index b6ac16c..4eb6414 100644
--- a/java/org/apache/catalina/manager/host/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/manager/host/LocalStrings_ja.properties
@@ -42,15 +42,15 @@ hostManagerServlet.removeFailed=FAIL - Host [{0}] を削除できません。
 hostManagerServlet.removeSuccess=OK  - ホスト[{0}]を削除しました
 hostManagerServlet.start=開始:名前[{0}]のホストを起動しています
 hostManagerServlet.startFailed=FAIL  - ホスト[{0}]の起動に失敗しました
-hostManagerServlet.started=OK - Host [{0}] を開始しました。
+hostManagerServlet.started=OK - ホスト[{0}] を開始しました。
 hostManagerServlet.stop=停止:名前[{0}]のホストを停止しています
 hostManagerServlet.stopFailed=FAIL- ホスト [{0}] を停止できません。
-hostManagerServlet.stopped=OK - Host[{0}]が停止しました
+hostManagerServlet.stopped=OK - ホスト[{0}]が停止しました
 hostManagerServlet.unknownCommand=FAIL  - 不明なコマンド[{0}]
 
 htmlHostManagerServlet.addAliases=エイリアス:
 htmlHostManagerServlet.addAppBase=App base:
-htmlHostManagerServlet.addAutoDeploy=自動デプロイ
+htmlHostManagerServlet.addAutoDeploy=自動配備
 htmlHostManagerServlet.addButton=追加
 htmlHostManagerServlet.addCopyXML=CopyXML
 htmlHostManagerServlet.addDeployOnStartup=DeployOnStartup
diff --git a/java/org/apache/catalina/mapper/LocalStrings_ja.properties b/java/org/apache/catalina/mapper/LocalStrings_ja.properties
index b2bbb99..fb3f5bf 100644
--- a/java/org/apache/catalina/mapper/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/mapper/LocalStrings_ja.properties
@@ -25,7 +25,7 @@ mapperListener.pauseContext=コンテキスト[{0}]をサービス[{1}]のため
 mapperListener.registerContext=コンテキスト [{0}] にサービス [{1}] を登録します。
 mapperListener.registerHost=サービス[{2}]のドメイン[{1}]にホスト[{0}]を登録
 mapperListener.registerWrapper=サービス [{2}] のコンテキスト [{1}] にラッパー [{0}] を登録しました。
-mapperListener.unknownDefaultHost=サービス [{1}] にデフォルトホスト [{0}] は存在しません。Tomcat はホスト名を指定しない HTTP/1.0 のリクエストを処理できません。
+mapperListener.unknownDefaultHost=サービス [{1}] に既定ホスト [{0}] は存在しません。Tomcat はホスト名を指定しない HTTP/1.0 のリクエストを処理できません。
 mapperListener.unregisterContext=サービス[{1}]のコンテキスト[{0}]の登録を解除します。
 mapperListener.unregisterHost=サービス[{2}]のドメイン[{1}]のホスト[{0}]の登録を解除します。
 mapperListener.unregisterWrapper=サービス[{2}]のContext [{1}]のWrapper [{0}]の登録を解除します。
diff --git a/java/org/apache/catalina/realm/LocalStrings_ja.properties b/java/org/apache/catalina/realm/LocalStrings_ja.properties
index c500b91..6cf1450 100644
--- a/java/org/apache/catalina/realm/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/realm/LocalStrings_ja.properties
@@ -20,6 +20,7 @@ combinedRealm.authSuccess=レルム [{1}] でユーザー [{0}] を認証しま
 combinedRealm.getPassword=getPassword() メソッドを呼び出してはいけません。
 combinedRealm.getPrincipal=getPrincipal()メソッドは決して呼び出されるべきではありません。
 combinedRealm.realmStartFail=Realm[{0}]の開始に失敗しました。
+combinedRealm.setCredentialHandler=資格情報ハンドラが複合レルム(またはそのサブクラス)のインスタンスで設定されましたが、複合レルムは資格情報ハンドラを使用するように構成されていません。構成が誤っていませんか?
 combinedRealm.unexpectedMethod=Combined Realmについて予期せぬメソッド呼び出しが発生しました。
 
 credentialHandler.invalidStoredCredential=ユーザ提供の資格情報とマッチするためにRealm によって提供された無効な格納された資格情報文字列[[{0}]
@@ -28,8 +29,8 @@ dataSourceRealm.authenticateFailure=ユーザ名 [{0}] は認証に失敗しま
 dataSourceRealm.authenticateSuccess=ユーザ名 [{0}] は認証に成功しました
 dataSourceRealm.close=データベース接続をクローズ中の例外です
 dataSourceRealm.exception=認証を実行中の例外です
-dataSourceRealm.getPassword.exception=[{0}] のパスワードを取得中に異常が発生しました。
-dataSourceRealm.getRoles.exception=[{0}] のロールを取得する途中で例外が発生しました。
+dataSourceRealm.getPassword.exception=[{0}] のパスワードを取得中に例外が発生しました。
+dataSourceRealm.getRoles.exception=[{0}] のロールを取得中に例外が発生しました。
 
 jaasCallback.username=返されたユーザー名[{0}]
 
@@ -44,7 +45,7 @@ jaasRealm.loginContextCreated=ユーザー名[{0}]用に作成されたJAAS Logi
 jaasRealm.loginException=ユーザ名 [{0}] の認証中にログイン例外が発生しました
 jaasRealm.rolePrincipalAdd=このユーザープリンシパルロールにロールプリンシパル[{0}]を追加
 jaasRealm.rolePrincipalFailure=有効な役割はありません。
-jaasRealm.unexpectedError=予測しないエラーです
+jaasRealm.unexpectedError=予期せぬエラー
 jaasRealm.userPrincipalFailure=有効なユーザープリンシパルが見つかりません。
 jaasRealm.userPrincipalSuccess=プリンシパル[{0}]は有効なユーザークラスです。 これをユーザープリンシパルとして使用します。
 
@@ -59,7 +60,7 @@ jndiRealm.authenticateFailure=ユーザ名 [{0}] は認証に失敗しました
 jndiRealm.authenticateSuccess=ユーザ名 [{0}] は認証に成功しました
 jndiRealm.cipherSuites=TLS 接続で暗号スイート [{0}] を有効化しました。
 jndiRealm.close=ディレクトリサーバ接続クローズ中の例外です
-jndiRealm.emptyCipherSuites=指定された暗号スイートの空の文字列。 デフォルトの暗号スイートを使用します。
+jndiRealm.emptyCipherSuites=指定された暗号スイートの空の文字列。 既定の暗号スイートを使用します。
 jndiRealm.exception=認証実行中の例外です
 jndiRealm.exception.retry=認証中に例外が発生しました。再試行します。
 jndiRealm.invalidHostnameVerifier=[{0}]はHostnameVerifierの有効なクラス名ではありません。
@@ -89,8 +90,9 @@ realmBase.authenticateSuccess=ユーザ名 [{0}] は認証に成功しました
 realmBase.cannotGetRoles=プリンシパル[{0}]からロールを取得できません
 realmBase.createUsernameRetriever.ClassCastException=クラス[{0}]はX509UsernameRetrieverではありません。
 realmBase.createUsernameRetriever.newInstance=タイプ[{0}]のオブジェクトを作成できません。
+realmBase.credentialNotDelegated=ユーザ [{0}] の資格情報は委任されていませんが、保存が要求されました。
 realmBase.delegatedCredentialFail=ユーザー[{0}]の委任された資格情報を取得できません
-realmBase.digest=ユーザの証明書のダイジェストエラー
+realmBase.digest=ユーザ証明書のダイジェストエラー
 realmBase.forbidden=要求されたリソースへのアクセスが拒否されました
 realmBase.gotX509Username=X509証明書のユーザー名を取得しました:[{0}]
 realmBase.gssContextNotEstablished=Authenticator 実装エラー:渡されたセキュリティコンテキストが完全に確立されていません。
diff --git a/java/org/apache/catalina/security/LocalStrings_ja.properties b/java/org/apache/catalina/security/LocalStrings_ja.properties
index 9c69f68..9406d11 100644
--- a/java/org/apache/catalina/security/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/security/LocalStrings_ja.properties
@@ -17,6 +17,6 @@ SecurityListener.checkUmaskFail=[{0}]のumask設定で開始しようとしま
 SecurityListener.checkUmaskNone=システムプロパティ[{0}]にumask設定が見つかりませんでした。 しかし、Tomcatはumaskをサポートするプラットフォームで動作しているようです。 システムプロパティは通常、CATALINA_HOME/bin/catalina.shに設定されます。 ライフサイクルリスナーのorg.apache.catalina.security.SecurityListener(通常はCATALINA_BASE/conf/server.xmlに設定されています)では、少なくとも[{1}]と同じくらい拘束されたumaskが必要です。
 SecurityListener.checkUmaskParseFail=値[{0}]を有効なumaskとして解析できませんでした。
 SecurityListener.checkUmaskSkip=umask を取得できません。Tomcat を Windows で実行するときは umask をチェックしません。
-SecurityListener.checkUserWarning=ユーザー[{0}]として実行中に開始しようとしました。 このユーザーでTomcatを実行するとがライフサイクルリスナーorg.apache.catalina.security.SecurityListener(通常はCATALINA_BASE/conf /server.xmlで構成されている)によってブロックされています。
+SecurityListener.checkUserWarning=ユーザー[{0}]として実行中に開始しようとしました。 このユーザーでのTomcatの実行はライフサイクルリスナーorg.apache.catalina.security.SecurityListener(通常はCATALINA_BASE/conf /server.xmlで構成されている)によってブロックされています。
 
 SecurityUtil.doAsPrivilege=PrivilegedExceptionActionブロックを実行中に例外が発生しました。
diff --git a/java/org/apache/catalina/servlets/LocalStrings_ja.properties b/java/org/apache/catalina/servlets/LocalStrings_ja.properties
index d6c380d..bc7e932 100644
--- a/java/org/apache/catalina/servlets/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/servlets/LocalStrings_ja.properties
@@ -23,6 +23,8 @@ cgiServlet.expandOk=パス[{0}]の[{1}]に展開されたスクリプト
 cgiServlet.find.found=見つかったCGI:名前[{0}]、パス[{1}]、スクリプト名[{2}]、CGI名[{3}]
 cgiServlet.find.location=ファイル [{0}] を探しています。
 cgiServlet.find.path=パス[{0}]でCGIロケーション[{1}]に対して相対的に要求されたCGIスクリプト
+cgiServlet.invalidArgumentDecoded=デコードされたコマンドライン引数 [{0}] は、構成されたcmdLineArgumentsDecoded パターン [{1}] にマッチしません
+cgiServlet.invalidArgumentEncoded=エンコードされたコマンドライン引数 [{0}] は、構成されたcmdLineArgumentsEncoded パターン [{1}] にマッチしません
 cgiServlet.runBadHeader=悪いヘッダライン [{0}]
 cgiServlet.runFail=CGI処理中のIO問題
 cgiServlet.runHeaderReaderFail=ヘッダーリーダーを閉じる時のI / O問題
@@ -33,9 +35,9 @@ cgiServlet.runStdErr=標準エラー 行:[{0}]
 cgiServlet.runStdErrCount=stderrの[{0}]行を受信しました。
 cgiServlet.runStdErrFail=stderrでI/O問題
 
-defaultServlet.blockExternalEntity=publicId [{0}]およびsystemId [{0}]を持つ外部エンティティへのブロックされたアクセス
+defaultServlet.blockExternalEntity=publicId [{0}]およびsystemId [{0}]を持つ外部エンティティへのアクセスがブロックされました
 defaultServlet.blockExternalEntity2=外部エンティティへのアクセスを抑止しました。エンティティ名 [{0}]、publicId [{1}]、ベースURI [{2}]、systemId  [{3}]
-defaultServlet.blockExternalSubset=名前[{0}]およびベースURI [{1}]を持つ外部サブセットへのブロックされたアクセス
+defaultServlet.blockExternalSubset=名前[{0}]およびベースURI [{1}]を持つ外部サブセットへのアクセスがブロックされました
 defaultServlet.missingResource=要求されたリソース [{0}] は利用できません。
 defaultServlet.noResources=静的リソースが見つかりません。
 defaultServlet.readerCloseFailed=readerのクローズに失敗しました
diff --git a/java/org/apache/catalina/session/LocalStrings_ja.properties b/java/org/apache/catalina/session/LocalStrings_ja.properties
index 1bd78f5..64a670b 100644
--- a/java/org/apache/catalina/session/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/session/LocalStrings_ja.properties
@@ -19,7 +19,7 @@ JDBCStore.checkConnectionDBClosed=データベース接続がnullであるか、
 JDBCStore.checkConnectionDBReOpenFail=データベースの再オープンが失敗しました。データベースがダウンしているかもしれません。
 JDBCStore.checkConnectionSQLException=SQL例外が発生しました [{0}]
 JDBCStore.close=データベース接続 [{0}] をクローズ中の例外です
-JDBCStore.commitSQLException=クローズする前に接続をコミットするSQLException
+JDBCStore.commitSQLException=クローズ前のデータベース接続のコミット中にSQL例外が発生しました
 JDBCStore.loading=セッション [{0}] をデータベース [{1}] からロードします
 JDBCStore.missingDataSourceName=指定された JNDI 名は正常ではありません
 JDBCStore.removing=セッション [{0}] をデータベース [{1}] から削除します
@@ -43,10 +43,15 @@ managerBase.sessionTimeout=無効なセッションタイムアウト設定で
 managerBase.setContextNotNew=NEW 状態ではないマネージャーに関連付けられた Context を変更するために setContext() を呼び出すことは禁止されています。
 
 persistentManager.backupMaxIdle=[{1}]秒間アイドルしているセッション [{0}] を保存するためにバックアップしています
-persistentManager.deserializeError=セッション [{0}] をデシリアライズ中のエラーです。
-persistentManager.loading=[{0}] の持続されたセッションをロードします
+persistentManager.deserializeError=セッション [{0}] をデシリアライズ中のエラー
+persistentManager.isLoadedError=セッション [{0}] がメモリーに読み込み済みかチェック中のエラー
+persistentManager.loading=[{0}] の永続化セッションをロードします
+persistentManager.removeError=ストアからセッション[{0}]削除中のエラー
 persistentManager.serializeError=セッション [{0}] をシリアライズ中のエラーです: [{1}]
+persistentManager.storeClearError=ストア上の全セッション消去中のエラー
 persistentManager.storeKeysException=セッションストアからセッションIDのリストを取得できませんでした。セッションストアが空の可能性があります。
+persistentManager.storeLoadError=ストアからのセッションスワップイン中のエラー
+persistentManager.storeLoadKeysError=データストアからセッションキーを読み込み中のエラー
 persistentManager.storeSizeException=セッションストアに格納しているセッションの総数を確認できなかったため、セッションストアは空になっているものとして扱います。
 persistentManager.swapIn=セッション [{0}] をスワップインしています
 persistentManager.swapInException=スワップイン時のストア内の例外:[{0}]
@@ -54,10 +59,10 @@ persistentManager.swapInInvalid=スワップしたセッション [{0}] は不
 persistentManager.swapMaxIdle=[{1}]秒間アイドルしているセッション [{0}] を保存するためにスワップしています
 persistentManager.swapTooManyActive=セッションが多すぎるので、[{1}]秒アイドルしているセッション [{0}] をスワップアウトします
 persistentManager.tooManyActive=アクティブセッションが多すぎます、[{0}]、スワップアウトするためにアイドルセッションを探しています
-persistentManager.unloading=[{0}] の持続されたセッションを保存します
+persistentManager.unloading=[{0}] の永続化セッションを保存します
 
 standardManager.deletePersistedFileFail=永続化セッションを読み込んだ [{0}] を削減できません。ファイルが残っていると将来セッションの永続化に失敗する可能性があります。
-standardManager.loading=[{0}] から持続されたセッションをロードしています
+standardManager.loading=[{0}] から永続化セッションをロードしています
 standardManager.loading.exception=持続されたセッションをロード中にExceptionが発生しました
 standardManager.managerLoad=永続記憶装置からセッションをロード中の例外です
 standardManager.managerUnload=永続記憶装置にセッションをアンロード中の例外です
@@ -79,6 +84,8 @@ standardSession.isNew.ise=isNew: セッションは既に無効化されてい
 standardSession.logoutfail=有効期限を超過したセッションからユーザーがログアウトする時、例外が発生しました。
 standardSession.notDeserializable=セッション[{1}]のセッション属性[{0}]をデシリアライズできません。
 standardSession.notSerializable=セッション [{1}] のためにセッション属性 [{0}] をシリアライズできません
+standardSession.principalNotDeserializable=セッション [{0}] のプリンシパルオブジェクトをデシリアライズできません
+standardSession.principalNotSerializable=セッション [{0}] のプリンシパルオブジェクトをシリアライズできません
 standardSession.removeAttribute.ise=removeAttribute: セッションは既に無効化されています
 standardSession.sessionEvent=セッションイベントリスナが例外を投げました
 standardSession.setAttribute.iae=setAttribute: シリアライズできない属性です
diff --git a/java/org/apache/catalina/startup/LocalStrings_ja.properties b/java/org/apache/catalina/startup/LocalStrings_ja.properties
index 3057730..ee9f4ad 100644
--- a/java/org/apache/catalina/startup/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_ja.properties
@@ -22,9 +22,9 @@ catalina.stopServer=シャットダウンポートが設定されていません
 connector.noSetExecutor=Connector {0}]は外部エグゼキュータをサポートしていません。 メソッドsetExecutor(java.util.concurrent.Executor)が見つかりません。
 connector.noSetSSLImplementationName=コネクター [{0}] は SSL 実装の変更に対応していません。setSslImplementationName(String) メソッドがありません。
 
-contextConfig.altDDNotFound=代替デプロイメントデスクリプタファイル [{0}] が見つかりません。
-contextConfig.annotationsStackOverflow=StackOverflowErrorのため、Webアプリケーション[{0}]のアノテーションのスキャンを完了できません。 考えられる根本的な原因には、-Xssおよび不正な循環継承の依存関係の設定が低すぎます。 処理されるクラス階層は[{1}]でした。
-contextConfig.applicationMissing=アプリケーションのweb.xmlが見つかりません、デフォルトだけを使用します
+contextConfig.altDDNotFound=代替配備記述子ファイル [{0}] が見つかりません。
+contextConfig.annotationsStackOverflow=StackOverflowErrorのため、Webアプリケーション[{0}]のアノテーションのスキャンを完了できません。考えられる根本的な原因には、-Xssの設定が低すぎる事や不正な循環継承が考えられます。 処理中のクラス階層は[{1}]でした。
+contextConfig.applicationMissing=アプリケーションのweb.xmlが見つかりません、既定値のみを使用します
 contextConfig.applicationParse=アプリケーションのweb.xmlファイル [{0}] の解析エラーです
 contextConfig.applicationPosition=[{0}]行の[{1}]列目で発生しました
 contextConfig.applicationStart=アプリケーションのweb.xml [{0}] を解析します。
@@ -38,8 +38,8 @@ contextConfig.cce=ライフサイクルイベントデータオブジェクト [
 contextConfig.contextClose=context.xmlを閉じる際のエラー
 contextConfig.contextMissing=context.xml が見つかりません: [{0}]
 contextConfig.contextParse=[{0}]のcontext.xmlの解析エラー
-contextConfig.defaultError=[{1}]で[{0}]という名前のデフォルトweb.xmlの処理でエラーが発生しました
-contextConfig.defaultMissing=共通 web.xml が見つかりません。
+contextConfig.defaultError=[{1}]で[{0}]という名前の既定web.xmlの処理でエラーが発生しました
+contextConfig.defaultMissing=グローバル web.xml が見つかりません。
 contextConfig.defaultPosition=[{0}]行の[{1}]列目で発生しました
 contextConfig.destroy=ContextConfig:破棄中
 contextConfig.fileUrl=URL [{0}] のファイルオブジェクトを作成できません。
@@ -65,7 +65,7 @@ contextConfig.sci.info=[{0}]に対してServletContainerInitializerを処理で
 contextConfig.servletContainerInitializerFail=名前[{0}]のコンテキストのServletContainerInitializersの検出に失敗しました。
 contextConfig.start=ContextConfig: 処理を開始します
 contextConfig.stop=ContextConfig: 処理を停止します
-contextConfig.unavailable=前のエラーのためにこのアプリケーションは利用できないようにマークします
+contextConfig.unavailable=以前のエラーのためにこのアプリケーションは利用できないようにマークします
 contextConfig.unknownUrlProtocol=アノテーション処理中にURLプロトコル[{0}]が認識されませんでした。 URL [{1}]は無視されました。
 contextConfig.urlPatternValue=urlPatterns属性とvalue属性の両方が、クラス[{1}]の[{0}]アノテーションに対して設定されています。
 contextConfig.xmlSettings=Context[{0}]は、validation:[{1}]およびnamespaceAware:[{2}]を使用してweb.xmlおよびweb-fragment.xmlファイルを解析します
@@ -76,43 +76,44 @@ engineConfig.cce=ライフサイクルイベントデータオブジェクト [{
 engineConfig.start=EngineConfig: 処理を開始します
 engineConfig.stop=EngineConfig: 処理を停止します
 
-expandWar.copy=[{0}] から [{1}] へのコピーエラー。
+expandWar.copy=[{0}] から [{1}] へのコピー中のエラー
 expandWar.createFailed=ディレクトリ [{0}] を作成できません。
 expandWar.createFileFailed=ファイル[{0}]を作成できません。
 expandWar.deleteFailed=[{0}] を削除できません。残ったファイルにより問題が生じるかもしれません。
-expandWar.deleteOld=WAR ファイルと最終更新日時の異なる WAR ファイルを展開したディレクトリ [{0}] が見つかりました。削除します。
+expandWar.deleteOld=関連付けられた WAR ファイルと最終更新日時の異なる展開先ディレクトリ [{0}] が見つかりました。削除します。
 expandWar.illegalPath=アーカイブ[{0}]は形式が正しくないため無視されます:定義されたdocBase [{3}]の外にあるので、[{2}]に拡張されていない不正なパス[{1}]がエントリに含まれています。
 expandWar.lastModifiedFailed=[{0}] に最終更新時刻を設定できません。
 expandWar.missingJarEntry=JarEntry [{0}] の入力ストリームを取得できません。WAR ファイルが破損している可能性があります。
 
 failedContext.start=グローバル、ホスト単位またはコンテキスト固有のcontext.xmlファイルの処理に失敗しました。したがって、コンテキスト[{0}]を開始できません。
 
-hostConfig.appBase=ホスト [{0}] のアプリケーション基本ディレクトリ [{1}] は存在しないかディレクトリではありません。デプロイメントエラーを防ぐため deployOnStartUp および autoDeploy は false に設定しました。他のエラーが発生するかもしれません。
-hostConfig.canonicalizing=[{1}] の配置解除中に [{0}] の正規化パスを取得できませんでした。
+hostConfig.appBase=ホスト [{0}] のアプリケーションベースディレクトリ [{1}] は存在しないかディレクトリではありません。デプロイメントエラーを防ぐため deployOnStartUp および autoDeploy は false に設定しました。他のエラーは引き続き発生するかもしれません。
+hostConfig.canonicalizing=[{1}] の配備解除中に [{0}] の正規化パスを取得できませんでした。
 hostConfig.cce=ライフサイクルイベントデータオブジェクト [{0}] はホストではありません
 hostConfig.context.remove=コンテキスト [{0}] の削除中に異常が発生しました。
-hostConfig.context.restart=コンテキスト [{0}] を再起動中のエラーです
+hostConfig.context.restart=コンテキスト [{0}] を再起動中のエラー
 hostConfig.createDirs=配備用のディレクトリを作成できません:[{0}]
-hostConfig.deploy.error=Webアプリケーションディレクトリ[{0}]を展開中に例外が発生しました。
-hostConfig.deployDescriptor=設定記述子 [{0}] を配備します
-hostConfig.deployDescriptor.blocked=コンテキストパス[{0}]を持つWebアプリケーションは、アプリケーションのセキュアな配備に必要な設定が含まれている可能性があるが、このホストのdeployXML設定によって配備記述子の処理が妨げられる配備記述子[{1}]が含まれていたためデプロイされていません。このアプリケーションを配備するには、[{2}]に適切な記述子を作成する必要があります。\n
-hostConfig.deployDescriptor.error=設定記述子 [{0}] を配備中のエラーです
-hostConfig.deployDescriptor.finished=展開記述子[{0}]の展開が[{1}] msで終了しました。
+hostConfig.deploy.error=Webアプリケーションディレクトリ[{0}]の配備中の例外
+hostConfig.deployDescriptor=配備記述子 [{0}] を配備します
+hostConfig.deployDescriptor.blocked=コンテキストパス[{0}]を持つWebアプリケーションは、アプリケーションのセキュアな配備に必要な設定が含まれている可能性がありますが、このホストのdeployXML設定によって処理が妨げられる配備記述子[{1}]が含まれていたため配備されていません。このアプリケーションを配備するには、[{2}]に適切な記述子を作成する必要があります。
+hostConfig.deployDescriptor.error=配備記述子 [{0}] を配備中のエラーです
+hostConfig.deployDescriptor.finished=配備記述子[{0}]の展開が[{1}] msで終了しました。
 hostConfig.deployDescriptor.localDocBaseSpecified=docBase [{0}] はホストの appBase に含まれるため無視します。
-hostConfig.deployDescriptor.threaded.error=デプロイメント記述子のマルチスレッドデプロイメントが完了するのを待つエラー
+hostConfig.deployDescriptor.threaded.error=デプロイメント記述子のマルチスレッド配備の完了待機中のエラー
 hostConfig.deployDir=Webアプリケーションディレクトリ [{0}] を配備します
-hostConfig.deployDir.error=Webアプリケーションディレクトリ [{0}] を配備中のエラーです
-hostConfig.deployDir.finished=ディレクトリ [{0}] の Web アプリケーションの配置は [{1}] ms で完了しました。
-hostConfig.deployDir.threaded.error=マルチスレッドで行っているディレクトリの配置完了を待機中に異常が発生しました。
+hostConfig.deployDir.error=Webアプリケーションディレクトリ [{0}] を配備中のエラー
+hostConfig.deployDir.finished=ディレクトリ [{0}] の Web アプリケーションの配備は [{1}] ms で完了しました。
+hostConfig.deployDir.threaded.error=ディレクトリのマルチスレッド配備の\n\
+完了待機中のエラー
 hostConfig.deployWar=Webアプリケーションアーカイブ [{0}] を配備します
-hostConfig.deployWar.error=Webアプリケーションアーカイブ [{0}] を配備中のエラーです
-hostConfig.deployWar.finished=Web アプリケーションアーカイブ [{0}] の配置は [{1}] ms で完了しました。
+hostConfig.deployWar.error=Webアプリケーションアーカイブ [{0}] を配備中のエラー
+hostConfig.deployWar.finished=Web アプリケーションアーカイブ [{0}] の配備は [{1}] ms で完了しました。
 hostConfig.deployWar.hiddenDir=WAR [{1}]が優先され、unpackWARsがfalseであるため、ディレクトリ[{0}]は無視されます。
-hostConfig.deployWar.threaded.error=WARファイルのマルチスレッド・デプロイメントが完了するまでの待機中のエラー
-hostConfig.deploying=発見されたWebアプリケーションの展開
+hostConfig.deployWar.threaded.error=WARファイルのマルチスレッド配備の完了待機中のエラー
+hostConfig.deploying=発見されたWebアプリケーションの配備
 hostConfig.docBaseUrlInvalid=docBase に指定された文字列は URL として解釈できません。
 hostConfig.expand=Web アプリケーションアーカイブ [{0}] を展開します。
-hostConfig.expand.error=Web アプリケーションアーカイヴ [{0}] の展開中に異常が発生しました。
+hostConfig.expand.error=Web アプリケーションアーカイブ [{0}] の展開中に異常が発生しました。
 hostConfig.ignorePath=自動デプロイでは appBase 内のパス [{0}] を無視します。
 hostConfig.illegalWarName=War名[{0}]は無効です。 アーカイブは無視されます。
 hostConfig.jmx.register=コンテキスト[{0}]を登録できませんでした
@@ -122,7 +123,7 @@ hostConfig.resourceNotAbsolute=[{1}] は完全パスではないためコンテ
 hostConfig.start=HostConfig: 処理を停止します
 hostConfig.stop=HostConfig: 処理を停止します
 hostConfig.undeploy=コンテキストパス [{0}] のWebアプリケーションの配備を解除します
-hostConfig.undeployVersion=コンテキスト [{0}] について有効なセッションの存在しない古いバージョンの配置を解除します。
+hostConfig.undeployVersion=コンテキスト [{0}] について有効なセッションの存在しない古いバージョンの配備を解除します。
 
 passwdUserDatabase.readFail=/etc/passwd から全てのユーザーセットを取得できませんでした。
 
@@ -130,13 +131,14 @@ tomcat.addWebapp.conflictChild=コンテキスト [{2}] が存在するためWAR
 tomcat.addWebapp.conflictFile=[{2}] へファイルまたはディレクトリが存在するため WAR ファイル [{0}] をコンテキストパス [{1}] へ配備できません。
 tomcat.baseDirMakeFail=基本ディレクトリとして使用する [{0}] を作成できません。
 tomcat.baseDirNotDir=基本ディレクトリに指定された [{0}] はディレクトリではありません。
+tomcat.defaultMimeTypeMappingsFail=既定の MIME タイプを読み込めません
 tomcat.homeDirMakeFail=ホームディレクトリとして使用する [{0}] を作成できません。
 
 userConfig.database=ユーザデータベースのロード中の例外です
 userConfig.deploy=ユーザ [{0}] のWebアプリケーションを配備します
-userConfig.deploy.threaded.error=ユーザーディレクトリのマルチスレッド展開が完了するのを待つエラー
+userConfig.deploy.threaded.error=ユーザーディレクトリのマルチスレッド配備の完了待機中のエラー
 userConfig.deploying=ユーザのWebアプリケーションを配備します
-userConfig.error=ユーザ [{0}] のWebアプリケーションを配備中のエラーです
+userConfig.error=ユーザ [{0}] のWebアプリケーションを配備中のエラー
 userConfig.start=UserConfig: 処理を開始します
 userConfig.stop=UserConfig: 処理を停止します
 
diff --git a/java/org/apache/catalina/storeconfig/LocalStrings_ja.properties b/java/org/apache/catalina/storeconfig/LocalStrings_ja.properties
index 221d60d..c6043b3 100644
--- a/java/org/apache/catalina/storeconfig/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/storeconfig/LocalStrings_ja.properties
@@ -14,12 +14,12 @@
 # limitations under the License.
 
 config.storeContextError=コンテキスト[{0}]を格納中にエラーが発生しました。
-config.storeServerError=サーバ停止エラー
+config.storeServerError=server.xml 書き込み中のエラー
 
 factory.storeNoDescriptor=要素クラス[{0}]の記述子が構成されていません!
 factory.storeTag=ストアタグ[{0}](オブジェクト:[{1}])
 
 storeConfigListener.notServer=Server 以外のコンポーネントに指定されたリスナーは無視します。
 
-storeFileMover.directoryCreationError=ディレクトリを作成できません。[{0}]
+storeFileMover.directoryCreationError=ディレクトリ [{0}] を作成できません
 storeFileMover.renameError=ファイル名 [{0}] を [{1}] に変更できません。
diff --git a/java/org/apache/catalina/tribes/group/interceptors/LocalStrings_ja.properties b/java/org/apache/catalina/tribes/group/interceptors/LocalStrings_ja.properties
index 9a73b98..d13ed82 100644
--- a/java/org/apache/catalina/tribes/group/interceptors/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/tribes/group/interceptors/LocalStrings_ja.properties
@@ -31,12 +31,12 @@ fragmentationInterceptor.heartbeat.failed=fragmentationInterceptorでハート
 gzipInterceptor.compress.failed=バイトデータを圧縮できません。
 gzipInterceptor.decompress.failed=圧縮されたバイトデータを展開できません。
 
-messageDispatchInterceptor.AsyncMessage.failed=非同期メッセージの処理中にエラーが発生しました。
+messageDispatchInterceptor.AsyncMessage.failed=非同期メッセージ処理中のエラー
 messageDispatchInterceptor.completeMessage.failed=完了したメッセージを報告できません。
 messageDispatchInterceptor.errorMessage.failed=エラーメッセージを返すことができません。
 messageDispatchInterceptor.queue.full=非同期キューが満杯です。現在は [{1}] バイトで上限の [{0}] バイトに達しています。
 messageDispatchInterceptor.unableAdd.queue=非同期キューにメッセージを登録できませんでした。キューの不具合かもしれません。
-messageDispatchInterceptor.warning.optionflag=警告です。非同期オプションフラグを上書きしたため、他のアプリケーションが使用する可能性のある Channel.SEND_OPTIONS_ASYNCHRONOUS は無効化されます。
+messageDispatchInterceptor.warning.optionflag=警告: 非同期オプションフラグを上書きしたため、他のアプリケーションが使用する可能性のある Channel.SEND_OPTIONS_ASYNCHRONOUS は無効化されます。
 
 nonBlockingCoordinator.electionMessage.sendfailed=メンバー [{0}] に調停メッセージを送信できません。
 nonBlockingCoordinator.heartbeat.failed=ハートビートを実行できません。
@@ -44,7 +44,7 @@ nonBlockingCoordinator.heartbeat.inconsistency=ハートビートが不一致を
 nonBlockingCoordinator.memberAdded.failed=メンバーが追加されたときにイレクションを開始できません。
 nonBlockingCoordinator.memberAlive.failed=動作チェックが実行できなかったため、メンバーは停止しているものとして扱います。
 nonBlockingCoordinator.memberDisappeared.failed=メンバーが削除されたときにイレクションを開始できません。
-nonBlockingCoordinator.processCoordinationMessage.failed=調停メッセージを処理できませんでした。致命的な問題が発生している可能性があります。
+nonBlockingCoordinator.processCoordinationMessage.failed=調停メッセージを処理中のエラー。致命的な問題が発生している可能性があります。
 
 orderInterceptor.messageAdded.sameCounter=同じカウンタにメッセージが追加されました。同期バグがあります。 Order インターセプタを無効にして下さい。
 
diff --git a/java/org/apache/catalina/tribes/io/LocalStrings_ja.properties b/java/org/apache/catalina/tribes/io/LocalStrings_ja.properties
index 0020bac..8bab18f 100644
--- a/java/org/apache/catalina/tribes/io/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/tribes/io/LocalStrings_ja.properties
@@ -15,7 +15,7 @@
 
 bufferPool.created=最大サイズ[{1}]のタイプの[{0}]バイトのバッファプールを作成しました。
 
-objectReader.retrieveFailed.socketReceiverBufferSize=TCP ソケットのレシーバーバッファサイズを取得できなかったため初期値として 43800 byte を設定します。
+objectReader.retrieveFailed.socketReceiverBufferSize=TCP ソケットのレシーバーバッファサイズを取得できなかったため既定値として 43800 byte を設定します。
 
 replicationStream.conflict=public でないインターフェイスのクラスローダーが複数存在します。
 
diff --git a/java/org/apache/catalina/tribes/membership/LocalStrings_ja.properties b/java/org/apache/catalina/tribes/membership/LocalStrings_ja.properties
index f475843..20baa26 100644
--- a/java/org/apache/catalina/tribes/membership/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/tribes/membership/LocalStrings_ja.properties
@@ -23,7 +23,7 @@ mcastService.exceed.maxPacketSize=パケット長[{0}]は[{1}]バイトの最大
 mcastService.missing.property=McastService: 必須プロパティ [{0}] がありません。
 mcastService.noStart=マルチキャスト送信が開始または有効になっていません。
 
-mcastServiceImpl.bind=[{0}:{1}] にマルチキャストソケットを束縛します。
+mcastServiceImpl.bind=マルチキャストソケットの [{0}:{1}] へのバインドを試行します。
 mcastServiceImpl.bind.failed=マルチキャストアドレスへのバインドに失敗しました。 ポートのみにバインドします。
 mcastServiceImpl.error.receiving=マルチキャストパッケージを受信中にエラーが発生しました。 500msスリープします。
 mcastServiceImpl.invalid.startLevel=不正な開始レベルです。受け付けられるのは Channel.MBR_RX_SEQ と Channel.MBR_TX_SEQ です。
diff --git a/java/org/apache/catalina/tribes/tipis/LocalStrings_ja.properties b/java/org/apache/catalina/tribes/tipis/LocalStrings_ja.properties
index 8461d15..0b91cf3 100644
--- a/java/org/apache/catalina/tribes/tipis/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/tribes/tipis/LocalStrings_ja.properties
@@ -22,7 +22,7 @@ abstractReplicatedMap.leftOver.pingMsg=PINGメッセージがタイムアウト
 abstractReplicatedMap.mapMember.unavailable=メンバー[{0}]はまだ利用できません。
 abstractReplicatedMap.mapMemberAdded.added=マップメンバーが追加されました:[{0}]
 abstractReplicatedMap.mapMemberAdded.nullMember=通知されたメンバーはメンバーシップに登録されていません:[{0}]
-abstractReplicatedMap.member.disappeared=メンバー[{0}]が消えました。 関連するマップエントリは、新しいノードに再配置されます。
+abstractReplicatedMap.member.disappeared=メンバー[{0}]が消滅しました。 関連するマップエントリは、新しいノードに再配置されます。
 abstractReplicatedMap.ping.stateTransferredMember=メンバー [{0}] は状態を転送中で利用可能ではありません。
 abstractReplicatedMap.ping.timeout=マップ[{1}]のメンバー[{0}]がping処理でタイムアウトしました。
 abstractReplicatedMap.relocate.complete=マップ要素の再配置は [{0}] ミリ秒で完了しました。
@@ -47,7 +47,7 @@ lazyReplicatedMap.unableReplicate.proxy=[{2}] のため、プロキシキーを
 mapMessage.deserialize.error.key=MapMessage キーのデシリアライズに失敗しました。
 mapMessage.deserialize.error.value=MapMessageの値のデシリアライズに失敗しました。
 
-replicatedMap.member.disappeared=メンバー[{0}]が消えました。 関連するマップエントリは、新しいノードに再配置されます。
+replicatedMap.member.disappeared=メンバー[{0}]が消滅しました。 関連するマップエントリは、新しいノードに再配置されます。
 replicatedMap.relocate.complete=マップ要素の再配置は [{0}] ms で完了しました。
 replicatedMap.unable.relocate=[{0}]を新しいバックアップノードに再配置できません
 replicatedMap.unableReplicate.completely=バックアップキー[{0}]を複製できません。 成功ノード:[{1}]。 障害ノード:[{2}]。
diff --git a/java/org/apache/catalina/tribes/transport/LocalStrings_ja.properties b/java/org/apache/catalina/tribes/transport/LocalStrings_ja.properties
index a7c4f89..640fece 100644
--- a/java/org/apache/catalina/tribes/transport/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/tribes/transport/LocalStrings_ja.properties
@@ -21,4 +21,4 @@ receiverBase.bind.failed=アドレス [{0}] にレプリケーションリスナ
 receiverBase.socket.bind=Receiver Serverソケットがバインドされました:[{0}]
 receiverBase.udp.bind=UDP 受信用のサーバーソケットを [{0}] にバインドしました。
 receiverBase.unable.bind=[{0}] へサーバーソケットをバインドできなかったためエラーを送出しました。
-receiverBase.unable.bind.udp=UDP ソケットを [{0}] へ束縛できません。エラーを送出します。
+receiverBase.unable.bind.udp=UDP ソケットを [{0}] へバインドできません。エラーを送出します。
diff --git a/java/org/apache/catalina/tribes/transport/nio/LocalStrings_ja.properties b/java/org/apache/catalina/tribes/transport/nio/LocalStrings_ja.properties
index dfd2c01..e83d786 100644
--- a/java/org/apache/catalina/tribes/transport/nio/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/tribes/transport/nio/LocalStrings_ja.properties
@@ -24,7 +24,7 @@ nioReceiver.stop.threadRunning=NioReceiver スレッドは時間内に停止で
 nioReceiver.threadpool.fail=ThreadPool を初期化できません。リスナーを開始しませんでした。
 nioReceiver.threadsExhausted=チャネルキーは登録されていますが、最後の[{0}]ミリ秒間はinterest ops がありませんでした。 (キャンセル {1}]):[{2}]最終アクセス:[{3}]考えられる原因:すべてのスレッドが使用され、スレッドダンプを実行します。
 
-nioReplicationTask.error.register.key=読み取り用のキーを登録するときに異常が発生しました: [{0}]
+nioReplicationTask.error.register.key=読み取り用のキーを登録中のエラー: [{0}]
 nioReplicationTask.exception.drainChannel=TcpReplicationThread.drainChannelで例外をキャッチしました。
 nioReplicationTask.process.clusterMsg.failed=クラスターメッセージを処理できませんでした。
 nioReplicationTask.unable.ack=チャンネルから ACK を送信できません。切断されている可能性があります。: [{0}]
@@ -41,7 +41,7 @@ nioSender.unable.disconnect=NioSenderを切断できません。 msg = [{0}]
 nioSender.unable.receive.ack=レスポンスメッセージを受信できません。ソケットチャンネルは終端に達しています。
 nioSender.unknown.state=不明な状態です。実行可能操作セット=[{0}]
 
-parallelNioSender.error.keepalive=Sender:[{0}]のキープアライブテスト中にエラーが発生しました。
+parallelNioSender.error.keepalive=Sender:[{0}]の keepalive テスト中にエラーが発生しました。
 parallelNioSender.operation.timedout=操作がタイムアウトしました([{0}]ミリ秒)。
 parallelNioSender.send.fail=メンバーの送信に失敗しました:[{0}]; Settingに設定します。
 parallelNioSender.send.fail.retrying=[{0}] へのメッセージ送信が失敗しました。状態を SUSPECT へ変更して再送します。
diff --git a/java/org/apache/catalina/users/LocalStrings_ja.properties b/java/org/apache/catalina/users/LocalStrings_ja.properties
index 6179f1f..5b59ca2 100644
--- a/java/org/apache/catalina/users/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/users/LocalStrings_ja.properties
@@ -22,9 +22,9 @@ memoryUserDatabase.nullRole=NULLまたは長さゼロのロール名が指定さ
 memoryUserDatabase.nullUser=Nullまたは長さゼロのユーザー名が指定されています。 ユーザーは無視されます。
 memoryUserDatabase.readOnly=ユーザー情報データベースは読み取り専用になっています。変更を保存できません。
 memoryUserDatabase.reload=更新されたソース[{1}]からメモリユーザーデータベース[{0}]を再ロードしています
-memoryUserDatabase.reloadError=更新されたソース[{1}]からメモリユーザーデータベース[{0}]を再ロード中にエラーが発生しました。
+memoryUserDatabase.reloadError=更新されたソース[{1}]からメモリユーザーデータベース[{0}]を再ロード中のエラー
 memoryUserDatabase.renameNew=新しいファイル名を [{0}] に変更できません
 memoryUserDatabase.renameOld=元のファイル名を [{0}] に変更できません
 memoryUserDatabase.restoreOrig=[{0}]を元のファイルに復元できません
-memoryUserDatabase.writeException=[{0}] に書き込み中のIOExceptionです
+memoryUserDatabase.writeException=[{0}] に書き込み中の入出力例外です
 memoryUserDatabase.xmlFeatureEncoding=XMLファイルのJavaエンコーディング名を許可するためにdigesterを設定する際の例外。 IANAのエンコーディング名のみがサポートされます。
diff --git a/java/org/apache/catalina/util/LocalStrings_ja.properties b/java/org/apache/catalina/util/LocalStrings_ja.properties
index 94bdf66..ae5e1de 100644
--- a/java/org/apache/catalina/util/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/util/LocalStrings_ja.properties
@@ -16,7 +16,7 @@
 SecurityUtil.doAsPrivilege=PrivilegedExceptionActionブロックを実行中に例外が発生しました。
 
 customObjectInputStream.logRequired=ロギングによるクラス名のフィルタリングには有効なロガーが必要です
-customObjectInputStream.nomatch=クラス [{0}] はデシリアライズの許可されたクラス名の正規表現 [{1}] にマッチしません。
+customObjectInputStream.nomatch=クラス [{0}] はデシリアライズが許可されたクラス名の正規表現 [{1}] にマッチしません。
 
 extensionValidator.extension-not-found-error=ExtensionValidator[{0}][{1}]: 必要な拡張 [{2}] が見つかりません。
 extensionValidator.extension-validation-error=ExtensionValidator[{0}]: 必要な拡張 [{1}] が見つかりません。
@@ -50,7 +50,7 @@ parameterMap.locked=ロックされたParameterMapは変更が許されません
 
 resourceSet.locked=ロックされたResourceSetは変更が許されません
 
-sessionIdGeneratorBase.createRandom=セッション ID を生成するための SecureRandom インスタンスの作成に [{1}] ミリ秒かかりました。アルゴリズムは [{1}] です。
+sessionIdGeneratorBase.createRandom=セッション ID を生成するための SecureRandom インスタンスの作成に [{1}] ミリ秒かかりました。アルゴリズムは [{0}] です。
 sessionIdGeneratorBase.random=クラス [{0}] の乱数発生器の初期化の例外です
 sessionIdGeneratorBase.randomAlgorithm=アルゴリズム[{0}]を使用して乱数ジェネレータを初期化する際の例外
 sessionIdGeneratorBase.randomProvider=プロバイダ[{0}]を使用して乱数ジェネレータを初期化中に例外が発生しました
diff --git a/java/org/apache/catalina/valves/LocalStrings_ja.properties b/java/org/apache/catalina/valves/LocalStrings_ja.properties
index 99b184d..7e40d84 100644
--- a/java/org/apache/catalina/valves/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/valves/LocalStrings_ja.properties
@@ -22,7 +22,7 @@ accessLogValve.openDirFail=アクセスログのディレクトリ[{0}]の作成
 accessLogValve.openFail=アクセスログファイル [{0}] を開けません。
 accessLogValve.renameFail=[{0}]から[{1}]へのアクセスログの名前の変更に失敗しました。
 accessLogValve.rotateFail=アクセスログのローテーションに失敗しました
-accessLogValve.unsupportedEncoding=文字エンコーディングに [{0}] を指定できません。システムの初期値を使用します。
+accessLogValve.unsupportedEncoding=文字エンコーディングに [{0}] を指定できません。システムの既定値を使用します。
 accessLogValve.writeFail=ログメッセージ[{0}]の書き込みに失敗しました
 
 errorReportValve.description=説明
@@ -43,7 +43,7 @@ extendedAccessLogValve.badXParamValue=サーブレットリクエスト[{0}]の
 extendedAccessLogValve.decodeError=[{0}]で始まる残りの文字をデコードできません
 extendedAccessLogValve.emptyPattern=パターン文字列が空です。もしくは空白だけで構成されています。
 extendedAccessLogValve.noClosing=終了)がデコードで見つかりません。
-extendedAccessLogValve.patternParseError=パターン文字列 [{0}] を解釈できませんでした。
+extendedAccessLogValve.patternParseError=パターン文字列 [{0}] を解析できませんでした。
 
 http.400.desc=サーバは、クライアントエラー(例えば、不正なリクエスト構文、無効なリクエストメッセージフレーミング、または不正なリクエストルーティング)であると考えられるために、リクエストを処理できない、または処理しません。
 http.400.reason=Bad Request
@@ -72,7 +72,7 @@ http.411.reason=Length Required
 http.412.desc=リクエストヘッダーフィールドに指定された1つ以上の条件が、サーバー上でテストされたときにfalseに評価されました。
 http.412.reason=前提条件失敗
 http.413.desc=リクエストペイロードがサーバーが処理できる、または処理できるよりも大きいため、サーバーはリクエストの処理を拒否しています。
-http.413.reason=\ Payload Too Large
+http.413.reason=Payload Too Large
 http.414.desc=リクエストの対象がサーバーが解釈しようとするよりも長いため、サーバーはリクエストのサービスを拒否しています。
 http.414.reason=URI Too Long
 http.415.desc=ペイロードがターゲットリソース上のこのメソッドでサポートされていない形式であるため、オリジンサーバーはリクエストを処理することを拒否しています。
@@ -111,7 +111,7 @@ http.504.desc=ゲートウェイまたはプロキシとして機能している
 http.504.reason=ゲートウェイタイムアウト
 http.505.desc=サーバーは、リクエストメッセージで使用されたメジャーバージョンのHTTPをサポートしていないか、またはサポートを拒否しています。
 http.505.reason=サポートされていないHTTPバージョン
-http.506.desc=サーバーには内部構成エラーがあります。選択された異形のリソースは透過的なコンテンツネゴシエーション自体に関与するように構成されているため、ネゴシエーションプロセスの適切なエンドポイントではありません。
+http.506.desc=サーバーには内部構成エラーがあります。選択された可変リソースは透過的なコンテンツネゴシエーション自体に関与するように構成されているため、ネゴシエーションプロセスの適切なエンドポイントではありません。
 http.506.reason=Variant Also Negotiates
 http.507.desc=サーバーがリクエストを正常に完了するのに必要な表現を保管できないため、このメソッドをリソースに対して実行できませんでした。
 http.507.reason=ストレージに充分な空き容量がありません。
@@ -128,13 +128,15 @@ jdbcAccessLogValve.exception=アクセスエントリの挿入を実行中の例
 remoteCidrValve.invalid="[{0}]" に不正な値が指定されました。詳細は前のメッセージを参照してください。
 remoteCidrValve.noRemoteIp=クライアントの IP アドレスを取得できません。リクエストを拒否します。
 
+remoteIpValve.invalidHostHeader=HTTP ヘッダ [{1}] 中の Host に無効な値 [{0}] が見つかりました
+remoteIpValve.invalidHostWithPort=HTTP ヘッダ [{1}] 中の Host の値 [{0}] はポート番号を含んでいますが無視されます
 remoteIpValve.invalidPortHeader=HTTP ヘッダー [{1}] に不正なポート番号 [{0}] が指定されました。
 
 requestFilterValve.configInvalid=Valveとその親コンテナの起動を妨げたRemote [Addr | Host] Valveに1つ以上の無効な構成設定が提供されました。
 requestFilterValve.deny=プロパティ [{1}] により [{0}] へのリクエストを拒否しました。
 
-sslValve.certError=java.security.cert.X509Certificateオブジェクトを作成するための証明書文字列[{0}]を処理を失敗しました。
-sslValve.invalidProvider=リクエスト [{0}] に関連付けられたコネクターへ不正な SSL プロバイダーが構成されています。証明書データを処理できません。
+sslValve.certError=java.security.cert.X509Certificateオブジェクトを生成するための証明書文字列[{0}]の処理に失敗しました。
+sslValve.invalidProvider=リクエスト [{0}] に関連付けられたコネクターに指定された SSL プロバイダーは不正です。証明書データを処理できません。
 
 stuckThreadDetectionValve.notifyStuckThreadCompleted=スレッド[{0}](id = [{3}])は以前にスタックされていると報告されましたが完了しました。それはおよそ[{1}]ミリ秒の間アクティブだった。\n\
 \ {2,choice,0#|0< このバルブによって監視されているスレッド [{2}] は残っていますが、スタックされている可能性があります。}
diff --git a/java/org/apache/catalina/valves/rewrite/LocalStrings_ja.properties b/java/org/apache/catalina/valves/rewrite/LocalStrings_ja.properties
index 88604f1..ba88d6c 100644
--- a/java/org/apache/catalina/valves/rewrite/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/valves/rewrite/LocalStrings_ja.properties
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-rewriteValve.closeError=構成を閉じる際のエラー
+rewriteValve.closeError=構成クローズ中のエラー
 rewriteValve.invalidFlags=[{0}]に無効なフラグ [{1}]があります。
 rewriteValve.invalidLine=無効な行[{0}]
 rewriteValve.invalidMapClassName=Mapクラス名[{0}]が無効です。
diff --git a/java/org/apache/catalina/webresources/LocalStrings_ja.properties b/java/org/apache/catalina/webresources/LocalStrings_ja.properties
index 699b29b..0839327 100644
--- a/java/org/apache/catalina/webresources/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/webresources/LocalStrings_ja.properties
@@ -25,6 +25,8 @@ cache.backgroundEvictFail=コンテキスト [{1}] のバックグラウンド
 cache.objectMaxSizeTooBig=objectMaxSizeの[{0}] kBの値がmaxSize / 20の制限より大きいため、[{1}] kBに減少しました。
 cache.objectMaxSizeTooBigBytes=キャッシュ可能なオブジェクトサイズの最大値に指定された [{0}]kB は Integer.MAX_VALUE バイトを越えています。最大値に Integer.MAX_VALUE を設定します。
 
+cachedResource.invalidURL=URL [{0}] は不正です。CachedResourceURLStreamHandler インスタンスを生成できません
+
 classpathUrlStreamHandler.notFound=スレッドコンテキストクラスローダー、あるいは、現在のクラスのクラスローダーでリソース [{0}] を読み込みできません。
 
 dirResourceSet.manifestFail=[{0}]からマニフェストを読み込めませんでした。
diff --git a/java/org/apache/coyote/LocalStrings_ja.properties b/java/org/apache/coyote/LocalStrings_ja.properties
index 49ac8ef..4a57b9e 100644
--- a/java/org/apache/coyote/LocalStrings_ja.properties
+++ b/java/org/apache/coyote/LocalStrings_ja.properties
@@ -17,19 +17,25 @@ abstractConnectionHandler.connectionsGet=ソケット[{1}]のプロセッサ[{0}
 abstractConnectionHandler.error=リクエストの読み取り中にエラーが発生しました。無視します。
 abstractConnectionHandler.ioexception.debug=IOExceptionは正常で無視されます。
 abstractConnectionHandler.negotiatedProcessor.fail=ネゴシエートされたプロトコル[{0}]のプロセッサの作成に失敗しました。
+abstractConnectionHandler.oome=リクエストの完全な処理に失敗しました
 abstractConnectionHandler.process=ステータス[{1}]のソケット[{0}]を処理しています。
+abstractConnectionHandler.processorCreate=新しいプロセッサ [{0}] を生成しました
 abstractConnectionHandler.processorPop=キャッシュからプロセッサー [{0}] を取得しました。
 abstractConnectionHandler.protocolexception.debug=ProtocolExceptionsは正常です。無視します。
 abstractConnectionHandler.socketexception.debug=SocketExceptionsは正常です。無視します。
 abstractConnectionHandler.upgradeCreate=SocketWrapper [{1}]のアップグレードプロセッサ[{0}]が作成されました。
 
-abstractProcessor.fallToDebug=注:リクエスト構文解析エラーのさらなる発生はDEBUGレベルでログに記録されます。
-abstractProcessor.hostInvalid=ホスト名 [{0}] は不正なホスト名です。
+abstractProcessor.fallToDebug=注: 以降のリクエスト構文解析エラーの発生はDEBUGレベルでログに出力されます。
+abstractProcessor.hostInvalid=ホスト名 [{0}] は不正です。
 abstractProcessor.httpupgrade.notsupported=このプロトコルは HTTP アップグレードに対応していません。
 abstractProcessor.pushrequest.notsupported=このプロトコルはサーバープッシュの要求に対応していません。
-abstractProcessor.socket.ssl=SSL属性を取得する例外
+abstractProcessor.socket.ssl=SSL属性取得時の例外
 
 abstractProtocol.mbeanDeregistrationFailed=MBeanサーバー[{1}]から[{0}]という名前のMBeanの登録を解除できませんでした。
+abstractProtocol.processorRegisterError=リクエストプロセッサ登録中のエラー
+abstractProtocol.processorUnregisterError=リクエストプロセッサ登録解除中のエラー
+abstractProtocol.waitingProcessor.add=待機中のプロセッサに [{0}] を追加しました
+abstractProtocol.waitingProcessor.remove=待機中のプロセッサから [{0}] を除去しました
 
 abstractProtocolHandler.destroy=ProtocolHandler [{0}] を破棄します。
 abstractProtocolHandler.init=プロトコルハンドラ [{0}] を初期化します。
@@ -41,6 +47,8 @@ abstractProtocolHandler.stop=ProtocolHandler [{0}]の停止中
 
 asyncStateMachine.invalidAsyncState=非同期状態[{1}]のリクエストに対して[{0}]を呼び出すことはできません
 
+compressionConfig.ContentEncodingParseFail=圧縮が使用済みか確認する際に、Content-Encoding ヘッダの解析に失敗しました
+
 request.notAsync=非同期処理またはHTTPアップグレード処理内のノンブロッキングIOに切り替えることは有効です。
 request.nullReadListener=setReadListener() には null を指定できません。
 request.readListenerSet=ノンブロッキングリードリスナーは既に設定されています。
diff --git a/java/org/apache/coyote/ajp/LocalStrings_ja.properties b/java/org/apache/coyote/ajp/LocalStrings_ja.properties
index 8df6a32..0c770f9 100644
--- a/java/org/apache/coyote/ajp/LocalStrings_ja.properties
+++ b/java/org/apache/coyote/ajp/LocalStrings_ja.properties
@@ -28,5 +28,6 @@ ajpprocessor.request.prepare=リクエスト準備中エラー
 ajpprocessor.request.process=リクエスト処理エラー
 
 ajpprotocol.noSSL=AJP は SSL に対応していません。SSL ホスト構成 [{0}] を無視します。
+ajpprotocol.noSecret=AJP コネクタは secretRequired="true" として構成されていますが、secret 属性は null または空文字列が設定されています。この組み合わせは有効ではありません
 ajpprotocol.noUpgrade=AJP はプロトコルアップグレードに対応していないため、[{0}] の設定を無視しました。
 ajpprotocol.noUpgradeHandler=アップグレードはAJPではサポートされていません。 HttpUpgradeHandler [{0}]を処理できません。
diff --git a/java/org/apache/coyote/http11/LocalStrings_ja.properties b/java/org/apache/coyote/http11/LocalStrings_ja.properties
index 82b5580..2ebac1d 100644
--- a/java/org/apache/coyote/http11/LocalStrings_ja.properties
+++ b/java/org/apache/coyote/http11/LocalStrings_ja.properties
@@ -17,19 +17,22 @@ abstractHttp11Protocol.alpnConfigured=[{0}]コネクタは、ALPN経由で[{1}]
 abstractHttp11Protocol.alpnWithNoAlpn=[{1}]のアップグレードハンドラ[{0}]は、ALPNによるアップグレードのみをサポートしていますが、ALPNをサポートしていない[{2}]コネクタ用に構成されています。
 abstractHttp11Protocol.httpUpgradeConfigured=コネクタ[{0}]は、[{1}]へのHTTPアップグレードをサポートするように構成されています。
 
-http11processor.fallToDebug=注:HTTPリクエスト構文解析エラーがさらに発生すると、DEBUGレベルでログに記録されます。
-http11processor.header.parse=HTTP リクエストヘッダーを解釈できませんでした。
+http11processor.fallToDebug=注: 以降のHTTPリクエスト構文解析エラーの発生はDEBUGレベルでログに出力されます。
+http11processor.header.parse=HTTP リクエストヘッダーを解析中のエラー
 http11processor.request.finish=リクエスト終了処理エラー
-http11processor.request.inconsistentHosts=リクエストラインに指定されたホストが Host ヘッダーの値と矛盾しています。
+http11processor.request.inconsistentHosts=リクエスト行に指定されたホストが Host ヘッダーの値と矛盾しています。
 http11processor.request.invalidScheme=HTTP リクエストに不正なスキーマを指定した完全 URI が含まれています。
-http11processor.request.invalidUri== HTTPリクエストに無効なURIが含まれています
+http11processor.request.invalidTransferEncoding=HTTP リクエストに無効な Transfer-Encoding ヘッダが含まれています
+http11processor.request.invalidUri=HTTPリクエストに無効なURIが含まれています
 http11processor.request.invalidUserInfo=HTTP リクエストに不正な userinfo を含む絶対 URI が指定されました。
-http11processor.request.multipleHosts=リクエストには複数のホストヘッダーが含まれていました。
+http11processor.request.multipleContentLength=リクエストに複数の content-length ヘッダが含まれています
+http11processor.request.multipleHosts=リクエストには複数の host ヘッダーが含まれていました。
 http11processor.request.noHostHeader=HTTP / 1.1リクエストでhostヘッダーが提供されませんでした。
-http11processor.request.prepare=リクエストの準備に失敗しました。
-http11processor.request.process=リクエスト処理中にエラーが発生しました
+http11processor.request.nonNumericContentLength=リクエストの content-length ヘッダに数値でない値が含まれています
+http11processor.request.prepare=リクエスト準備中のエラー
+http11processor.request.process=リクエスト処理中のエラー
 http11processor.response.finish=レスポンス終了処理のエラー
-http11processor.sendfile.error=sendfileを使ってデータを送信中にエラーが発生しました 開始点または終了点の無効なリクエスト属性によって引き起こされる可能性があります。
+http11processor.sendfile.error=sendfileを使ってデータを送信中にエラーが発生しました。これは開始点または終了点の無効なリクエスト属性によって引き起こされる可能性があります。
 http11processor.socket.info=ソケット情報を取得する際の例外
 
 iib.available.readFail=利用できるデータがあるか確かめている途中でノンブロッキング読み込みが失敗しました。
@@ -37,13 +40,14 @@ iib.eof.error=ソケットから予期しないEOFを読み込みました
 iib.failedread.apr=APR/nativeエラーコード[{0}]で読み取りが失敗しました。
 iib.filter.npe=Nullフィルタを追加することはできません。
 iib.invalidHttpProtocol=HTTPプロトコルで無効な文字が見つかりました。
+iib.invalidPhase=リクエスト行の解析フェーズ [{0}] は無効です
 iib.invalidRequestTarget=リクエストの宛先に不正な文字が含まれています。利用可能な文字は RFC 7230 および RFC 3986 に定義されています。
 iib.invalidheader=HTTP ヘッダー行 [{0}]は RFC 7230 に適合しないため無視します。
 iib.invalidmethod=HTTP メソッド名に不正な文字が含まれています。HTTP メソッド名は決められたトークンでなければなりません。
-iib.parseheaders.ise.error=予期しない状態:ヘッダがすでに解析されています。 バッファはリサイクルされていませんか?
+iib.parseheaders.ise.error=予期しない状態:ヘッダがすでに解析されています。 バッファが未回収ですか?
 iib.readtimeout=ソケットからデータを読み取ろうとしている際のタイムアウト
 iib.requestheadertoolarge.error=リクエストヘッダが長すぎます
 
 iob.failedwrite=書き込みが失敗しました。
 iob.failedwrite.ack=HTTP 100 continue レスポンスの送信に失敗しました
-iob.responseheadertoolarge.error=レスポンスヘッダーにバッファー領域より大きなデータの書き込みが発生しました。データを小さくするか Connector の maxHttpHeaderSize を大きくしてください。
+iob.responseheadertoolarge.error=レスポンスヘッダにバッファー領域より大きなデータの書き込みが発生しました。Connector の maxHttpHeaderSize を増やすか、レスポンスヘッダよりもデータを小さくして下さい。
diff --git a/java/org/apache/coyote/http11/upgrade/LocalStrings_ja.properties b/java/org/apache/coyote/http11/upgrade/LocalStrings_ja.properties
index 2c682d9..5473d1b 100644
--- a/java/org/apache/coyote/http11/upgrade/LocalStrings_ja.properties
+++ b/java/org/apache/coyote/http11/upgrade/LocalStrings_ja.properties
@@ -16,21 +16,21 @@
 upgrade.sis.errorCloseFail=直前のエラーの後に完全にInputStreamを閉じることができませんでした。
 upgrade.sis.isFinished.ise=ノンブロッキングモードではない ServletInputStream の isFinished() を呼び出すことはできません。(すなわち最初に setReadListener() を呼び出さなければなりません。)
 upgrade.sis.isReady.ise=ServletInputStreamが非ブロッキングモードでない場合(つまり、最初にsetReadListener()を呼び出さなければならない場合)isReady()を呼び出すことはできません。
-upgrade.sis.onErrorFail=登録されたReadListenerのonError処理により、さらなるエラーがトリガされました。エラーは飲み込まれました。
+upgrade.sis.onErrorFail=onErrorは登録されたReadListenerが引き起こしたさらなるエラーを飲み込んで処理しています
 upgrade.sis.read.closed=InputStream はすでに切断されています。
 upgrade.sis.read.ise=isReady()を呼び出すことによって利用可能なデータがあることを最初にチェックすることなく、非ブロックモードでread()メソッドを呼び出すことは不正です。
 upgrade.sis.readListener.null=setReadListener() には null を指定できません。
 upgrade.sis.readListener.set=アップグレードしたコネクションに何度も setReadListener() を呼び出すのは不正な操作です。
 upgrade.sos.canWrite.ise=ServletOutputStreamが非ブロッキングモードでない場合(つまり、setWriteListener()を最初に呼び出さなければならない場合)、canWrite()を呼び出すことはできません。
 upgrade.sos.errorCloseFail=以前のエラーの後にOutputStreamをきれいに閉じることができませんでした。
-upgrade.sos.onErrorFail=登録されたWriteListenerのonError処理により、これがトリガされました。さらなるエラーは飲み込まれました。
+upgrade.sos.onErrorFail=onErrorは登録されたWriteListenerが引き起こしたさらなるエラーを飲み込んで処理しています
 upgrade.sos.write.closed=OutputStreamはクローズされました
 upgrade.sos.write.ise=ノンブロッキングモードでは初めに isReady() を呼び出して利用可能な領域があることを確かめなければ、あらゆる write() メソッドの呼び出しは不正になります。
 upgrade.sos.writeListener.null=setWriteListener() に null を渡すのは不正な操作です。
 upgrade.sos.writeListener.set=同じアップグレードされたコネクションに対してsetWriteListener()を複数回呼び出すことはできません。
 
-upgradeProcessor.isCloseFail=アップグレードされたコネクションに関連する入力ストリームを閉じることができませんでした。
-upgradeProcessor.osCloseFail=アップグレードされた接続に関連する出力ストリームを閉じることができませんでした
-upgradeProcessor.requiredClose=ストリームのcloseRequired状態によるアップグレードされた接続のクローズ:入力[{0}]、出力[{1}]
-upgradeProcessor.stop=到着したソケットステータスがSTOPであるためにアップグレードされたコネクションを閉じます。
+upgradeProcessor.isCloseFail=アップグレードされたコネクションに関連付けられた入力ストリームを閉じることができませんでした。
+upgradeProcessor.osCloseFail=アップグレードされた接続に関連付けられた出力ストリームを閉じることができませんでした
+upgradeProcessor.requiredClose=ストリームがcloseRequired状態になったため、アップグレードされた接続をクローズしています:入力[{0}]、出力[{1}]
+upgradeProcessor.stop=着信ソケットの状態がSTOPだったのでアップグレードされたコネクションを閉じています。
 upgradeProcessor.unexpectedState=ソケットの状態は [{0}] でしたがアップグレードしたコネクションは予期せぬ理由で切断しました。
diff --git a/java/org/apache/coyote/http2/LocalStrings_ja.properties b/java/org/apache/coyote/http2/LocalStrings_ja.properties
index dd92f46..d6e95af 100644
--- a/java/org/apache/coyote/http2/LocalStrings_ja.properties
+++ b/java/org/apache/coyote/http2/LocalStrings_ja.properties
@@ -37,11 +37,14 @@ hpack.invalidCharacter=コードポイント [{1}] のユニコード文字 [{0}
 hpackEncoder.encodeHeader=ヘッダー[{0}]を値[{1}]でエンコードしています
 
 hpackdecoder.headerTableIndexInvalid=[{1}]静的エントリと[{2}]動的エントリが存在するため、ヘッダーテーブルインデックス[{0}]は無効です。
+hpackdecoder.maxMemorySizeExceeded=ヘッダテーブルサイズ [{0}] は最大サイズ [{1}] を超えています
 hpackdecoder.notImplemented=まだ実装されていません。
+hpackdecoder.nullHeader=インデックス [{0}] のヘッダは Null です
 hpackdecoder.tableSizeUpdateNotAtStart=すべてのテーブルサイズの更新はヘッダーブロックの先頭に送信する必要があります。
 hpackdecoder.zeroNotValidHeaderTableIndex=ゼロは有効なヘッダーテーブルインデックスではありません。
 
 hpackhuffman.huffmanEncodedHpackValueDidNotEndWithEOS=HPACK ヘッダーのハフマン符号化した値は EOS パディングで終了していません。
+hpackhuffman.stringLiteralEOS=HPACK ヘッダ中のハフマン符号化値に EOS 記号が含まれています
 hpackhuffman.stringLiteralTooMuchPadding=Huffman 符号化された文字列リテラルの終わりに、7ビット以上のEOSパディングが提供されました。
 
 http2Parser.headerLimitCount=コネクション [{0}]、ストリーム [{1}]、ヘッダーが多すぎます。
@@ -97,6 +100,7 @@ stream.reset.send=コネクション [{0}]、ストリーム [{1}]、[{2}] が
 stream.trailerHeader.noEndOfStream=コネクション[{0}]、ストリーム[{1}]、trailer ヘッダーにストリーム終了フラグが含まれていません。
 stream.writeTimeout=クライアントがストリームデータの書き込みを許可するためにフロー制御ウィンドウを増やすのを待つタイムアウト
 
+streamProcessor.cancel=コネクション [{0}]、ストリーム [{1}]、残りのリクエストボディは必要とされません
 streamProcessor.error.connection=コネクション[{0}]、ストリーム[{1}]、コネクションに致命的なエラーが処理中に発生しました。
 streamProcessor.error.stream=コネクション[{0}]、ストリーム[{1}]、処理中にストリームに致命的なエラーが発生しました。
 streamProcessor.flushBufferedWrite.entry=コネクション [{0}]、ストリーム [{1}]、書き込み用バッファをフラッシュします。
@@ -115,18 +119,19 @@ upgradeHandler.init=コネクション[{0}]、状態[{1}]
 upgradeHandler.initialWindowSize.invalid=コネクション[{0}]、[{1}]の無効な値は初期ウィンドウサイズで無視されました
 upgradeHandler.invalidPreface=コネクション[{0}]、無効なConnection Preface
 upgradeHandler.ioerror=コネクション[{0}]
+upgradeHandler.noAllocation=接続 [{0}]、ストリーム [{1}]、割り当ての待機がタイムアウトしました
 upgradeHandler.noNewStreams=コネクション [{0}]、ストリーム [{1}]、このコネクションには新しいストリームを作成できないためストリームを無視します。
 upgradeHandler.pause.entry=コネクション[{0}] 一時停止中
-upgradeHandler.pingFailed=コネクション [{0}]、クライアントへ ping を送信できません。
+upgradeHandler.pingFailed=コネクション ID [{0}] はクライアントへの ping 送信に失敗しました。
 upgradeHandler.prefaceReceived=コネクション [{0}]、クライアントからコネクションプリフェイスを受信しました。
-upgradeHandler.pruneIncomplete=コネクション [{0}]、コネクションを削除できませんでした。ストリームが有効である、あるいは、優先度木に登録されているからです。現在のストリーム数 [{2}] は多すぎます。
+upgradeHandler.pruneIncomplete=コネクション [{0}]、ストリーム [{1}]、コネクションを削除できませんでした。アクティブなストリーム数 [{2}] は多すぎます。
 upgradeHandler.pruneStart=コネクション[{0}] 古いストリームのプルーニングを開始します。 上限は[{1}] + 10%で、現在[{2}]ストリームがあります。
 upgradeHandler.pruned=コネクション [{0}]、完了したストリーム [{1}] は削除します。
 upgradeHandler.prunedPriority=コネクション [{0}]、優先度木に登録されていた可能性のある未使用のストリーム [{1}] を取り除きました。
 upgradeHandler.releaseBacklog=コネクション[{0}]、ストリーム[{1}]はバックログから解放されました。
-upgradeHandler.rst.debug=コネクション [{0}]、ストリーム [{1}]、エラー [{2}]、メッセージ [{3}]、RST(ストリームを切断します)
+upgradeHandler.rst.debug=コネクション [{0}]、ストリーム [{1}]、エラー [{2}]、メッセージ [{3}]、RST (ストリームを切断します)
 upgradeHandler.sendPrefaceFail=コネクション [{0}]、クライアントにプリフェイスを送信できませんでした。
-upgradeHandler.socketCloseFailed=ソケットの切断に失敗しました。
+upgradeHandler.socketCloseFailed=ソケットクローズ中のエラー
 upgradeHandler.stream.closed=ストリーム[{0}]がしばらく閉じられていました
 upgradeHandler.stream.even=新しいリモートストリーム ID [{0}] を要求されましたがリモートストリームの ID は奇数でなければなりません。
 upgradeHandler.stream.notWritable=コネクション[{0}]、ストリーム[{1}]、このストリームは書き込み可能ではありません
@@ -144,5 +149,14 @@ upgradeHandler.writeBody=コネクション [{0}]、ストリーム [{1}]、デ
 upgradeHandler.writeHeaders=コネクション [{0}], ストリーム [{1}]
 upgradeHandler.writePushHeaders=コネクション[{0}]、ストリーム[{1}]、プッシュされたストリーム[{2}]、EndOfStream [{3}]
 
+windowAllocationManager.dispatched=接続 [{0}]、ストリーム [{1}]、ディスパッチされました
+windowAllocationManager.notified=接続 [{0}]、ストリーム [{1}]、通知されました
+windowAllocationManager.notify=接続 [{0}]、ストリーム [{1}]、待機タイプ [{2}]、通知タイプ [{3}]
+windowAllocationManager.waitFor.connection=接続 [{0}]、ストリーム [{1}]、接続フロー制御ウィンドウ (blocking) を待機中です (タイムアウト [{2}])
+windowAllocationManager.waitFor.ise=接続 [{0}]、ストリーム [{1}]、すでに待機中です
+windowAllocationManager.waitFor.stream=接続 [{0}]、ストリーム [{1}]、ストリームフロー制御ウィンドウ (blocking) を待機中です (タイムアウト [{2}])
+windowAllocationManager.waitForNonBlocking.connection=接続 [{0}]、ストリーム [{1}]、接続フロー制御ウィンドウ (non-blocking) を待機中です
+windowAllocationManager.waitForNonBlocking.stream=接続 [{0}]、ストリーム [{1}]、ストリームフロー制御ウィンドウ (non-blocking) を待機中です
+
 writeStateMachine.endWrite.ise=書き込みが完了したら新しい状態に[{0}]を指定するのは不正です。
 writeStateMachine.ise=状態[{1}]の[{0}()]を呼び出すことは不正です。
diff --git a/java/org/apache/jasper/resources/LocalStrings_ja.properties b/java/org/apache/jasper/resources/LocalStrings_ja.properties
index 576c4d3..6bf019a 100644
--- a/java/org/apache/jasper/resources/LocalStrings_ja.properties
+++ b/java/org/apache/jasper/resources/LocalStrings_ja.properties
@@ -13,19 +13,19 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-jasper.error.emptybodycontent.nonempty=TLDに従ってタグ [{0}] は空でなければいけませんが、そうではありません
+jasper.error.emptybodycontent.nonempty=TLDによると、タグ [{0}] は空である必要がありますがそうなっていません
 
 jsp.engine.info=Jasper JSP {0}エンジン
-jsp.error.action.isnottagfile=[{0}] アクションはタグファイル中でのみ使用できません
+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.deferredmix=attribute の値に ${} 書式と #{} 書式を同時に含めることはできません。
+jsp.error.attribute.custom.non_rt_with_expr=TLD又はタグファイル中のattributeディレクティブによると、属性[{0}]はいかなる式も受け付けません
+jsp.error.attribute.deferredmix=属性値に ${} と #{} のEL式を同時に含めることはできません。
 jsp.error.attribute.duplicate=属性修飾名は、要素内で一意でなければなりません
-jsp.error.attribute.invalidPrefix=属性のプレフィックス [{0}] はどの取り込まれたタグライブラリにも対応しません
+jsp.error.attribute.invalidPrefix=属性のプレフィックス [{0}] はインポートされたいずれのタグライブラリにも対応しません
 jsp.error.attribute.noequal=等号記号が必要です
-jsp.error.attribute.noescape=属性値[{0}]は[{1}]で引用され、値の中で使用するとエスケープする必要があります。
+jsp.error.attribute.noescape=属性値[{0}]は[{1}]で引用され、値の中で使用する際はエスケープする必要があります。
 jsp.error.attribute.noquote=引用符が必要です
 jsp.error.attribute.nowhitespace=JSP の仕様により、属性名の前に空白が必要です。
 jsp.error.attribute.null_name=空の属性名です
@@ -37,11 +37,11 @@ jsp.error.bad_attribute=TLDによると、タグ [{1}] の属性 [{0}] は無効
 jsp.error.bad_tag=プレフィックス [{1}]でインポートされたタグライブラリには、タグ [{0}] は存在しません
 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.noproperty=タイプ [{1}] のbean中のプロパティ [{0}] の情報を発見できませんでした
 jsp.error.beans.nullbean=nullオブジェクトにBean操作をおこなおうとしました
 jsp.error.beans.property.conversion=属性[{2}]:[{3}]の文字列[{0}]をクラス[{1}]に変換できません。
 jsp.error.beans.propertyeditor.notregistered=PropertyEditorManagerに登録されていないプロパティエディタ
-jsp.error.beans.setproperty.noindexset=インデックス付きの属性を指定できません
+jsp.error.beans.setproperty.noindexset=インデックス付きのプロパティを設定できません
 jsp.error.bug48498=JSP抽出を表示できません。 XMLパーサーのバグが原因である可能性があります(詳細は、Tomcatバグ48498を参照してください)。
 jsp.error.classname=.classファイルからクラス名を決定できません
 jsp.error.coerce_to_type=属性[{0}]の値[{2}]をタイプ[{1}]に変換できません。
@@ -49,40 +49,41 @@ jsp.error.compilation=ファイルのコンパイル中にエラーが発生し
 jsp.error.compiler=Java コンパイラが見つかりません。
 jsp.error.compiler.config=設定オプション compilerClassName:[{0}]およびコンパイラ:[{1}]のJavaコンパイラは利用可能ではありません。
 jsp.error.config_pagedir_encoding_mismatch=jsp-property-group中に指定されているPage-encoding [{0}] がpage指示子中の指定 [{1}] と違います
-jsp.error.corresponding.servlet=生成されたサーブレットのエラーです:\n
+jsp.error.corresponding.servlet=生成されたサーブレットエラー:\n\
+\n
 jsp.error.could.not.add.taglibraries=1つ以上のタグライブラリを追加できません
-jsp.error.data.file.processing=ファイル[{0}]を処理中にエラーが発生しました
+jsp.error.data.file.processing=ファイル[{0}]を処理中のエラー
 jsp.error.data.file.read=ファイル [{0}] を読み込み中にエラーが発生しました
-jsp.error.data.file.write=データファイルを書き込み中のエラーです
+jsp.error.data.file.write=データファイルを書き込み中のエラー
 jsp.error.deferredmethodandvalue='deferredValue' と 'deferredMethod' は同時に 'true' にできません。
-jsp.error.deferredmethodsignaturewithoutdeferredmethod='deferredMethod' が 'true' でなければメソッドにシグネチャを指定できません。
+jsp.error.deferredmethodsignaturewithoutdeferredmethod='deferredMethod' が 'true' でない場合、メソッドシグネチャを指定できません。
 jsp.error.deferredvaluetypewithoutdeferredvalue='deferredValue'が 'true'でない場合は値型を指定できません
-jsp.error.directive.isnottagfile=[{0}] 指示子はタグファイル中でしか使用できません
+jsp.error.directive.isnottagfile=[{0}] ディレクティブはタグファイル中でしか使用できません
 jsp.error.directive.istagfile=[{0}] ディレクティブはタグファイル中では使用できません
 jsp.error.duplicate.name.jspattribute=標準又はカスタムアクション中で指定されている属性 [{0}] はそれに囲まれたjsp:attribute中のname属性の値としても表れます
 jsp.error.duplicateqname=重複した修飾名[{0}]を持つ属性が見つかりました。 属性修飾名は、要素内で一意でなければなりません。
 jsp.error.dynamic.attributes.not.implemented=[{0}] タグはそれがdynamic属性を受け付けると宣言していますが、それに必要なインタフェースを実装していません
 jsp.error.el.parse=[{0}] : [{1}]
 jsp.error.el.template.deferred=テンプレート文字列に #{...} を含めることはできません。
-jsp.error.el_interpreter_class.instantiation=ELInterpreter classのロード又はインスタンス化に失敗しました [{0}]
-jsp.error.fallback.invalidUse=jsp:fallbackはjsp:pluginの直接の子供でなければいけません
+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.flush=データをフラッシュする際に例外が発生しました。
 jsp.error.fragmentwithtype='fragment'属性と'type'属性を両方指定できません。'fragment'が存在する場合には'type'は'{0}'に固定されます
 jsp.error.function.classnotfound=TLDの中で関数 [{1}] に指定されているクラス [{0}] が見つかりません: [{2}]
-jsp.error.include.exception=[{0}] を取り込めません
+jsp.error.include.exception=[{0}] を include 出来ません
 jsp.error.include.tag=無効なjsp:includeタグです
 jsp.error.internal.filenotfound=内部エラー: ファイル [{0}] が見つかりません
 jsp.error.invalid.attribute=[{0}]は無効な属性を持っています: [{1}]
 jsp.error.invalid.bean=useBeanのクラス属性 [{0}] の値が無効です
-jsp.error.invalid.directive=無効なディレクティブです
+jsp.error.invalid.directive=無効なディレクティブ
 jsp.error.invalid.expression=[{0}] は無効な式を含んでいます: [{1}]
 jsp.error.invalid.implicit=[{0}]のタグファイルの暗黙のTLDが無効です
 jsp.error.invalid.implicit.version=[{0}]のタグファイルの暗黙のTLDで無効なJSPバージョンが定義されています。
 jsp.error.invalid.scope=''scope''属性の値が無効です: [{0}] ("page"、"request"、"session"又は"application"のどれかでなければいけません)
-jsp.error.invalid.tagdir=タグファイルディレクトリ [{0}] が"/WEB-INF/tags"で始まりません
+jsp.error.invalid.tagdir=タグファイルディレクトリ [{0}] が"/WEB-INF/tags"で始まっていません
 jsp.error.invalid.version=タグファイル [{0}] には不正な JSP のバージョンが指定されています。
 jsp.error.ise_on_clear=バッファサイズが0の時にclear()を実行しても無効です
 jsp.error.java.line.number=生成されたJavaファイル:[{1}]の[{0}]行でエラーが発生しました。
@@ -90,8 +91,8 @@ jsp.error.javac=Javac 例外
 jsp.error.javac.env=Environment:
 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.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中にありません
@@ -101,18 +102,18 @@ jsp.error.jspoutput.doctypepublicsystem=&lt;jsp:output&gt;: 'doctype-public'属
 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.jsptext.badcontent='&lt;'が&lt;jsp:text&gt;のボディの中に現れる時は、CDATAの中にカプセル化する必要があります
 jsp.error.lastModified=ファイル [{0}] の最終更新日時を取得できません。
 jsp.error.library.invalid=ライブラリ[{0}]に従うとJSPページは無効です: [{1}]
 jsp.error.literal_with_void=戻り値の型がvoidである遅延メソッドとして定義されている属性[{0}]にリテラル値が指定されています。 JSP.2.3.4では、この場合リテラル値は許可されません。
-jsp.error.loadclass.taghandler=タグ [{1}] にタグハンドラクラス [{0}] をロードできません
+jsp.error.loadclass.taghandler=タグ [{1}] のタグハンドラクラス [{0}] をロードできません
 jsp.error.location=行:[{0}]、列:[{1}]
 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.namedAttribute.invalidUse=jsp:attributeは標準又はカスタムアクションの副要素でなければいけません
-jsp.error.needAlternateJavaEncoding=デフォルトのJavaエンコーディング [{0}] はあなたのプラットフォームでは無効です。JspServletの ''javaEncoding'' パラメタで、別の値を指定することができます。
+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; です
@@ -129,21 +130,21 @@ jsp.error.outputfolder=出力フォルダがありません
 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.deferredsyntaxallowedasliteral=Pageディレクティブ: 値の異なる複数の "deferredSyntaxAllowedAsLiteral" (以前の値: [{0}]、新しい値: [{1}]) を指定することはできません。
+jsp.error.page.conflict.contenttype=Pageディレクティブ: ''contentType''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.page.conflict.deferredsyntaxallowedasliteral=Pageディレクティブ:  "deferredSyntaxAllowedAsLiteral" を異なる値で複数回指定するのは無効です (旧: [{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=Tagディレクティブ: ''isThreadSafe''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
-jsp.error.page.conflict.language=page指示子: ''language''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
-jsp.error.page.conflict.session=page指示子: ''session''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
-jsp.error.page.conflict.trimdirectivewhitespaces=Pageディレクティブ:異なる値(old:[{0}]、new:[{1}])を持つ ''trimDirectiveWhitespaces''の複数の出現を違法にします。
+jsp.error.page.conflict.isthreadsafe=Tagディレクティブ:  ''isThreadSafe''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.page.conflict.language=Pageディレクティブ: ''language''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.page.conflict.session=Pageディレクティブ: ''session''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.page.conflict.trimdirectivewhitespaces=Pageディレクティブ: ''trimDirectiveWhitespaces''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
 jsp.error.page.invalid.buffer=Pageディレクティブ: buffer属性の値が無効です
-jsp.error.page.invalid.deferredsyntaxallowedasliteral=Pageディレクティブ: 不正な deferredSyntaxAllowedLiteral です。
+jsp.error.page.invalid.deferredsyntaxallowedasliteral=Pageディレクティブ: deferredSyntaxAllowedAsLiteral の値は不正です
 jsp.error.page.invalid.import=Pageディレクティブ:importの値が無効です
-jsp.error.page.invalid.iselignored=Pageディレクティブ: isELIgnoredに無効な値が指定されています
+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属性の値が無効です
@@ -154,44 +155,45 @@ 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.params.invalidUse=jsp:paramsはjsp:pluginの直接の子でなければいけません
 jsp.error.parse.error.in.TLD=タグライブラリ記述子 [{0}] 中の解析エラーです
-jsp.error.parse.xml=ファイル[{0}]のXML解析エラー
+jsp.error.parse.xml=ファイル[{0}]のXML解析中のエラー
 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.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.prefix.use_before_dcl=このTagディレクティブで指定されているプリフィックス [{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.security=コンテキストのセキュリティの初期化に失敗しました。
-jsp.error.servlet.destroy.failed=JSPページのServlet.destroy()の例外
+jsp.error.servlet.destroy.failed=JSPページのServlet.destroy()中の例外
+jsp.error.servlet.invalid.method=JSPではGET、POST、またはHEADのみが許可されます。 JasperはOPTIONSも許可しています。
 jsp.error.setLastModified=ファイル[{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.close.failed=ストリームを切断できませんでした。
+jsp.error.stream.close.failed=ストリームをクローズできませんでした。
 jsp.error.stream.closed=ストリームがクローズされています
-jsp.error.tag.conflict.attr=Tag指示子: 属性[{0}]を異なる値で複数回指定するのは不正です (旧: [{1}], 新: [{2}])
-jsp.error.tag.conflict.deferredsyntaxallowedasliteral=Tagディレクティブ:異なる値(old:[{0}]、new:[{1}])を持つ '' deferredSyntaxAllowedAsLiteral ''の複数の出現を持つことは違法です。
-jsp.error.tag.conflict.iselignored=tag指示子: ''isELIgnored''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
-jsp.error.tag.conflict.language=tag指示子: ''language''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
-jsp.error.tag.conflict.trimdirectivewhitespaces=Tagディレクティブ:異なる値(old:[{0}]、新しい:[{1}])を持つ ''trimDirectiveWhitespaces''の複数の出現を持つことは違法です。
-jsp.error.tag.invalid.deferredsyntaxallowedasliteral=タグディレクティブ: deferredSyntaxAllowedAsLiteral に不正な値が指定されました。
-jsp.error.tag.invalid.iselignored=Tag ディレクティブ: isELIgnoredに無効な値が指定されています
-jsp.error.tag.invalid.trimdirectivewhitespaces=タグディレクティブ: trimDirectiveWhitespaces に不正な値が指定されました。
+jsp.error.tag.conflict.attr=Tagディレクティブ: 属性[{0}]を異なる値で複数回指定するのは無効です (旧: [{1}], 新: [{2}])
+jsp.error.tag.conflict.deferredsyntaxallowedasliteral=Tagディレクティブ: ''deferredSyntaxAllowedAsLiteral''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.tag.conflict.iselignored=Tagディレクティブ: ''isELIgnored''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.tag.conflict.language=Tagディレクティブ: ''language''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.tag.conflict.trimdirectivewhitespaces=Tagディレクティブ: ''trimDirectiveWhitespaces''を異なる値で複数回指定するのは無効です (旧: [{0}], 新: [{1}])
+jsp.error.tag.invalid.deferredsyntaxallowedasliteral=Tagディレクティブ: deferredSyntaxAllowedAsLiteral に不正な値が指定されました。
+jsp.error.tag.invalid.iselignored=Tagディレクティブ: isELIgnoredに無効な値が指定されています
+jsp.error.tag.invalid.trimdirectivewhitespaces=Tagディレクティブ: trimDirectiveWhitespaces の値は不正です
 jsp.error.tag.language.nonjava=Tagディレクティブ: 無効なlanguage属性です
-jsp.error.tag.multi.pageencoding=Tあgディレクティブは複数のpageencodingを持つことはできません
-jsp.error.tagdirective.badbodycontent=tag指示子中の無効なbody-content [{0}]です
+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.missingPath=タグファイルに指定されていないパス
+jsp.error.tagfile.missingPath=タグファイルにパスが指定されていません
 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.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'属性の両方が指定されています
@@ -207,7 +209,7 @@ jsp.error.tld.mandatory.element.missing=TLD [{1}] に必須要素の [{0}] が
 jsp.error.tld.missing=URI [{1}]のtaglib [{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.tlv.invalid.page=[{1}] 中の [{0}] に対するTagLibraryValidatorの検証エラーメッセージです
 jsp.error.tlvclass.instantiation=TagLibraryValidatorクラスのロード又はインスタンス化に失敗しました: [{0}]
 jsp.error.unable.compile=JSPのクラスをコンパイルできません
 jsp.error.unable.deleteClassFile=クラスファイルを削除できません
@@ -217,17 +219,17 @@ jsp.error.unable.to_find_method=属性 [{0}] のsetterメソッドが見つか
 jsp.error.unavailable=JSPは利用不可とマークされています
 jsp.error.unbalanced.endtag=終了タグ "&lt;/{0}" の対応が取れていません
 jsp.error.undeclared_namespace=宣言されていない名前空間でカスタムタグが検出されました[{0}]
-jsp.error.unknown_attribute_type=属性 [{0}] に対する未知の属性タイプです
+jsp.error.unknown_attribute_type=属性 [{0}] に対する未知の属性タイプ [{1}] です。
 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.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.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.bad_tag=URI [{1}] に関連付けられたタグライブラリの中にはタグ [{0}] は定義されていません
 jsp.error.xml.closeQuoteMissingInTextDecl=テキスト宣言中の[{0}]に続く値の中の最後のクオートがありません
 jsp.error.xml.closeQuoteMissingInXMLDecl=XML宣言中の[{0}]に続く値の中の最後のクオートがありません
 jsp.error.xml.encodingByteOrderUnsupported=エンコーディング [{0}] に指定されたバイトオーダはサポートされていません
@@ -279,40 +281,42 @@ jsp.tldCache.tldInDir=TLD ファイルをディレクトリ [{0}] で発見し
 jsp.tldCache.tldInJar=JAR ファイル [{0}] の内部に TLD ファイルを発見しました。
 jsp.tldCache.tldInResourcePath=リソースパス[{0}]にTLDファイルが見つかりました。
 jsp.warning.bad.urlpattern.propertygroup=web.xml中のurl-pattern副要素中に誤った値 [{0}] があります
-jsp.warning.checkInterval=警告: initParam checkIntervalの値が無効です。"300"秒のデフォルト値を使用します
-jsp.warning.classDebugInfo=警告: initParam classDebugInfoの値が無効です。デフォルト値 "false"を使用します
+jsp.warning.checkInterval=警告: initParam checkIntervalの値は無効です。既定値 "300" 秒が使用されます
+jsp.warning.classDebugInfo=警告: initParam の classDebugInfo の値は無効です。既定値 "false" が使用されます
 jsp.warning.classpathUrl=クラスパスに無効なURLが見つかりました。 このURLは無視されます。
 jsp.warning.compiler.classfile.delete.fail=生成されたクラスファイル[{0}]を削除できませんでした
 jsp.warning.compiler.classfile.delete.fail.unknown=生成されたクラスファイルの削除に失敗しました
 jsp.warning.compiler.javafile.delete.fail=生成されたJavaファイル[{0}]を削除できませんでした。
-jsp.warning.development=警告: initParam developmentの値が無効です。"true"のデフォルト値を使用します
-jsp.warning.displaySourceFragment=Warning: initParam に指定した displaySourceFragment に不正な値が指定されました。代わりに初期値の 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.jspIdleTimeout=警告:initParam jspIdleTimeoutの値が無効です。 デフォルト値 "-1"を使用します。
-jsp.warning.keepgen=警告: initParam keepgeneratedの値が無効です。 デフォルト値 "false" を使用します
-jsp.warning.mappedFile=警告: initParam mappedFileの値が無効です。デフォルト値 "false" を使用します
-jsp.warning.maxLoadedJsps=警告:initParam maxLoadedJspsの値が無効です。 デフォルト値 "-1"を使用します。
-jsp.warning.modificationTestInterval=警告: initParam の modificationTestInterval に不正な値が指定されました。初期値の "4" 秒を使用します。
-jsp.warning.noJarScanner=警告: ServletContext に org.apache.tomcat.JarScanner が構成されていません。初期値の JarScanner 実装を使用します。
-jsp.warning.quoteAttributeEL=警告: initParam の quoteAttributeEL に不正な値が指定されました。初期値の "false" を使用します。
-jsp.warning.recompileOnFail=警告: initParam の recompileOnFail に不正な値が指定されました。初期値の "false" を使用します。
-jsp.warning.strictQuoteEscaping=警告:initParam strictQuoteEscapingの値が無効です。 デフォルト値 "true"を使用します。
-jsp.warning.suppressSmap=警告: initParam suppressSmapの値が無効です。デフォルト値 "false" を使用します
-jsp.warning.tagPreDestroy=[{0}]のタグインスタンスでpreDestroyを処理中にエラーが発生しました。
-jsp.warning.tagRelease=[{0}]のタグインスタンスでリリースを処理中にエラーが発生しました。
+jsp.warning.development=警告: initParam の development の値は無効です。既定値 "true" が使用されます
+jsp.warning.displaySourceFragment=警告: initParam の displaySourceFragmentの値は無効です。 既定値 "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.jspIdleTimeout=警告: initParam jspIdleTimeoutの値は無効です。既定値 "-1"を使用します。
+jsp.warning.keepgen=警告: initParam の keepgenerated の値は無効です。既定値 "false" が使用されます
+jsp.warning.mappedFile=警告: initParam の mappedFile の値は無効です。既定値 "false" が使用されます
+jsp.warning.maxLoadedJsps=警告: initParam maxLoadedJspsの値は無効です。 既定値 "-1"を使用します。
+jsp.warning.modificationTestInterval=警告: initParam の modificationTestInterval の値は無効です。既定値 "4" 秒が使用されます
+jsp.warning.noJarScanner=警告: ServletContext に org.apache.tomcat.JarScanner が構成されていません。既定値の JarScanner 実装を使用します。
+jsp.warning.quoteAttributeEL=警告: initParam の quoteAttributeEL の値は無効です。既定値 "false" が使用されます
+jsp.warning.recompileOnFail=警告: initParam の recompileOnFail の値は無効です。既定値 "false" が使用されます
+jsp.warning.strictQuoteEscaping=警告: initParam strictQuoteEscapingの値は無効です。 既定値 "true"を使用します。
+jsp.warning.suppressSmap=警告: initParam の suppressSmap の値は無効です。既定値 "false" が使用されます
+jsp.warning.tagPreDestroy=[{0}]のタグインスタンスでpreDestroyを処理中のエラー
+jsp.warning.tagRelease=[{0}]のタグインスタンス解放処理中のエラー
 jsp.warning.unknown.sourceVM=不明な source VM [{0}]が無視されました
 jsp.warning.unknown.targetVM=不明な target  VM [{0}]が無視されました。
-jsp.warning.xpoweredBy=警告: Invalid value for the initParam xpoweredByの値が無効です。デフォルト値 "false" を使用します
+jsp.warning.unsupported.sourceVM=サポートされていない source VM [{0}] がリクエストされました。[{1}] が使用されます
+jsp.warning.unsupported.targetVM=サポートされていない target VM [{0}] がリクエストされました。[{1}] が使用されます
+jsp.warning.xpoweredBy=警告: initParam の xpoweredBy の値は無効です。既定値 "false" が使用されます
 
 jspc.delete.fail=ファイル[{0}]を削除できませんでした
 jspc.error.fileDoesNotExist=ファイル引数 [{0}] は存在しません。
-jspc.error.generalException=エラー: ファイル [{0}] は次の例外を発生しました:
-jspc.error.invalidFragment=Webフラグメントのエラーによる事前コンパイルの中止。
-jspc.error.invalidWebXml=web.xmlのエラーによるプリコンパイルの中止
-jspc.generation.result=[{1}]ミリ秒で[{0}]エラーが発生して生成が完了しました。
+jspc.error.generalException=エラー: ファイル [{0}] で以下の一般的な例外が発生しました:
+jspc.error.invalidFragment=Webフラグメントのエラーによりプリコンパイルが中止されました
+jspc.error.invalidWebXml=web.xmlのエラーによりプリコンパイルを中止しました
+jspc.generation.result=[{1}]ミリ秒の間に[{0}]個のエラーが発生して生成が完了しました。
 jspc.implicit.uriRoot=uriRootはデフォルト[{0}]に設定されます
 jspc.usage=使用法: jspc <options> [--] <jsp files>\n\
 JSPファイルの場所は次のオプションで指定するか、\n\
@@ -348,11 +352,21 @@ JSPファイルの場所は次のオプションで指定するか、\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\
+jspc.webfrg.footer=</web-fragment>\n\
+\n
+jspc.webinc.footer=<!--\n\
+ここまで、Apache Tomcat JspC による自動生成\n\
+-->\n\
+\n\
+\n
+jspc.webinc.header=<!--\n\
+Apache Tomcat JspC による自動生成\n\
+-->\n\
+\n\
 \n
-jspc.webxml.footer=\n\
-</web-app>\n\
+jspc.webinc.insertEnd=<!-- JSPC サーブレットマッピング ここまで -->
+jspc.webinc.insertStart=<!-- JSPC サーブレットマッピング ここから -->
+jspc.webxml.footer=</web-app>\n\
 \n
 
 org.apache.jasper.compiler.ELParser.invalidQuotesForStringLiteral=不正な文字列リテラル [{0}] です。シングルクォート、あるいは、ダブルクォートで囲まれていなければなりません。
diff --git a/java/org/apache/naming/factory/LocalStrings_ja.properties b/java/org/apache/naming/factory/LocalStrings_ja.properties
index 0716753..5e9164c 100644
--- a/java/org/apache/naming/factory/LocalStrings_ja.properties
+++ b/java/org/apache/naming/factory/LocalStrings_ja.properties
@@ -15,6 +15,10 @@
 
 dataSourceLinkFactory.badWrapper=クラス[{0}]のラッパーではありません。
 
+factoryBase.factoryClassError=リソースファクトリクラスを読み込めません
+factoryBase.factoryCreationError=リソースファクトリインスタンスを生成できません
+factoryBase.instanceCreationError=リソースインスタンスを生成できません
+
 lookupFactory.circularReference=[{0}]を含む循環参照が見つかりました。
 lookupFactory.createFailed=JNDI lookup ファクトリークラスのインスタンスを作成できませんでした。
 lookupFactory.loadFailed=JNDIルックアップファクトリクラスをロードできませんでした。
diff --git a/java/org/apache/tomcat/util/buf/LocalStrings_ja.properties b/java/org/apache/tomcat/util/buf/LocalStrings_ja.properties
index 2c30d38..8f5c820 100644
--- a/java/org/apache/tomcat/util/buf/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/buf/LocalStrings_ja.properties
@@ -13,14 +13,19 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+asn1Parser.lengthInvalid=入力データバイト長 [{1}] に対して無効なバイト長 [{0}] が報告されました
+asn1Parser.tagMismatch=期待値は [{0}] でしたが、実際に見つかった値は [{1}] でした
+
 b2cConverter.unknownEncoding=文字エンコーディング [{0}] は未対応です。
 
 byteBufferUtils.cleaner=直接ByteBufferクリーナーを使用することはできません、メモリリークが発生する可能性があります。
 
+encodedSolidusHandling.invalid=値 [{0}] は認識されません
+
 hexUtils.fromHex.nonHex=入力は16進数でなければなりません
 hexUtils.fromHex.oddDigits=入力は、偶数の16進数で構成する必要があります。
 
 uDecoder.eof=予期せぬ場所で終端に達しました。
 uDecoder.noSlash="/" を符号化して含めることはできません。
-uDecoder.urlDecode.conversionError=文字セット[{1}]を使用して[{0}]のデコードに失敗しました
+uDecoder.urlDecode.conversionError=文字セット[{1}]を使用した[{0}]のデコードに失敗しました
 uDecoder.urlDecode.missingDigit=%文字の後ろに2つの16進数字が続く必要があるため、[{0}]のデコードに失敗しました。
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties b/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties
index 34cb50c..019c6c4 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties
@@ -14,8 +14,8 @@
 # limitations under the License.
 
 jre9Compat.invalidModuleUri=モジュール URI [{0}] を JarScanner で処理する URL に変換できませんでした。
+jre9Compat.javaPre9=クラスが見つからないため Java 9 以前の JVM 上でコードが実行されていると仮定します
+jre9Compat.unexpected=Java9 クラスやメソッドへの参照の生成に失敗しました
 
 jreCompat.noApplicationProtocol=Java 実行環境が SSLEngine.getApplicationProtocol() に対応していません。Java 9 以降で実行する必要があります。
-jreCompat.noApplicationProtocols=\n\
-113/5000\n\
-Java RuntimeはSSLParameters.setApplicationProtocols()をサポートしていません。 この機能を使用するには、Java 9を使用する必要があります。
+jreCompat.noApplicationProtocols=Java 実行環境はSSLParameters.setApplicationProtocols()をサポートしていません。 この機能を使用するには、Java 9以降を使用する必要があります。
diff --git a/java/org/apache/tomcat/util/descriptor/LocalStrings_ja.properties b/java/org/apache/tomcat/util/descriptor/LocalStrings_ja.properties
index 099dfed..ca41781 100644
--- a/java/org/apache/tomcat/util/descriptor/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/descriptor/LocalStrings_ja.properties
@@ -17,5 +17,5 @@ digesterFactory.missingSchema=XMLスキーマ[{0}]が見つかりませんでし
 
 localResolver.unresolvedEntity=publicID [{1}]、system ID [{2}]、およびベースURI [{3}]を持つXMLリソース[{0}]を既知のローカルエンティティに解決できませんでした。
 
-xmlErrorHandler.error=致命的ではないエラー[{0}]は処理[{1}]を報告しました。
+xmlErrorHandler.error=処理[{1}]の間に致命的ではないエラー[{0}]が報告されました。
 xmlErrorHandler.warning=警告[{0}]が報告されました。[{1}]を処理中
diff --git a/java/org/apache/tomcat/util/descriptor/web/LocalStrings_ja.properties b/java/org/apache/tomcat/util/descriptor/web/LocalStrings_ja.properties
index fc05f4a..8cd2579 100644
--- a/java/org/apache/tomcat/util/descriptor/web/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/descriptor/web/LocalStrings_ja.properties
@@ -26,31 +26,31 @@ webRuleSet.absoluteOrdering=<absolute-ordering>要素はweb-fragment.xmlで無
 webRuleSet.absoluteOrderingCount=<absolute-ordering>要素は1回の発生に制限されます。
 webRuleSet.nameCount=<name>要素は1回に制限されます。
 webRuleSet.postconstruct.duplicate=クラス [{0}]にPostConstructメソッド定義が重複しています
-webRuleSet.predestroy.duplicate=クラス[{0}]の重複する@PreDestroyメソッド定義
+webRuleSet.predestroy.duplicate=クラス[{0}]の@PreDestroyメソッドの定義が重複しています
 webRuleSet.relativeOrdering=<ordering>要素はweb.xmlで無効であり無視されます。
 webRuleSet.relativeOrderingCount=<ordering>要素は1回の出現に制限されます。
 
-webXml.duplicateEnvEntry=重複したenvエントリ名[{0}]
+webXml.duplicateEnvEntry=env-entry 名 [{0}] が重複しています
 webXml.duplicateFilter=同じ名前のファイル [{0}] が存在します。
 webXml.duplicateFragment=同名のフラグメント [{0}] が複数見つかりました。相対的な順序付けは正式な機能ではありません。詳細は Servlet Speification の 8.2.2 節 2c 項を参照してください。絶対的な順序付けの利用を検討してください。
-webXml.duplicateMessageDestination=重複するmessage-destination-name[{0}]
-webXml.duplicateMessageDestinationRef=重複したmessage-destination-ref 名 [{0}]
-webXml.duplicateResourceEnvRef=重複した resource-env-ref  [{0}]
-webXml.duplicateResourceRef=重複したresource-ref  [{0}]
+webXml.duplicateMessageDestination=message-destination 名 [{0}] が重複しています
+webXml.duplicateMessageDestinationRef=message-destination-ref 名 [{0}] が重複しています
+webXml.duplicateResourceEnvRef=resource-env-ref 名 [{0}] が重複しています
+webXml.duplicateResourceRef=resource-ref 名 [{0}] が重複しています
 webXml.duplicateServletMapping=サーブレット [{0}] と [{1}] を同じ url-pattern [{2}] にマッピングすることはできません。
-webXml.duplicateTaglibUri=URI [{0}] のタグライブラリは重複しています。
+webXml.duplicateTaglibUri=URI [{0}] のタグライブラリが重複しています。
 webXml.mergeConflictDisplayName=[{1}] に配置されたフラグメント [{0}] の表示名は、他のフラグメントと異なります。
-webXml.mergeConflictFilter=[{2}]に配置された名前[{1}]を持つフラグメントを含む複数のフラグメントでフィルタ[{0}]が一貫して定義されていません
+webXml.mergeConflictFilter=[{2}] に配置されたフラグメント [{1}] のフィルタ [{0}] の値は、他のフラグメントと異なります。
 webXml.mergeConflictLoginConfig=[{1}] に配置されたフラグメント [{0}] の LoginConfig は、他のフラグメントと異なります。
 webXml.mergeConflictOrder=フラグメントの相対順序には循環参照が含まれます。 これは、web.xmlで絶対順序を使用することで解決できます。
-webXml.mergeConflictResource=[{2}]にある名前[{1}]のフラグメントを含む、複数のフラグメントでリソース[{0}]が一貫して定義されていません。
-webXml.mergeConflictServlet=Servlet [{0}]は、[{2}]にある名前[{1}]のフラグメントを含む複数のフラグメントで一貫して定義されていません
-webXml.mergeConflictSessionCookieComment=セッションCookieのコメントは、[{1}]にある名前[{0}]のフラグメントを含む異なる値を持つ複数のフラグメントで一貫して定義されていません。
-webXml.mergeConflictSessionCookieDomain=セッションCookieドメインは、[{1}]にある名前[{0}]のフラグメントを含む、異なる値を持つ複数のフラグメントで一貫して定義されていません。
+webXml.mergeConflictResource=[{2}] に配置されたフラグメント [{1}] のリソース [{0}] の値は、他のフラグメントと異なります。
+webXml.mergeConflictServlet=[{2}] に配置されたフラグメント [{1}] の Servlet [{0}] の値は、他のフラグメントと異なります。
+webXml.mergeConflictSessionCookieComment=[{1}] に配置されたフラグメント [{0}] のセッションCookieコメントの値は、他のフラグメントと異なります。
+webXml.mergeConflictSessionCookieDomain=[{1}] に配置されたフラグメント [{0}] のセッションCookieドメインの値は、他のフラグメントと異なります。
 webXml.mergeConflictSessionCookieHttpOnly=[{1}] に配置されたフラグメント [{0}] のセッションクッキー http-only フラグの値は、他のフラグメントと異なります。
 webXml.mergeConflictSessionCookieMaxAge=[{1}] に配置されたフラグメント [{0}] のセッションクッキー max-age の値は、他のフラグメントと異なります。
-webXml.mergeConflictSessionCookieName=セッションCookie名は、[{1}]にある名前[{0}]のフラグメントを含む異なる値を持つ複数のフラグメントで矛盾して定義されました。
-webXml.mergeConflictSessionCookiePath=[{1}] に配置されたフラグメント [{0}] のセッションクッキー  path は、他のフラグメントと異なります。
+webXml.mergeConflictSessionCookieName=[{1}] に配置されたフラグメント [{0}] のセッションCookie名の値は、他のフラグメントと異なります。
+webXml.mergeConflictSessionCookiePath=[{1}] に配置されたフラグメント [{0}] のセッションクッキー path は、他のフラグメントと異なります。
 webXml.mergeConflictSessionCookieSecure=[{1}] に配置されたフラグメント [{0}] のセッションクッキー secure フラグの値は、他のフラグメントと異なります。
 webXml.mergeConflictSessionTimeout=[{1}] に配置されたフラグメント [{0}] のセッションタイムアウト時間は、他のフラグメントと異なります。
 webXml.mergeConflictSessionTrackingMode=[{1}] に配置されたフラグメント名 [{0}] を含む複数のフラグメントについて、セッション追跡モードの設定が一貫しません。
@@ -58,9 +58,9 @@ webXml.mergeConflictString=[{0}] の [{1}] は [{3}] に配置された複数フ
 webXml.multipleOther=<ordering> 要素に複数の <others> 要素が指定されました。
 webXml.reservedName=予約名[{0}]を使用してweb.xmlファイルが検出されました。 name要素はこのフラグメントでは無視されます。
 webXml.unrecognisedPublicId=public ID [{0}]は、既知のweb.xmlファイルのpublic IDと一致しないため、バージョンを特定できませんでした。
-webXml.version.unknown=[{0}] は未知のバージョン文字列です。初期値を使用します。
+webXml.version.unknown=[{0}] は未知のバージョン文字列です。既定値を使用します。
 webXml.wrongFragmentName=web.xmlのabsolute-orderingタグで間違ったフラグメント名[{0}]を使用しました!
 
-webXmlParser.applicationParse=[{0}]のアプリケーションweb.xmlファイルの解析エラー
+webXmlParser.applicationParse=アプリケーションweb.xmlファイルの位置 [{0}] の解析エラー
 webXmlParser.applicationPosition=行[{0}]列[{1}]で発生しました。
 webXmlParser.applicationStart=[{0}]のアプリケーションweb.xmlファイルの解析
diff --git a/java/org/apache/tomcat/util/http/LocalStrings_ja.properties b/java/org/apache/tomcat/util/http/LocalStrings_ja.properties
index cdd42ee..3be72f7 100644
--- a/java/org/apache/tomcat/util/http/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/http/LocalStrings_ja.properties
@@ -13,8 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-cookies.fallToDebug=注:さらなるCookieエラーの発生はDEBUGレベルで記録されます。
+cookies.fallToDebug=注: 以降のCookieエラーの発生はDEBUGレベルでログに出力されます。
 cookies.invalidCookieToken=Cookie: 不正な cookie です。値がトークンではないか、クォートされていません。
+cookies.invalidSameSiteCookies=不明な設定 [{0}] は、次のうちのいずれか1つである必要があります: unset, none, lax, strict. 既定値は unset です。
 cookies.invalidSpecial=Cookies: 不明な特別な Cookie
 cookies.maxCountFail=最大数[{0}]以上のクッキーが検出されました。
 
@@ -25,11 +26,10 @@ parameters.copyFail=デバッグログの目的で元のパラメータ値のコ
 parameters.decodeFail.debug=文字列のデコードに失敗しました。パラメーター [{0}] (値 [{1}]) は無視しました。
 parameters.decodeFail.info=文字のデコードに失敗しました。 値[{1}]のパラメータ[{0}]は無視されました。 ここで引用された名前と値は、デコードに失敗したために破損している可能性があることに注意してください。 デバッグレベルのログを使用して、破損していない元の値を確認してください。
 parameters.emptyChunk=空のパラメータチャンクが無視されます。
-parameters.fallToDebug=\n\
-メモ: 以降のパラメータエラーは DEBUG レベルでロギングします。
+parameters.fallToDebug=注: 以降のパラメータエラーの発生はDEBUGレベルでログに出力されます。
 parameters.invalidChunk=バイト値 [{0}] で始まりバイト値 [{1}] で終了する不正なチャンクです。値 [{2}] を無視します。
 parameters.maxCountFail=単独のリクエスト ([{0}]) のリクエストパラメーター (GET および POST) の数が上限値を超えています。上限値を超えるすべてのパラメーターは無視します。上限値を変更するには Connector 要素の maxParameterCount 属性を設定してください。
-parameters.maxCountFail.fallToDebug=Note: 今後同様のエラーが発生した場合ログを DEBUG レベルで出力します。
+parameters.maxCountFail.fallToDebug=注: 以降のこのエラーの発生はDEBUGレベルでログに出力されます。
 parameters.multipleDecodingFail=文字のデコードに失敗しました。 合計[{0}]個の障害が検出されましたが、最初のものだけが記録されました。 このロガーがすべての失敗を記録するためにはデバッグレベルのロギングを有効にします。
 parameters.noequal=[{2}]の値で[{0}]の位置から[{1}]の位置で終了するパラメータには、 ''=''文字が続いていませんでした。
 
diff --git a/java/org/apache/tomcat/util/http/parser/LocalStrings_ja.properties b/java/org/apache/tomcat/util/http/parser/LocalStrings_ja.properties
index a8c8a8e..d4145e1 100644
--- a/java/org/apache/tomcat/util/http/parser/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/http/parser/LocalStrings_ja.properties
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-cookie.fallToDebug=注:さらなるこのエラーの発生はDEBUGレベルで記録されます。
+cookie.fallToDebug=注: 以降のこのエラーの発生はDEBUGレベルでログに出力されます。
 cookie.invalidCookieValue=無効なCookieを含むCookieヘッダーが受信されました[{0}]。 そのクッキーは無視されます。
 cookie.invalidCookieVersion=[{0}]の認識できないクッキーバージョンを使用して、Cookieヘッダーが受信されました。 ヘッダーとそれに含まれるクッキーは無視されます。
 cookie.valueNotPresent=<値が存在しません>
diff --git a/java/org/apache/tomcat/util/modeler/LocalStrings_ja.properties b/java/org/apache/tomcat/util/modeler/LocalStrings_ja.properties
index 8ce4c81..2191b9a 100644
--- a/java/org/apache/tomcat/util/modeler/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/modeler/LocalStrings_ja.properties
@@ -13,5 +13,5 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-modules.digesterParseError=レジストリデータの解析エラー
-modules.readDescriptorsError=ディスクリプタ読み取り中のエラー
+modules.digesterParseError=レジストリデータ解析中のエラー
+modules.readDescriptorsError=記述子読み取り中のエラー
diff --git a/java/org/apache/tomcat/util/net/LocalStrings_ja.properties b/java/org/apache/tomcat/util/net/LocalStrings_ja.properties
index 7559199..60660e5 100644
--- a/java/org/apache/tomcat/util/net/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/net/LocalStrings_ja.properties
@@ -16,7 +16,7 @@
 channel.nio.interrupted=現在のスレッドが中断されました
 channel.nio.ssl.appInputNotEmpty=アプリケーションの入力バッファにはデータが残っています。残ったデータは失われます。
 channel.nio.ssl.appOutputNotEmpty=アプリケーション出力バッファにはまだデータが含まれています。 データは失われました。
-channel.nio.ssl.closeSilentError=コネクションを丁寧に切断しようとしましたが例外が発生しました。
+channel.nio.ssl.closeSilentError=コネクションを完全に切断しようとしましたが例外が発生しました。
 channel.nio.ssl.closing=チャネルはクロージング状態です
 channel.nio.ssl.eofDuringHandshake=ハンドシェイク中のEOF。
 channel.nio.ssl.expandNetInBuffer=ネットワーク入力バッファを[{0}]バイトに拡張しています
@@ -31,7 +31,7 @@ channel.nio.ssl.netOutputNotEmpty=ネットワーク出力バッファにはま
 channel.nio.ssl.notHandshaking=ハンドシェイク中にNOT_HANDSHAKING
 channel.nio.ssl.pendingWriteDuringClose=書き込みを保留しているためネットワークバッファーにデータが残っています。SSL 切断メッセージを送信できません。代わりに close(true) で強制的に切断してください。
 channel.nio.ssl.remainingDataDuringClose=ネットワークバッファ内にデータが残っていて、SSLクローズメッセージを送信できません。代わりにclose(true)でクローズします。
-channel.nio.ssl.sniDefault=要求された SNI ホスト名を取得するために十分なデータを蓄積できないため初期値を使用します。
+channel.nio.ssl.sniDefault=要求された SNI ホスト名を取得するために十分なデータを蓄積できないため既定値を使用します。
 channel.nio.ssl.sniHostName=コネクション [{0}] から取得した SNI ホスト名は [{1}] です。
 channel.nio.ssl.timeoutDuringHandshake=ハンドシェイクがタイムアウトしました。
 channel.nio.ssl.unexpectedStatusDuringUnwrap=UNWRAPハンドシェイク中に予期しないステータス[{0}]が発生しました。
@@ -67,6 +67,8 @@ endpoint.debug.pollerAddDo=Pollerソケット[{0}]に追加
 endpoint.debug.pollerProcess=イベント[{1}]のソケット[{0}]の処理中
 endpoint.debug.pollerRemove=Pollerから[{0}]を取り除こうとしています。
 endpoint.debug.pollerRemoved=poller から [{0}] を削除しました。
+endpoint.debug.registerRead=[{0}] に対する読み込みの監視を登録しました
+endpoint.debug.registerWrite=[{0}] に対する書き込みの監視を登録しました
 endpoint.debug.socket=ソケット[{0}]
 endpoint.debug.socketCloseFail=ソケットを切断できませんでした。
 endpoint.debug.socketTimeout=タイムアウト [{0}]
@@ -76,14 +78,14 @@ endpoint.debug.unlock.localNone=ローカルアドレスが利用できなかっ
 endpoint.duplicateSslHostName=ホスト名[{0}]に複数のSSLHostConfig要素が提供されました。 ホスト名は一意でなければなりません。
 endpoint.err.close=ソケットをクローズしようとした際に例外が発生しました
 endpoint.err.handshake=ハンドシェイク失敗
-endpoint.err.unexpected=ソケットの処理中に予期せぬエラーが発生しました。
+endpoint.err.unexpected=ソケット処理中の予期せぬエラー
 endpoint.executor.fail=エグゼキュータは処理するソケット[{0}]を拒否しました。
 endpoint.getAttribute=[{0}]は[{1}]です
 endpoint.init.bind=ソケットバインドに失敗しました:[{0}] [{1}]
 endpoint.init.bind.inherited=コネクタが1つを使用するように構成されている間、継承されたチャネルはありません。
 endpoint.init.listen=ソケットの待ち受けを開始できません: [{0}] [{1}]
 endpoint.init.notavail=APRは利用できません
-endpoint.invalidJmxNameSslHost=ホスト [{0}] に対応付けられた SSLHostConfig に正常な JMX オブジェクト名を生成できません。
+endpoint.invalidJmxNameSslHost=ホスト [{0}] に関連付けられた SSLHostConfig に有効な JMX オブジェクト名を生成できません。
 endpoint.invalidJmxNameSslHostCert=ホスト名 [{0}]、証明書タイプ [{1}] の SSLHostConfigCertificate のための正常な JMX オブジェクト名を生成できませんでした。
 endpoint.jmxRegistrationFailed=名前 [{0}] の JMX オブジェクトを登録できませんでした。
 endpoint.jsse.noSslContext=ホスト名[{0}]のSSLContextが見つかりませんでした
@@ -96,20 +98,20 @@ endpoint.nio.timeoutCme=タイムアウトの処理中の例外。 コードは
 endpoint.nio2.exclusiveExecutor=NIO2コネクタはシャットダウン時に排他的エグゼキュータを正しく動作させる必要があります。
 endpoint.noSslHostConfig=コネクタ[{1}]のdefaultSSLHostConfigName に一致するSSLHostConfig要素がhostName [{0}]で見つかりませんでした
 endpoint.noSslHostName=SSL のホスト設定にホスト名がありません。
-endpoint.poll.error=予期しないpoller エラー
+endpoint.poll.error=予期せぬ poller エラー
 endpoint.poll.fail=重大なPoller障害(Pollerの再始動):[{0}] [{1}]
 endpoint.poll.initfail=Pollerの作成に失敗しました。
 endpoint.poll.limitedpollsize=サイズ [{0}] の Poller インスタンスを作成できません。
 endpoint.process.fail=ソケットプロセッサーの割り当て中にエラーが発生しました。
 endpoint.processing.fail=ソケットプロセッサの実行中エラー
-endpoint.removeDefaultSslHostConfig=デフォルトのSSLHostConfig([{0}])は削除できません
+endpoint.removeDefaultSslHostConfig=既定のSSLHostConfig([{0}])は削除できません
 endpoint.sendfile.addfail=Sendfile 失敗: [{0}] [{1}]
-endpoint.sendfile.error=sendfile の送信中に予期せぬ異常が発生しました。
+endpoint.sendfile.error=予期せぬ sendfile エラー
 endpoint.serverSocket.closeFailed=[{0}] によりサーバーソケットの切断に失敗しました。
 endpoint.setAttribute=[{0}]を[{1}]に設定
-endpoint.timeout.err=ソケットタイムアウトの処理エラー
+endpoint.timeout.err=ソケットタイムアウト処理中のエラー
 endpoint.unknownSslHostName=SSL ホスト名 [{0}] はこのエンドポイントから認識されていません。
-endpoint.warn.executorShutdown=スレッドプール [{0}] と関連付けられたエグゼキュターは完全に停止できませんでした。アプリケーションスレッドは実行し続ける可能性がありますり。
+endpoint.warn.executorShutdown=スレッドプール [{0}] と関連付けられたエグゼキューターは完全に停止できませんでした。いくつかのアプリケーションスレッドはまだ動作し続けている可能性があります。
 endpoint.warn.incorrectConnectionCount=不正なコネクション数。複数のsocket.closeが同じソケットで呼び出されました。
 endpoint.warn.noLocalAddr=ソケット [{0}] のローカルアドレスを取得できません。
 endpoint.warn.noLocalName=ソケット [{0}] のローカルホスト名を取得できません。
diff --git a/java/org/apache/tomcat/util/net/jsse/LocalStrings_ja.properties b/java/org/apache/tomcat/util/net/jsse/LocalStrings_ja.properties
index c0e5e56..664c443 100644
--- a/java/org/apache/tomcat/util/net/jsse/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/net/jsse/LocalStrings_ja.properties
@@ -17,16 +17,19 @@ jsse.alias_no_key_entry=別名 [{0}] はキーエントリを発見できませ
 jsse.excludeProtocol=JRE は SSL プロトコル [{0}] に対応しています。しかし Tomcat の利用可能プロトコルからは除外されています。
 jsse.invalidTrustManagerClassName=[{0}]が提供するtrustManagerClassNameはjavax.net.ssl.TrustManagerを実装していません。
 jsse.noCertFile=SSLコネクタを使用する場合は、SSLHostConfigのcertificateFile属性を定義する必要があります。
-jsse.noDefaultProtocols=sslEnableProtocols の初期値を取得できません。コネクターを開始できるよう明示的に値を設定してください。
+jsse.noDefaultProtocols=sslEnableProtocols の既定値を取得できません。コネクターを開始できるよう明示的に値を設定してください。
 jsse.noKeys=キーストアで見つかった秘密キーのエイリアスがありません。
 jsse.openssl.effectiveCiphers=使用された暗号:[{0}]
 jsse.openssl.unknownElement=暗号文字列の不明な要素:[{0}]
 jsse.pemParseError=秘密鍵ファイル [{0}] を解析できませんでした。
 
 jsseSupport.certTranslationError=証明書の翻訳中にエラーが発生しました[{0}]
-jsseSupport.clientCertError=クライアントから証明書を取得できません。
+jsseSupport.clientCertError=クライアント証明書を取得中のエラー
 
 jsseUtil.noCrlSupport=トラストストアプロバイダー [{0}] は設定項目 certificateRevocationFile に対応していません。
 jsseUtil.noVerificationDepth=トラストストアプロバイダー [{0}] は設定項目 certificateVerificationDepth に未対応です。
 jsseUtil.trustedCertNotChecked=エイリアス[{0}]を持つ信頼できる証明書の有効期限は、証明書が不明な型であるためチェックされませんでした。
 jsseUtil.trustedCertNotValid=エイリアス[{0}]とDN [{1}]を持つ信頼できる証明書が[{2}]のために無効です。 この信頼できる証明書で署名された証明書が受け入れられるでしょう
+
+pemFile.noMultiPrimes=PKCS#1 証明書は multi-prime RSA フォーマットですが、Java はそのようなフォーマットに対する RSA 秘密鍵を構築する API を提供していません
+pemFile.notValidRFC5915=与えられたキーファイルは RFC 5915 に準拠していません
diff --git a/java/org/apache/tomcat/util/net/openssl/LocalStrings_ja.properties b/java/org/apache/tomcat/util/net/openssl/LocalStrings_ja.properties
index b202cb7..fa4e3c8 100644
--- a/java/org/apache/tomcat/util/net/openssl/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/net/openssl/LocalStrings_ja.properties
@@ -19,6 +19,7 @@ engine.engineClosed=エンジンが閉じられています
 engine.failedCipherSuite=暗号スイート[{0}]を有効にできませんでした。
 engine.inboundClose=ピアのclose_notifyを受信する前のインバウンドクローズ
 engine.invalidBufferArray=オフセット: [{0}], 長さ: [{1}] (期待値: offset <= offset + length <= srcs.length [{2}])
+engine.noRestrictSessionCreation=OpenSslEngine では既存セッションのレジュームのみにエンジンを制限することはできません
 engine.noSSLContext=SSLコンテキストがありません
 engine.noSession=SSLセッションIDが利用可能ではありません
 engine.nullBuffer=Null バッファ
@@ -42,9 +43,11 @@ openssl.doubleInit=SSLコンテキストが既に初期化されています。
 openssl.errApplyConf=OpenSSLConfをSSLコンテキストに適用できませんでした。
 openssl.errCheckConf=OpenSSLConfチェック中のエラー
 openssl.errMakeConf=OpenSSLConfコンテキストを作成できませんでした。
-openssl.errorSSLCtxInit=SSL コンテキストの初期化中にエラーが発生しました。
+openssl.errorSSLCtxInit=SSL コンテキスト初期化中のエラー
 openssl.keyManagerMissing=キーマネージャーが見つかりません。
 openssl.makeConf=OpenSSLConfコンテキストの作成
+openssl.nonJsseCertficate=証明書 [{0}] またはその秘密鍵 [{1}] は JSSE キーマネージャを用いて処理することが出来ませんでした。OpenSSL に直接渡されます
+openssl.nonJsseChain=証明書チェイン [{0}] が指定されていないか、または有効ではありません。JSSE は有効な証明書チェインを必要とするため、OpenSSL の直接使用が試行されます
 openssl.trustManagerMissing=トラストマネージャが見つかりません
 
 opensslconf.applyCommand=OpenSSLConfはコマンド(名前[{0}]、値[{1}])を適用しています。
diff --git a/java/org/apache/tomcat/websocket/LocalStrings_ja.properties b/java/org/apache/tomcat/websocket/LocalStrings_ja.properties
index 6107fee..d4b1532 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings_ja.properties
@@ -33,12 +33,13 @@ backgroundProcessManager.processFailed=バックグラウンド処理が失敗
 
 caseInsensitiveKeyMap.nullKey=null 値はキーに使用できません。
 
-futureToSendHandler.timeout=[{0}] [{1}]を完了するのを待ってから操作がタイムアウトしました
+futureToSendHandler.timeout=完了を [{0}] [{1}] 待機後に、操作がタイムアウトしました
 
+perMessageDeflate.alreadyClosed=transformer はクローズされました。これ以上使用されません
 perMessageDeflate.deflateFailed=圧縮された WebSocket フレームを展開できません。
 perMessageDeflate.duplicateParameter=[{0}]拡張パラメータの重複した定義
 perMessageDeflate.invalidState=不正な状態です。
-perMessageDeflate.invalidWindowSize=[{0}] のウインドウサイズに不正な値 [{1}] が指定されました。ウインドウサイズは 8 より大きく 15 未満でなければなりません。
+perMessageDeflate.invalidWindowSize=[{0}] のウインドウサイズに不正な値 [{1}] が指定されました。ウインドウサイズは 8 以上 15 以下でなければなりません。
 perMessageDeflate.unknownParameter=未知の拡張パラメーター [{0}] が指定されました。
 
 transformerFactory.unsupportedExtension=未対応の拡張 [{0}] です。
@@ -109,7 +110,7 @@ wsSession.unknownHandler=認識できないタイプ[{1}]のメッセージハ
 wsSession.unknownHandlerType=認識できない型[{1}]としてラップされたメッセージハンドラ[{0}]を追加できません。
 
 wsWebSocketContainer.asynchronousSocketChannelFail=サーバーへの接続を開始できません。
-wsWebSocketContainer.defaultConfiguratorFail=デフォルトコンフィグレータの作成に失敗しました。
+wsWebSocketContainer.defaultConfiguratorFail=既定のコンフィグレータ生成に失敗しました。
 wsWebSocketContainer.endpointCreateFail=クラス [{0}] のローカルエンドポイントを作成できません。
 wsWebSocketContainer.failedAuthentication=HTTP応答コード[{0}]を処理できませんでした。 認証ヘッダーがサーバーによって受け入れられませんでした。
 wsWebSocketContainer.httpRequestFailed=WebSocket接続を開始するHTTPリクエストが失敗しました。
diff --git a/java/org/apache/tomcat/websocket/server/LocalStrings_ja.properties b/java/org/apache/tomcat/websocket/server/LocalStrings_ja.properties
index f1cc316..c768cf3 100644
--- a/java/org/apache/tomcat/websocket/server/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/websocket/server/LocalStrings_ja.properties
@@ -17,7 +17,7 @@ serverContainer.addNotAllowed=以前に登録したことのあるエンドポ
 serverContainer.configuratorFail=POJO クラス [{1}] のインスタンスを構成するクラス [{0}] のインスタンスを作成できません。
 serverContainer.duplicatePaths=複数のエンドポイントを同じパス[{0}]に配備することはできません:既存のエンドポイントは[{1}]で、新しいエンドポイントは[{2}]です。
 serverContainer.encoderFail=タイプ[{0}]のエンコーダを作成できません
-serverContainer.failedDeployment=以前のデプロイメントが失敗したため、ホスト[{1}]内のパス[{0}]を持つWebアプリケーションへのWebSocketエンドポイントのデプロイメントは許可されていません。
+serverContainer.failedDeployment=以前の配備が失敗したため、ホスト[{1}]内のパス[{0}]を持つWebアプリケーションへのWebSocketエンドポイントの配備は許可されていません。
 serverContainer.missingAnnotation=POJOクラス[{0}]は@ServerEndpointでアノテーション付けされていないため、デプロイ出来ません。
 serverContainer.servletContextMissing=ServletContextが指定されていません
 
diff --git a/webapps/examples/WEB-INF/classes/LocalStrings_ja.properties b/webapps/examples/WEB-INF/classes/LocalStrings_ja.properties
index 6c3016f..4e57162 100644
--- a/webapps/examples/WEB-INF/classes/LocalStrings_ja.properties
+++ b/webapps/examples/WEB-INF/classes/LocalStrings_ja.properties
@@ -33,7 +33,7 @@ requestinfo.label.requesturi=Request URI:
 requestinfo.title=リクエスト情報例
 
 requestparams.firstname=First Name:
-requestparams.lastname=\ Last Name:
+requestparams.lastname=Last Name:
 requestparams.no-params=パラメータがありません。何か入力してください。
 requestparams.params-in-req=このリクエストのパラメータ:
 requestparams.title=リクエストパラメータ例


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