Localização da cadeia de caracteres de texto

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 ao local especificado com locale=, evitando assim a localização no lado do cliente e permitindo que os aplicativos alternem os locais simplesmente enviando o locale= com as solicitações de texto IS.

Escopo

A localização da cadeia 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 Catálogo Elemento de string no campo

catalog::ImageSet

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

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

catálogo::Mapa

Qualquer valor de atributo entre aspas simples ou duplas, exceto os valores de coords= e forma= atributos.

catálogo::Públicos-alvo

O valor de qualquer público-alvo.*.label e público-alvo.*.userdata propriedade.

catálogo::UserData

O valor de qualquer propriedade.

Sintaxe de string

Habilitado para localização string os elementos no catálogo de imagens consistem em uma ou mais strings localizadas, cada uma precedida por um token de localização.

stringElement

[ defaultString ]*{ localizationToken localizedString }

localizationToken

^loc= locStr ^

locId

ID de localidade interna para o 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 '^'.

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

stringElements que não incluam 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 quais localizedStrings para retornar ao cliente. Ele consiste em uma lista de entradas locales (correspondendo aos valores especificados com locale=), cada um com nenhuma ou mais ids de localidade internas ( locId). Por exemplo:

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

Empty locId os valores indicam que a variável 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 procura primeiro por " nl" no mapa do local. A entrada correspondente nl,N indica que, para cada stringElement, o localizedString marcado com ^loc=N^ deve ser devolvido. Se isso localizationToken não está presente no stringElement, um valor vazio é 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 à nossa solicitação de exemplo:

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

Localidades desconhecidas

No exemplo acima, attribute::LocaleStrMap tem uma entrada com um vazio locale valor. O servidor usa essa entrada para lidar com todas as locale= valores que não estão explicitamente especificados de outra forma no mapa de tradução.

O exemplo de mapa de tradução especifica que, nesse caso, o defaultString deve ser retornado se disponível. Assim, 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

Múltiplo locId podem ser associados a cada locale no mapa de tradução. Isso 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 determinados stringElements ao manipular a maioria dos conteúdos com localidades de base comuns (por exemplo, inglês internacional).

Para nosso exemplo, queremos adicionar suporte para inglês específico dos EUA ( *locId* EUS) e inglês específico do Reino Unido ( *locId* EUK), para dar suporte à ortografia alternativa ocasional. Se EUK ou EUS não existirem, recorreríamos a E. Da mesma forma, variantes alemãs específicas da Áustria ( DAT) poderia ser disponibilizado, se necessário, durante o regresso do alemão comum localizedStrings (marcado com Dna maioria das vezes.

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 alguns stringElement e locale combinações:

stringElement 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^Inglês^loc=UKE^Inglês-Inglês^loc=D^Alemão^loc=DAT^Austríaco

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

Observe que, para este exemplo, a variável locId O DDE não existe no attribute::LocaleStrMap e, portanto, a subsequência associada a isso locId nunca é retornado.

en, en_uk

en_us

de, de_at, de_de

todos os outros

Inglês

Inglês (EUA)

Alemão

-

Nesta página