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 2022/09/05 10:23:21 UTC

[tomcat] branch 8.5.x updated: Back-port translation updates

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


The following commit(s) were added to refs/heads/8.5.x by this push:
     new a978b1a7bc Back-port translation updates
a978b1a7bc is described below

commit a978b1a7bc6d12d2a0c7648f21a396a816a46fa0
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Mon Sep 5 11:22:54 2022 +0100

    Back-port translation updates
---
 .../authenticator/LocalStrings_ja.properties       |  2 ++
 .../authenticator/LocalStrings_zh_CN.properties    |  9 ++++++---
 .../jaspic/LocalStrings_zh_CN.properties           |  2 +-
 .../catalina/core/LocalStrings_fr.properties       |  2 ++
 .../catalina/core/LocalStrings_ja.properties       |  2 ++
 .../catalina/core/LocalStrings_ko.properties       |  1 +
 .../catalina/core/LocalStrings_zh_CN.properties    | 12 ++++++++----
 .../catalina/filters/LocalStrings_ja.properties    |  2 +-
 .../catalina/filters/LocalStrings_zh_CN.properties |  4 ++--
 .../ha/session/LocalStrings_zh_CN.properties       |  6 +++---
 .../catalina/loader/LocalStrings_ja.properties     |  2 +-
 .../catalina/realm/LocalStrings_zh_CN.properties   |  6 +++---
 .../catalina/startup/LocalStrings_zh_CN.properties |  2 +-
 .../storeconfig/LocalStrings_zh_CN.properties      |  2 +-
 .../group/interceptors/LocalStrings_ja.properties  |  2 +-
 .../membership/LocalStrings_zh_CN.properties       |  4 ++--
 .../tribes/tipis/LocalStrings_ja.properties        |  2 +-
 .../tribes/transport/LocalStrings_ja.properties    |  2 +-
 .../catalina/valves/LocalStrings_ja.properties     |  2 +-
 .../webresources/LocalStrings_zh_CN.properties     |  2 +-
 java/org/apache/coyote/LocalStrings_ja.properties  |  2 +-
 .../coyote/http11/LocalStrings_zh_CN.properties    |  6 +++---
 .../apache/coyote/http2/LocalStrings_ja.properties |  3 +++
 .../coyote/http2/LocalStrings_zh_CN.properties     | 12 ++++++------
 .../jasper/resources/LocalStrings_ja.properties    |  2 +-
 .../jasper/resources/LocalStrings_zh_CN.properties |  2 +-
 .../naming/factory/LocalStrings_ko.properties      |  3 +++
 .../naming/factory/LocalStrings_zh_CN.properties   |  6 ++++++
 .../util/compat/LocalStrings_zh_CN.properties      |  2 ++
 .../util/http/parser/LocalStrings_zh_CN.properties |  2 +-
 .../tomcat/util/net/LocalStrings_fr.properties     |  2 +-
 .../tomcat/util/net/LocalStrings_ja.properties     |  2 +-
 .../tomcat/util/net/LocalStrings_ko.properties     |  2 +-
 .../tomcat/util/net/LocalStrings_zh_CN.properties  |  8 +++++---
 .../util/net/openssl/LocalStrings_zh_CN.properties |  4 ++--
 .../tomcat/websocket/LocalStrings_de.properties    |  2 +-
 .../tomcat/websocket/LocalStrings_es.properties    |  2 +-
 .../tomcat/websocket/LocalStrings_fr.properties    |  2 +-
 .../tomcat/websocket/LocalStrings_ja.properties    |  2 +-
 .../tomcat/websocket/LocalStrings_ru.properties    |  2 +-
 .../tomcat/websocket/LocalStrings_zh_CN.properties |  6 +++---
 webapps/docs/changelog.xml                         | 22 ++++++++++++++++++++++
 42 files changed, 108 insertions(+), 56 deletions(-)

diff --git a/java/org/apache/catalina/authenticator/LocalStrings_ja.properties b/java/org/apache/catalina/authenticator/LocalStrings_ja.properties
index de814db2b0..b2e510981e 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings_ja.properties
@@ -36,11 +36,13 @@ basicAuthenticator.invalidCharset=指定できる値は、null、空の文字列
 
 digestAuthenticator.cacheRemove=有効なエントリがクライアントのnonceキャッシュから削除され、新しいエントリのためのスペースが確保されました。 リプレイ攻撃が可能になりました。 リプレイ攻撃の可能性を防ぐには、nonceValidityを減らすか、nonceCacheSizeを増やしてください。 このタイプの警告は5分間表示されなくなります。
 
+formAuthenticator.changeSessionIdLogin=FORM 認証でログイン ページに転送する前に、セッション ID が [{0}] から [{1}] に変更されました
 formAuthenticator.forwardErrorFail=エラーページへ転送中の予期せぬエラー
 formAuthenticator.forwardLogin=リクエストメソッドGETを使用してコンテキスト [{3}] のページ [{2}] にメソッド [{1}] で行われた [{0}] の要求をフォワードします
 formAuthenticator.forwardLoginFail=ログインページへの転送での予期しないエラー
 formAuthenticator.noErrorPage=コンテキスト [{0}] のFORM認証にエラーページが定義されていません
 formAuthenticator.noLoginPage=コンテキスト [{0}] のFORM認証にログインページが定義されていません
+formAuthenticator.sessionIdMismatch=現在のセッションIDは [{0}] ですが、FORM認証 は [{1}] を期待していました
 
 singleSignOn.debug.associate=SSOはアプリケーションセッション[{1}]をSSOセッション[{0}]に関連付けます
 singleSignOn.debug.associateFail=SSOセッション[{1}]が存在しないため、SSOはアプリケーションセッション[{0}]を関連付けられませんでした。
diff --git a/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties b/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
index f74c009e8b..17a8983c1e 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
@@ -14,7 +14,7 @@
 # limitations under the License.
 
 authenticator.certificates=此请求中没有客户端证书链
-authenticator.changeSessionId=在身份验证时, 会话 ID 从 [{0} 更改为 [{1}]
+authenticator.changeSessionId=在身份验证时, 会话 ID 从 [{0}] 更改为 [{1}]
 authenticator.check.authorize=用户名[{0}]从连接器获得,并被信任为有效。从Tomcat领域获取此用户的角色。
 authenticator.check.authorizeFail=领域无法识别用户[{0}]。创建具有该名称且没有角色的主体。
 authenticator.check.found=已通过身份验证 [{0}]
@@ -43,7 +43,7 @@ formAuthenticator.noErrorPage=没有为上下文[{0}]中的表单身份验证定
 formAuthenticator.noLoginPage=在环境[{0}]中,未为FORM认证定义登录页面
 
 singleSignOn.debug.associate=SSO将应用程序会话[{1}]与SSO会话[{0}]关联
-singleSignOn.debug.associateFail=SSO无法关联应用程序会话{0},因为SSO会话{1}不存在。
+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}]
@@ -52,7 +52,7 @@ 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.principalFound=SSO 找到了带着认证类型[{1}]的缓存Principal [{0}]
 singleSignOn.debug.principalNotFound=SSO未找到缓存的Principal,为会话[{0}]擦除SSO cookie
 singleSignOn.debug.register=使用身份验证类型[{2}]的用户[{1}]的SSO注册SSO会话[{0}]。
 singleSignOn.debug.removeSession=SSO 从 SSO session [{1}] 中删除应用程序会话 [{0}]
@@ -70,3 +70,6 @@ spnegoAuthenticator.authHeaderNoToken=客户端发送的协商授权 header 未
 spnegoAuthenticator.authHeaderNotNego=客户端发送的授权头不是以协商开始的。
 spnegoAuthenticator.serviceLoginFail=无法作为服务主体登录
 spnegoAuthenticator.ticketValidateFail=无法验证客户端提供的票证
+
+sslAuthenticatorValve.http2=虚拟主机 [{1}] 中的上下文 [{0}] 配置为使用 CLIENT-CERT 身份验证,并且 [{2}] 配置为支持 HTTP/2。使用 CLIENT-CERT 身份验证与使用 HTTP/2 不兼容。
+sslAuthenticatorValve.tls13=虚拟主机 [{1}] 中的上下文 [{0}] 配置为使用 CLIENT-CERT 身份验证,并且 [{2}] 配置为使用 JSSE 支持 TLS 1.3。使用 CLIENT-CERT 身份验证与使用 TLS 1.3 和 JSSE 不兼容。
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 90a61e9ab5..b298162f45 100644
--- a/java/org/apache/catalina/authenticator/jaspic/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/authenticator/jaspic/LocalStrings_zh_CN.properties
@@ -20,7 +20,7 @@ authConfigFactoryImpl.zeroLengthAppContext=应用上下文名称的长度为0是
 authConfigFactoryImpl.zeroLengthMessageLayer=零长度的消息层名称是无效的
 
 callbackHandlerImpl.containerMissing=类型[{0}]的JASPIC回调缺少容器,已被忽略
