Facebook comments multilingua. Come fare?

pappagatto

Nuovo Utente
26 Set 2013
5
0
0
Ciao a tutti, scusate l'ignoranza in materia 0:)
Vorrei inserire la classica casella di commento di facebook che rileva l'utente e pubblica a suo nome, però lo script la visualizza solo in inglese, cioè questo:

{
echo '<h2>Facebook comments</h2>';
echo '<div id="fb-root"></div>';
echo '<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>';
echo '<fb:comments href="'.BASEURL.''.$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'" num_posts="5" width="670"></fb:comments>';
}


Logicamente dice /en_US/ e probabilmente è forzato a pubblicarlo in inglese ma credevo fosse uno script unico per tutti e poi rilevasse la lingua del computer e invece no.
Sapete dirmi come impostarlo in modo che rilevi la lingua corretta per ogni utente?
Grazie mille :fonzie:
 
Ciao,
Puoi rilevare la lingua impostata dall'utente su facebook seguendo questi passaggi.
-Se non l'hai già fatto, crea un'applicazione facebook da https://developers.facebook.com, imposta l'url del tuo sito e segnati la sua id e password
-Scarica le facebook php api da https://developers.facebook.com/docs/php/gettingstarted/4.0.0 e uppa la cartella chiamata "Facebook" (si trova in "src")
-Crea un nuovo file, chiamato "lingua.php", nella stessa cartella nella quale hai uppato "Facebook" e inserisci questo codice:
PHP:
<?php
session_start();
require_once('Facebook/Entities/AccessToken.php');
require_once( 'Facebook/FacebookSession.php' );
require_once( 'Facebook/FacebookRedirectLoginHelper.php' );
require_once('Facebook/HttpClients/FacebookHttpable.php');
require_once('Facebook/HttpClients/FacebookCurl.php');
require_once('Facebook/HttpClients/FacebookCurlHttpClient.php');
require_once( 'Facebook/FacebookRequest.php' );
require_once( 'Facebook/FacebookResponse.php' );
require_once( 'Facebook/FacebookSDKException.php' );
require_once( 'Facebook/FacebookRequestException.php' );
require_once( 'Facebook/FacebookAuthorizationException.php' );
require_once( 'Facebook/GraphObject.php' );
 
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;

FacebookSession::setDefaultApplication('ID DELLA TUA APPLICAZIONE','PASSWORD DELLA TUA APPLICAZIONE');

// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper( 'URLDELTUOSITO/CARTELLA-IN-CUI-è-CONTENUTO-QUESTO-FILE/lingua.php' );
 
try {
  $session = $helper->getSessionFromRedirect();
} catch( FacebookRequestException $ex ) {
} catch( Exception $ex ) {
}
if ( isset( $session )) {
  $request = new FacebookRequest( $session, 'GET', '/me' );
  $response = $request->execute();
  $graphObject = $response->getGraphObject();
  $lingua = $graphObject->getProperty('locale');
  setcookie("Lingua", $lingua, time()+31000000,"/");
  header("location: URL-IN-CUI-SI-TROVA-IL-CODICE-CHE-HAI-POSTATO");
} else {
  // show login url
  echo '<a href="' . $helper->getLoginUrl() . '">Determina la lingua</a>';
}
?>

-Sostituisci il tuo codice con
PHP:
$pagina_lingua = "URL-DI-LINGUA.PHP";
if(!isset($_COOKIE['Lingua'])){
  header("location: ".$pagina_lingua);
}
echo '<h2>Facebook comments</h2>';
echo '<div id="fb-root"></div>';
echo '<script src="http://connect.facebook.net/'.$_COOKIE['Lingua'].'/all.js#xfbml=1"></script>';
echo '<fb:comments href="'.BASEURL.''.$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'" num_posts="5" width="670"></fb:comments>';
 
Ultima modifica:

Discussioni simili