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

最終更新日: 2023-09-01
  • 作成対象:
  • Developer
    User

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

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

範囲

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

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

catalog::ImageSet

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

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

catalog::Map

引用符で囲まれた単一または二重引用符で囲まれた任意の属性値 ( coords= および shape= 属性。

catalog::Targets

任意の ターゲット。*.label および ターゲット。*.userdata プロパティ。

catalog::UserData

任意のプロパティの値。

文字列の構文

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

stringElement

[ defaultString ]*{ localizationToken localizedString }

localizationToken

^loc= locStr ^

locId

の内部ロケール ID localizedString この後 localizationToken .

localizedString

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

defaultString

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

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

「^」は、HTTP エンコーディングの有無に関わらず、サブ文字列の任意の場所に配置できます。 サーバーは、 localizationToken ^loc=locId^ パターンを使用して部分文字列を区切ります。

The stringElements(少なくとも 1 つを含まない) localizationToken​をローカライゼーションの対象としない場合は考慮されません。

翻訳マップ

attribute::LocaleStrMap は、どのルールを決定するためにサーバーで使用されるルールを定義します localizedStrings をクライアントに戻します。 入力のリストで構成されます。 locales ( locale=) の代わりに、内部ロケール ID( locId) をクリックします。 以下に例を挙げます。

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

locId 値は、 defaultString を返す必要があります(存在する場合)。

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

翻訳プロセス

上記の翻訳マップの例と要求 /is/image/myCat/myItem?req=&locale=nlを検索する場合、サーバーは最初に「 nl」がロケールマップに表示されます。 一致したエントリ nl,N は、 stringElementlocalizedString ~で特徴付けられる ^loc=N^ を返す必要があります。 次の場合、 localizationTokenstringElement​の場合、空の値が返されます。

例えば、 catalog::UserData 対象: 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

言語ファミリー

複数 locId 値は、 locale 翻訳マップ内で使用します。 これは、国固有または地域固有のバリエーション(例えば、米国英語と英国英語)を選択できるからです。 stringElements では、一般的な基本ロケール(例えば、国際英語)を使用したほとんどのコンテンツを処理します。

この例では、米国固有の英語 ( *locId* EUS) および UK 固有の英語 ( *locId* EUK) を使用して、時折使用される代替スペルをサポートします。 EUK または EUS が存在しない場合は、E.にフォールバックします。同様に、オーストリア特有のドイツ系 ( DAT) は、必要に応じて利用できるようにし、一般的なドイツ語を返す localizedStrings ( D) ほとんどの場合に使用されます。

The 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=UK^UK-English^loc=D^German^loc=DAT^Austrian

en, en_us

en_uk

de_de

de_at

その他

英語

UK-English

ドイツ語

オーストリア語

-

^ 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

その他

英語

US-English

ドイツ語

-

このページ