如何更改Google登录按钮语言

时间:2015-10-27 17:27:02

标签: javascript internationalization google-plus google-signin

所以这就是我的问题:我的页面中有一个默认的Google登录按钮,需要更改它的语言。

我用:

渲染它
gapi.signin2.render('google-button', {
    'scope': 'profile email',
    'width': 122,
    'height': 39, 
    ...
});

我在整个网络上尝试了多种解决方案。那些是:

  1. 在API的脚本标记中插入lang对象:

    <script src="https://apis.google.com/js/platform.js" async defer > 
        {lang:'pt'}
    </script>
    
  2. 设置___ gcfg:

    window.___gcfg = {
        lang: 'pt'
    };
    
  3. html 标记中设置 lang 属性

    <html lang="pt">
    
  4. 将参数添加到API的网址

    <script src="https://apis.google.com/js/platform.js?hl=pt" . . .
    
  5. 我唯一在Google的文档中发现了相关内容的地方,它重定向到一个对此没有任何说明的页面。 (https://developers.google.com/identity/sign-in/web/build-button

    由于品牌推广指南,我真的想避免构建自定义按钮,有人可以帮助我吗?

    PS:我使用的是React.js

    非常感谢!

4 个答案:

答案 0 :(得分:1)

有人在评论中问我如何做到这一点,所以这就是答案。

我也无法使window.___gcfg设置生效,但设法使hl参数生效。

<script src="https://apis.google.com/js/platform.js?hl=pt" . . .

为此,在调用gapi.signin2.render(id, options)函数时,必须在 options 参数(默认值为 false )中设置longtitle: true。 / p>

{
  scope: 'email',
  width: 200,
  height: 50,
  longtitle: true,
  theme: 'dark',
  onsuccess: handleSuccess,
  onfailure: handleFailure
}

也要注意documentation

中所述的 width
  

长标题

     

显示长标签,例如“使用Google登录”,而不是“登录”(默认值:false)。使用长标题时,应将按钮的宽度从默认位置增加。

答案 1 :(得分:1)

仅使用CSS:

span[id^=not_signed_]:before {
  content: 'Connexion avec Google';
  padding-right:20px;
}

答案 2 :(得分:0)

在Google登录网站中,您可以更改按钮的语言。

只有选项符合本节的说明: https://developers.google.com/identity/sign-in/web/build-button#building_a_button_with_a_custom_graphic

答案 3 :(得分:0)

我遇到了同样的问题,我现在就结束了。不是很干净,但是“有效”。因此,它对platform.js脚本使用了回调:

<script src="https://apis.google.com/js/platform.js?onload=onLoadCallback" async defer></script>

<script>
    function onLoadCallback() {
        $('span[id^="not_signed_"]').html('Se connecter avec Google');
    }
</script>

由于范围ID是动态的,因此我们必须使用“ id开始于”选择器。 (在这种情况下使用jQuery)。