¿Cómo detectar el idioma del navegador en PHP?

Podemos detectar la solicitud del idioma del navegador utilizando la variable súper global de PHP $_SERVER. Es una variable superglobal que contiene información sobre encabezados, rutas y ubicaciones de scripts . Es básicamente una array asociativa en PHP que tiene claves como SERVER_NAME, SERVER_ADDR, REQUEST_METHOD, etc.

Podemos usar HTTP_ACCEPT_LANGUAGEkey para obtener el idioma del navegador.

Sintaxis:

$_SERVER['HTTP_ACCEPT_LANGUAGE']

Podemos ver una salida como:

en-US, en;q=0.9, hi;q=0.8, fr;q=0.7

Ejemplo 1:
para obtener el idioma actual del navegador, podemos usar la función substr incorporada de PHP para obtener las dos primeras letras de la string como-

<?php
  
   echo substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
  
?>

Después de ejecutar el programa anterior, verá la salida como el idioma de su navegador actual:

en

Puede probarlo cambiando el idioma de su navegador. Si está en Chrome, puede ir a chrome://settings/languagesy elegir un idioma diferente.

Ahora ejecute el programa anterior nuevamente y verá la salida como el idioma recién elegido.

Ejemplo 2: si su sitio web tiene diferentes páginas para diferentes idiomas , puede usar este método para redirigir a la página según el idioma del navegador del usuario.

<?php
  
   $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
  
   // Redirect browser 
   header("Location: https://www.geeksforgeeks.org/" . $lang . "/index.php");    
   exit;
  
?>

El programa anterior redirigirá a enlaces como

http://www.example.com/en/index.php

Publicación traducida automáticamente

Artículo escrito por frikishaan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *