Lokalisierung von Textzeichenfolgen

Bei der Lokalisierung von Textzeichenfolgen können Bildkataloge mehrere gebietsschemaspezifische Darstellungen für denselben Zeichenfolgenwert enthalten.

Der Server gibt an den Client die Darstellung zurück, die dem mit locale= angegebenen Gebietsschema entspricht. Dadurch wird eine clientseitige Lokalisierung vermieden und Anwendungen können die Gebietsschemata wechseln, indem sie einfach den entsprechenden locale= -Wert mit den IS-Textanforderungen senden.

Ebene

Die Lokalisierung von Textzeichenfolgen wird auf alle Zeichenfolgenelemente angewendet, die das Lokalisierungstoken ^loc= *locId*^ in den folgenden Katalogfeldern enthalten:

Katalogfeld Zeichenfolgenelement im Feld

catalog::ImageSet

Jedes Unterelement, das eine übersetzbare Zeichenfolge enthält (getrennt durch eine beliebige Kombination der Trennzeichen ',' ';' ':' und/oder den Beginn/das Ende des Felds).

Ein 0xrggbb -Farbwert am Anfang eines lokalisierbaren Felds wird aus der Lokalisierung ausgeschlossen und ohne Änderung weitergegeben.

Katalog::Map

Ein- oder zweifacher Attributwert, ausgenommen die Werte der Attribute coords= und shape= .

catalog:Targets

Der Wert eines beliebigen -Ziels.*.label und target.*.userdata -Eigenschaft.

catalog::UserData

Der -Wert einer beliebigen Eigenschaft.

String-Syntax

Lokalisierungsaktivierte string -Elemente im Bildkatalog bestehen aus einer oder mehreren lokalisierten Zeichenfolgen, denen jeweils ein Lokalisierungstoken vorangestellt wird.

stringElement

[ defaultString ]*{ localizationToken localizedString }

localizationToken

^loc= locStr ^

locId

Interne Gebietsschema-ID für localizedString nach localizationToken .

localizedString

Lokalisierte Zeichenfolge.

defaultString

Zeichenfolge, die für unbekannte Gebietsschemata verwendet werden soll.

locId muss ASCII sein und darf "^"nicht enthalten.

'^' kann an einer beliebigen Stelle in Unterzeichenfolgen mit oder ohne HTTP-Kodierung auftreten. Der Server passt das gesamte localizationToken ^loc=locId^-Muster an, um Unterzeichenfolgen zu trennen.

stringElements die nicht mindestens eine enthalten, localizationToken werden bei der Lokalisierung nicht berücksichtigt.

Die Übersetzungskarte

attribute::LocaleStrMap definiert die Regeln, die vom Server verwendet werden, um zu bestimmen, welche localizedStrings an den Client zurückgegeben werden. Sie besteht aus einer Liste von Eingabe locales (entspricht den mit locale= angegebenen Werten) mit jeweils keiner oder mehreren internen Gebietsschema-IDs ( locId). Beispiel:

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

Leere locId -Werte geben an, dass defaultString zurückgegeben werden soll, sofern verfügbar.

Weitere Informationen finden Sie in der Beschreibung von attribute::LocaleStrMap .

Der Übersetzungsprozess

Bei der obigen beispielhaften Übersetzungszuordnung und der Anfrage /is/image/myCat/myItem?req=&locale=nl sucht der Server zuerst in der Gebietsschemakarte nach "nl". Der übereinstimmende Eintrag nl,N gibt an, dass für jeden stringElement der localizedString zurückgegeben werden soll, der mit ^loc=N^ markiert ist. Wenn localizationToken nicht im stringElement vorhanden ist, wird ein leerer Wert zurückgegeben.

Nehmen wir an, catalog::UserData für myCat/myItem enthält Folgendes (aus Gründen der Klarheit eingefügte Zeilenumbrüche):

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

Der Server gibt als Antwort auf unsere Beispielanfrage Folgendes zurück:

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

Unbekannte Gebietsschemata

Im obigen Beispiel hat attribute::LocaleStrMap einen Eintrag mit einem leeren locale -Wert. Der Server verwendet diesen Eintrag, um alle locale=-Werte zu verarbeiten, die sonst nicht explizit in der Übersetzungskarte angegeben sind.

Die Beispielübersetzungszuordnung gibt an, dass in diesem Fall defaultString zurückgegeben werden sollte, sofern verfügbar. Daher wird Folgendes zurückgegeben, wenn diese Übersetzungszuordnung auf die Anfrage /is/image/myCat/myItem?req=&locale=ja angewendet wurde:

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

Beispiele

Sprachfamilien

Mehrere locId -Werte können jedem locale in der Übersetzungszuordnung zugeordnet werden. Dies ermöglicht die Unterstützung länderspezifischer oder regionsspezifischer Varianten (z. B. US-Englisch vs. britisches Englisch) für die Auswahl von stringElements, während die meisten Inhalte mit gängigen Basisgebietsschemata (z. B. internationales Englisch) verarbeitet werden.

Für unser Beispiel möchten wir Unterstützung für US-spezifisches Englisch ( *locId* EUS) und britisches Englisch ( *locId* EUK) hinzufügen, um die gelegentliche alternative Rechtschreibung zu unterstützen. Wenn es EUK oder EUS nicht gibt, würden wir auf E zurückgreifen. Ebenso könnten österreichisch-spezifische deutsche Varianten ( DAT) bei Bedarf zur Verfügung gestellt werden, während häufig gebräuchliches Deutsch localizedStrings zurückgegeben wird (markiert mit D).

attribute::LocaleStrMap würde wie folgt aussehen:

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

Die folgende Tabelle beschreibt die Ausgabe einiger repräsentativer stringElement- und locale-Kombinationen:

stringElement locale

Ausgabezeichenfolge

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

en,en_us, en_uk

de, de_at, de_de

alle anderen

Englisch

Deutsch

-

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

en, en_us

en_uk

de, de_de

de_at

alle anderen

Englisch

UK-Englisch

Deutsch

österreichisch

-

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

Beachten Sie, dass für dieses Beispiel das locId -DDE im -Attribut nicht vorhanden ist::LocaleStrMap und daher die mit dieser locId verknüpfte Unterzeichenfolge nie zurückgegeben wird.

en, en_uk

en_us

de, de_at, de_de

alle anderen

Englisch

US-Englisch

Deutsch

-

Auf dieser Seite