Localisation de chaîne de texte

La localisation de chaînes de texte permet aux catalogues d’images de contenir plusieurs représentations spécifiques aux paramètres régionaux pour la même valeur de chaîne.

Le serveur retourne 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 simplement en envoyant la valeur locale= appropriée avec les requêtes de texte IS.

Etendue

La localisation de 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é par toute combinaison de séparateurs ',' ';' ' :' et/ou le début/la 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 doublons, à l’exception des valeurs des attributs coords= et shape= .

catalogue::Cibles

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

catalogue ::UserData

Valeur d’une propriété.

Syntaxe de chaîne

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ée d’un jeton de localisation.

stringElement

[ defaultString ]*{ localizationToken localizedString }

localizationToken

^loc= locStr ^

locId

ID de paramètre régional interne pour la chaîne localizedString qui suit cet élément 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 à l’ensemble du modèle localizationToken ^loc=locId^ pour séparer les sous-chaînes.

stringElements qui ne comportent pas au moins un élément localizationToken ne sont pas considérés comme localisations.

Carte de traduction

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

Consultez la description de attribute::LocaleStrMap pour plus de détails.

Processus de traduction

Compte tenu de l’exemple de mappage de traduction ci-dessus et de la requête /is/image/myCat/myItem?req=&locale=nl, le serveur commence par rechercher " nl" dans le mappage de paramètres régionaux. L'entrée correspondante nl,N indique que pour chaque stringElement, le localizedString marqué par ^loc=N^ doit être renvoyé. Si localizationToken n'est pas présent dans stringElement, une valeur vide est renvoyée.

Supposons que catalog::UserData pour myCat/myItem contienne ce qui suit (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 demande :

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 le mappage de traduction.

L'exemple de mappage de traduction indique que dans un tel cas, defaultString doit être renvoyé si disponible. Ainsi, les éléments suivants seraient renvoyés si cette carte de traduction était appliquée à la demande /is/image/myCat/myItem?req=&locale=ja :

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

Exemples

Familles de langues

Plusieurs valeurs locId peuvent être associées à chaque locale dans la carte de traduction. Cela permet de prendre en charge des 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 communs (par exemple Anglais international).

Pour notre exemple, nous voulons 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 l'EUK ou l'EUS n'existent pas, nous retournions à E. De même, les variantes allemandes spécifiques à l'Autriche ( DAT) pourraient être disponibles 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^English^loc=UKE^UK-English^loc=D^Allemand^loc=DAT^Autrichien

en, en_us

en_uk

de, de_de

de_at

tous les autres

Anglais

Anglais-Royaume-Uni

Allemand

Autrichien

-

^ loc=en^Anglais^loc=USE^Anglais-US^loc=D^Allemand^loc=DDE^Deutsch

Notez que pour cet exemple, le DDE locId n'existe pas dans l'attribut ::LocaleStrMap et que 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

Anglais-Etats-Unis

Allemand

-

Sur cette page