Skip to content

Instantly share code, notes, and snippets.

@joke2k
Forked from LucaRosaldi/get-browser-language-code.php
Last active March 22, 2024 05:25
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save joke2k/c8118e8179172f2f075f0f024ed379d2 to your computer and use it in GitHub Desktop.
Save joke2k/c8118e8179172f2f075f0f024ed379d2 to your computer and use it in GitHub Desktop.
PHP: Detect Browser Language
<?php
/**
* Get browser language, given an array of avalaible languages.
*
* @param [array] $availableLanguages Avalaible languages for the site
* @param [string] $default Default language for the site
* @return [string] Language code/prefix
*/
function get_browser_language( $available = [], $default = 'en' ) {
if ( isset( $_SERVER[ 'HTTP_ACCEPT_LANGUAGE' ] ) ) {
$langs = explode( ',', $_SERVER['HTTP_ACCEPT_LANGUAGE'] );
if ( empty( $available ) ) {
return empty( $langs ) ? $default : $langs[ 0 ];
}
foreach ( $langs as $lang ){
$lang = substr( $lang, 0, 2 );
if( in_array( $lang, $available ) ) {
return $lang;
}
}
}
return $default;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment