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.
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