Как определить язык браузера в 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