显示不同用户语言的Facebook选项卡内容


Display Facebook tab content for different user languages

我正在为一个客户端创建一个应用程序,该客户端要求向讲法语的Facebook用户显示法语内容。如果用户不讲法语,则应显示英语内容。这需要与风扇门控一起工作。

这就是我所拥有的,但它不起作用。粉丝门是,但法语内容没有显示(是的,我在Facebook设置中将语言更改为法语)。

总之,如果用户讲法语,则显示粉丝和非粉丝的法语内容,否则显示默认的英语内容。

这是代码:

<?php
require 'facebook.php';
$app_id = "XXX";
$app_secret = "XXX";
$facebook = new Facebook(array(
        'appId' => $app_id,
        'secret' => $app_secret,
        'cookie' => true
));

$signed_request = $facebook->getSignedRequest();
$page_id = $signed_request["page"]["id"];
$page_admin = $signed_request["page"]["admin"];
$like_status = $signed_request["page"]["liked"];
$country = $signed_request["user"]["country"];
$locale = $signed_request["user"]["locale"];
$languageFR = $signed_request["user"]["fr_CA"];
if ($like_status) {
    if ($languageFR) {  
        include("fans_french.php");
    }
    else {  
        include("fans_english.php");
    }
}
else {
    if ($languageFR) {  
        include("nonfans_french.php");
    }
    else {  
        include("nonfans_english.php");
    }
}
?>

你关于语言的那句话不应该是:吗

$languageFR = ($locale == "fr_CA");

或者更好的是,你不应该关注["user"]["languages"],而不是语言环境吗?

(代表问题作者发布解决方案,将其移动到答案空间)

这是一个更新的工作脚本:

<?php
require 'facebook.php';
$app_id = "XXX";
$app_secret = "XXX";
$facebook = new Facebook(array(
        'appId' => $app_id,
        'secret' => $app_secret,
        'cookie' => true
));
$signed_request = $facebook->getSignedRequest();
$page_id = $signed_request["page"]["id"];
$page_admin = $signed_request["page"]["admin"];
$like_status = $signed_request["page"]["liked"];
$country = $signed_request["user"]["country"];
$locale = $signed_request["user"]["locale"];
$languageFR = ($locale == "fr_CA");
if ($like_status) {
    if ($languageFR) {  
        include("fans_french.php");
    }
    else {  
        include("fans_english.php");
    }
}
else {
    if ($languageFR) {  
        include("nonfans_french.php");
    }
    else {  
        include("nonfans_english.php");
    }
}
?>