ロケール・リソースの検索の優先順位

Workplace XT では、要求で渡されたクライアント・ロケールに基づいて、プロパティー・リソース・バンドル内の UI ストリングを検索します。Workplace XT XML 構成ファイルのラベル・エレメントの目的は、リソース・バンドル内の UI ストリングを上書きすることです。以下の XML スニペットに示すように、このエレメントを使用すると、複数のロケールにリソース・ストリングを設定することができます。XML に複数の言語で書かれたストリングを設定できると、リソース・バンドル内のストリングを変更する手間が省けます。

<object key="searchOptionGroup">
  <label key="label" localizationKey="server.SimpleSearch_xml.useTheseSearchOptions">
    <resource>Use these search options:</resource>
    <resource locale="en_US">Use these search options:</resource>
    <resource locale="fr_FR">employez ces options pour faire une recherche:</resource>
  </label>
...

 Workplace XT では、XLIFF ファイルを使用して既存のリソース・バンドル・ファイルを拡張します。XLIFF ファイルは、ローカライズされたユーザー定義の名前の表示をサポートしています。 アプリケーションは、「推奨ロケール」ユーザー設定を開示し、ブラウザーのロケールを Web アプリケーションに渡して、正しい言語固有の XLIFF ファイルがロードされるようにすることで、XLIFF ファイルを間接的に使用します。 ローカライズされたユーザー定義の名前ストリングが使用可能な場合、これらは Process Engine サーバーによって XLIFF ファイルから取得され、ロスター、キュー、マイルストーン、ステップ、ワークフローなどさまざまなフィールドで使用されます。 逆に言えば、アプリケーションはリソース・バンドル・ファイルを直接使用し、Process Engine は直接使用しません。

要求の中に特定のクライアント・ロケールがある場合、アプリケーションは以下の優先順位でリソース・ストリングを検索します。

  1. アプリケーションがブラウザーのロケール・ヘッダーで指定された順序で検索して、一致するリソース・バンドルを見つけようとします。

    ヘッダーに含まれる 1 つ以上のロケールに対するリソース・バンドルが存在しない場合、アプリケーションはブラウザーのロケール・ヘッダーで指定された順序で、XML 内で一致するロケールを見つけようとします。一致するものがない場合、アプリケーションはデフォルトにより英語のストリングに設定します。英語のストリングは、ロケールが指定されていないリソース・エレメントに対して設定されます。上記の XML では、アプリケーションはストリング「Use these search options:」を使用することになります。

  2. クライアント・ロケールに対するリソース・バンドルが存在する場合、アプリケーションは XML 内の上書き値を検索します。具体的には、locale 属性値が一致するリソース・エレメントを検索します。

    一致が見つからない場合、アプリケーションは localizationKey 属性の値を使用して、リソース・バンドルからラベルを取得します。 上記の XML で、クライアント・ロケールが「es-us」(スペイン系アメリカ) ならば、アプリケーションは「 server.SimpleSearch_xml.useTheseSearchOptions」値を使用して、スペイン系アメリカのリソース・バンドルのラベルを検索します。

  3. XML 内に上書き値がない場合、アプリケーションはこの値を使用します。

サンプルの検索シナリオ 1

注:  完全なマルチリンガル・サポートを実現するには、ユーザーが使用しているすべての言語のリソース・バンドルが必要です。アプリケーションの XML ロケール・サポートのみに頼らないようにしてください。そうしないと、アプリケーションの UI に異なる言語のストリングが混在して表示されてしまいます。

サンプルの検索シナリオ 2

サンプルの検索シナリオ 3

サンプルの検索シナリオ 4