El servicio de imágenes proporciona un mecanismo para traducir los ID de objeto externos a ID de objeto (catálogo) específicos de la configuración regional. La aplicación principal se utiliza para proporcionar contenido específico de la configuración regional y contenido compartido entre varias configuraciones regionales sin que la aplicación cliente necesite conocer los ID de objeto específicos de la configuración regional.
La aplicación se puede escribir utilizando únicamente ID de objeto globales y el servicio de imágenes sustituirá automáticamente las imágenes específicas de la configuración regional y otro contenido cuando esté disponible.
El locale
se especifica en las solicitudes del servicio de imágenes con locale=
comando.
La traducción del ID de objeto solo es aplicable para el uso basado en catálogos del servicio de imágenes. Los nombres de archivo no se pueden traducir.
Todas las referencias a entradas en los catálogos de imagen, SVG y contenido estático se tienen en cuenta para las fuentes de traducción y las referencias de perfil ICC no se traducen. Además de las object
en la ruta de /is/image y /is/static requestsSin embargo, estos comandos y atributos de catálogo están sujetos a la traducción de ID: src=
, mask=
, template=
, defaultImage=
, attribute::DefaultImage
, y attribute::Watermark
.
attribute::LocaleMap
define las reglas utilizadas por el servidor para determinar el ID del contenido localizado, dado que, como entradas, el ID de objeto genérico y el locale=
valor.
attribute::LocaleMap
consiste en una lista de entradas Configuraciones regionales (que coinciden con los valores especificados por locale=
), cada uno con ninguno o más sufijos de configuración regional de salida ( *
locSuffixes*
).
Por ejemplo, attribute::LocaleMap
puede tener este aspecto:
en,_E,|en_us,_E,|en_uk,_E,|fr,_F,|de,_D,|de_at,_D,|de_de,_D,|,_E,
La solicitud /is/image/myCat/myImg?locale=de_de
devolvería la imagen asociada con la entrada de catálogo myCat/myImg_D
(suponiendo que exista dicha entrada de catálogo).
Consulte la descripción de attribute::LocaleMap
para obtener más información.
En el ejemplo anterior, el servidor busca primero la variable locale
" de_de
" en el mapa de traducción de ID. A continuación, se repite en el locSuffixes
asociado con esta entrada en este caso " _D
" y "" (sufijo vacío). Para cada iteración, el sufijo se anexa al ID de imagen y se comprueba la existencia del ID resultante en el catálogo. Si se encuentra, se utiliza esa entrada de catálogo; de lo contrario, se prueba la siguiente. Para este ejemplo, se comprueban estas entradas: myCat/myImg_D
, y myCat/myImg
. Si no se encuentra ninguna coincidencia, el servidor devuelve un error o una imagen predeterminada (si así se ha configurado).
En el ejemplo anterior, attribute::LocaleMap
incluye un vacío locale
que define la regla de traducción predeterminada, utilizada para desconocido locale=
valores (es decir, aquellos que no estén enumerados explícitamente en el mapa de traducción). Si este mapa de traducción se aplicó a la solicitud /is/image/myCat/myImg?locale=ja
, se resolvería en myCat/myImg_E
, si existe, o de otro modo myCat/myImg
.
Si una asignación de traducción no especifica una regla de traducción predeterminada, se devuelve un error para todas las solicitudes con desconocido locale=
valores.
Búsqueda de varios niveles
A menudo es deseable agrupar las configuraciones regionales (por ejemplo, Europa, Oriente Medio y América del Norte) para abordar los estándares regionales. Esto se puede lograr con una búsqueda de varios niveles.
Para este ejemplo, queremos admitir colecciones para uso occidental y de Oriente Medio. Ambas colecciones se basan en la colección de imágenes genéricas y ambas añaden o modifican ciertas imágenes. Ambas colecciones se refinan aún más para configuraciones regionales específicas ( m1
, m2
para dos variantes de Oriente Medio, y w1
, w2
, y w3
para tres configuraciones regionales occidentales), excepto que las imágenes se comparten para w1
y w3
. Las configuraciones regionales desconocidas solo se asignan a la colección genérica y no tienen acceso a las imágenes específicas de configuración regional.
attribute::LocaleMap: w1,-W,|w2,-W2,-W,|w3,-W,|m1,-M1,-M,|m2,-M2,-M,|,
La siguiente tabla ilustra qué entradas del catálogo se tienen en cuenta y el orden en que se tienen en cuenta para el ID de entrada genérico myImg
:
locale | ID de catálogo que buscar |
---|---|
w1, w3 |
myImg-W, myImg |
w2 |
myImg-W2, myImg-W, myImg |
m1 |
myImg-M1, myImg-M, myImg |
m2 |
myImg-M2, myImg-M, myImg |
todos los demás |
myImg |
Buscar ID específicos
Es posible que algunas convenciones de nomenclatura de imágenes no admitan internamente ID de imagen genéricos. Los ID genéricos de la solicitud siempre deben asignarse a un ID específico en el catálogo; a menudo, es posible que no se conozca el ID específico exacto.
Para este ejemplo, las imágenes de todos los idiomas pueden tener _1
, _2
, o _3
sufijo. Las imágenes específicas de las configuraciones regionales en francés pueden tener _22
o _23
sufijo y las imágenes específicas de las configuraciones regionales en alemán pueden tener _470
o _480
sufijo.
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 siguiente tabla ilustra qué entradas del catálogo se tienen en cuenta y el orden en que se tienen en cuenta para el ID de entrada genérico myImg
:
locale | ID de salida que buscar |
---|---|
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 |
todos los demás |
myImg_1, myImg_2, myImg_3 |
attribute::LocaleMap , attribute::DefaultLocale, locale=, req=xlate