Localizzazione stringa di testo text-string-localization
La localizzazione delle stringhe di testo consente ai cataloghi di immagini di contenere più rappresentazioni specifiche per le impostazioni internazionali per lo stesso valore di stringa.
Il server restituisce al client la rappresentazione corrispondente alla lingua specificata con locale=
, evitando la localizzazione lato client e consentendo alle applicazioni di cambiare lingua semplicemente inviando il valore locale=
appropriato con le richieste di testo IS.
Ambito section-a03f48e3bc0e4ab281909a2bd441a3c2
La localizzazione delle stringhe di testo viene applicata a tutti gli elementi stringa che includono il token di localizzazione ^loc= *
locId*^
nei seguenti campi catalogo:
Qualsiasi sottoelemento contenente una stringa traducibile (delimitata da qualsiasi combinazione di separatori ',' ';' ':' e/o l'inizio/la fine del campo).
Un valore di colore 0xrggbb all'inizio di un campo localizzabile è escluso dalla localizzazione e trasmesso senza modifiche.
Sintassi stringa section-d12320edf300409f8e17565b143acafc
Gli elementi string
abilitati per la localizzazione nel catalogo immagini sono costituiti da una o più stringhe localizzate, ciascuna preceduta da un token di localizzazione.
locId
deve essere ASCII e non può includere '^'.
'^' può verificarsi ovunque nelle sottostringhe con o senza codifica HTTP. Il server corrisponde all'intero pattern ^loc=locId^
di localizationToken
a sottostringhe separate.
stringElements
, che non includono almeno un localizationToken
, non sono considerati per la localizzazione.
La mappa di traduzione section-f7ce3df91b724adf95cee44eac4915d4
attribute::LocaleStrMap
definisce le regole utilizzate dal server per determinare quali localizedStrings
restituire al client. È costituito da un elenco di input locales
(corrispondente ai valori specificati con locale=
), ciascuno con uno o più ID delle impostazioni locali interni ( locId
). Ad esempio:
attribute::LocaleStrMap= en,E|nl,N|de,D|,
I valori locId
vuoti indicano che defaultString
deve essere restituito, se disponibile.
Per ulteriori informazioni, vedere la descrizione di attribute::LocaleStrMap
.
Il processo di traduzione section-a2a8a3e5850f4f7c9d2318267afe98a2
Dato l'esempio di mappa di traduzione riportato sopra e la richiesta /is/image/myCat/myItem?req=&locale=nl
, il server cerca prima " nl
" nella mappa delle impostazioni internazionali. La voce corrispondente nl,N
indica che per ogni stringElement
, devono essere restituiti i localizedString
contrassegnati con ^loc=N^
. Se localizationToken
non è presente in stringElement
, viene restituito un valore vuoto.
Supponiamo che catalog::UserData
per myCat/myItem
contenga le seguenti (interruzioni di riga inserite per maggiore chiarezza):
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
Il server restituisce quanto segue in risposta alla richiesta di esempio:
val1=111 str1=Dutch1 val2=value2 str2=Dutch2 str3=Dutch3
Impostazioni internazionali sconosciute section-26dfeefbd60345de94bbfeaaf7741223
Nell'esempio precedente, attribute::LocaleStrMap
ha una voce con un valore locale
vuoto. Il server utilizza questa voce per gestire tutti i valori locale=
che non sono esplicitamente specificati altrimenti nella mappa di traduzione.
L'esempio di mappa di traduzione specifica che in questo caso deve essere restituito defaultString
, se disponibile. Pertanto, se questa mappa di traduzione viene applicata alla richiesta /is/image/myCat/myItem?req=&locale=ja
, viene restituito quanto segue:
val1=111 str1=Default1 val2=value2 str2= str3=Default3
Esempi section-ae6ff7fb90754b839f04ed08aadffa3f
Famiglie di lingue
È possibile associare più valori locId
a ogni locale
nella mappa di traduzione. Il motivo è che consente il supporto di varianti specifiche per paese o per regione (ad esempio, inglese US rispetto all'inglese UK) per selezionare stringElements
, gestendo la maggior parte dei contenuti con impostazioni locali di base comuni (ad esempio, inglese International).
Ad esempio, è stato aggiunto il supporto per l'inglese specifico per gli Stati Uniti ( *
locId* EUS
) e per l'inglese specifico per il Regno Unito ( *
locId* EUK
), per supportare l'ortografia alternativa occasionale. Se EUK o EUS non esiste, viene restituito a E. Analogamente, le varianti tedesche specifiche per l'Austria ( DAT
) potrebbero essere rese disponibili dove necessario, restituendo il tedesco comune localizedStrings
(contrassegnato con D
) la maggior parte delle volte.
attribute::LocaleStrMap
sarà simile al seguente:
en,E|en_us,EUS,E|en_uk,EUK,E|de,D|de_at,DAT,D|de_de,D
La tabella seguente descrive l'output per alcune combinazioni rappresentative stringElement
e locale
:
en, en_us, en_uk
de, de_at, de_de
tutti gli altri
Inglese
Tedesco
-
en, en_us
en_uk
de_de
de_at
tutti gli altri
Inglese
Inglese (Regno Unito)
Tedesco
Austriaco
-
^ loc=en^English^loc=USE^US-English^loc=D^German^loc=DDE^Deutsch
Per questo esempio, il DDE locId non esiste nell'attributo ::LocaleStrMap e pertanto la sottostringa associata a questo locId non viene mai restituita.
en, en_uk
en_us
de, de_at, de_de
tutti gli altri
Inglese
Inglese (Stati Uniti)
Tedesco
-