communication
 databases
 directories
 file handling
 html and code
 image editing
 image listing
 sessions and co
 string handling
 information
 forms
 apple stuff
 image handling
 array handling
 lixlpixel
php - snippets
google search terms detected and highlighted.
remove highlighting | keep highlighting
make snippet in "information" - download "detect user language" - open demo of "detect user language"
 search
php - snippets

Valid CSS!

php webring logo
prev next
random list
join the Ring!

information - detect user language was created/last modified on Sun 18 Jul 2004 5:42 AM

use this as a gateway to detect a users accepted language and for example redirect him to the right page.
   
<?php

function lixlpixel_get_env_var($Var)
{
     if(empty(
$GLOBALS[$Var]))
     {
         
$GLOBALS[$Var]=(!empty($GLOBALS['_SERVER'][$Var]))?
         
$GLOBALS['_SERVER'][$Var] : (!empty($GLOBALS['HTTP_SERVER_VARS'][$Var])) ? $GLOBALS['HTTP_SERVER_VARS'][$Var]:'';
     }
}

function
lixlpixel_detect_lang()
{
     
// Detect HTTP_ACCEPT_LANGUAGE & HTTP_USER_AGENT.
     
lixlpixel_get_env_var('HTTP_ACCEPT_LANGUAGE');
     
lixlpixel_get_env_var('HTTP_USER_AGENT');

     
$_AL=strtolower($GLOBALS['HTTP_ACCEPT_LANGUAGE']);
     
$_UA=strtolower($GLOBALS['HTTP_USER_AGENT']);
  
     
// Try to detect Primary language if several languages are accepted.
     
foreach($GLOBALS['_LANG'] as $K)
     {
         if(
strpos($_AL, $K)===0)
         return
$K;
     }
  
     
// Try to detect any language if not yet detected.
     
foreach($GLOBALS['_LANG'] as $K)
     {
         if(
strpos($_AL, $K)!==false)
         return
$K;
     }
     foreach(
$GLOBALS['_LANG'] as $K)
     {
         if(
preg_match("/[\[\( ]{$K}[;,_\-\)]/",$_UA))
         return
$K;
     }

     
// Return default language if language is not yet detected.
     
return $GLOBALS['_DLANG'];
}

// Define default language.
$GLOBALS['_DLANG']='en';

// Define all available languages.
// WARNING: uncomment all available languages

$GLOBALS['_LANG'] = array(
'af', // afrikaans.
'ar', // arabic.
'bg', // bulgarian.
'ca', // catalan.
'cs', // czech.
'da', // danish.
'de', // german.
'el', // greek.
'en', // english.
'es', // spanish.
'et', // estonian.
'fi', // finnish.
'fr', // french.
'gl', // galician.
'he', // hebrew.
'hi', // hindi.
'hr', // croatian.
'hu', // hungarian.
'id', // indonesian.
'it', // italian.
'ja', // japanese.
'ko', // korean.
'ka', // georgian.
'lt', // lithuanian.
'lv', // latvian.
'ms', // malay.
'nl', // dutch.
'no', // norwegian.
'pl', // polish.
'pt', // portuguese.
'ro', // romanian.
'ru', // russian.
'sk', // slovak.
'sl', // slovenian.
'sq', // albanian.
'sr', // serbian.
'sv', // swedish.
'th', // thai.
'tr', // turkish.
'uk', // ukrainian.
'zh' // chinese.
);

// Redirect to the correct location.

//header('location: http://www.your_site.com/index_'.lixlpixel_detect_lang().'.php'); // Example Implementation
echo 'The Language detected is: '.lixlpixel_detect_lang(); // For Demonstration

?>

learn more about some of the PHP functions used in this snippet: array, dir, each, echo, empty, for, foreach, function, header, preg_match, return, strpos, strtolower, var

view the GNU general license - view the GNU library license - search on PHPsnippets - see your code like this

 a lixlpixel.com site

go to PHParadise to get free PHP, Javascript and FlashMX code