テキスト文字列のローカライズ text-string-localization

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

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

範囲 section-a03f48e3bc0e4ab281909a2bd441a3c2

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

カタログフィールド
フィールドの文字列要素
catalog::ImageSet

翻訳可能な文字列を含むすべてのサブ要素(区切り文字「,」「;」「:」やフィールドの開始/終了の任意の組み合わせで区切られる)。

ローカライズ可能なフィールドの先頭にある 0xrggbb color 値は、ローカライズから除外され、変更なしで渡されます。

catalog::Map
coords= および shape= 属性の値を除く、一重引用符または二重引用符で囲まれた属性値。
catalog::Targets
任意の ターゲットの値。*.label と target。*.userdata プロパティ。
catalog::UserData
プロパティの値。

文字列構文 section-d12320edf300409f8e17565b143acafc

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

stringElement
[ defaultString ]*{ localizationToken localizedString }
localizationToken
^loc= locStr ^
locId
この localizationToken に続く localizedString の内部ロケール ID す。
localizedString
ローカライズされた文字列。
defaultString
不明なロケールに使用する文字列。

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

「^」は、HTTP エンコーディングの有無に関わらず、部分文字列のどこにでも存在する可能性があります。 サーバーは、localizationToken ^loc=locId^ パターン全体を照合して、サブ文字列を区切ります。

stringElements には 1 つ以上の localizationToken が含まれていないので、ローカライズの対象にはなりません。

翻訳マップ section-f7ce3df91b724adf95cee44eac4915d4

attribute::LocaleStrMap は、クライアントに返す localizedStrings を決定するためにサーバーが使用するルールを定義します。 これは入力 locales のリスト(locale= で指定された値に一致)で構成され、それぞれに内部ロケール ID (locId)が 0 個以上あります。 以下に例を挙げます。

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

空の locId 値は、defaultString が返される必要があることを示します(使用可能な場合)。

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

翻訳プロセス section-a2a8a3e5850f4f7c9d2318267afe98a2

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

例えば、myCat/myItemcatalog::UserData に次の改行が含まれているとします(わかりやすくするために挿入されます)。

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

不明なロケール section-26dfeefbd60345de94bbfeaaf7741223

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

翻訳マップの例では、このような場合に defaultString が返されるように指定しています(使用可能な場合)。 したがって、この翻訳マップがリクエスト /is/image/myCat/myItem?req=&locale=ja ージに適用される場合は、次のように返されます。

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

section-ae6ff7fb90754b839f04ed08aadffa3f

言語ファミリ

複数の locId 値を翻訳マップの各 locale に関連付けることができます。 その理由は、選択した 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

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

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^オーストリア

en, en_us

en_uk

de, de_de

de_at

その他すべて

英語

英国 – 英語

ドイツ語

オーストリア

-

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

この例では、 locIdDDE は attribute::LocaleStrMap に存在 ないので、この locId に関連付けられた部分文字列は返されません。

en, en_uk

en_us

de, de_at, de_de

その他すべて

英語

米国 – 英語

ドイツ語

-

recommendation-more-help
a26166cd-f2f4-45ce-996d-96a0f0d6cf49