Internationalization 在谷歌共享多语言网站+;

Internationalization 在谷歌共享多语言网站+;,internationalization,web,translation,google-plus,Internationalization,Web,Translation,Google Plus,我有一个多语言网站,可以正确地检测用户语言(该网站的语言会相应地改变),但无法在Google+中正确共享 该网站有两种语言,因此我设置了两套不同的元属性,每种语言一套: 中文: <link rel="canonical" href="http://en.perehana.com/"/> <meta property="og:title" content="Perehana, the best way to find perfect gifts!"/> <meta

我有一个多语言网站,可以正确地检测用户语言(该网站的语言会相应地改变),但无法在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(这是一个法国用户的示例):


窗口。\uuuuuu gcfg={
朗:“fr”
};
(功能(){
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);
})();
根据用户的语言,将显示正确的属性

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


感谢所有能够提供帮助的人!

我假设您正在网站上使用Accept Language HTTP头来完成此操作

用于在Google+上共享的页面获取程序不会传播发起该操作的用户的任何HTTP头,因此您的网站将返回默认语言

您可以使用GET parameters设置语言来解决此问题。如果您是通过+1按钮、共享按钮或共享链接进行共享,则可以将当前语言设置为该插件的,
data href


看起来您已经在Google+问题跟踪器中为此提交了一份申请。如果不是您,请启动该问题以接收更新通知。

谢谢您的回答。我已经考虑过为每种语言定义一个特定的目标URL,但这会将我的用户分成几个G+组(每种语言一个).我想知道是否可能所有语言都只有一个目标URL,并强制G+插件使用页面元属性中提供的信息。
<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>