このドキュメントは、Tomcatで供給される地域化したコンテンツを開発するために必要な情報を提供します。
このドキュメントの対象は Tomcat のアプリケーションの開発者、 特定のロケールにコンテンツを変換する必要のある国際化や地域化の専門家です。
このドキュメントは、いくつかの章に分れています。
この章では、Tomcatで地域化された版のリソースに対してアクセスできるようにする仕組みを説明しますが、必ずしもHTML ページや、JavaScript ファイル、イメージファイルなどに限りません。
Tomcat は、地域化された版のコンテンツを供給できるようにするための
3 つの仕組みを提供します。
このタイプの地域化されたコンテンツの構成は、
java.lang.ResourceBundle
のリソース検索方法を使って、
リソースの基本名に基づいて問い合わせられたリソースの地域化された版のを探そうとします。
例えば、次のようなシナリオを仮定します。
fr_CA
es_AR
/myapp
/myapp/index.html
この仕組みでは、次の順にリソースを検索します。
この仕組みを使うときには、すべての地域化された版はデフォルト (地域化された名前がないリソース)と同じディレクトリに位置することになるでしょう。
開発者へのメモ: それぞれの地域化されたファイルを提供するために URL を変更する必要はありません。
このタイプの地域化されたリソースの構成は、 "docbase" ディレクトリ下に地域化されたドキュメント階層が存在するかどうかを問い合わせることで、 地域化された版のリソースを見つけようとします。 ドキュメントの構成は、JavaHelp が使っているものと同様です。
例えば、次のようなシナリオを仮定します。
fr_CA
es_AR
/myapp
/myapp/index.html
この仕組みでは、次の順にリソースを検索します。
この仕組みを使ったとき、すべての地域化されたバージョンは異なるディレクトリに位置することになります。
すべての指定したロケールのファイルは、[docbase]/[ロケール]
を共通の親ディレクトリとするサブディレクトリの中にあるでしょう。
開発者へのメモ: 地域化された版のファイルにおいては、URL を変更する必要があるかもしれません。 これは、特にそれらの URL が相対参照をしている時です(例えば、上のディレクトリのドキュメントへのアクセス)
org.apache.tomcat.request.StaticInterceptor
クラスが、地域化されたリソースの検索を処理するために使われています。
これは、server.xml の対応するエントリを記述することにより実現されています。
StaticInterceptor
クラスは、以下のどれかの値を設定できる
localization
と呼ばれる属性を含んでいます。
"file"
"docbase"
以下は、ファイルベースの検索をするための StaticInterceptor エントリの例です。
<RequestInterceptor
className="org.apache.tomcat.request.StaticInterceptor"
debug="0" localization="file" suppress="false" />
以下は、docbase ベースの検索をするための StaticInterceptor エントリの例です。
<RequestInterceptor
className="org.apache.tomcat.request.StaticInterceptor"
debug="0" localization="docbase" suppress="false" />
デフォルトのモードは、地域化されたリソースを検索しないように設定されています。
将来別のタイプの地域化構成をサポートするためには、すでに実装されている上記のファイルベースの仕組みを拡張すればできます。
この章は Jakarta 開発者に関係しています。Tomcat ユーザは読み飛ばしてもかまいません。
これを実現するためのステップは、
org.apache.tomcat.request.StaticInterceptor
,
org.apache.tomcat.util.FileUtil
,
org.apache.tomcat.core.Context
を適切に修正することです。
必要な行動は、そのチームは(FileUtil
内の)地域化された検索メソッドを開発して、(StaticInterceptor
やContext
内で)その検索メソッドを呼び出すように実装することです。
[訳注: これは鰈崎義之が翻訳しました。 日本語訳に対するコメントは、jajakarta-report@nekoyanagi.com宛に送って下さい。]
| |
Copyright © 1999-2001, Apache Software Foundation
|