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”.
Indice
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.
Nel 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.
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.