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/02 12:36:16 UTC

[tomcat] branch main updated: Improvements to Japanese translations. By tak7iji and Shirayuking.

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

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


The following commit(s) were added to refs/heads/main by this push:
     new f5660d7c20 Improvements to Japanese translations. By tak7iji and Shirayuking.
f5660d7c20 is described below

commit f5660d7c20570a3b201f91728511bf041b86b755
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Fri Sep 2 13:36:08 2022 +0100

    Improvements to Japanese translations. By tak7iji and Shirayuking.
---
 java/org/apache/catalina/authenticator/LocalStrings_ja.properties     | 2 ++
 java/org/apache/catalina/core/LocalStrings_ja.properties              | 2 ++
 java/org/apache/catalina/filters/LocalStrings_ja.properties           | 2 +-
 java/org/apache/catalina/loader/LocalStrings_ja.properties            | 2 +-
 .../catalina/tribes/group/interceptors/LocalStrings_ja.properties     | 2 +-
 java/org/apache/catalina/tribes/tipis/LocalStrings_ja.properties      | 2 +-
 java/org/apache/catalina/tribes/transport/LocalStrings_ja.properties  | 2 +-
 java/org/apache/catalina/valves/LocalStrings_ja.properties            | 2 +-
 java/org/apache/coyote/LocalStrings_ja.properties                     | 2 +-
 java/org/apache/coyote/http2/LocalStrings_ja.properties               | 3 +++
 java/org/apache/jasper/resources/LocalStrings_ja.properties           | 4 ++--
 java/org/apache/tomcat/util/buf/LocalStrings_ja.properties            | 2 ++
 java/org/apache/tomcat/util/net/LocalStrings_ja.properties            | 1 +
 java/org/apache/tomcat/websocket/LocalStrings_ja.properties           | 2 +-
 14 files changed, 20 insertions(+), 10 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/core/LocalStrings_ja.properties b/java/org/apache/catalina/core/LocalStrings_ja.properties
index 7276a5373e..f40175740a 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}]
@@ -88,6 +89,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/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/loader/LocalStrings_ja.properties b/java/org/apache/catalina/loader/LocalStrings_ja.properties
index eb532ea923..25b15c6ce6 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/tribes/group/interceptors/LocalStrings_ja.properties b/java/org/apache/catalina/tribes/group/interceptors/LocalStrings_ja.properties
index 6788d25268..dad47e16cc 100644
--- a/java/org/apache/catalina/tribes/group/interceptors/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/tribes/group/interceptors/LocalStrings_ja.properties
@@ -72,7 +72,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/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/coyote/LocalStrings_ja.properties b/java/org/apache/coyote/LocalStrings_ja.properties
index bec263e0fe..b36faf88bb 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/http2/LocalStrings_ja.properties b/java/org/apache/coyote/http2/LocalStrings_ja.properties
index c87c0a167f..ffea34bf6e 100644
--- a/java/org/apache/coyote/http2/LocalStrings_ja.properties
+++ b/java/org/apache/coyote/http2/LocalStrings_ja.properties
@@ -97,6 +97,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=ストリーム入力バッファが空です。 より多くのデータを待っています。
@@ -128,6 +129,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.invalidPreface=コネクション[{0}]、無効なConnection Preface
@@ -150,6 +152,7 @@ upgradeHandler.sendfile.reservation=sendfileによるwriteの前の 接続 [{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/jasper/resources/LocalStrings_ja.properties b/java/org/apache/jasper/resources/LocalStrings_ja.properties
index 1a4314c027..52e91f9b8e 100644
--- a/java/org/apache/jasper/resources/LocalStrings_ja.properties
+++ b/java/org/apache/jasper/resources/LocalStrings_ja.properties
@@ -131,7 +131,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.noFile=ファイル[{0}]を見つけることができません。
 jsp.error.noFunction=関数 [{0}] を指定されたプリフィクスで配置できません
 jsp.error.noFunctionMethod=関数 [{1}] のメソッド [{0}] が クラス [{2}] 内で見つかりません
@@ -407,7 +407,7 @@ Apache Tomcat JspC による自動生成\n\
 \n
 
 jstl.OSAfterWriter=Writer が使用されている場合は出力ストリームを使用できません。
-jstl.urlMustStartWithSlash='' context ''属性が指定されているURLタグでは、'url'と '' context ''の両方がスラッシュ文字で始まらなければなりません。
+jstl.urlMustStartWithSlash=''context'' 属性が指定されているURLタグでは、''url'' と ''context'' の両方がスラッシュ文字で始まらなければなりません
 jstl.writerAfterOS=出力ストリームが使用されている場合はWriter を使用できません
 
 org.apache.jasper.compiler.ELParser.invalidQuotesForStringLiteral=不正な文字列リテラル [{0}] です。シングルクォート、あるいは、ダブルクォートで囲まれていなければなりません。
diff --git a/java/org/apache/tomcat/util/buf/LocalStrings_ja.properties b/java/org/apache/tomcat/util/buf/LocalStrings_ja.properties
index 6f1870ae7c..1309663770 100644
--- a/java/org/apache/tomcat/util/buf/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/buf/LocalStrings_ja.properties
@@ -27,6 +27,8 @@ encodedSolidusHandling.invalid=値 [{0}] は認識されません
 hexUtils.fromHex.nonHex=入力は16進数でなければなりません
 hexUtils.fromHex.oddDigits=入力は、偶数の16進数で構成する必要があります。
 
+messageBytes.illegalCharacter=コードポイント [{1}] のユニコード文字 [{0}] は有効範囲 0 から 255 の範囲外のため、エンコードできません。
+
 uDecoder.eof=予期せぬ場所で終端に達しました。
 uDecoder.noSlash="/" を符号化して含めることはできません。
 uDecoder.urlDecode.conversionError=文字セット [{1}] を使用した [{0}] のデコードに失敗しました
diff --git a/java/org/apache/tomcat/util/net/LocalStrings_ja.properties b/java/org/apache/tomcat/util/net/LocalStrings_ja.properties
index 3df44e3624..c0ded72989 100644
--- a/java/org/apache/tomcat/util/net/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/net/LocalStrings_ja.properties
@@ -155,6 +155,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=SSLHostConfig の属性 certificateFile は、SSLコネクタを使用する場合は必ず定義しなければなりません。
 sslUtilBase.noCrlSupport=トラストストアプロバイダー [{0}] は設定項目 certificateRevocationFile に対応していません。
 sslUtilBase.noKeys=キーストアで見つかった秘密キーのエイリアスがありません。
 sslUtilBase.noVerificationDepth=トラストストアプロバイダー [{0}] は設定項目 certificateVerificationDepth に未対応です。
diff --git a/java/org/apache/tomcat/websocket/LocalStrings_ja.properties b/java/org/apache/tomcat/websocket/LocalStrings_ja.properties
index efe12c1584..41e8f6377e 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings_ja.properties
@@ -99,7 +99,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=テキストメッセージハンドラはすでに構成されています。


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