Struts-2-struts-localization
Struts2-ローカリゼーション、国際化(i18n)
国際化(i18n)は、製品とサービスを特定の現地の言語と文化に簡単に適合させることができるように、製品とサービスを計画および実装するプロセスです。ローカリゼーションと呼ばれるプロセスです。 国際化プロセスは、翻訳またはローカリゼーションの有効化と呼ばれます。
国際化は i18n と省略されます。これは、単語が文字「」で始まり、「」で終わるため、最初のiと最後のnの間に18文字があるためです。
Struts2は、ローカライズ、つまり、以下の場所でリソースバンドル、インターセプター、およびタグライブラリを介した国際化(i18n)サポートを提供します-
- UIタグ
- メッセージとエラー。
- アクションクラス内。
リソースバンドル
Struts2はリソースバンドルを使用して、Webアプリケーションのユーザーに複数の言語およびロケールオプションを提供します。 異なる言語でページを書くことを心配する必要はありません。 必要なことは、必要な言語ごとにリソースバンドルを作成することです。 リソースバンドルには、ユーザーの言語のタイトル、メッセージ、およびその他のテキストが含まれます。 リソースバンドルは、アプリケーションのデフォルト言語のキー/値のペアを含むファイルです。
リソースファイルの最も簡単な命名形式は-
ここで、 bundlename は、ActionClass、Interface、SuperClass、Model、Package、Globalリソースプロパティです。 次の部分 language_country は国のロケールを表します。たとえば、スペイン語(スペイン)ロケールはes_ESで表され、英語(米国)ロケールはen_USなどで表されます。 ここでは、オプションである国の部分をスキップできます。
あなたがそのキーによってメッセージ要素を参照するとき、Strutsフレームワークは次の順序で対応するメッセージバンドルを検索します-
- ActionClass.properties
- Interface.properties
- SuperClass.properties
- model.properties
- package.properties
- struts.properties
- global.properties
アプリケーションを複数の言語で開発するには、それらの言語/ロケールに対応する複数のプロパティファイルを維持し、キー/値のペアに関してすべてのコンテンツを定義する必要があります。
たとえば、米国英語(デフォルト)、スペイン語、フランス語のアプリケーションを開発する場合、3つのプロパティファイルを作成する必要があります。 ここでは、 global.properties ファイルのみを使用します。異なるプロパティファイルを使用して、異なるタイプのメッセージを分離することもできます。
- global.properties -デフォルトでは英語(米国)が適用されます
- global_fr.properties -これはFranchロケールに使用されます。
- global_es.properties -これはスペイン語ロケールで使用されます。
メッセージにアクセスする
getText、textタグ、UIタグのキー属性、i18nタグなど、メッセージリソースにアクセスする方法がいくつかあります。 それらを簡単に見てみましょう-
- textタグ*は、デフォルトのリソースバンドル(struts.properties)からメッセージを取得します
- i18nタグ*は、任意のリソースバンドルを値スタックにプッシュします。 i18nタグのスコープ内の他のタグは、そのリソースバンドルからのメッセージを表示できます。
ほとんどのUIタグの key 属性を使用して、リソースバンドルからメッセージを生成できます-
ローカリゼーションの例
複数の言語で前の章の index.jsp を作成することをターゲットにしましょう。 同じファイルは次のように書かれます-
定義されたアクションが SUCCESS を返す場合に呼び出される success.jsp ファイルを作成します。
ここでは、次の2つのアクションを作成する必要があります。 (a)ロケールを処理し、同じindex.jspファイルを異なる言語で表示する最初のアクションa(b)別のアクションは、フォーム自体の送信を処理することです。 両方のアクションがSUCCESSを返しますが、目的は両方のアクションで異なるため、戻り値に基づいて異なるアクションを実行します
ロケールの世話をするアクション
フォームを送信するアクション
ここで、次の3つの global.properties ファイルを作成し、 CLASSPATH に入れます。
global.properties
global_fr.properties
global_es.properties
次の2つのアクションを使用して struts.xml を作成します-
以下は web.xml ファイルの内容です-
次に、プロジェクト名を右クリックし、[エクスポート]> [WARファイル] をクリックして、WARファイルを作成します。 次に、このWARをTomcatのwebappsディレクトリにデプロイします。 最後に、Tomcatサーバーを起動して、URL *http://localhost:8080/HelloWorldStruts2/index.jsp にアクセスしてみます。 これにより、次の画面が生成されます-
今、言語のいずれかを選択し、私たちは*スペイン語*を選択したとしましょう、それは次の結果を表示します-
フランス語も試してみることができます。 最後に、スペイン語のロケールにいるときに[送信]ボタンをクリックしてみてください。次の画面が表示されます-
おめでとうございます、多言語のウェブページができたので、ウェブサイトをグローバルに立ち上げることができます。