Localisation de la chaîne de texte

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 au paramètre régional spécifié par locale=, évitant ainsi la localisation côté client et permettant aux applications de changer de paramètre régional en envoyant simplement la valeur locale= appropriée avec les requêtes de texte IS.

Etendue

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 :

Champ Catalogue Elément de chaîne dans le champ

catalogue : ImageSet

Tout sous-élément contenant une chaîne convertible (délimitée 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.

catalogue : Carte

Toute valeur d’attribut entre guillemets simples ou doubles, à l’exception des valeurs des attributs coords= et shape= .

catalogue : cibles

Valeur de toute cible .*.label et cible .*.userdata propriété .

catalogue ::UserData

La valeur de n’importe quelle propriété.

Syntaxe des chaînes

Les éléments string activés dans la localisation du catalogue d’images se composent d’une ou de plusieurs chaînes localisées, chacune précédées d’un jeton de localisation.

stringElement

[ defaultString ]*{ localizationToken localizedString }

localizationToken

^loc= locStr ^

locId

Identifiant de paramètre régional interne pour la chaîne localizedString suivant ce localizationToken .

localizedString

Chaîne localisée.

defaultString

Chaîne à utiliser pour les paramètres régionaux inconnus.

locId doit être ASCII et ne peut pas inclure "^".

"^" 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^ entier pour séparer les sous-chaînes.

stringElements qui n’incluent pas au moins un localizationToken n’est 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 lequel 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 la valeur defaultString doit être renvoyée, 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, la balise localizedString marquée par ^loc=N^ doit être renvoyée. Si ce localizationToken n’est pas présent dans la balise 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 à notre 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 comporte 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é s’il est disponible. Par conséquent, les éléments suivants seraient renvoyés si cette carte de traduction était appliquée à la requête /is/image/myCat/myItem?req=&locale=ja :

val1=111 str1=Default1 val2=value2 str2= str3=Default3

Exemples

Familles de langues

Plusieurs locId valeurs peuvent être associées à chaque locale dans la carte de traduction. Cela permet la prise en charge de variations spécifiques à un pays ou à une région (par exemple, anglais américain ou anglais britannique) pour sélectionner stringElements tout en gérant la plupart des contenus avec des paramètres régionaux de base courants (par exemple, anglais international).

Dans notre exemple, nous souhaitons ajouter 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), afin de prendre en charge l’orthographe alternative occasionnelle. Si EUK ou EUS n’existent pas, nous revenons à E. De même, les variantes allemandes spécifiques à l’Autriche ( DAT) peuvent être mises à disposition lorsque cela est nécessaire, tout en renvoyant l’allemand commun localizedStrings (marqué par D) la plupart du temps.

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 :

stringElement locale

Chaîne de sortie

^loc=E^Anglais^loc=D^Allemand

en,en_us, en_uk

de, de_at, de_de

tous les autres

Anglais

Allemand

-

^loc=E^Anglais^loc=UKE^Anglais-Royaume-Uni^loc=D^Allemand^loc=DAT^Autriche

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

Notez que pour cet exemple, le DDE locId n’existe pas dans l’attribut ::LocaleStrMap . Par conséquent, la sous-chaîne associée à ce locId n’est jamais renvoyée.

en, en_uk

en_us

de, de_at, de_de

tous les autres

Anglais

US-Anglais

Allemand

-

Sur cette page