DocumentaçãoAPI de disponibilização e renderização de imagens do Dynamic Media

Localização da cadeia de caracteres de texto

Última atualização: 20 de julho de 2024
  • Tópicos:

Criado para:

  • Desenvolvedor
  • Usuário

A localização da sequência de caracteres de texto permite que os catálogos de imagem contenham várias representações específicas do local para o mesmo valor da sequência de caracteres.

O servidor retorna ao cliente a representação correspondente à localidade especificada com locale=, evitando a localização no lado do cliente e permitindo que os aplicativos alternem as localidades simplesmente enviando o valor locale= apropriado com as solicitações de texto IS.

Escopo

A localização da cadeia de caracteres de texto é aplicada a todos os elementos de cadeia de caracteres que incluem o token de localização ^loc= *locId*^ nos seguintes campos de catálogo:

Campo de catálogo
Elemento de cadeia de caracteres no campo
catálogo::ImageSet

Qualquer subelemento que contenha uma string traduzível (delimitada por qualquer combinação de separadores ',' ';' ':' e/ou o início/fim do campo).

Um valor de cor 0xrggbb no início de um campo localizável é excluído da localização e passado sem modificação.

catálogo::Mapa
Qualquer valor de atributo entre aspas simples ou duplas, exceto os valores dos atributos coords= e shape= .
catálogo::Destinos
O valor de qualquer destino .*.label e target.Propriedade *.userdata .
catálogo::UserData
O valor de qualquer propriedade.

Sintaxe de string

Os elementos string habilitados para localização no catálogo de imagens consistem em uma ou mais cadeias de caracteres localizadas, cada uma precedida por um token de localização.

stringElement
[ defaultString ]*{ localizationToken localizedString }
localizationToken
^loc= locStr ^
locId
ID de localidade interna para a localizedString seguindo este localizationToken .
localizedString
Sequência de caracteres localizada.
defaultString
Sequência de caracteres a ser usada para localidades desconhecidas.

locId deve ser ASCII e não pode incluir '^'.

O '^' pode ocorrer em qualquer lugar em substrings com ou sem codificação HTTP. O servidor corresponde todo o padrão localizationToken ^loc=locId^ para separar subsequências.

Os stringElements, que não incluem pelo menos um localizationToken, não são considerados para localização.

O mapa de tradução

attribute::LocaleStrMap define as regras usadas pelo servidor para determinar qual localizedStrings retornar ao cliente. Consiste em uma lista de entradas locales (correspondendo aos valores especificados com locale=), cada uma com nenhuma ou mais IDs de localidade internas ( locId). Por exemplo:

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

Valores de locId vazios indicam que defaultString deve ser retornado, se disponível.

Consulte a descrição de attribute::LocaleStrMap para obter detalhes.

O processo de tradução

Dado o exemplo de mapa de tradução acima e a solicitação /is/image/myCat/myItem?req=&locale=nl, o servidor primeiro procura por " nl" no mapa de localidade. A entrada correspondente nl,N indica que, para cada stringElement, o localizedString marcado com ^loc=N^ deve ser retornado. Se este localizationToken não estiver presente no stringElement, um valor vazio será retornado.

Digamos que catalog::UserData para myCat/myItem contém o seguinte (quebras de linha inseridas para maior clareza):

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

O servidor retornaria o seguinte em resposta à solicitação do exemplo:

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

Localidades desconhecidas

No exemplo acima, attribute::LocaleStrMap tem uma entrada com um valor locale vazio. O servidor usa essa entrada para manipular todos os valores de locale= que não estejam explicitamente especificados no mapa de conversão.

O mapa de tradução de exemplo especifica que, nesse caso, defaultString deve ser retornado, se disponível. Portanto, o seguinte será retornado se este mapa de tradução for aplicado à solicitação /is/image/myCat/myItem?req=&locale=ja:

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

Exemplos

Famílias de idiomas

Vários valores locId podem ser associados a cada locale no mapa de tradução. O motivo é que ela permite o suporte a variações específicas de país ou região (por exemplo, inglês dos EUA versus inglês do Reino Unido) para select stringElements enquanto lida com a maioria dos conteúdos com localidades de base comuns (por exemplo, inglês internacional).

Por exemplo, o suporte foi adicionado para inglês específico dos EUA ( *locId* EUS) e inglês específico do Reino Unido ( *locId* EUK), para oferecer suporte à ortografia alternativa ocasional. Se EUK ou EUS não existir, ele volta para E. Da mesma forma, variantes alemãs específicas da Áustria ( DAT) podem ser disponibilizadas onde necessário, ao retornar o alemão comum localizedStrings (marcado com D) na maior parte do tempo.

O attribute::LocaleStrMap seria semelhante a:

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

A tabela a seguir descreve a saída de algumas combinações de stringElement e locale representativas:

elementoDaCadeiaDeCaracteres
localidade
String de saída
^loc=E^Inglês^loc=D^Alemão

en, en_us, en_uk

de, de_at, de_de

todos os outros

Inglês

Alemão

-

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

en, en_us

en_uk

de, de_de

de_at

todos os outros

Inglês

Reino Unido - Inglês

Alemão

Austríaco

-

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

Para este exemplo, o DDE locId não existe no atributo ::LocaleStrMap e, portanto, a subsequência de caracteres associada a este locId nunca é retornada.

en, en_uk

en_us

de, de_at, de_de

todos os outros

Inglês

Inglês (EUA)

Alemão

-

recommendation-more-help
a26166cd-f2f4-45ce-996d-96a0f0d6cf49