Sintaxis de cadena

Los elementos string habilitados para la localización en el catálogo de imágenes constan de una o más cadenas localizadas, cada una precedida por un token de localización.

elemento string[ defaultString ]*{ localizationToken localizedString }
localizationToken^loc= locStr ^
locIdID de configuración regional interno para localizedString después de este localizationToken .
localizedStringCadena localizada.
defaultStringCadena que se utilizará para configuraciones regionales desconocidas.

El locId debe ser ASCII y no puede incluir '^'.

El ^ puede aparecer en cualquier parte en subcadenas con o sin codificación HTTP. El servidor coincide con todo el patrón localizationToken ^loc=locId^ para separar las subcadenas.

Los stringElements, que no incluyen al menos un localizationToken, no se tienen en cuenta para la localización.

El mapa de traducción

attribute::LocaleStrMap define las reglas que usa el servidor para determinar qué localizedStrings debe devolver al cliente. Consiste en una lista de entradas locales (que coinciden con los valores especificados con locale=), cada una con ninguno o más identificadores de configuración regional internos ( locId). Por ejemplo:

attribute::LocaleStrMap= en,E|nl,N|de,D|,

Los valores locId vacíos indican que se debe devolver defaultString, si está disponible.

Consulte la descripción de attribute::LocaleStrMap para obtener detalles.

El proceso de traducción

Dado el mapa de traducción de ejemplo anterior y la solicitud /is/image/myCat/myItem?req=&locale=nl, el servidor busca primero "nl" en el mapa de configuración regional. La entrada coincidente nl,N indica que para cada stringElement, se debe devolver el localizedString marcado con ^loc=N^. Si este(a) localizationToken no está presente en stringElement, se devuelve un valor vacío.

Supongamos que catalog::UserData para myCat/myItem contiene lo siguiente (saltos de línea insertados para mayor claridad):

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

El servidor devolverá lo siguiente en respuesta a la solicitud de ejemplo:

val1=111 str1=Dutch1 val2=value2 str2=Dutch2 str3=Dutch3

Configuraciones regionales desconocidas

En el ejemplo anterior, attribute::LocaleStrMap tiene una entrada con un valor locale vacío. El servidor utiliza esta entrada para administrar todos los valores de locale= que no se especifican explícitamente de otra manera en el mapa de traducción.

La asignación de traducción de ejemplo especifica que en tal caso se debe devolver defaultString, si está disponible. Por lo tanto, se devuelve lo siguiente si este mapa de traducción se aplica a la solicitud /is/image/myCat/myItem?req=&locale=ja:

val1=111 str1=Default1 val2=value2 str2= str3=Default3

Ejemplos

Familias de idiomas

Se pueden asociar varios valores locId con cada locale en el mapa de traducción. El motivo es que permite admitir variaciones específicas de país o región (por ejemplo, inglés de EE. UU. frente a inglés de Reino Unido) para la selección stringElements, al tiempo que se gestiona la mayoría de los contenidos con configuraciones regionales base comunes (por ejemplo, inglés internacional).

Para el ejemplo, se agrega compatibilidad con inglés específico de EE. UU. ( *locId* EUS) e inglés específico de Reino Unido ( *locId* EUK), para admitir la ortografía alternativa ocasional. Si EUK o EUS no existen, regresa a E. Del mismo modo, las variantes alemanas específicas de Austria (DAT) podrían estar disponibles donde sea necesario mientras devuelven el alemán común localizedStrings (marcado con D) la mayor parte del tiempo.

attribute::LocaleStrMap tendría este aspecto:

en,E|en_us,EUS,E|en_uk,EUK,E|de,D|de_at,DAT,D|de_de,D

En la tabla siguiente se describe el resultado de algunas combinaciones representativas de stringElement y locale:

elementoCadenaconfiguración regionalCadena de salida
^loc=E^English^loc=D^Alemán

en, en_us, en_uk

de, de_at, de_de

todos los demás

Inglés

Alemán

-

^loc=E^English^loc=UKE^UK-English^loc=D^German^loc=DAT^Austrian

en, en_us

en_uk

de, de_de

de_at

todos los demás

Inglés

RU-inglés

Alemán

austriaco

-

^ loc=en^English^loc=USE^US-English^loc=D^German^loc=DDE^Deutsch

Para este ejemplo, el DDE locId de no existe en attribute::LocaleStrMap y, por lo tanto, la subcadena asociada a este locId de nunca se devuelve.

en, en_uk

en_us

de, de_at, de_de

todos los demás

Inglés

inglés estadounidense

Alemán

-

recommendation-more-help