首页 文章

Facebook登录按钮不会在多语言中重新定义

提问于
浏览
1

我们在网站上使用英语和希伯来语 . 在英语Facebook连接按钮正确呈现,但在希伯来语第一次FLogin按钮用英语而不是希伯来语和所有语言环境设置正确 . 在希伯来语网站中,按钮的位置也未正确格式化 . 请帮我解决这个问题 .

谢谢!

要将FB按钮更改为所需语言,我执行了以下设置:

我正在使用XFBML,并在适合您网站的区域设置中加载JavaScript SDK . 例如,如果我们的网站是西班牙语,请参考以下脚本://connect.facebook.net/es_LA/all.js

对于希伯来语://connect.facebook.net/he_IL/all.js

所有语言环境都在此处提供https://www.facebook.com/translations/FacebookLocales.xml您可以检查您的语言环境

我在fb连接代码中使用的方式相同:但在某些情况下,FB API仍然为我们提供了错误的结果 . 以下是我使用的代码:

<?php if ($facebookInvite) {  
   $lang = &JFactory::getLanguage();
   $currentLang =  $lang->get('tag'); // Now $currentlang has the locale of the   language selected
?>

// Now I pass $currentlang to "connect.facebook.net/locale_of_current_lang/all.js"    Please see below

<script src="http://connect.facebook.net/<?php echo $currentLang; ?>/all.js" type="text/javascript"></script>
<script type="text/javascript">
joms.jQuery(document).ready(function(){
function init(){
    FB.init({appId: '<?php echo $config->get('fbconnectkey');?>', status: false, cookie: true, xfbml: true});

}

if(window.FB) {
    init();
} else {
    window.fbAsyncInit = init;
}

});

</script>


<fb:login-button  onlogin="joms.connect.update();" scope="read_stream,publish_stream,offline_access,email,user_birthday,status_update,user_status"><?php echo JText::_('COM_COMMUNITY_SIGN_IN_WITH_FACEBOOK');?></fb:login-button>

1 回答

  • 0

    如果用户登录Facebook,则登录插件将始终以用户(而非站点)配置的区域设置的语言显示 . 这就是为什么当你将用户的语言环境切换为希伯来语时它会改变的原因 .

    如果用户登录_1112669_,登录插件将使用加载的js-sdk的区域设置:

    http://connect.facebook.net/LOCALE/all.js
    

相关问题