Syntaxe des chaînes
Les éléments string
activés pour la localisation dans le catalogue d’images se composent d’une ou de plusieurs chaînes localisées, chacune précédées d’un jeton de localisation.
locId
doit être ASCII et ne peut pas inclure "^".
Le "^" peut se produire n’importe où dans les sous-chaînes avec ou sans codage HTTP. Le serveur correspond au modèle localizationToken
^loc=locId^
complet pour séparer les sous-chaînes.
Les stringElements
, qui ne comprennent pas au moins un localizationToken
, ne sont pas pris en compte pour la localisation.
La carte des traductions
attribute::LocaleStrMap
définit les règles utilisées par le serveur pour déterminer les localizedStrings
à renvoyer au client. Il se compose d’une liste d’entrées locales
(correspondant aux valeurs spécifiées avec locale=
), chacune n’ayant aucun ou plusieurs identifiants de paramètres régionaux internes ( locId
). Par exemple :
attribute::LocaleStrMap= en,E|nl,N|de,D|,
Les valeurs locId
vides indiquent que defaultString
doit être renvoyé, le cas échéant.
Pour plus d’informations, reportez-vous à la description de attribute::LocaleStrMap
.
Processus de traduction
Compte tenu de l’exemple de carte de traduction ci-dessus et de la requête /is/image/myCat/myItem?req=&locale=nl
, le serveur commence par rechercher " nl
" dans la carte locale. L’entrée nl,N
correspondante indique que pour chaque stringElement
, le localizedString
marqué par ^loc=N^
doit être renvoyé. Si ce localizationToken
n'est pas présent dans le stringElement
, une valeur vide est renvoyée.
Supposons que catalog::UserData
pour myCat/myItem
contienne les éléments suivants (sauts de ligne insérés pour plus de clarté) :
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
Le serveur renvoie les éléments suivants en réponse à l’exemple de requête :
val1=111 str1=Dutch1 val2=value2 str2=Dutch2 str3=Dutch3
Paramètres régionaux inconnus
Dans l’exemple ci-dessus, attribute::LocaleStrMap
a une entrée avec une valeur locale
vide. Le serveur utilise cette entrée pour gérer toutes les valeurs locale=
qui ne sont pas explicitement spécifiées autrement dans la carte de traduction.
L’exemple de carte de traduction indique que dans ce cas, defaultString
doit être renvoyé, si disponible. Par conséquent, le code suivant est renvoyé si cette carte de traduction est appliquée à la requête /is/image/myCat/myItem?req=&locale=ja
:
val1=111 str1=Default1 val2=value2 str2= str3=Default3