オブジェクトIDの変換

画像サービングは、外部オブジェクトIDをロケール固有のオブジェクト(カタログ)IDに変換するメカニズムを提供します。 主なアプリケーションは、ロケール固有のオブジェクトIDをクライアントアプリケーションが知る必要なく、ロケール固有のコンテンツとコンテンツを複数のロケールで共有するためのものです。

アプリケーションはグローバルなオブジェクトIDのみを使用して書き込むことができ、画像サービングはロケール固有の画像やその他のコンテンツを自動的に置き換えます(使用可能な場合)。

locale​は、画像サービング要求でlocale=コマンドで指定します。

メモ

オブジェクトID変換は、カタログベースの画像サービングでのみ使用できます。 ファイル名は翻訳できません。

範囲

翻訳フォントとICCプロファイルの参照に関して、画像、SVG、静的コンテンツカタログ内のエントリへの参照はすべて、翻訳対象と見なされません。 /is/imageと/is/static requestsのパスの​object​に加えて、次のコマンドおよびカタログ属性はID変換の対象となります。src=mask=template=defaultImage=attribute::DefaultImage、およびattribute::Watermarkです。

ID変換マップ

attribute::LocaleMap は、汎用オブジェクトIDと値を入力として指定され、ローカライズされたコンテンツのIDを決定するためにサーバーで使用されるルールを定 locale= 義します。

attribute::LocaleMap は、入力ロケールのリス (で指定された値と一致)で構成され、それぞれに出力ロケールのサフィックス( locale=locSuffixes * * )が1つも含まれません。

例えば、attribute::LocaleMapは次のようになります。

en,_E,|en_us,_E,|en_uk,_E,|fr,_F,|de,_D,|de_at,_D,|de_de,_D,|,_E,

リクエスト/is/image/myCat/myImg?locale=de_deは、カタログエントリmyCat/myImg_Dに関連付けられた画像を返します(このようなカタログエントリが存在する場合)。

詳しくは、attribute::LocaleMapの説明を参照してください。

翻訳プロセス

上記の例の場合、サーバーはまずID変換マップで​locale " de_de"を探します。 次に、このエントリに関連付けられた​locSuffixes​を繰り返し処理します。この場合、" _D"と"" (空のサフィックス)。 繰り返しごとに、サフィックスが画像IDに追加され、カタログ内での存在がテストされる結果のIDが追加されます。 見つかった場合は、そのカタログエントリが使用され、それ以外の場合は次のエントリがテストされます。 この例では、次のエントリがチェックされます。myCat/myImg_D、およびmyCat/myImg。 一致する画像が見つからない場合、サーバーはエラーまたはデフォルトの画像を返します(設定されている場合)。

不明なロケール

上記の例では、attribute::LocaleMapに空の​locale​が含まれます。これは、不明なlocale=値(つまり、翻訳マップに明示的にリストされていない値)に使用される、デフォルトの翻訳ルールを定義します。 この翻訳マップがリクエスト/is/image/myCat/myImg?locale=jaに適用された場合、myCat/myImg_E(存在する場合)またはmyCat/myImgに解決されます。

翻訳マップでデフォルトの翻訳ルールが指定されていない場合、locale=値が不明なすべてのリクエストに対してエラーが返されます。

多層検索

地域標準に対処するために、ロケール(ヨーロッパ、中東、北米など)をグループ化することが望ましい場合が多いです。 これは、複数層のルックアップを使用して実現できます。

この例では、西部および中東で使用するコレクションをサポートします。 どちらのコレクションも汎用の画像コレクションに基づいて作成し、いくつかの画像を追加または変更します。次に、2つの中東のバリエーションの場合はm1m2、3つの西側ロケールの場合はw1w2w3といった特定のロケール用に、画像がw1w3で共有される点を除き、両方のコレクションがさらに絞り込まれます。 不明なロケールは汎用のコレクションのみにマッピングされ、ロケール固有の画像にはアクセスされません。

attribute::LocaleMap: w1,-W,|w2,-W2,-W,|w3,-W,|m1,-M1,-M,|m2,-M2,-M,|,

次の表に、どのカタログエントリを考慮するか、および汎用入力ID myImgに対してどのカタログエントリを考慮するかの順序を示します。

locale 検索するカタログID

w1, w3

myImg-W, myImg

w2

myImg-W2, myImg-W, myImg

m1

myImg-M1, myImg-M, myImg

m2

myImg-M2, myImg-M, myImg

その他

myImg

特定のIDの検索

一部の画像の命名規則では、汎用の画像IDが内部でサポートされない場合があります。 要求の汎用IDは、常にカタログ内の特定のIDにマッピングする必要があります。多くの場合、正確な特定のIDが不明な場合があります。

この例では、すべての言語の画像に_1_2_3のサフィックスを付けることができます。 フランス語のロケールに固有の画像には_22または_23のサフィックスを付け、ドイツ語のロケールに固有の画像には_470または_480のサフィックスを付けることができます。

attribute::LocaleMap: ,_1,_2,_3|fr,_22,_23,_1,_2,_3|de,_470,_480,_1,_2,_3| de_at,_470,_480,_1,_2,_3| de_de,_470,_480,_1,_2,_3

次の表に、どのカタログエントリを考慮するか、および汎用入力ID myImgに対してカタログエントリを考慮する順序を示します。

locale 検索する出力ID

fr

myImg_22, myImg_23, myImg_1, myImg_2,myImg_3

de de_at de_de

myImg_470, myImg_480, myImg_1, myImg_2,myImg_3

その他

myImg_1, myImg_2, myImg_3

関連項目

attribute::LocaleMapattribute::DefaultLocalelocale=req=xlate

このページ