Lokalisierung von Textzeichenfolgen text-string-localization
Mit 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, wodurch eine Client-seitige Lokalisierung vermieden wird und Anwendungen Gebietsschemata wechseln können, indem einfach der entsprechende locale=
mit den IS-Textanforderungen gesendet wird.
Umfang section-a03f48e3bc0e4ab281909a2bd441a3c2
Die Lokalisierung von Textzeichenfolgen wird auf alle Zeichenfolgenelemente angewendet, die das Lokalisierungs-Token ^loc= *
locId*^
in den folgenden Katalogfeldern enthalten:
Beliebiges Unterelement, das eine übersetzbare Zeichenfolge enthält (durch eine beliebige Kombination von Trennzeichen ',' ';' ':' und/oder den Anfang/das Ende des Felds getrennt).
Ein 0xrggbb Farbwert am Anfang eines lokalisierbaren Felds wird von der Lokalisierung ausgeschlossen und unverändert weitergeleitet.
String-Syntax section-d12320edf300409f8e17565b143acafc
Lokalisierungsfähige string
im Bildkatalog bestehen aus einer oder mehreren lokalisierten Zeichenfolgen, denen jeweils ein Lokalisierungs-Token vorangestellt ist.
Der locId
muss ASCII sein und darf nicht '^' enthalten.
Das '^' kann überall in Unterzeichenfolgen mit oder ohne HTTP-Kodierung auftreten. Der Server ordnet das gesamte localizationToken
-^loc=locId^
-Muster zu, um Teilzeichenfolgen zu trennen.
Die stringElements
, die nicht mindestens eine localizationToken
enthalten, werden nicht für die Lokalisierung berücksichtigt.
Die Übersetzungskarte section-f7ce3df91b724adf95cee44eac4915d4
attribute::LocaleStrMap
definiert die Regeln, anhand derer der Server bestimmt, welche localizedStrings
an den Client zurückgegeben werden sollen. Sie besteht aus einer Liste von locales
(die mit den mit locale=
angegebenen Werten übereinstimmen), von denen jede keine oder mehrere interne Gebietsschema-IDs ( locId
) aufweist. Beispiel:
attribute::LocaleStrMap= en,E|nl,N|de,D|,
Leere locId
geben an, dass die defaultString
zurückgegeben werden soll, sofern verfügbar.
Weitere Informationen finden Sie in der Beschreibung von attribute::LocaleStrMap
.
Der Übersetzungsprozess section-a2a8a3e5850f4f7c9d2318267afe98a2
Angesichts der obigen beispielhaften Übersetzungszuordnung und der Anfrage-/is/image/myCat/myItem?req=&locale=nl
sucht der Server zunächst in der Gebietsschema-Zuordnung nach "nl
". Der übereinstimmende nl,N
gibt an, dass für jeden stringElement
der mit ^loc=N^
markierte localizedString
zurückgegeben werden soll. Wenn diese localizationToken
nicht in der stringElement
vorhanden ist, wird ein leerer Wert zurückgegeben.
Nehmen wir an, catalog::UserData
für myCat/myItem
enthält Folgendes (Zeilenumbrüche wurden aus Gründen der Klarheit eingefügt):
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 die Beispielanfrage Folgendes zurück:
val1=111 str1=Dutch1 val2=value2 str2=Dutch2 str3=Dutch3
Unbekannte Gebietsschemata section-26dfeefbd60345de94bbfeaaf7741223
Im obigen Beispiel hat attribute::LocaleStrMap
einen Eintrag mit einem leeren locale
. Der Server verwendet diesen Eintrag, um alle locale=
zu verarbeiten, die nicht explizit anders in der Übersetzungszuordnung angegeben sind.
Die beispielhafte Übersetzungszuordnung gibt an, dass in einem solchen Fall die defaultString
zurückgegeben werden soll, sofern verfügbar. Daher wird Folgendes zurückgegeben, wenn diese Übersetzungszuordnung auf die Anfrage-/is/image/myCat/myItem?req=&locale=ja
angewendet wird:
val1=111 str1=Default1 val2=value2 str2= str3=Default3
Beispiele section-ae6ff7fb90754b839f04ed08aadffa3f
Sprachfamilien
Jedem locale
in der Übersetzungs-Map können mehrere locId
Werte zugeordnet werden. Der Grund dafür ist, dass es die Unterstützung länder- oder regionsspezifischer Variationen (z. B. US-Englisch versus britisches Englisch) für ausgewählte stringElements
ermöglicht, während die meisten Inhalte mit gängigen Basisgebietsschemata (z. B. internationales Englisch) verarbeitet werden.
Im Beispiel werden US-spezifisches Englisch ( *
locId* EUS
) und UK-spezifisches Englisch ( *
locId* EUK
) unterstützt, um die gelegentliche alternative Rechtschreibung zu unterstützen. Wenn es kein EUK oder EUS gibt, so fällt es auf E zurück. Ebenso könnten österreichische spezifische deutsche Varianten ( DAT
) bei Bedarf zur Verfügung gestellt werden, während die meisten Zeit gemeinsame deutsche localizedStrings
(mit D
gekennzeichnet) zurückgegeben werden.
Die 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
In der folgenden Tabelle wird die Ausgabe für einige repräsentative stringElement
- und locale
beschrieben:
en, en_us, en_uk
de, de_at, de_de
Alle anderen
Englisch
Deutsch
-
en, en_us
en_uk
de, de_de
de_at
Alle anderen
Englisch
Englisch (Vereinigtes Königreich)
Deutsch
Österreicherin
-
^ loc=en^English^loc=USE^US-English^loc=D^German^loc=DDE^Deutsch
In diesem Beispiel ist die locId DDE nicht in Attribut::LocaleStrMap vorhanden, sodass die mit dieser locId- verknüpfte Teilzeichenfolge nie zurückgegeben wird.
en, en_uk
en_us
de, de_at, de_de
Alle anderen
Englisch
US-Englisch
Deutsch
-