Categorie
Tips

Accept-Language: accedere a diverse localizzazioni di un sito

Molti siti web sono localizzati in lingue diverse.

Tipicamente, l’utente viene reindirizzato alla localizzazione del sito per lui adatta in base alla sua lingua del browser.

Questa informazione è in genere trasmessa dal client al server per mezzo del header HTTP “Accept-Language”.

Header Accept-Language: dichiarare la lingua dell’utente

Secondo le specifiche di MDN, l’header Accept-Language è utilizzato per dichiarare quali lingue il client può comprendere, specificando anche quali varianti.
chrome-accept-languageNel mio caso, questo header ha il seguente valore:

accept-language: it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7

I valori impostati per questo header sono una lista di lingue (con eventualmente variante), separate da virgola e dotate di quality value (q-factor weighting), per indicare la preferenza dell’utente rispetto a quella lingua.

Nel caso del mio browser, la prima lingua sarà quindi l’italiano, variante parlata in Italia, a seguire l’italiano generico (quindi compatibile ad esempio con l’italiano variante svizzera, identificato dal codice it_CH), quindi la lingua inglese variante americana (en-US) ed infine l’inglese generico, identificato da en.

Impostare le lingue su Google Chrome

Cambiando il valore del header, è quindi possibile accedere a diverse localizzazioni di un sito.

Nel caso di Google Chrome, per modificare il valore del header è sufficiente digitare nella barra degli indirizzi:

chrome://settings/languages

Quindi, occorrerà espandere il pannello “Lingue” ed aggiungere la lingua desiderata.

Per modificare il quality value, sarà necessario effettuare drag-and-drop nelle lingue, per ottenere l’ordine desiderato.

Impostare le lingue su Mozilla Firefox

Per quanto riguarda Firefox, per modificare il valore del header è sufficiente digitare nella barra degli indirizzi:

about:preferences

Quindi inserire nella barra di ricerca “Lingue” e cliccare sul pulsante “Scegli” adiacente all’etichetta “Scegli la lingua preferita per la visualizzazione delle pagine”

Supporto header Accept-Language

L’header accept-language è uno standard consolidato, essendo parte dello standard HTTP/1.1.
accept-header-compatibilita-browser

Soluzione problemi

Se avevi già visitato il sito web in precedenza, è possibile che il server abbia settato dei cookies in funzione del valore del header accept-language la prima volta che hai visitato tale sito.

E’ quindi necessario che imposti il valore del header secondo le tue necessità, cancelli tutti i cookies / cache locale per quel sito e provi nuovamente a visitare il sito.