テキスト文字列のローカリゼーションを使用すると、画像カタログに同じ文字列値に対して、複数のロケール固有の表現を含めることができます。
サーバーは、で指定されたロケールに一致する表現をクライアントに返します。 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
は、 stringElement
、 localizedString
~で特徴付けられる ^loc=N^
を返す必要があります。 次の場合、 localizationToken
が stringElement
の場合、空の値が返されます。
例えば、 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 ドイツ語 - |