ローカライズされたテキストのアーキテクチャ

ローカライズされた API 定義ドキュメントは、「schema.display.properties」ファイルのセットで定義されます。

schema.display.properties ファイルの場所

特定の InsuranceSuite アプリケーションでは、「schema.display.properties」ファイルが /modules/configuration/config/locale ディレクトリに保存されます。

  • schema.display.properties という名前のデフォルトファイルが 1 つ存在します。
    • このファイルには、スキーマ情報が英語で格納されています。
  • ロケールごとに schema.display_LOCALE.properties ファイルが 1 つずつ存在します。各ファイルには、そのロケールに関するスキーマ情報が含まれています。次に例を示します。
    • schema.display_fr.properties ファイルには、スキーマ情報がフランス語で格納されています。
    • schema.display_es.properties ファイルには、スキーマ情報がスペイン語で格納されています(ラテンアメリカロケールの場合)。
    • schema.display_es_ES.properties ファイルには、スキーマ情報がスペイン語で格納されています(スペインの場合)。

状況に応じて、ロケールが英語ではなく、必要なロケールの特定の表示値が見つからない場合は、デフォルトの schema.display.properties 内の値が使用されます。何らかの理由でデフォルトの schema.display.properties で値が見つからない場合は、対応するスキーマファイルのプロパティのテキストが使用されます。例えば、schema.display ファイルで API タイトル用のローカライズされたテキストが見つからない場合は、スキーマファイルの title プロパティの値が使用されます。

schema.display.properties ファイルは、Studio で、[コンフィギュレーション] > [ローカリゼーション] > [Resource Bundle 'schema.display']ノードにアクセスすることによって表示できます。

ベースコンフィギュレーションではいくつかのロケール用の schema.display_LOCALE.properties ファイルが提供されますが、これらのファイルは完全ではありません。Guidewire では、実稼働環境でこれらのファイルを使用する前に、内容をレビューして翻訳の完全性や正確性を確認するようにお勧めします。

schema.display.properties のキー

すべてのスキーマローカリゼーションファイルに、一連のキーと値のペアが含まれています。次に例を示します。

json.common.v1.definitions.Activity.properties.activityType.description = 
The type of this activity, such as `general` or `approval`
Java

key は、「=」の前に来るテキストです。これは、ロケール共通の方法でローカライズ可能なテキストの断片を定義します。スキーマ情報のキーは、次の方法で書き込まれます。

  • schema.json ファイルで定義された値のキーは、json で始まります。
  • swagger.yaml ファイルで定義された値のキーは、swagger で始まります。
  • 残りは、対応するスキーマコンポーネントを識別するための特定のパターンに従うドット表記文字列です。例えば、「common.v1.definitions.Activity.properties.activityType.description」などです。

各キーは、正しいスキーマ要素に関連付けるための特定のパターンに従う必要があります。ほとんどの場合、キーのパターンは、スキーマファイル内のローカライズされたプロパティへのパスに対応します。ただし、パターンによって微妙な違いがあります。詳細については、display key と API 要素の関連付けを参照してください。

Note: InsuranceSuite ユーザーインターフェイスで使用される display key には、無作為のキー値が割り当てられます。キーを使用するユーザーインターフェイス要素が同じ値を参照する限り、キーは自由に定義できます。API 定義ドキュメント用の display key は、このように動作しません。キーは、API 定義の正しい側面に関連付けるための特定のパターンに従う必要があります。

schema.display.properties の値

値は、ユーザーが特定のロケールで作業する場合にそのキーに対して使用されるローカライズされたテキストです。例えば、アドレスの記述用のキーと値のペアが次のようになっているとします。

json.common.v1.definitions.Address.description = An `Address` represents a postal address. The
fields available on an `Address` will depend upon the `country` value for the `Address`.
Java

キーを複数の言語で表示する必要がある場合は、必要に応じて各ロケール固有のファイルで定義されます。キーはすべてのファイルで一定のままです。値だけが変化します。

