We can detect requesting browser’s language using PHP’s super global variable $_SERVER
. It is a superglobal variable which holds information about headers, paths, and script locations. It is basically an associative array in PHP which has keys like SERVER_NAME, SERVER_ADDR, REQUEST_METHOD
, etc.
We can use HTTP_ACCEPT_LANGUAGE
key to get the language of the browser.
Syntax:
$_SERVER['HTTP_ACCEPT_LANGUAGE']
We can see an output like:
en-US, en;q=0.9, hi;q=0.8, fr;q=0.7
Example 1:
In order to get the current language of the browser, we can use PHP’s built-in substr function to get the first two letters of the string like-
<?php
echo substr ( $_SERVER [ 'HTTP_ACCEPT_LANGUAGE' ], 0, 2);
?>
|
After running the above program you’ll see the output as your current browser’s language –
en
You can test it by changing your browser’s language. If you are on chrome you can go to chrome://settings/languages
and choose a different language.

Now run the above program again and you’ll see the output as the newly chosen language.
Example 2: If your website has different pages for different languages, you can use this method in order to redirect to the page according to the user’s browser’s language.
<?php
$lang = substr ( $_SERVER [ 'HTTP_ACCEPT_LANGUAGE' ], 0, 2);
exit ;
?>
|
The above program will redirect to links like
http://www.example.com/en/index.php
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!