Salve a tutti.
Mi sto cimentando in una cosa un po particolare. Avete presente lo stato di facebook? Il riquadro con scritto "a cosa stai pensando". Bene se si inserisce un link all'interno del riquadro questi verrà condiviso con un'immagine e con una descrizione che sono presenti all'interno del sito condiviso (tramite appositi meta).
Bene io vorrei gestire la lingua di questi meta.
Vi faccio un esempio pratico:
Prendete questo link di Whatsapp: http://blog.whatsapp.com/?p=304
Se lo condividete con un ip italiano, la condivisione avverrà in italiano, se lo condividete con un ip straniero la condivisione avverrà nella lingua di appartenenza.
Ho provato a fare una cosa simile ma non funziona e non so per quale motivo. Vi posto le due paginette:
index.php
page.php
Come potete vedere nell'index.php ho lasciato commentato la parte dove rileva la lingua del browser (che ovviamente non funziona).
Se vado su https://developers.facebook.com/tools/debug/
Mi vede sempre la lingua inglese (quindi il terzo caso della pagina.php) Perché? C'è qualcuno che mi da una mano per fare chiarezza?
Mi sto cimentando in una cosa un po particolare. Avete presente lo stato di facebook? Il riquadro con scritto "a cosa stai pensando". Bene se si inserisce un link all'interno del riquadro questi verrà condiviso con un'immagine e con una descrizione che sono presenti all'interno del sito condiviso (tramite appositi meta).
Bene io vorrei gestire la lingua di questi meta.
Vi faccio un esempio pratico:
Prendete questo link di Whatsapp: http://blog.whatsapp.com/?p=304
Se lo condividete con un ip italiano, la condivisione avverrà in italiano, se lo condividete con un ip straniero la condivisione avverrà nella lingua di appartenenza.
Ho provato a fare una cosa simile ma non funziona e non so per quale motivo. Vi posto le due paginette:
index.php
PHP:
<?
/*function userLang()
{
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
$lang = explode(";", $_SERVER['HTTP_ACCEPT_LANGUAGE']);
$lang = explode(",", $lang['0']);
$lang = explode("-", $lang['0']);
return $lang['0'];
}
}
$var = userLang();*/
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
function ipToCountry($ip){
$info = file_get_contents("http://who.is/whois-ip/ip-address/$ip");
list($a, $b) = explode('COUNTRY: ', strtoupper($info));
return substr(trim($b),0,2);
}
$var = strtolower(ipToCountry($ip));
header("location: page.php?lang=".$var);//redirect
exit;
?>
page.php
PHP:
<?
$lingua = $_GET['lang'];
if($lingua == 'it'){
$og_titolo = 'Titolo Italiano!';
$ogsite_name = 'Nome italiano!';
$og_desc = 'Desc italiano';
$og_url = 'http://miosito.it/asd/page.php?lang='.$lingua;
}elseif($lingua == 'de'){
$og_titolo = 'titolo de';
$ogsite_name = 'nome de!';
$og_desc = 'desc de';
$og_url = 'http://miosito.it/asd/page.php?lang='.$lingua;
}elseif($lingua !== 'it' || $lingua !== 'de' || $lingua == ''){
$og_titolo = 'titolo ing';
$ogsite_name = 'nome ing!';
$og_desc = 'desc ing';
$og_url = 'http://miosito/asd/page.php';
}
$og_img = 'http://www.shortphatclever.com/wp-content/uploads/2013/10/test-all-the-things.jpg';
?>
<!DOCTYPE html>
<html>
<head>
<!-- Facebook Meta -->
<meta name="robots" content="noindex, nofollow">
<meta property="og:title" content="<?php echo $og_titolo;?>" />
<meta property="og:type" content="website" />
<meta property="og:image" content="<?php echo $og_img;?>" />
<meta property="og:url" content="<?php echo $og_url;?>" />
<meta property="og:site_name" content="<?php echo $ogsite_name;?>" />
<meta property="og:description" content="<?php echo $og_desc; ?>" />
</head>
<?php echo $lingua; ?>
<br/>
<br/>
<?php echo $og_url; ?>
</html>
Come potete vedere nell'index.php ho lasciato commentato la parte dove rileva la lingua del browser (che ovviamente non funziona).
Se vado su https://developers.facebook.com/tools/debug/
Mi vede sempre la lingua inglese (quindi il terzo caso della pagina.php) Perché? C'è qualcuno che mi da una mano per fare chiarezza?