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 ^
locIdID de localidade interna para a localizedString seguindo este localizationToken .
localizedStringSequência de caracteres localizada.
defaultStringSequê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