ローカライズされたテキストのアーキテクチャ
ローカライズされた 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 で、ノードにアクセスすることによって表示できます。
ベースコンフィギュレーションではいくつかのロケール用の schema.display_LOCALE.properties ファイルが提供されますが、これらのファイルは完全ではありません。Guidewire では、実稼働環境でこれらのファイルを使用する前に、内容をレビューして翻訳の完全性や正確性を確認するようにお勧めします。
schema.display.properties のキー
すべてのスキーマローカリゼーションファイルに、一連のキーと値のペアが含まれています。次に例を示します。
key は、「=」の前に来るテキストです。これは、ロケール共通の方法でローカライズ可能なテキストの断片を定義します。スキーマ情報のキーは、次の方法で書き込まれます。
- schema.json ファイルで定義された値のキーは、
jsonで始まります。 - swagger.yaml ファイルで定義された値のキーは、
swaggerで始まります。 - 残りは、対応するスキーマコンポーネントを識別するための特定のパターンに従うドット表記文字列です。例えば、「common.v1.definitions.Activity.properties.activityType.description」などです。
各キーは、正しいスキーマ要素に関連付けるための特定のパターンに従う必要があります。ほとんどの場合、キーのパターンは、スキーマファイル内のローカライズされたプロパティへのパスに対応します。ただし、パターンによって微妙な違いがあります。詳細については、display key と API 要素の関連付けを参照してください。
schema.display.properties の値
値は、ユーザーが特定のロケールで作業する場合にそのキーに対して使用されるローカライズされたテキストです。例えば、アドレスの記述用のキーと値のペアが次のようになっているとします。
キーを複数の言語で表示する必要がある場合は、必要に応じて各ロケール固有のファイルで定義されます。キーはすべてのファイルで一定のままです。値だけが変化します。
例えば、次のキーと値のペアは、デフォルトの schema.display.properties ファイルに含まれています。
次のキーと値のペアは、ベースコンフィギュレーション schema.display_fr.properties ファイルに含まれています。
使用する値の決定
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 アプリケーションに addressLine1、arrondissement、および CEDEX のプロパティを含む Address スキーマがあるとします。次のファイルのそれぞれに以下の情報が存在します。
スキーマ定義ファイル
schema.display.properties ファイル
schema.display_fr.properties ファイル:
ここで、呼び出し元が以下のキー用のフランス語のスキーマ情報を要求したとします。
json.common.v1.definitions.Address.properties.CEDEX.descriptionjson.common.v1.definitions.Address.properties.Address.descriptionjson.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プロパティの値が返されます。