El servicio de imágenes proporciona un mecanismo para traducir identificadores de objeto externos a ID de objeto (catálogo) específicos de configuración regional. La aplicación principal es proporcionar contenido y contenido específicos de la configuración regional que se comparten 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 solo ID de objeto globales, y Image Serving sustituirá automáticamente las imágenes específicas de la configuración regional y otro contenido, cuando esté disponible.
La variable locale
se especifica en las solicitudes de servicio de imágenes con la variable locale=
comando.
La traducción del ID de objeto solo es aplicable para el uso basado en catálogo de Image Serving. Los nombres de archivo no se pueden traducir.
Todas las referencias a entradas en catálogos de contenido estático, SVG y de imagen se tienen en cuenta para las fuentes de traducción, y las referencias de perfil ICC no se traducen. Además del object
en la ruta de /is/image y /is/static requests, 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 que utiliza el servidor para determinar el ID del contenido localizado, dado como entradas para el ID de objeto genérico y la variable locale=
valor.
attribute::LocaleMap
consta de una lista de entrada configuraciones (que coinciden con los valores especificados con 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á 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 sobre el locSuffixes
asociado a esta entrada en este caso " _D
" y "" (sufijo vacío). Para cada iteración, el sufijo se anexa al ID de imagen y el id resultante se prueba para su existencia en el catálogo. Si se encuentra, se utiliza esa entrada de catálogo; de lo contrario, se prueba la siguiente. Para este ejemplo, estas entradas están marcadas: myCat/myImg_D
y myCat/myImg
. Si no se encuentra ninguna coincidencia, el servidor devuelve un error o una imagen predeterminada (si está configurada).
En el ejemplo anterior, attribute::LocaleMap
incluye un vacío locale
que define la regla de traducción predeterminada, utilizada para locale=
(es decir, los que no aparecen 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
, resolvería myCat/myImg_E
, si existe o no myCat/myImg
.
Si un mapa de traducción no especifica una regla de traducción predeterminada, se devuelve un error para todas las solicitudes con una locale=
valores.
Búsqueda de varios niveles
A menudo es deseable agrupar configuraciones regionales (por ejemplo, Europa, Oriente Medio y América del Norte) para abordar las normas regionales. Esto se puede lograr con una búsqueda de varios niveles.
Para este ejemplo, queremos admitir colecciones para uso en Occidente y 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 del medio oriente, 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 de catálogo se consideran y el orden en que se tienen en cuenta para el ID de entrada genérico myImg
:
locale | ID de catálogo que se van a 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 los ID de imagen genéricos. Los ID genéricos de la solicitud siempre deben asignarse a un ID específico del catálogo; a menudo puede que no se conozca el ID específico exacto.
Para este ejemplo, es posible que las imágenes para todos los idiomas tengan _1
, _2
o _3
sufijo. Es posible que las imágenes específicas de las configuraciones regionales francesas tengan _22
o _23
sufijo e imágenes específicas de las configuraciones regionales alemanas 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 de catálogo se consideran y el orden en que se tienen en cuenta para el ID de entrada genérico myImg
:
locale | ID de salida para 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 |
atributo::LocaleMap , atributo::DefaultLocale, locale=, req=xlate