テキスト文字列ローカライゼーション

テキスト文字列ローカライゼーションを使用すると、画像カタログに、同じ文字列値に対して複数のロケール固有の表現を含めることができます。

サーバーは、locale=で指定されたロケールに一致する表現をクライアントに返すので、クライアント側のローカライゼーションを回避し、ISテキストリクエストで適切なlocale=値を送信するだけでロケールを切り替えられます。

範囲

テキスト文字列ローカライゼーションは、次のカタログフィールドにローカライゼーショントークン ^loc= *locId*^を含むすべての文字列要素に適用されます。

カタログフィールド フィールド内の文字列要素

catalog::ImageSet

変換可能な文字列を含むサブ要素(区切り文字「,」、「;」、「:」、フィールドの開始/終了」、またはその両方の組み合わせで区切られます)。

ローカライズ可能なフィールドの先頭の 0xrrggbb カラー値は、ローカライゼーションから除外され、変更せずに渡されます。

catalog::Map

coords= および shape= 属性の値を除く、単一または重複で引用符で囲まれた任意の属性値。

catalog::ターゲット

ターゲットの値。*.label ターゲット。*.userdata プロパティ。

catalog::UserData

任意のプロパティの値。

文字列構文

画像カタログ内のローカライゼーション対応の​string​要素は、1つ以上のローカライズされた文字列で構成され、各文字列の前にローカライゼーショントークンが付きます。

stringElement

[ defaultString ]*{ localizationToken localizedString }

localizationToken

^loc= locStr ^

locId

この localizationToken に続く localizedString の内部ロケールID。

localizedString

ローカライズされた文字列。

defaultString

不明なロケールに使用する文字列。

locId はASCIIである必要があり、「^」を含めることはできません。

「^」は、HTTPエンコーディングの有無に関係なく、サブ文字列のどこにでも使用できます。 サーバーは、localizationToken ^loc=locId^パターン全体を照合してサブ文字列を区切ります。

stringElements 少なくとも1つを含まないもの localizationToken は、ローカライゼーションとは見なされません。

変換マップ

attribute::LocaleStrMap クライアントに戻す対象を決定するためにサーバーで使用 localizedStrings されるルールを定義します。これは、(locale=で指定された値と一致する)入力​locales​のリストで構成され、それぞれに内部ロケールID(locId)が1つもないかそれ以上も含まれています。 例:

attribute::LocaleStrMap= en,E|nl,N|de,D|,

空の​locId​値は、defaultString​を返す必要がある場合はそれを示します。

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

変換処理

上の変換マップの例とリクエスト/is/image/myCat/myItem?req=&locale=nlを見ると、サーバーはまずロケールマップで「nl」を探します。 一致するエントリnl,Nは、各​stringElement​に対して^loc=N^でマークされた​localizedString​が返されることを示します。 この​localizationToken​が​stringElement​に存在しない場合は、空の値が返されます。

例えば、catalog::UserData for myCat/myItemに次の文字を含めるとします(明確にするために改行を挿入)。

val1=111?? str1=Default1^loc=N^Dutch1^loc=D^German1?? val2=value2?? str2=^loc=E^English2^loc=N^Dutch2^loc=D^German2?? str3=Default3^loc=N^Dutch3^loc=D^German3

サーバーは、このリクエスト例に応答して次を返します。

val1=111 str1=Dutch1 val2=value2 str2=Dutch2 str3=Dutch3

不明なロケール

上記の例では、attribute::LocaleStrMapのエントリに空の​locale​値が含まれています。 サーバーはこのエントリを使用して、変換マップで明示的に指定されていないすべてのlocale=値を処理します。

この変換マップの例では、defaultString​がある場合は返すように指定しています。 したがって、この変換マップがリクエスト/is/image/myCat/myItem?req=&locale=jaに適用された場合、次のように返されます。

val1=111 str1=Default1 val2=value2 str2= str3=Default3

言語ファミリ

変換マップの各​locale​に複数の​locId​値を関連付けることができます。 これにより、選択​stringElements​に対して、国固有または地域固有のバリエーション(米国英語と英国英語など)をサポートしながら、一般的なベースロケール(国際英語など)でほとんどのコンテンツを処理できます。

この例では、時折使用される代替スペルをサポートするために、米国固有の英語(*locId* EUS)と英国固有の英語(*locId* EUK)のサポートを追加します。 EUKまたはEUSが存在しない場合は、Eに戻ります。同様に、必要に応じてオーストリア独自のドイツのバリアント(DAT)が利用可能になり、ほとんどの場合、一般的なドイツ語​localizedStringsDでマーク)が返されます。

attribute::LocaleStrMap 次のようになります。

en,E|en_us,EUS,E|en_uk,EUK,E|de,D|de_at,DAT,D|de_de,D

次の表に、代表的な​stringElement​と​locale​の組み合わせの出力を示します。

stringElement locale

出力文字列

^loc=E^English^loc=D^German

en,en_us, en_uk

de, de_at, de_de

その他

英語

ドイツ語

-

^loc=E^English^loc=UKE^UK-English^loc=D^German^loc=DAT^Austrian

en, en_us

en_uk

de, de_de

de_at

その他

英語

英国英語

ドイツ語

オーストリアの

-

^loc=en^English^loc=USE^US-English^loc=D^German^loc=DDE^Deutsch

この例では、 locId DDEが attribute::LocaleStrMap に存在しないので、この locId に関連付けられたサブ文字列は返されません。

en, en_uk

en_us

de, de_at, de_de

その他

英語

米国英語

ドイツ語

-

このページ

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now