-callbackHandlerImpl.jaspicCallbackMissing=接收到不支持的类型为{0}的JASPIC回调,该回调被忽略
+callbackHandlerImpl.jaspicCallbackMissing=接收到不支持的类型为[{0}]的JASPIC回调,该回调被忽略
 callbackHandlerImpl.realmMissing=容器[{1}]中类型为[{0}]的JASPIC回调缺少realm,该realm已被忽略
 
 jaspicAuthenticator.authenticate=通过JASPIC验证[{0}]的请求
diff --git a/java/org/apache/catalina/core/LocalStrings_fr.properties b/java/org/apache/catalina/core/LocalStrings_fr.properties
index 00f3895bd5..3613debb23 100644
--- a/java/org/apache/catalina/core/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/core/LocalStrings_fr.properties
@@ -68,6 +68,7 @@ applicationServletRegistration.setServletSecurity.ise=Les contraintes de sécuri
 
 applicationSessionCookieConfig.ise=La propriété [{0}] ne peut pas être ajoutée au SessionCookieConfig pour le contexte [{1}] car le contexte a déjà été initialisé
 
+aprListener.FIPSProviderNotDefault=Le provider FIPS doit être configuré comme provider par défaut quand AprLifecycleListener est configuré en mode FIPS [{0}]
 aprListener.aprDestroy=Echec de l'arrêt de la librairie Apache Tomcat Native basée sur APR
 aprListener.aprInit=La librairie Apache Tomcat Native basée sur APR qui permet des performances optimales dans les environnements de production n''a pas été trouvée sur le java.library.path : [{0}]
 aprListener.aprInitDebug=La librairie Apache Tomcat Native basée sur APR n''a pas été trouvée en utilisant les noms [{0}] dans le java.library.path [{1}], les erreurs retournées sont [{2}]
@@ -90,6 +91,7 @@ aprListener.tcnVersion=Un version ancienne [{0}] de la bibliothèque Apache Tomc
 aprListener.tooLateForFIPSMode=Ne peut pas passer en mode FIPS, SSL a déjà été initialisé
 aprListener.tooLateForSSLEngine=Impossible d'appeler setSSLEngine, SSL a déjà été initialisé
 aprListener.tooLateForSSLRandomSeed=setSSLRandomSeed impossible : SSL a déjà été initialisé
+aprListener.usingFIPSProvider=Utilisation d'OpenSSL avec le provider FIPS comme provider par défaut
 aprListener.wrongFIPSMode=Valuer inattendue de l''option FIPSMode de AprLifecycleListener : [{0}]
 
 asyncContextImpl.asyncDispatchError=Erreur lors d'un dispatch asynchrone
diff --git a/java/org/apache/catalina/core/LocalStrings_ja.properties b/java/org/apache/catalina/core/LocalStrings_ja.properties
index 9ad6677eb2..6022074a1d 100644
--- a/java/org/apache/catalina/core/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/core/LocalStrings_ja.properties
@@ -68,6 +68,7 @@ applicationServletRegistration.setServletSecurity.ise=コンテキストが既
 
 applicationSessionCookieConfig.ise=コンテキスト [{1}] が初期化済みなので、プロパティ [{0}] をSessionCookieConfigに追加することはできません。
 
+aprListener.FIPSProviderNotDefault=AprLifecycleListenerがFIPSモード [{0}] で構成されている場合は、FIPSプロバイダをデフォルトプロバイダとして構成する必要があります
 aprListener.aprDestroy=APRベースのApache Tomcatネイティブライブラリのシャットダウンに失敗しました。
 aprListener.aprInit=商用環境に最適な性能を発揮する APR ベースの Tomcat ネイティブライブラリが java.library.path [{0}] に存在しません。
 aprListener.aprInitDebug=APRベースのApache Tomcatネイティブライブラリは、java.library.path [{1}] 上の名前 [{0}] を使用して見つかりませんでした。 報告されたエラーは [{2}]
@@ -90,6 +91,7 @@ aprListener.tcnVersion=インストールされた Apache Tomcat ネイティブ
 aprListener.tooLateForFIPSMode=FIPSModeを設定できません:SSLは既に初期化されています。
 aprListener.tooLateForSSLEngine=setSSLEngineできません: SSLはすでに初期化されています
 aprListener.tooLateForSSLRandomSeed=setSSLRandomSeedできません:SSLは既に初期化されています。
+aprListener.usingFIPSProvider=FIPSプロバイダをデフォルトプロバイダとしてOpenSSLを使用します
 aprListener.wrongFIPSMode=AprLifecycleListener の設定 FIPSMode に予期せぬ値 [{0}] が指定されました。
 
 asyncContextImpl.asyncDispatchError=非同期ディスパッチの処理中にエラーが発生しました。
diff --git a/java/org/apache/catalina/core/LocalStrings_ko.properties b/java/org/apache/catalina/core/LocalStrings_ko.properties
index e859272f23..fe0cf2413a 100644
--- a/java/org/apache/catalina/core/LocalStrings_ko.properties
+++ b/java/org/apache/catalina/core/LocalStrings_ko.properties
@@ -124,6 +124,7 @@ containerBase.realm.stop=이전 realm을 중지시키는 중 오류 발생
 containerBase.threadedStartFailed=자식 컨테이너를 시작 중 실패했습니다.
 containerBase.threadedStopFailed=자식 컨테이너가 중지되는 중 실패했습니다.
 
+defaultInstanceManager.invalidAnnotation=유효하지 않은 [{0}] annotation입니다.
 defaultInstanceManager.invalidInjection=유효하지 않은 메소드 리소스 injection annotation
 defaultInstanceManager.postConstructNotFound=클래스 [{1}]을(를) 위한 PostConstruct 메소드 [{0}]이(가), 배치 descriptor에 선언되어 있지만, 해당 메소드를 찾을 수 없습니다.
 defaultInstanceManager.preDestroyNotFound=클래스 [{1}]을(를) 위한 PreDestroy 메소드 [{0}]이(가) 배치 descriptor에 선언되어 있으나, 해당 메소드를 찾을 수 없습니다.
