Image Server fornisce un meccanismo per tradurre gli ID di oggetti esterni in ID di oggetti (catalogo) specifici per le impostazioni internazionali. L'applicazione principale consente di fornire contenuto specifico della lingua e contenuto condiviso tra più lingue senza che l'applicazione client debba conoscere gli ID oggetto specifici della lingua.
L’applicazione può essere scritta utilizzando solo gli ID oggetto globali; Image Server sostituirà automaticamente le immagini specifiche per le impostazioni internazionali e altro contenuto, se disponibile.
Il locale
è specificato nelle richieste Image Server con locale=
comando.
La traduzione degli ID oggetto è applicabile solo per l’utilizzo basato su catalogo di Image Server. I nomi dei file non possono essere tradotti.
Tutti i riferimenti alle voci nei cataloghi di contenuto statico, SVG e immagine vengono considerati per i font di traduzione e i riferimenti al profilo ICC non vengono tradotti. Oltre al object
nel percorso di /is/image e /is/static requests, questi comandi e attributi del catalogo sono soggetti alla traduzione ID: src=
, mask=
, template=
, defaultImage=
, attribute::DefaultImage
, e attribute::Watermark
.
attribute::LocaleMap
definisce le regole utilizzate dal server per determinare l’ID del contenuto localizzato, dato come input l’ID dell’oggetto generico e locale=
valore.
attribute::LocaleMap
è costituito da un elenco di input lingue (corrisponde ai valori specificati con locale=
), ciascuno con nessuno o più suffissi delle impostazioni internazionali di output ( *
locSuffixes*
).
Ad esempio: attribute::LocaleMap
potrebbe presentarsi così:
en,_E,|en_us,_E,|en_uk,_E,|fr,_F,|de,_D,|de_at,_D,|de_de,_D,|,_E,
La richiesta /is/image/myCat/myImg?locale=de_de
restituisce l’immagine associata alla voce di catalogo myCat/myImg_D
(supponendo che esista una voce di catalogo).
Fai riferimento alla descrizione di attribute::LocaleMap
per i dettagli.
Nell'esempio precedente, il server cerca prima il locale
" de_de
" nella mappa di traduzione ID. Quindi scorre il locSuffixes
associato a questa voce-in questo caso " _D
" e "" (suffisso vuoto). Per ogni iterazione, il suffisso viene aggiunto all'ID immagine e l'ID risultante viene testato per l'esistenza nel catalogo. Se individuata, viene utilizzata tale voce di catalogo, altrimenti viene testata la successiva. In questo esempio, vengono selezionate le voci seguenti: myCat/myImg_D
, e myCat/myImg
. Se non viene trovata alcuna corrispondenza, il server restituisce un errore o un’immagine predefinita (se configurata).
Nell’esempio precedente, attribute::LocaleMap
include un elemento vuoto locale
che definisce la regola di traduzione predefinita, utilizzata per gli elementi sconosciuti locale=
valori (ovvero quelli non elencati in modo esplicito nella mappa di traduzione). Se questa mappa di traduzione è stata applicata alla richiesta /is/image/myCat/myImg?locale=ja
, si risolverebbe in myCat/myImg_E
, se esiste, o in altro modo myCat/myImg
.
Se una mappa di traduzione non specifica una regola di traduzione predefinita, viene restituito un errore per tutte le richieste con sconosciuto locale=
valori.
Ricerca su più livelli
È spesso auspicabile raggruppare le lingue (ad esempio, europeo, mediorientale e nordamericana) per rispettare gli standard regionali. Ciò può essere ottenuto con una ricerca su più livelli.
Per questo esempio, vogliamo supportare le raccolte per uso occidentale e mediorientale. Entrambe le raccolte sono basate sulla raccolta di immagini generica e per entrambe alcune immagini sono aggiunte o modificate. Entrambe le raccolte vengono quindi ulteriormente perfezionate per specifiche impostazioni internazionali ( m1
, m2
per due varianti mediorientali, e w1
, w2
, e w3
per tre lingue occidentali), tranne per il fatto che le immagini sono condivise per w1
e w3
. Le lingue sconosciute sono associate solo alla raccolta generica e non hanno accesso alle immagini per lingue specifiche.
attribute::LocaleMap: w1,-W,|w2,-W2,-W,|w3,-W,|m1,-M1,-M,|m2,-M2,-M,|,
La tabella seguente illustra quali voci di catalogo vengono considerate e l’ordine in cui vengono considerate per l’ID di input generico myImg
:
locale | ID catalogo in cui eseguire la ricerca |
---|---|
w1, w3 |
myImg-W, myImg |
w2 |
myImg-W2, myImg-W, myImg |
m1 |
myImg-M1, myImg-M, myImg |
m2 |
myImg-M2, myImg-M, myImg |
tutti gli altri |
myImg |
Cerca ID specifici
Alcune convenzioni di denominazione delle immagini potrebbero non supportare internamente ID immagine generici. Gli ID generici della richiesta devono sempre essere mappati su un ID specifico nel catalogo; spesso l’ID specifico esatto potrebbe non essere noto.
In questo esempio, le immagini per tutte le lingue possono avere _1
, _2
, o _3
suffisso. Le immagini specifiche delle lingue francesi possono avere _22
o _23
e le immagini specifiche delle lingue tedesche possono avere _470
o _480
suffisso.
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
La tabella seguente illustra quali voci di catalogo vengono considerate e l’ordine in cui vengono considerate per l’ID di input generico myImg
:
locale | ID di output in cui eseguire la ricerca |
---|---|
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 |
tutti gli altri |
myImg_1, myImg_2, myImg_3 |
attribute::LocaleMap , attribute::DefaultLocale, locale=, req=xlate