Localisation de la chaîne de texte text-string-localization
La localisation de la chaîne de texte permet aux catalogues d’images de contenir plusieurs représentations locales pour la même valeur de chaîne.
Le serveur renvoie au client la représentation correspondant aux paramètres régionaux spécifiés par locale=
, évitant la localisation côté client et permettant aux applications de changer de paramètres régionaux simplement en envoyant la valeur locale=
appropriée avec les demandes de texte IS.
Portée section-a03f48e3bc0e4ab281909a2bd441a3c2
La localisation de la chaîne de texte est appliquée à tous les éléments de chaîne qui incluent le jeton de localisation ^loc= *
locId*^
dans les champs de catalogue suivants :
Tout sous-élément contenant une chaîne convertible (délimité par toute combinaison de séparateurs ',' ';' ':' et/ou le début/fin du champ).
Une valeur de couleur 0xrgbb au début d’un champ localisable est exclue de la localisation et transmise sans modification.
Syntaxe des chaînes section-d12320edf300409f8e17565b143acafc
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 section-f7ce3df91b724adf95cee44eac4915d4
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 section-a2a8a3e5850f4f7c9d2318267afe98a2
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 section-26dfeefbd60345de94bbfeaaf7741223
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
Exemples section-ae6ff7fb90754b839f04ed08aadffa3f
Familles de langues
Plusieurs valeurs locId
peuvent être associées à chaque locale
dans la carte de traduction. La raison est qu’il permet la prise en charge de variations spécifiques à un pays ou à une région (par exemple, l’anglais américain ou l’anglais britannique) pour sélectionner stringElements
tout en traitant la plupart des contenus avec des paramètres régionaux de base courants (par exemple, l’anglais international).
Pour cet exemple, la prise en charge de l’anglais spécifique aux États-Unis ( *
locId* EUS
) et de l’anglais spécifique au Royaume-Uni ( *
locId* EUK
) est ajoutée afin de prendre en charge l’orthographe alternative occasionnelle. Si EUK ou EUS n’existe pas, il revient à E. De même, les variantes allemandes spécifiques à l’Autriche ( DAT
) peuvent être rendues disponibles lorsque cela s’avère nécessaire, tout en renvoyant l’allemand commun localizedStrings
(marqué par D
) la plupart du temps.
Le attribute::LocaleStrMap
ressemblerait à ceci :
en,E|en_us,EUS,E|en_uk,EUK,E|de,D|de_at,DAT,D|de_de,D
Le tableau suivant décrit la sortie de certaines combinaisons stringElement
et locale
représentatives :
en, en_us, en_uk
de, de_at, de_de
tous les autres
Anglais
Allemand
-
en, en_us
en_uk
de, de_de
de_at
tous les autres
Anglais
UK-English
Allemand
Autrichien
-
^ loc=en^Anglais^loc=USE^US-Anglais^loc=D^Allemand^loc=DDE^Deutsch
Pour cet exemple, le DDE locId n’existe pas dans l’attribut ::LocaleStrMap . Par conséquent, la sous-chaîne associée à cet locId n’est jamais renvoyée.
en, en_uk
en_us
de, de_at, de_de
tous les autres
Anglais
US-Anglais
Allemand
-