Як обчислюється $ _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.