例えば、次のキーと値のペアは、デフォルトの schema.display.properties ファイルに含まれています。

json.common.v1.definitions.Address.properties.CEDEX.description = The CEDEX bureau of the address. 
Only applicable in certain countries.
Java

次のキーと値のペアは、ベースコンフィギュレーション schema.display_fr.properties ファイルに含まれています。

json.common.v1.definitions.Address.properties.CEDEX.description = Bureau CEDEX de l'adresse. 
Applicable uniquement dans certains pays.
Java

使用する値の決定

Cloud API は、以下を通して API 定義ドキュメントを返します。

  • 各 API 内の /openapi.json エンドポイントと /swagger.json エンドポイント。
  • Cloud API 固有の /job/v1/graph-schema エンドポイントと /claim/v1/graph-schema エンドポイントによって返されるスキーマ。

これらのエンドポイントを呼び出すときに、要求オブジェクトに「fr_FR」などの特定の言語に設定された GW 言語ヘッダーを含めることができます。このヘッダーの詳細については、言語とロケールを参照してください。

GW 言語ヘッダーが存在する場合は、Cloud API が要求言語の API 定義ドキュメントを返そうとします。以下のすべてが true の場合は、ドキュメントの断片ごとに、ローカライズされた値が返されます。

  • その言語用の schema.display.properties ファイルが存在する。
  • schema.display.properties ファイルで、対応するキーの値が定義されている。

上記以外の状況では、デフォルト値が使用されます。デフォルトの schema.display.properties ファイル(存在する場合)で定義された値。存在しない場合は、スキーマ定義ファイル自体の対応する値が使用されます。

例えば、InsuranceSuite アプリケーションに addressLine1arrondissement、および CEDEX のプロパティを含む Address スキーマがあるとします。次のファイルのそれぞれに以下の情報が存在します。

スキーマ定義ファイル

"Address": {
  ...
  "properties": {
    "addressLine1": {
      "description": "The first line of the address",
      "type": "string",
    },
    "arrondissement_Ext": {
      "description": "The administrative district of the address. Used in certain large 
                      French cities, in particular Paris.",
      "type": "string",
    },
    "CEDEX": {
      "description": "The CEDEX bureau of the address. Only applicable in certain countries.",
      "type": "string",
      }
Java

schema.display.properties ファイル

json.common.v1.definitions.Address.properties.addressLine1.description = The first line of the 
address, such as "123 Main Street"
json.common.v1.definitions.Address.properties.CEDEX.description = The CEDEX bureau of the 
address. Only applicable in certain countries.
Java

schema.display_fr.properties ファイル:

json.common.v1.definitions.Address.properties.CEDEX.description = Bureau CEDEX de l'adresse. 
Applicable uniquement dans certains pays.
Java

ここで、呼び出し元が以下のキー用のフランス語のスキーマ情報を要求したとします。

  • json.common.v1.definitions.Address.properties.CEDEX.description
  • json.common.v1.definitions.Address.properties.Address.description
  • json.common.v1.definitions.Address.properties.Arrondissement_Ext.description

Cloud API は以下の値を返します。

  • 1 つ目のキー
    • 戻り値: "Bureau CEDEX de l'adresse. Applicable uniquement dans certains pays."
    • 理由:フランス語の schema.display.properties ファイルが存在し、そのファイルでこのキーが定義されています。
  • 2 つ目のキー
    • 戻り値: "The first line of the address, such as "123 Main Street"
    • 理由:フランス語の schema.display.properties ファイルが存在するが、そのファイルでこのキーが定義されていません。ただし、キーは、デフォルトの schema,display.properties ファイルで定義されています。
  • 3 つ目のキー
    • 戻り値: "The administrative district of the address. Used in certain large French cities, in particular Paris."
    • 理由:キーは、ロケール固有の schema.display.properties ファイルまたはデフォルトの schema.display.properties ファイルで定義されていません。そのため、スキーマ定義内の description プロパティの値が返されます。