Як обчислюється $ _SERVER [“HTTP_ACCEPT_LANGUAGE”]?


1

Я знаю, що зміст цієї змінної виглядає так en-us,en;q=0.5 і що він представляє мову, яку користувач використовує, але як обчислює ця змінна?

У браузері Firefox є така можливість Settings -> Language де можна додати мови. Що ще використовується? Чи змінює це значення система або поточна країна, де використовується комп'ютер / ноутбук / телефон? І як браузер обчислює q значення для кожної мови?

Відповіді:


1

Методи різняться між браузерами. Також багато веб-сайтів можуть використовувати їх різними способами або навіть ігнорувати цей заголовок повністю, надаючи замість цього пріоритет іншим методам, таким як ненависний гео-локалізація за IP-адресою.

Більшість браузерів використовують бажану мову, встановлену в їхній конфігурації (Налаштування мов), або скористайтеся легким виходом, використовуючи мову інтерфейсу браузера. Див. Статтю W3 Налаштування мови у веб-переглядачі , розділ Зміна налаштувань , як змінити ці налаштування для мобільних пристроїв, Edge, Chrome, Firefox і Safari.

IE, Edge і Safari є єдиними, які використовують мови за умовчанням встановлена ​​в операційній системі.

Ви можете використовувати Перевірка інтернаціоналізації щоб дізнатися, які мови зараз просять веб-переглядач.


Так що якщо я вас правильно зрозумів, то гео-локалізація IP-адреси ніколи не змінить значення HTTP_ACCEPT_LANGUAGE заголовок? Я використав посилання, яке ви згадали, і я знайшов, що використовує мій браузер (firefox) Accept-Language: de,en-US;q=0.7,en;q=0.3. Я з Німеччини з німецькою операційною системою, я ніколи не змінював мовні налаштування браузерів. Так може бути HTTP_ACCEPT_LANGUAGE також змінюється, якщо ви досить часто відвідуєте сторінки на іншій мові?
Adam

Там немає багато документації і, звичайно, немає стандарту. Firefox може враховувати встановлені словники та інші підказки. Chrome може зробити це інакше. Вищевказаний синтаксис означає: "Я віддаю перевагу німецькому, але приймаю американську англійську та інші типи англійської". Це все лише евристики, де сервер також бере участь - див Обговорення вмісту .
harrymc
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.