http://blog.DoZarte.com


Determinare la lingua di un navigatore tramite PHP


Share to Facebook Share to Twitter Stumble It Email This More...

Con questo script PHP si può scoprire la lingua dell’utente che visita la pagina web, con le utili conseguenze del caso.

// questo script reindirizza il navigatore a seconda della lingua
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'];
}
// definizione lingua di default
$GLOBALS['_DLANG']='en';
// definizione delle variabili lingua
// ATTENZIONE: decommentare quelle in uso
$GLOBALS['_LANG'] = array(
'af', // afrikaans.
'ar', // arabic.
'bg', // bulgarian.
'ca', // catalan.
'cs', // czech.
'da', // danish.
'de', // german.
'el', // greek.
'en', // inglese
'es', // spanish.
'et', // estonian.
'fi', // finnish.
'fr', // french.
'gl', // galician.
'he', // hebrew.
'hi', // hindi.
'hr', // croatian.
'hu', // hungarian.
'id', // indonesian.
'it', // italiano
'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: index.htm?lang='.lixlpixel_detect_lang() ); // Example Implementation
// echo 'The Language detected is: '.lixlpixel_detect_lang(); // For Demonstration
// $i=lixlpixel_detect_lang();
// header('location: '.$i.'-frame.php' );
}

Share to Facebook Share to Twitter Stumble It Email This More...

Se l'articolo era interessante, forse troverai approfondimenti nei seguenti link sponsorizzati...


Un commento a “Determinare la lingua di un navigatore tramite PHP”

  1. DoZ scrive:

    < ?php
    define('WP_USE_THEMES', true);
    if (substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2) == "it") {
    require('./blog/wp-blog-header.php');
    } else {
    require('./blog_en/wp-blog-header.php');
    }
    ?>

Leave a Reply

XHTML: Tags concessi: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

You can add images to your comment by clicking here.