Image Serving bietet einen Mechanismus zum Übersetzen externer Objekt-IDs in Gebietsschema-spezifische Objekt-IDs (Katalog). Die primäre Anwendung dient der Bereitstellung von gebietsschemaspezifischen Inhalten und Inhalten, die von mehreren Gebietsschemas gemeinsam genutzt werden, ohne dass die Client-Anwendung die gebietsschemaspezifischen Objekt-IDs kennen muss.
Die Anwendung kann nur mit globalen Objekt-IDs geschrieben werden, und Image Serving ersetzt automatisch gebietsschemaspezifische Bilder und andere Inhalte, sofern verfügbar.
Die locale
wird in Image Serving-Anfragen mit der locale=
Befehl.
Die Übersetzung der Objekt-ID gilt nur für die katalogbasierte Verwendung von Image Serving. Dateinamen können nicht übersetzt werden.
Alle Verweise auf Einträge in Bild-, SVG- und statischen Inhaltskatalogen werden für Übersetzungs-Schriftarten berücksichtigt und ICC-Profilverweise werden nicht übersetzt. Zusätzlich zu den object
im Pfad von /is/image und /is/static requests, unterliegen diese Befehle und Katalogattribute der ID-Übersetzung: src=
, mask=
, template=
, defaultImage=
, attribute::DefaultImage
und attribute::Watermark
.
attribute::LocaleMap
definiert die Regeln, die vom Server zur Bestimmung der ID des lokalisierten Inhalts verwendet werden, wobei die generische Objekt-ID und die locale=
-Wert.
attribute::LocaleMap
besteht aus einer Liste von Eingaben locales (entspricht den Werten, die mit locale=
), jeweils mit keinem oder mehr Gebietsschema-Suffixen ( *
locSuffixes*
).
Beispiel: attribute::LocaleMap
könnte wie folgt aussehen:
en,_E,|en_us,_E,|en_uk,_E,|fr,_F,|de,_D,|de_at,_D,|de_de,_D,|,_E,
Die Anfrage /is/image/myCat/myImg?locale=de_de
würde das mit dem Katalogeintrag verknüpfte Bild zurückgeben. myCat/myImg_D
(vorausgesetzt, dass ein solcher Katalogeintrag vorhanden ist).
Siehe Beschreibung von attribute::LocaleMap
für Details.
Im obigen Beispiel sucht der Server zunächst nach dem locale
" de_de
"in der ID-Übersetzungszuordnung. Anschließend wird die locSuffixes
mit diesem Eintrag verknüpft ist, in diesem Fall " _D
" und "" (leeres Suffix). Für jede Iteration wird das Suffix an die Bild-ID und die resultierende ID angehängt, die auf Existenz im Katalog getestet wurde. Wenn dieser Katalogeintrag gefunden wird, wird er verwendet, andernfalls wird der nächste getestet. In diesem Beispiel werden diese Einträge überprüft: myCat/myImg_D
und myCat/myImg
. Wenn keine Übereinstimmung gefunden wird, gibt der Server einen Fehler oder ein Standardbild zurück (sofern konfiguriert).
Im obigen Beispiel attribute::LocaleMap
enthält ein leeres locale
, die die standardmäßige Übersetzungsregel für unbekannt definiert definiert locale=
-Werte (d. h. nicht explizit in der Übersetzungskarte aufgeführte Werte). Wenn diese Übersetzungszuordnung auf die Anfrage angewendet wurde /is/image/myCat/myImg?locale=ja
, wird myCat/myImg_E
, falls vorhanden, oder anderweitig myCat/myImg
.
Wenn in einer Übersetzungszuordnung keine standardmäßige Übersetzungsregel angegeben ist, wird für alle Anforderungen mit unbekanntem Wert ein Fehler zurückgegeben locale=
-Werte.
Mehrstufige Suche
Es ist oft wünschenswert, Gebietsschemata (z. B. europäisch, mittelöstlich, nordamerikanisch) zu gruppieren, um regionale Standards zu erreichen. Dies kann mit einer mehrstufigen Suche erreicht werden.
In diesem Beispiel möchten wir Sammlungen für die Verwendung im Westen und im Nahen Osten unterstützen. Beide Sammlungen basieren auf der generischen Bildsammlung und in beiden werden einige Bilder hinzugefügt oder angepasst. Beide Sammlungen werden dann für bestimmte Gebietsschemata weiter optimiert ( m1
, m2
bei zwei mittleren Ost-Varianten und w1
, w2
und w3
für drei westliche Gebietsschemata), mit dem Unterschied, dass Bilder für w1
und w3
. Unbekannte Gebietsschemas sind nur der generischen Sammlung zugeordnet und haben keinen Zugriff auf Gebietsschema-spezifische Bilder.
attribute::LocaleMap: w1,-W,|w2,-W2,-W,|w3,-W,|m1,-M1,-M,|m2,-M2,-M,|,
Die folgende Tabelle zeigt, welche Katalogeinträge berücksichtigt werden und in welcher Reihenfolge sie für die generische Eingabe-ID berücksichtigt werden myImg
:
locale | Zu suchende Katalog-IDs |
---|---|
w1, w3 |
myImg-W, myImg |
w2 |
myImg-W2, myImg-W, myImg |
m1 |
myImg-M1, myImg-M, myImg |
m2 |
myImg-M2, myImg-M, myImg |
alle anderen |
myImg |
Suche nach bestimmten IDs
Einige Bildbenennungskonventionen unterstützen möglicherweise interne generische Bild-IDs nicht. Die generischen IDs aus der Anfrage müssen immer einer bestimmten ID im Katalog zugeordnet sein. Oft ist die genaue spezifische ID möglicherweise nicht bekannt.
Für dieses Beispiel können Bilder für alle Sprachen _1
, _2
oder _3
Suffix. Für französische Gebietsschemata spezifische Bilder können _22
oder _23
-Suffix und für deutsche Gebietsschemata spezifische Bilder haben möglicherweise _470
oder _480
Suffix.
attribute::LocaleMap: ,_1,_2,_3|fr,_22,_23,_1,_2,_3|de,_470,_480,_1,_2,_3| de_at,_470,_480,_1,_2,_3| de_de,_470,_480,_1,_2,_3
Die folgende Tabelle zeigt, welche Katalogeinträge berücksichtigt werden und in welcher Reihenfolge sie für die generische Eingabe-ID berücksichtigt werden myImg
:
locale | Zu suchende Ausgabe-IDs |
---|---|
fr |
myImg_22, myImg_23, myImg_1, myImg_2,myImg_3 |
de , de_at , de_de |
myImg_470, myImg_480, myImg_1, myImg_2,myImg_3 |
alle anderen |
myImg_1, myImg_2, myImg_3 |
attribute::LocaleMap , attribute::DefaultLocale, locale=, req=xlate