4

我有一个多语言网站,可以正确检测用户语言(网站的语言会相应更改),但无法在 Google+ 中正确共享。

该网站以两种语言存在,因此我设置了两组不同的元属性,每种语言各一组:

英语:

<link rel="canonical" href="http://en.perehana.com/"/>

<meta property="og:title" content="Perehana, the best way to find perfect gifts!"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://www.perehana.com"/>
<meta property="og:image" content="http://www.perehana.com/img/large-icon.jpg"/>
<meta property="og:site_name" content="Perehana"/>
<meta property="og:description" content="No gift ideas for Christmas, birthdays, weddings, births or any other event? Perehana allows you to enter gift ideas and to reserve your family and friends' ideas before buying them."/>
<meta property="og:locale" content="en_GB"/>
<meta property="fb:app_id" content="242045389185230"/>
<meta property="og:locale:alternate" content="fr_FR"/>

<meta itemprop="name" content="Perehana, the best way to find perfect gifts!"/>
<meta itemprop="description" content="No gift ideas for Christmas, birthdays, weddings, births or any other event? Perehana allows you to enter gift ideas and to reserve your family and friends' ideas before buying them."/>
<meta itemprop="image" content="http://www.perehana.com/img/square_logo.png"/>

法语:

<link rel="canonical" href="http://fr.perehana.com/"/>

<meta property="og:title" content="Perehana, le meilleur moyen de faire plaisir à coup sûr !"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://www.perehana.com"/>
<meta property="og:image" content="http://www.perehana.com/img/large-icon.jpg"/>
<meta property="og:site_name" content="Perehana"/>
<meta property="og:description" content="En manque d'idées de cadeaux à l'approche de Noël, des anniversaires, des mariages ou des naissances ? Perehana est un site qui vous permet de saisir des idées-cadeaux et de réserver celles de votre famille et de vos amis. Vous pouvez ensuite aller les acheter sans qu'ils le sachent."/>
<meta property="og:locale" content="fr_FR"/>
<meta property="fb:app_id" content="242045389185230"/>
<meta property="og:locale:alternate" content="en_GB"/>

<meta itemprop="name" content="Perehana, le meilleur moyen de faire plaisir à coup sûr !"/>
<meta itemprop="description" content="En manque d'idées de cadeaux à l'approche de Noël, des anniversaires, des mariages ou des naissances ? Perehana vous permet de saisir des idées-cadeaux et de réserver celles de votre famille et de vos amis. Vous pouvez ensuite aller les acheter sans qu'ils le sachent."/>
<meta itemprop="image" content="http://www.perehana.com/img/square_logo.png"/>

如您所见,语言环境和替代设置已正确设置。

这就是我调用 G+ API 的方式(这是一个法国用户的示例):

<div class="g-plusone" data-size="medium" data-href="http://www.perehana.com"></div>

<script type="text/javascript">
    window.___gcfg = {
        lang: 'fr'
    };

    (function() {
        var po = document.createElement('script'); po.type = 'text/javascript';
        po.async = true;
        po.src = 'https://apis.google.com/js/plusone.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
</script>

根据用户的语言,显示正确的属性。

当我想通过 Google+ 共享它时会出现问题,即使我的 G+ 用户帐户是法语的,Google 自动为该站点选择的标题和描述都是英文的...... :-(

感谢任何能提供帮助的人!

4

1 回答 1

1

我假设您正在使用 Accept-Language HTTP 标头在您的网站上执行此操作。

用于分享到 Google+ 的页面提取程序不会传播来自发起操作的用户的任何 HTTP 标头,因此您的网站将回退到默认语言。

您可以通过使用 GET 参数设置语言来解决此问题。如果您通过 +1 按钮、分享按钮或分享链接进行分享,您可以将当前语言设置为该插件的目标 url 参数, data-href

您似乎已经在 Google+ 问题跟踪器中为此提交了功能请求。如果不是您,请在问题上加注星标以接收更新通知。

于 2012-07-23T18:35:59.097 回答