Как определить язык браузера в PHP?
Мы можем определить язык запрашивающего браузера с помощью суперглобальной переменной PHP $_SERVER . Это суперглобальная переменная, которая содержит информацию о заголовках, путях и расположении скриптов . Это в основном ассоциативный массив в PHP, который имеет такие ключи, как SERVER_NAME, SERVER_ADDR, REQUEST_METHOD и т. Д.
Мы можем использовать HTTP_ACCEPT_LANGUAGE чтобы получить язык браузера.
Синтаксис:
$ _SERVER ['HTTP_ACCEPT_LANGUAGE']
Мы можем увидеть такой вывод:
en-US, en; q = 0,9, hi; q = 0,8, fr; q = 0,7
Пример 1:
Чтобы получить текущий язык браузера, мы можем использовать встроенную функцию PHP substr, чтобы получить первые две буквы строки, например:
<?php echo substr($_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2); ?> |
После запуска вышеуказанной программы вы увидите вывод на языке вашего текущего браузера -
en
Вы можете проверить это, изменив язык вашего браузера. Если вы используете Chrome, вы можете перейти в chrome://settings/languages и выбрать другой язык.

Теперь запустите указанную выше программу еще раз, и вы увидите результат как только что выбранный язык.
Пример 2: Если на вашем веб-сайте есть разные страницы для разных языков , вы можете использовать этот метод для перенаправления на страницу в соответствии с языком браузера пользователя.
<?php $lang = substr ( $_SERVER [ 'HTTP_ACCEPT_LANGUAGE' ], 0, 2); // Redirect browser exit ; ?> |
Вышеупомянутая программа будет перенаправлять на такие ссылки, как
http://www.example.com/ ru /index.php