diff --git a/java/org/apache/catalina/core/LocalStrings_zh_CN.properties b/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
index 40ae78bd4f..264e1ac271 100644
--- a/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
@@ -67,8 +67,9 @@ applicationPushBuilder.methodNotToken=HTTP方法必须是令牌(token),但 [{0
 applicationServletRegistration.setServletSecurity.iae=为部署到名为[{1}]的上下文的Servlet[{0}]指定的空约束
 applicationServletRegistration.setServletSecurity.ise=无法将安全性约束添加到已部署到名称为[{1}]的上下文的servlet [{0}]中,因为上下文已被初始化
 
-applicationSessionCookieConfig.ise=无法将属性{0}添加到上下文{1}的sessioncokieconfig中,因为该上下文已初始化
+applicationSessionCookieConfig.ise=无法将属性[{0}]添加到上下文[{1}]的sessioncokieconfig中,因为该上下文已初始化
 
+aprListener.FIPSProviderNotDefault=当 AprLifecycleListener 配置为 FIPS 模式 [{0}] 时,必须将 FIPS 提供程序配置为默认提供程序
 aprListener.aprDestroy=无法关闭基于APR的Apache Tomcat本机库
 aprListener.aprInit=在java.library.path:[{0}]上找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中获得最佳性能
 aprListener.aprInitDebug=在java.library.path[{1}]上使用名称[{0}]找不到基于APR的ApacheTomcat本机库。报告的错误是[{2}]
@@ -84,12 +85,14 @@ aprListener.initializingFIPS=初始化FIPS模式...
 aprListener.requireNotInFIPSMode=AprLifecycleListener配置为要求库已处于FIPS模式,但它未处于FIPS模式
 aprListener.skipFIPSInitialization=已经处于FIPS模式,跳过FIPS初始化
 aprListener.sslInit=无法初始化SSLEngine
+aprListener.sslRequired=当使用版本 [{1}] 的 Tomcat 本机库时,[{0}] 不是 SSLEngine 的有效值,因为 2.x 及更高版本需要 SSL。
 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.usingFIPSProvider=将 OpenSSL 与 FIPS 提供程序一起用作默认提供程序
 aprListener.wrongFIPSMode=AprLifecycleListener的FIPSMode选项的意外值:[{0}]
 
 asyncContextImpl.asyncDispatchError=异步调度时出错
@@ -125,6 +128,7 @@ containerBase.realm.stop=停止旧域时出错
 containerBase.threadedStartFailed=子容器启动失败
 containerBase.threadedStopFailed=停止期间子容器失败
 
+defaultInstanceManager.invalidAnnotation=无效注解[{0}]
 defaultInstanceManager.invalidInjection=方法资源注入注解无效
 defaultInstanceManager.postConstructNotFound=类[{1}]的后构造方法[{0}]已在部署描述符中声明,但找不到
 defaultInstanceManager.preDestroyNotFound=类[{1}]的预销毁方法[{0}]已在部署描述符中声明,但找不到
@@ -183,7 +187,7 @@ standardContext.filterFail=一个或多个筛选器启动失败。完整的详
 standardContext.filterMap.either=过滤器映射必须指定 <url-pattern> 或 <servlet-name>
 standardContext.filterMap.name=Filter mapping 指定了一个未知的 filter名称 [{0}]
 standardContext.filterMap.pattern=过滤器映射中的<url-pattern> [{0}] 无效
-standardContext.filterStart=启动过滤器异常
+standardContext.filterStart=启动过滤器异常[{0}]
 standardContext.invalidWrapperClass=[{0}] 不是StandardWrapper的子类
 standardContext.isUnavailable=此应用程序目前不可用
 standardContext.listenerFail=一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
@@ -208,7 +212,7 @@ standardContext.postconstruct.duplicate=类[{0}]的构造后方法定义重复
 standardContext.postconstruct.required=完全限定的类名和方法名都是必需的
 standardContext.predestroy.duplicate=类 [{0}] 的 @PreDestroy 方法定义重复
 standardContext.predestroy.required=完全合格的类名和方法名都是必需的
-standardContext.reloadingCompleted=已完成重新加载名为{0}的上下文
+standardContext.reloadingCompleted=已完成重新加载名为[{0}]的上下文
 standardContext.reloadingStarted=已开始重新加载名为[{0}]的上下文
 standardContext.requestListener.requestInit=向类[{0}]的侦听器实例发送请求初始化的生命周期事件的异常
 standardContext.resourcesInit=初始化静态变量错误
@@ -288,7 +292,7 @@ standardWrapper.notChild=Wrapper容器内部不允许有子容器。
 standardWrapper.notClass=未为servlet[{0}]指定servlet类
 standardWrapper.notContext=包装的父容器必须是上下文
 standardWrapper.notFound=Servlet [{0}] 不可用
-standardWrapper.notServlet=类{0}不是Servlet
+standardWrapper.notServlet=类[{0}]不是Servlet
 standardWrapper.serviceException=在路径为[{1}]的上下文中,servlet[{0}]的Servlet.service()引发异常
 standardWrapper.serviceExceptionRoot=在路径为{1}的上下文中,Servlet[{0}]的Servlet.service()引发了具有根本原因的异常{2}
 standardWrapper.unavailable=将servlet[{0}]标记为不可用
diff --git a/java/org/apache/catalina/filters/LocalStrings_ja.properties b/java/org/apache/catalina/filters/LocalStrings_ja.properties
index 7048747f25..1cf37372a6 100644
--- a/java/org/apache/catalina/filters/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/filters/LocalStrings_ja.properties
@@ -47,7 +47,7 @@ expiresFilter.useMatchingConfiguration=content-type [{2}] が [{3}] を返すた
 
 filterbase.noSuchProperty=[{1}] タイプのフィルタにはプロパティ [{0}] が定義されていません。
 
-http.403=指定されたリソース [{0}] へのアクセスは拒否されました
+http.403=指定されたリソース [{0}] へのアクセスは拒否されました。
 
 httpHeaderSecurityFilter.clickjack.invalid=クリックジャッキングヘッダーに無効な値 [{0}] が指定されました。
 httpHeaderSecurityFilter.committed=HTTPヘッダーセキュリティフィルターへの入力時に既に応答がコミットされているため、HTTPヘッダーを追加できません。
diff --git a/java/org/apache/catalina/filters/LocalStrings_zh_CN.properties b/java/org/apache/catalina/filters/LocalStrings_zh_CN.properties
index 388d8f8f5f..b7225dc722 100644
--- a/java/org/apache/catalina/filters/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/filters/LocalStrings_zh_CN.properties
@@ -36,8 +36,8 @@ expiresFilter.noExpirationConfigured=请求[{0}],其响应状态为[{1}]内容
 expiresFilter.noExpirationConfiguredForContentType=没有为 content-type [{0}] 找到过期配置
 expiresFilter.numberError=分析逗号分隔列表[{1}中位置[{0}(基于零)处的数字时发生异常
 expiresFilter.responseAlreadyCommitted=请求[{0}],无法对已提交的响应应用ExpiresFilter。
-expiresFilter.setExpirationDate=请求{0},响应状态为{1},内容类型为{2},设置过期日期{3}
-expiresFilter.skippedStatusCode=请求{0},响应状态为{1},内容类型为{1},跳过给定状态的过期头生成。
+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}]!
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 655251bc6c..3fa4f594b4 100644
--- a/java/org/apache/catalina/ha/session/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/ha/session/LocalStrings_zh_CN.properties
@@ -21,7 +21,7 @@ backupManager.stopped=管理者[{0}]正在停止。
 clusterSessionListener.noManager=上下文管理器不存在:[{0}]
 
 deltaManager.createMessage.access=管理器[{0}]:创建会话为会话[{1}]存取消息
-deltaManager.createMessage.accessChangePrimary=管理器{0}:为会话{1}创建更改主节点消息。
+deltaManager.createMessage.accessChangePrimary=管理器[{0}]:为会话[{1}]创建更改主节点消息。
 deltaManager.createMessage.allSessionData=管理器[{0}]将发送所有会话数据。
 deltaManager.createMessage.allSessionTransferred=管理器[{0}]发送了所有传输的会话数据
 deltaManager.createMessage.delta=管理器[{0}] ):为会话[{1}]创建增量请求消息
@@ -30,7 +30,7 @@ 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.foundMasterMember=复制主master成员[{1}]在上下文[{0}]中被发现.\n
 deltaManager.loading.cnfe=加载持久化会话 [{0}] 时出现ClassNotFoundException
 deltaManager.loading.existing.session=重载现有会话[{0}]。
 deltaManager.loading.ioe=加载持久 session 时出现 IOException:[{0}]
@@ -43,7 +43,7 @@ deltaManager.noSessionState=管理者[{0}]:没有收到[{1}]发送的会话状
 deltaManager.receiveMessage.accessed=管理器[{0}]:接收会话为会话[{1}]存取消息
 deltaManager.receiveMessage.allSessionDataAfter=Manager [{0}]: session 状态反序列化
 deltaManager.receiveMessage.allSessionDataBegin=管理者[{0}]:接收到所有会话数据状态
-deltaManager.receiveMessage.createNewSession=管理器{0}:已收到会话为会话{1}创建的消息
+deltaManager.receiveMessage.createNewSession=管理器[{0}]:已收到会话为会话[{1}]创建的消息
 deltaManager.receiveMessage.delta=管理器[{0}]:已收到会话[{1}的会话增量消息。
 deltaManager.receiveMessage.delta.unknown=管理器[{0}]:未知会话的接收会话增量[{1}]
 deltaManager.receiveMessage.error=管理器[{0}]:无法通过TCP通道接收消息
diff --git a/java/org/apache/catalina/loader/LocalStrings_ja.properties b/java/org/apache/catalina/loader/LocalStrings_ja.properties
index ce9c1b1c55..1bb3041580 100644
--- a/java/org/apache/catalina/loader/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/loader/LocalStrings_ja.properties
@@ -47,7 +47,7 @@ webappClassLoader.resourceModified=リソース [{0}] は変更されていま
 webappClassLoader.restrictedPackage=セキュリティー違反。制限されたクラス [{0}] を使おうとしました。
 webappClassLoader.securityException=indClassInternal [{1}] でクラス [{0}] を検索中のセキュリティ例外です
 webappClassLoader.stackTrace=Webアプリケーション [{0}] は [{1}] という名前のスレッドを開始したようですが、停止に失敗しました。これはメモリリークを引き起こす可能性が非常に高いです。スレッドのスタックトレース: {2}
-webappClassLoader.stackTraceRequestThread=Webアプリケーション[{0}]はまだ完了していないリクエストを処理しています。 これはメモリリークを引き起こす可能性が非常に高いです。 リクエストの終了時間は、StandardContext実装のunloadDelay属性を使用して制御できます。 陸絵鵜sと処理スレッドのスタックトレース:[{2}]
+webappClassLoader.stackTraceRequestThread=Webアプリケーション[{0}]はまだ完了していないリクエストを処理しています。 これはメモリリークを引き起こす可能性が非常に高いです。 リクエストの終了時間は、StandardContext実装のunloadDelay属性を使用して制御できます。 リクエスト処理スレッドのスタックトレース:[{2}]
 webappClassLoader.stopThreadFail=Web アプリケーション [{1}] のスレッド [{0}] は終了できません。
 webappClassLoader.stopTimerThreadFail=Webアプリケーション [{1}] の [{0}] という名前のTimerThreadを終了できませんでした
 webappClassLoader.stopped=不正なアクセス: このWebアプリケーションのインスタンスは既に停止されています  Could not load [{0}]. 不正なアクセスを引き起こしたスレッドを終了させ、投げられたエラーによりデバッグ用に次のスタックトレースが生成されましたが,機能に影響はありません
diff --git a/java/org/apache/catalina/realm/LocalStrings_zh_CN.properties b/java/org/apache/catalina/realm/LocalStrings_zh_CN.properties
index 822e410d06..8e750a6dfd 100644
--- a/java/org/apache/catalina/realm/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/realm/LocalStrings_zh_CN.properties
@@ -39,7 +39,7 @@ jaasRealm.accountExpired=由于帐户过期,用户名[{0}]未通过身份验
 jaasRealm.authenticateFailure=用户 [{0}] 认证失败
 jaasRealm.authenticateSuccess=用户名 [{0}] 已被成功认证为身份 [{1}] -- 主体也已创建
 jaasRealm.beginLogin=使用应用程序[{1}的LoginContext为用户名[{0}]请求JAASRealm登录
-jaasRealm.checkPrincipal=正在检查主体[{0}[{1}]
+jaasRealm.checkPrincipal=正在检查主体[{0}][{1}]
 jaasRealm.credentialExpired=由于凭据过期,用户名[{0}]未通过身份验证
 jaasRealm.failedLogin=由于登录失败,用户名 [{0}] 无法授权
 jaasRealm.loginContextCreated=为用户名创建的JAAS 登陆上下文[{0}]
@@ -75,7 +75,7 @@ jndiRealm.tlsClose=关闭tls响应时出现异常
 lockOutRealm.authLockedUser=尝试对锁定的用户[{0}]进行身份验证
 lockOutRealm.removeWarning=用户[{0}]在[{1}]秒后从失败的用户缓存中删除,以将缓存大小保持在限制集内
 
-mdCredentialHandler.unknownEncoding=不支持编码{0},因此仍将使用当前的设置{1}
+mdCredentialHandler.unknownEncoding=不支持编码[{0}],因此仍将使用当前的设置[{1}]
 
 memoryRealm.authenticateFailure=用户名[{0}]未成功通过身份验证
 memoryRealm.authenticateSuccess=用户名称[{0}]认证成功
@@ -91,7 +91,7 @@ realmBase.authenticateFailure=用户名 [{0}] 认证失败
 realmBase.authenticateSuccess=用户名[{0}]已成功通过身份验证
 realmBase.cannotGetRoles=无法从主体[{0}]获取角色
 realmBase.createUsernameRetriever.ClassCastException=类[{0}] 不是一个X509UsernameRetriever.
-realmBase.createUsernameRetriever.newInstance=无法创建类型为{0}的对象。
+realmBase.createUsernameRetriever.newInstance=无法创建类型为[{0}]的对象。
 realmBase.credentialNotDelegated=虽然已请求存储,但用户[{0}]的凭据尚未委派
 realmBase.delegatedCredentialFail=无法获取用户[{0}]的委派凭据。
 realmBase.digest=对用户凭证摘要发生错误
diff --git a/java/org/apache/catalina/startup/LocalStrings_zh_CN.properties b/java/org/apache/catalina/startup/LocalStrings_zh_CN.properties
index a6554594fc..2c90deca46 100644
--- a/java/org/apache/catalina/startup/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_zh_CN.properties
@@ -132,7 +132,7 @@ passwdUserDatabase.readFail=无法从/etc/passwd获取完整的用户集
 
 tomcat.addWebapp.conflictChild=无法在[{0}]处部署到上下文路径[{1}],因为存在上下文[{2}]
 tomcat.addWebapp.conflictFile=由于现有文件[{2}]的存在,无法在[{0}]将war部署到上下文路径[{1}]
-tomcat.baseDirMakeFail=无法创建用作基本目录的目录{0}
+tomcat.baseDirMakeFail=无法创建用作基本目录的目录[{0}]
 tomcat.baseDirNotDir=基本目录指定的位置[{0}]不是一个目录
 tomcat.defaultMimeTypeMappingsFail=无法加载默认MIME类型
 tomcat.homeDirMakeFail=无法创建用作主目录的目录 [{0}]
diff --git a/java/org/apache/catalina/storeconfig/LocalStrings_zh_CN.properties b/java/org/apache/catalina/storeconfig/LocalStrings_zh_CN.properties
index d113d6a051..fe6d27e143 100644
--- a/java/org/apache/catalina/storeconfig/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/storeconfig/LocalStrings_zh_CN.properties
@@ -19,7 +19,7 @@ config.storeServerError=存储服务器时出错
 factory.storeNoDescriptor=元素类[{0}]的描述符未配置!
 factory.storeTag=存储标记[{0}](对象:[{1}])。
 
-storeConfigListener.notServer=侦听器已添加到服务器以外的组件,因此将被忽略
+storeConfigListener.notServer=侦听器必须嵌套在Server元素内,但是处于[{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 01bf05db09..5f17575d55 100644
--- a/java/org/apache/catalina/tribes/group/interceptors/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/tribes/group/interceptors/LocalStrings_ja.properties
@@ -51,7 +51,7 @@ orderInterceptor.messageAdded.sameCounter=同じカウンタにメッセージ
 staticMembershipInterceptor.no.failureDetector=TcpFailureDetector がありません。静的メンバーの自動検出機能は正常に動作しません。TcpFailureDetector 配下に StaticMembershipInterceptor を定義すれば、静的メンバーの自動検出機能が動作するでしょう。
 staticMembershipInterceptor.no.pingInterceptor=TcpPingInterceptorが存在しないため、静的メンバーのヘルスチェックは正常に機能しません。TcpPingInterceptorを定義すれば機能するでしょう。
 staticMembershipInterceptor.sendLocalMember.failed=ローカルメンバーの通知は失敗しました。
-staticMembershipInterceptor.sendShutdown.failed=シャットダウン通知が失敗しました
+staticMembershipInterceptor.sendShutdown.failed=シャットダウン通知が失敗しました。
 
 tcpFailureDetector.already.disappeared=検証完了。メンバーはすでに離脱していることを確認しました [{0}]
 tcpFailureDetector.failureDetection.failed=故障検出チェックが実行できないため、メンバーが停止しているものとして扱います。[{0}]
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 2dcbde9e9d..c6afbaefa6 100644
--- a/java/org/apache/catalina/tribes/membership/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/tribes/membership/LocalStrings_zh_CN.properties
@@ -46,8 +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.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_ja.properties b/java/org/apache/catalina/tribes/tipis/LocalStrings_ja.properties
index 1f27668315..155cb46d73 100644
--- a/java/org/apache/catalina/tribes/tipis/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/tribes/tipis/LocalStrings_ja.properties
@@ -42,7 +42,7 @@ abstractReplicatedMap.unableSend.startMessage=マップ開始メッセージを
 abstractReplicatedMap.unableStart=レプリケーションマップの起動ができません。
 
 lazyReplicatedMap.unableReplicate.backup=[{2}] により、バックアップキー [{0}] をメンバー [{1}] へ複製できません。
-lazyReplicatedMap.unableReplicate.proxy=[{2}] のため、プロキシキーを [{0}] からバックアップの [{1}] へ複製できません
+lazyReplicatedMap.unableReplicate.proxy=プロキシキーを [{0}] からバックアップの [{1}] へ複製できません。理由:[{2}]
 
 mapMessage.deserialize.error.key=MapMessage キーのデシリアライズに失敗しました。
 mapMessage.deserialize.error.value=MapMessageの値のデシリアライズに失敗しました。
diff --git a/java/org/apache/catalina/tribes/transport/LocalStrings_ja.properties b/java/org/apache/catalina/tribes/transport/LocalStrings_ja.properties
index c4eadb37c6..640fecef7f 100644
--- a/java/org/apache/catalina/tribes/transport/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/tribes/transport/LocalStrings_ja.properties
@@ -20,5 +20,5 @@ pooledSender.closed.queue=キューは閉じられています。
 receiverBase.bind.failed=アドレス [{0}] にレプリケーションリスナーを束縛できません。
 receiverBase.socket.bind=Receiver Serverソケットがバインドされました:[{0}]
 receiverBase.udp.bind=UDP 受信用のサーバーソケットを [{0}] にバインドしました。
-receiverBase.unable.bind=[{0}] へサーバーソケットをバインドできなかったためエラーを送出しました
+receiverBase.unable.bind=[{0}] へサーバーソケットをバインドできなかったためエラーを送出しました。
 receiverBase.unable.bind.udp=UDP ソケットを [{0}] へバインドできません。エラーを送出します。
diff --git a/java/org/apache/catalina/valves/LocalStrings_ja.properties b/java/org/apache/catalina/valves/LocalStrings_ja.properties
index c62c002531..c1569cb046 100644
--- a/java/org/apache/catalina/valves/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/valves/LocalStrings_ja.properties
@@ -35,7 +35,7 @@ errorReportValve.message=メッセージ
 errorReportValve.noDescription=説明はありません
 errorReportValve.note=注意
 errorReportValve.rootCause=根本原因
-errorReportValve.rootCauseInLogs=原因のすべてのスタックトレースは、サーバのログに記録されています
+errorReportValve.rootCauseInLogs=原因のすべてのスタックトレースは、サーバのログに記録されています。
 errorReportValve.statusHeader=HTTPステータス {0} – {1}
 errorReportValve.statusReport=ステータスレポート
 errorReportValve.type=タイプ
diff --git a/java/org/apache/catalina/webresources/LocalStrings_zh_CN.properties b/java/org/apache/catalina/webresources/LocalStrings_zh_CN.properties
index c52f9c4fd4..c9123a281a 100644
--- a/java/org/apache/catalina/webresources/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/webresources/LocalStrings_zh_CN.properties
@@ -29,7 +29,7 @@ cache.objectMaxSizeTooBigBytes=为要缓存的最大对象大小[{0}] kB指定
 
 cachedResource.invalidURL=无法创建CachedResourceURLStreamHandler实例,因为URL[{0}]畸形
 
-classpathUrlStreamHandler.notFound=无法使用线程上下文类加载器或当前类的类加载器加载资源{0}
+classpathUrlStreamHandler.notFound=无法使用线程上下文类加载器或当前类的类加载器加载资源[{0}]
 
 dirResourceSet.manifestFail=从[{0}]读取manifest失败
 dirResourceSet.notDirectory=基本和内部路径[{0}] {1} [{2}]指定的目录不存在。
diff --git a/java/org/apache/coyote/LocalStrings_ja.properties b/java/org/apache/coyote/LocalStrings_ja.properties
index 3edf6f34f3..d30de950e9 100644
--- a/java/org/apache/coyote/LocalStrings_ja.properties
+++ b/java/org/apache/coyote/LocalStrings_ja.properties
@@ -17,7 +17,7 @@ abstractConnectionHandler.connectionsGet=ソケット [{1}] のプロセッサ [
 abstractConnectionHandler.error=リクエストの読み取り中にエラーが発生しました。無視します。
 abstractConnectionHandler.ioexception.debug=IOExceptionは正常で無視されます。
 abstractConnectionHandler.negotiatedProcessor.fail=ネゴシエートされたプロトコル[{0}]のプロセッサの作成に失敗しました。
-abstractConnectionHandler.oome=リクエストの完全な処理に失敗しました
+abstractConnectionHandler.oome=リクエスト処理の完了に失敗しました
 abstractConnectionHandler.process=ステータス [{1}] のソケット [{0}] を処理しています
 abstractConnectionHandler.processorCreate=新しいプロセッサ [{0}] を生成しました
 abstractConnectionHandler.processorPop=キャッシュからプロセッサー [{0}] を取得しました。
diff --git a/java/org/apache/coyote/http11/LocalStrings_zh_CN.properties b/java/org/apache/coyote/http11/LocalStrings_zh_CN.properties
index d4f2f1d22a..76acc967fe 100644
--- a/java/org/apache/coyote/http11/LocalStrings_zh_CN.properties
+++ b/java/org/apache/coyote/http11/LocalStrings_zh_CN.properties
@@ -42,11 +42,11 @@ iib.available.readFail=尝试确定数据是否可用时,非阻塞读取失败
 iib.eof.error=套接字读取到意外的EOF
 iib.failedread.apr=读取失败,APR/本机错误代码为[{0}]
 iib.filter.npe=你不能添加空过滤器(null)
-iib.invalidHttpProtocol=在HTTP协议中发现无效字符
+iib.invalidHttpProtocol=在HTTP协议中发现无效字符[{0}]
 iib.invalidPhase=无效的请求行解析阶段[{0}]
-iib.invalidRequestTarget=在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义
+iib.invalidRequestTarget=在请求目标中找到无效字符[{0}]。有效字符在RFC 7230和RFC 3986中定义
 iib.invalidheader=HTTP header行 [{0}] 不符合RFC 7230并且已被忽略。
-iib.invalidmethod=在方法名称中发现无效的字符串, HTTP 方法名必须是有效的符号.
+iib.invalidmethod=在方法名称[{0}]中发现无效的字符串, HTTP 方法名必须是有效的符号.
 iib.parseheaders.ise.error=意外状态:已解析标头。 缓冲池不回收?
 iib.readtimeout=从套接字读取数据超时
 iib.requestheadertoolarge.error=请求头太大
diff --git a/java/org/apache/coyote/http2/LocalStrings_ja.properties b/java/org/apache/coyote/http2/LocalStrings_ja.properties
index 7cfbff4c6d..e1bd378fc5 100644
--- a/java/org/apache/coyote/http2/LocalStrings_ja.properties
+++ b/java/org/apache/coyote/http2/LocalStrings_ja.properties
@@ -96,6 +96,7 @@ stream.header.required=コネクション [{0}]、ストリーム [{1}]、1つ
 stream.header.te=コネクション [{0}]、ストリーム [{1}]、HTTP/2 のリクエストでは HTTP ヘッダー [te] の値に [{2}] を指定できません。
 stream.header.unexpectedPseudoHeader=コネクション [{0}]、ストリーム [{1}]、通常のヘッダーの後に疑似ヘッダー [{2}] を受信しました。
 stream.header.unknownPseudoHeader=コネクション [{0}]、ストリーム [{1}]、未知の疑似ヘッダー [{2}] を受信しました。
+stream.host.inconsistent=Connection [{0}]、Stream [{1}]で、ホストヘッダー [{2}] は、以前提供されたホスト [{3}] および/またはポート [{4}] の値と矛盾しています
 stream.inputBuffer.copy=入力バッファーから出力バッファーへコピーしたのは  [{0}] バイトです。
 stream.inputBuffer.dispatch=read interest が登録されると、inBufferにデータが追加されます。読み取りディスパッチをトリガします。
 stream.inputBuffer.empty=ストリーム入力バッファが空です。 より多くのデータを待っています。
@@ -127,6 +128,7 @@ upgradeHandler.allocate.left=コネクション [{0}]、ストリーム [{1}]、
 upgradeHandler.allocate.recipient=コネクション [{0}]、ストリーム [{1}]、重み [{3}] の潜在的な受信者 [{2}]
 upgradeHandler.connectionError=接続エラー
 upgradeHandler.dependency.invalid=コネクション [{0}]、ストリーム [{1}]、ストリームは自分自身に依存するべきではありません。
+upgradeHandler.fallToDebug=注: HTTP/2 ストリームのエラーがさらに発生すると、DEBUG レベルでログに記録されます。
 upgradeHandler.goaway.debug=コネクション [{0}]、Goaway、最終ストリーム [{1}]、エラーコード [{2}]、デバッグデータ [{3}]
 upgradeHandler.init=コネクション[{0}]、状態[{1}]
 upgradeHandler.initialWindowSize.invalid=コネクション[{0}]、[{1}]の無効な値は初期ウィンドウサイズで無視されました
@@ -148,6 +150,7 @@ upgradeHandler.sendPrefaceFail=コネクション [{0}]、クライアントに
 upgradeHandler.socketCloseFailed=ソケットクローズ中のエラー
 upgradeHandler.startRequestBodyFrame.result=接続 [{0}]、ストリーム [{1}] startRequestBodyFrameが [{2}] を返しました
 upgradeHandler.stream.closed=ストリーム [{0}] がしばらく閉じられていました
+upgradeHandler.stream.error=Connection [{0}]、Stream [{1}] はエラーのためにクローズしました
 upgradeHandler.stream.even=新しいリモートストリーム ID [{0}] を要求されましたがリモートストリームの ID は奇数でなければなりません。
 upgradeHandler.stream.notWritable=コネクション [{0}]、ストリーム [{1}]、このストリームは書き込み可能ではありません
 upgradeHandler.stream.old=新しいリモートストリーム ID [{0}] を要求されましたが、最新のストリームは [{1}] です。
diff --git a/java/org/apache/coyote/http2/LocalStrings_zh_CN.properties b/java/org/apache/coyote/http2/LocalStrings_zh_CN.properties
index f398472675..43733fdfbb 100644
--- a/java/org/apache/coyote/http2/LocalStrings_zh_CN.properties
+++ b/java/org/apache/coyote/http2/LocalStrings_zh_CN.properties
@@ -84,15 +84,15 @@ pingManager.roundTripTime=连接[{0}]往返时间测量为[{1}]ns
 stream.clientCancel=客户端在响应完成前重置了数据流
 stream.closed=连接[{0}],流[{1}],一旦关闭就无法写入流
 stream.header.case=连接[{0}],流[{1}],HTTP标头名称[{2}]必须小写
-stream.header.connection=HTTP/2请求中不允许连接{0}、流{1}、HTTP头[{2}]
-stream.header.contentLength=连接{0},流{1},内容长度头值{2}与接收的数据大小{3}不一致
+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}],收到多个[{2}]头
 stream.header.empty=连接[{0}],流[{1}],无效的空头名称
 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.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
@@ -102,8 +102,8 @@ stream.inputBuffer.readTimeout=等待从客户端读取数据超时
 stream.inputBuffer.reset=流.重置
 stream.inputBuffer.signal=读线程在等待时,数据被添加到inBuffer中。 发信号通知该线程继续
 stream.inputBuffer.swallowUnread=先前读取到输入流缓冲区吞入了[{0}]个字节
-stream.notWritable=连接{0},流{1},此流不可写
-stream.outputBuffer.flush.debug=连接{0},流{1},用缓冲区在位置{2}刷新输出,writeInProgress[{3}]并关闭了[{4}]
+stream.notWritable=连接[{0}],流[{1}],此流不可写
+stream.outputBuffer.flush.debug=连接[{0}],流[{1}],用缓冲区在位置[{2}]刷新输出,writeInProgress[{3}]并关闭了[{4}]
 stream.recycle=连接[{0}],流[{1}]将被回收
 stream.reprioritisation.debug=连接[{0}],流[{1}],独占[{2}],父[{3}],权重[{4}]
 stream.reset.fail=连接[{0}],流[{1}],重置流失败
@@ -162,7 +162,7 @@ upgradeHandler.windowSizeTooBig=连接[{0}],流[{1}],窗口太大
 upgradeHandler.windowUpdateConnection=连接[{0}],向客户端发送了窗口更新,将窗口增加[{1}]字节
 upgradeHandler.windowUpdateStream=连接[{0}],流[{1}]向客户端发送了窗口更新,将窗口增加[{2}]字节
 upgradeHandler.writeBody=连接 [{0}],数据流[{1}], 数据长度[{2}]
-upgradeHandler.writeHeaders=连接 [{0}],流 [{1}]
+upgradeHandler.writeHeaders=连接[{0}],流[{1}],正在写入头信息,EndOfStream[{2}]
 upgradeHandler.writePushHeaders=连接{0}、流{1}、推送流{2}、EndOfStream{3}
 
 windowAllocationManager.dispatched=连接[{0}],流[{1}],已调度
diff --git a/java/org/apache/jasper/resources/LocalStrings_ja.properties b/java/org/apache/jasper/resources/LocalStrings_ja.properties
index de473c5ab5..d24f9a68b5 100644
--- a/java/org/apache/jasper/resources/LocalStrings_ja.properties
+++ b/java/org/apache/jasper/resources/LocalStrings_ja.properties
@@ -129,7 +129,7 @@ jsp.error.no.more.content=必要な解析中に内容の最後まで達しまし
 jsp.error.no.scratch.dir=JSPエンジンにデフォルトのscratchDirが設定されていません。\n\
 \ このコンテキストのservlets.propertiesファイルに、\n\
 \ "jsp.initparams=scratchdir=<dir-name>" を追加してください。
-jsp.error.no.scriptlets=スクリプティング要素 ( &lt;%!、&lt;jsp:declaration、&lt;%=、&lt;jsp:expression、&lt;%、&lt;jsp:scriptlet ) はここでは許されません
+jsp.error.no.scriptlets=スクリプティング要素 ( &lt;%!、&lt;jsp:declaration、&lt;%=、&lt;jsp:expression、&lt;%、&lt;jsp:scriptlet ) はここでは許されません。
 jsp.error.noFunction=関数 [{0}] を指定されたプリフィクスで配置できません
 jsp.error.noFunctionMethod=関数 [{1}] のメソッド [{0}] が クラス [{2}] 内で見つかりません
 jsp.error.noInstanceManager=ServletContextにorg.apache.tomcat.InstanceManagerが設定されていません
diff --git a/java/org/apache/jasper/resources/LocalStrings_zh_CN.properties b/java/org/apache/jasper/resources/LocalStrings_zh_CN.properties
index 31d19572c3..4741d584e3 100644
--- a/java/org/apache/jasper/resources/LocalStrings_zh_CN.properties
+++ b/java/org/apache/jasper/resources/LocalStrings_zh_CN.properties
@@ -48,7 +48,7 @@ jsp.error.bug48498=无法显示JSP提取。可能是由于XML解析器错误(
 jsp.error.cannotAddResolver=在第一次请求发生之后不能调用addELResolver
 jsp.error.classname=无法从.class文件确定类名
 jsp.error.coerce_to_type=无法将值[{2}]强制为属性[{0}]的类型[{1}]。
-jsp.error.compilation=编译文件时出错:[{0}[{1}]
+jsp.error.compilation=编译文件时出错:[{0}][{1}]
 jsp.error.compilation.dependent=加载类[{0}]失败
 jsp.error.compilation.jdt=编译错误
 jsp.error.compilation.jdtProblemError=处理JDT问题列表时出错
diff --git a/java/org/apache/naming/factory/LocalStrings_ko.properties b/java/org/apache/naming/factory/LocalStrings_ko.properties
index 60c0f47b25..c72fa2942c 100644
--- a/java/org/apache/naming/factory/LocalStrings_ko.properties
+++ b/java/org/apache/naming/factory/LocalStrings_ko.properties
@@ -13,6 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+beanFactory.classNotFound=클래스를 찾을 수 없습니다. :  [{0}]
+beanFactory.readOnlyProperty=[{0}] 프로퍼티에 대한 쓰기가 허용되지 않습니다.
+
 dataSourceLinkFactory.badWrapper=타입 [{0}]을(를) 위한 wrapper가 아닙니다.
 
 factoryBase.factoryClassError=리소스 팩토리 클래스를 로드하지 못했습니다.
diff --git a/java/org/apache/naming/factory/LocalStrings_zh_CN.properties b/java/org/apache/naming/factory/LocalStrings_zh_CN.properties
index 4891b49614..b09003e564 100644
--- a/java/org/apache/naming/factory/LocalStrings_zh_CN.properties
+++ b/java/org/apache/naming/factory/LocalStrings_zh_CN.properties
@@ -13,6 +13,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+beanFactory.classNotFound=未找到该类:[{0}]
+beanFactory.noForceString=为了安全期间,forceString 选项已被删除。相反,如果setter方法没有使用String(原始类型或原始包装类型),工厂将寻找一个与setter同名的接受String的方法,如果找到的话就使用该方法。
+beanFactory.noSetMethod=属性[{0}]未找到set方法
+beanFactory.noStringConversion=类型 [{1}] 的属性 [{0}] 的字符串转换不可用
+beanFactory.readOnlyProperty=属性[{0}]为只读
+
 dataSourceLinkFactory.badWrapper=不是类型[{0}]的包装
 
 factoryBase.factoryClassError=无法加载资源工厂类
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/compat/LocalStrings_zh_CN.properties
index 961bb12752..4882fe5f24 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings_zh_CN.properties
@@ -13,6 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+jre19Compat.javaPre19=该类未找到,因此推测当前代码运行在Java 19版本之前的虚拟机上
+
 jre9Compat.invalidModuleUri=提供的模块URI [{0}]无法转换为JarScanner要处理的URL
 jre9Compat.javaPre9=类未找到,所以假设代码运行在pre-Java 8虚拟机上
 jre9Compat.unexpected=创建对Java 9类的依赖和方法失败
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 5ee4117b14..8b44e84838 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
@@ -40,7 +40,7 @@ http.noClosingBracket=ipv6 地址缺失一个闭合的圆括号
 http.noOpeningBracket=IPv6地址缺少开括号(
 http.singleColonEnd=IPv6地址不能以单个“.”结尾。
 http.singleColonStart=一个IPv6地址也许不是以单个冒号":"开头的。
-http.tooFewHextets=一个IPv6地址必须包含8个16进制数,但是这个IP地址包含了[(0)]个16进制数,并且无“::”序列表示一个或多个0个16进制数
+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/net/LocalStrings_fr.properties b/java/org/apache/tomcat/util/net/LocalStrings_fr.properties
index b259f21dea..33b727e007 100644
--- a/java/org/apache/tomcat/util/net/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/util/net/LocalStrings_fr.properties
@@ -168,7 +168,7 @@ sslUtilBase.aliasIgnored=Le mode FIPS est activé donc le nom d''alias [{0}] ser
 sslUtilBase.alias_no_key_entry=Le nom alias [{0}] n''identifie pas une entrée de clé
 sslUtilBase.invalidTrustManagerClassName=Le trustManagerClassName fourni [{0}] n''implémente pas javax.net.ssl.TrustManager
 sslUtilBase.keystore_load_failed=Impossible de changer la base de clés de type [{0}] avec le chemin [{1}] à cause de [{2}]
-sslUtilBase.noCertFile=L'attribut certificateFile de SSLHostConfig doit être défini lorsqu'un connecteur SSL est utilisé
+sslUtilBase.noCertFile=L'attribut certificateFile de SSLHostConfig doit être défini lorsque un connecteur SSL est utilisé
 sslUtilBase.noCrlSupport=Le truststoreProvider [{0}] ne supporte pas d''option de configuration certificateRevocationFile
 sslUtilBase.noKeys=Aucun alias pour les clés privées n'a été trouvé dans la base de clés
 sslUtilBase.noVerificationDepth=Le truststoreProvider [{0}] ne supporte pas l''option de configuration certificateVerificationDepth
diff --git a/java/org/apache/tomcat/util/net/LocalStrings_ja.properties b/java/org/apache/tomcat/util/net/LocalStrings_ja.properties
index a6e74bd6fc..b5f05c562e 100644
--- a/java/org/apache/tomcat/util/net/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/net/LocalStrings_ja.properties
@@ -168,7 +168,7 @@ sslUtilBase.aliasIgnored=FIPSが有効になっているため、エイリアス
 sslUtilBase.alias_no_key_entry=別名 [{0}] はキーエントリを発見できません
 sslUtilBase.invalidTrustManagerClassName=[{0}]が提供するtrustManagerClassNameはjavax.net.ssl.TrustManagerを実装していません。
 sslUtilBase.keystore_load_failed=[{0}] のキーストア [{1}] の読み込みは [{2}] により失敗しました。
-sslUtilBase.noCertFile=SSLコネクタを使用する場合は、SSLHostConfigのcertificateFile属性を定義する必要があります。
+sslUtilBase.noCertFile=SSLHostConfig の属性 certificateFile は、SSLコネクタを使用する場合は必ず定義しなければなりません。
 sslUtilBase.noCrlSupport=トラストストアプロバイダー [{0}] は設定項目 certificateRevocationFile に対応していません。
 sslUtilBase.noKeys=キーストアで見つかった秘密キーのエイリアスがありません。
 sslUtilBase.noVerificationDepth=トラストストアプロバイダー [{0}] は設定項目 certificateVerificationDepth に未対応です。
diff --git a/java/org/apache/tomcat/util/net/LocalStrings_ko.properties b/java/org/apache/tomcat/util/net/LocalStrings_ko.properties
index 098943a92a..efa977a34d 100644
--- a/java/org/apache/tomcat/util/net/LocalStrings_ko.properties
+++ b/java/org/apache/tomcat/util/net/LocalStrings_ko.properties
@@ -168,7 +168,7 @@ sslUtilBase.aliasIgnored=FIPS이 활성화되어 있어, 별칭 [{0}]은(는) 
 sslUtilBase.alias_no_key_entry=별칭 이름 [{0}]을(를) 사용하여 키 엔트리를 식별해낼 수 없습니다.
 sslUtilBase.invalidTrustManagerClassName=trustManagerClassName에 의해 제공된 클래스 [{0}]은(는) javax.net.ssl.TrustManager를 구현하지 않았습니다.
 sslUtilBase.keystore_load_failed=[{2}](으)로 인하여, 경로 [{1}]에 있고 타입이 [{0}]인 키 저장소를 로드하지 못했습니다.
-sslUtilBase.noCertFile=SSLHostConfig의 속성인 certificateFile은, 반드시 SSL connector를 사용할 때에만 정의되어야 합니다.
+sslUtilBase.noCertFile=SSL connector를 사용 시 SSLHostConfig certificateFile 어트리뷰트가 정의되어야 합니다.
 sslUtilBase.noCrlSupport=truststoreProvider [{0}]은(는) certificateRevocationFile 설정 옵션을 지원하지 않습니다.
 sslUtilBase.noKeys=개인 키들에 대한 별칭들이 키 저장소에 없습니다.
 sslUtilBase.noVerificationDepth=truststoreProvider [{0}]은(는) certificateVerificationDepth 설정 옵션을 지원하지 않습니다.
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 1ce998f16d..8d21621c63 100644
--- a/java/org/apache/tomcat/util/net/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/net/LocalStrings_zh_CN.properties
@@ -79,7 +79,8 @@ endpoint.debug.unlock.localFail=无法确定[{0}]的本地地址
 endpoint.debug.unlock.localNone=无法解除 [{0}] 的接受器,因为本地地址不可用
 endpoint.duplicateSslHostName=为主机名[{0}]提供了多个SSLHostConfig元素。主机名必须唯一
 endpoint.err.close=抓住异常试图关闭socket
-endpoint.err.handshake=握手失败
+endpoint.err.duplicateAccept=检测到接受重复套接字. 这是一个已知的Linux内核BUG. 原始连接被正常处理,重复连接已被忽略. 客户端不受影响.将OS内核更新到5.10及以上版本应该可以修复这个问题.
+endpoint.err.handshake=来自IP地址[{0}]和端口[{1}]的客户端连接握手失败
 endpoint.err.unexpected=处理套接字时意外错误
 endpoint.executor.fail=执行器拒绝了用于处理的套接字[{0}]
 endpoint.getAttribute=[{0}] 是 [{1}]
@@ -150,6 +151,7 @@ socketWrapper.writeTimeout=写入超时
 
 sslHostConfig.certificate.notype=指定了多个证书,并且至少有一个证书缺少必需的属性类型
 sslHostConfig.certificateVerificationInvalid=证书认证值[{0}]未识别
+sslHostConfig.certificateVerificationWithHttp2=TLS虚拟主机[{0}]被配置为可选的证书验证,包围的连接器被配置为支持升级到h2。HTTP/2 over TLS不允许可选的证书验证。
 sslHostConfig.fileNotFound=配置文件 [{0}] 不存在
 sslHostConfig.invalid_truststore_password=提供的信任存储密码无法用于解锁和/或验证信任存储。正在重试使用空密码访问信任存储,该密码将跳过验证。
 sslHostConfig.mismatch=属性[{0}]是在名为[{1}]的SSLHostConfig 上设置的,用于[{2}]配置语法,但SSLHostConfig 正与[{3}]配置语法一起使用
@@ -165,8 +167,8 @@ sslUtilBase.active=活跃的[{0}]是:[{1}]
 sslUtilBase.aliasIgnored=FIPS已启用所以别名[{0}]将被忽略。如果key存储中的key大于一个,使用的key将取决于key存储的实现
 sslUtilBase.alias_no_key_entry=别名[{0}]不标识密钥项
 sslUtilBase.invalidTrustManagerClassName=提供的trustManagerClassName[{0}]未实现javax.net.ssl.TrustManager
-sslUtilBase.keystore_load_failed=由于{2},无法加载路径为{1}]的密钥库类型{0}]
-sslUtilBase.noCertFile=使用SSL连接器时必须定义SSLHostConfig属性certificateFile
+sslUtilBase.keystore_load_failed=由于[{2}],无法加载路径为[{1}]的密钥库类型[{0}]
+sslUtilBase.noCertFile=在使用SSL连接器时,必须定义SSLHostConfig的certificateFile属性
 sslUtilBase.noCrlSupport=truststoreProvider [{0}]不支持certificateRevocationFile配置选项
 sslUtilBase.noKeys=在密钥存储中找不到私钥的别名
 sslUtilBase.noVerificationDepth=truststoreProvider[{0}]不支持CertificationDepth配置选项
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 4b5e093d10..44f6798388 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
@@ -48,7 +48,7 @@ openssl.errMakeConf=无法创建OpenSSLConf上下文
 openssl.errorSSLCtxInit=初始化SSL上下文时出错
 openssl.keyManagerMissing=key管理器未找到
 openssl.makeConf=创建OpenSSLConf上下文
-openssl.nonJsseCertificate=无法使用JSSE密钥管理器处理证书{0}或其私钥{1},该证书将直接提供给OpenSSL
+openssl.nonJsseCertificate=无法使用JSSE密钥管理器处理证书[{0}]或其私钥[{1}],该证书将直接提供给OpenSSL
 openssl.nonJsseChain=证书链[{0}]未指定或无效,JSSE需要有效的证书链,因此尝试直接使用OpenSSL
 openssl.trustManagerMissing=没有找到.信任管理者
 
@@ -56,7 +56,7 @@ 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.failedCommand=OpenSSLConf失败的命令(名称为[{0]},值为[{1}]),结果为[{2}]-将被忽略
 opensslconf.finishFailed=OpenSSLConf 配置失败结果为 [{0}]
 opensslconf.noCommandName=OpenSSLConf没有命令名-将被忽略(命令值[{0}])
 opensslconf.resultCommand=OpenSSLConf命令(name[{0}],value[{1}])返回了[{2}]
diff --git a/java/org/apache/tomcat/websocket/LocalStrings_de.properties b/java/org/apache/tomcat/websocket/LocalStrings_de.properties
index a12781bd0f..ebcc1f30af 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings_de.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings_de.properties
@@ -26,7 +26,7 @@ wsRemoteEndpoint.tooMuchData=Ping oder Pong darf nicht mehr als 125 Bytes senden
 wsRemoteEndpoint.wrongState=Der entfernte Endpunkt war im Zustand [{0}] welcher für die aufgerufene Methode ungültig ist
 
 wsSession.created=Websocket Sitzung [{0}] erzeugt
-wsSession.doClose=Schließe WebSocket-Sitzung [{1}]
+wsSession.doClose=Schließe WebSocket-Sitzung [{0}]
 wsSession.duplicateHandlerText=Ein Text Message Handler ist bereits konfiguriert
 wsSession.instanceNew=Registrierung der Endpunkt-Instanz ist fehlgeschlagen
 
diff --git a/java/org/apache/tomcat/websocket/LocalStrings_es.properties b/java/org/apache/tomcat/websocket/LocalStrings_es.properties
index 3103366a0f..ce320ac974 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings_es.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings_es.properties
@@ -36,7 +36,7 @@ wsRemoteEndpoint.wrongState=El endpoint remoto estaba en estado [{0}] el cual es
 
 wsSession.closed=La sesión WebSocket [{0}] ha sido cerrada y ningún otro método (aparte de  close()) puede ser llamado en una sesión cerrada\n
 wsSession.created=La sesion WebSocket  [{0}] fue creada\n
-wsSession.doClose=Cerrando WebSocket sesión [{1}]
+wsSession.doClose=Cerrando WebSocket sesión [{0}]
 wsSession.duplicateHandlerText=Un manejador de mensaje de texto ya ha sido configurado
 wsSession.instanceNew=Falló la registración de la instancia del dispoitivo final
 
diff --git a/java/org/apache/tomcat/websocket/LocalStrings_fr.properties b/java/org/apache/tomcat/websocket/LocalStrings_fr.properties
index 72f3c1ea11..fb39b3d836 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings_fr.properties
@@ -101,7 +101,7 @@ wsRemoteEndpoint.wrongState=La terminaison distante est dans l''état [{0}] ce q
 
 wsSession.closed=La session WebSocket [{0}] a été fermée et aucune méthode (à part close()) ne peut être appelée sur une session fermée
 wsSession.created=Création de la session WebSocket [{0}]
-wsSession.doClose=Fermeture de la session WebSocket [{1}]
+wsSession.doClose=Fermeture de la session WebSocket [{0}]
 wsSession.duplicateHandlerBinary=Un gestionnaire de message binaire a déjà été configuré
 wsSession.duplicateHandlerPong=Un gestionnaire de messages pong a déjà été configuré
 wsSession.duplicateHandlerText=Un gestionnaire de message texte a déjà été configuré
diff --git a/java/org/apache/tomcat/websocket/LocalStrings_ja.properties b/java/org/apache/tomcat/websocket/LocalStrings_ja.properties
index 06632a9163..d0807920a7 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings_ja.properties
@@ -101,7 +101,7 @@ wsRemoteEndpoint.wrongState=リモートエンドポイントの状態 [{0}] は
 
 wsSession.closed=WebSocket セッション [{0}] を切断しました。切断済みのセッションに close() 以外のメソッド呼び出しをすることはありません。
 wsSession.created=WebSocket セッション [{0}] を作成しました。
-wsSession.doClose=WebSocket セッション [{1}] を切断します。
+wsSession.doClose=WebSocket セッション [{0}] を切断します。
 wsSession.duplicateHandlerBinary=バイナリメッセージハンドラは既に設定されています。
 wsSession.duplicateHandlerPong=pongメッセージハンドラは既に設定されています。
 wsSession.duplicateHandlerText=テキストメッセージハンドラはすでに構成されています。
diff --git a/java/org/apache/tomcat/websocket/LocalStrings_ru.properties b/java/org/apache/tomcat/websocket/LocalStrings_ru.properties
index 5f90282dcc..6a1e5c79b2 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings_ru.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings_ru.properties
@@ -17,4 +17,4 @@ caseInsensitiveKeyMap.nullKey=Пустое значение ключей зап
 
 wsHandshakeRequest.invalidUri=Строка [{0}] не может быть использована для создания корректного URI
 
-wsSession.doClose=Закрытие WebSocket сессии [{1}]
+wsSession.doClose=Закрытие WebSocket сессии [{0}]
diff --git a/java/org/apache/tomcat/websocket/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/websocket/LocalStrings_zh_CN.properties
index 61ac5588ba..b5aedd3a68 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings_zh_CN.properties
@@ -36,7 +36,7 @@ caseInsensitiveKeyMap.nullKey=不允许 Key 是 Null
 clientEndpointHolder.instanceCreationFailed=未能创建WebSocketEndpoint
 clientEndpointHolder.instanceRegistrationFailed=无法向InstanceManager注册Endpoint实例
 
-futureToSendHandler.timeout=等待[{0}[{1}]完成后操作超时。
+futureToSendHandler.timeout=等待[{0}][{1}]完成后操作超时。
 
 perMessageDeflate.alreadyClosed=转换器已经关闭且可能永远不会使用
 perMessageDeflate.deflateFailed=无法压缩这个WebSocket压缩结构
@@ -101,7 +101,7 @@ wsRemoteEndpoint.wrongState=远程 endpoint 处于 [{0}] 状态,是被调用
 
 wsSession.closed=WebSocket会话[{0}]已关闭,并且在关闭的会话上不能调用任何方法(除了close())
 wsSession.created=创建WebSocket session [{0}]。
-wsSession.doClose=关闭 WebSocket session [{1}]
+wsSession.doClose=关闭 WebSocket session [{0}]
 wsSession.duplicateHandlerBinary=已配置二进制消息处理程序
 wsSession.duplicateHandlerPong=已经配置了pong消息处理器
 wsSession.duplicateHandlerText=已配置文本消息处理器
@@ -123,7 +123,7 @@ wsWebSocketContainer.connect.entry=连接[{0}]类型的终端实例至[{1}]
 wsWebSocketContainer.connect.write=从本地地址[{2}]以[{1}]的限制从[{0}]开始从缓冲区写入HTTP升级请求
 wsWebSocketContainer.defaultConfiguratorFail=无法创建默认配置程序。
 wsWebSocketContainer.failedAuthentication=无法处理http响应代码[{0}]。服务器不接受身份验证头。
-wsWebSocketContainer.httpRequestFailed=启动WebSocket连接的HTTP请求失败
+wsWebSocketContainer.httpRequestFailed=发起与 [{0}] 的 WebSocket 连接的 HTTP 请求失败
 wsWebSocketContainer.invalidExtensionParameters=服务器用客户端无法支持的扩展参数响应
 wsWebSocketContainer.invalidHeader=无法分析HTTP头,因为在[{0}]中没有冒号来分隔头名称和头值。已跳过标题。
 wsWebSocketContainer.invalidStatus=来自服务器[{0}]的HTTP响应不允许HTTP升级到WebSocket
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 10132e276d..b304535e52 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -233,6 +233,28 @@
         Ensure that zip archives use UTC for file modification times to ensure
         repeatable builds across time zones. (markt)
       </fix>
+      <add>
+        Improvements to Chinese translations. (lihan)
+      </add>
+      <add>
+        Improvements to French translations. (remm)
+      </add>
+      <add>
+        Improvements to German translations. (markt)
+      </add>
+      <add>
+        Improvements to Japanese translations. Contributed by tak7iji and
+        Shirayuking. (markt)
+      </add>
+      <add>
+        Improvements to Korean translations. Contributed by 수현. (markt)
+      </add>
+      <add>
+        Improvements to Russian translations. (markt)
+      </add>
+      <add>
+        Improvements to Spanish translations. (markt)
+      </add>
     </changelog>
   </subsection>
 </section>


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