【问题标题】:Facebook share button multilanguageFacebook 分享按钮多语言
【发布时间】:2014-07-01 12:30:51
【问题描述】:

我在实现一项要求时遇到问题,该要求指出我应该在多语言页面中拥有一个带计数器的共享按钮,并且共享对话框的内容应该与页面使用相同的语言。

我已经阅读了很多问题(和建议),但我仍然无法弄清楚。

我在我的页面上添加了元标记 og:locale 和 og:locale:alternate,当我使用 de Facebook 调试器时,我可以在服务器日志上看到两个请求。第一个不带参数,第二个带“fb_locale”参数和“X-Facebook-Locale”标头。

语言由 url 参数或 cookie 选择。当第一个请求到来时,没有参数(或 cookie),因此“原始开放图文档信息”全部采用默认语言(en_US)。

然后,在第二个请求(带有 fb_locale 参数的请求)中,我将资源设置为该语言。这会将“对象属性”设置为与“原始打开图形文档信息”不同的语言。

问题在于共享对话框使用“原始打开图形文档信息”而不是“对象属性”来填充自身。

我不明白为什么会发生这种情况以及我可以做些什么来改用“对象属性”。

我无法在“data-href”上发送带有页面语言的参数,因为两种语言的共享计数器不会相同。

到目前为止,我已经设法拥有本地化资源但具有不同的计数器值或仅在默认语言中具有相同的计数器值。

有人可以帮忙吗?谢谢

【问题讨论】:

  • 遇到了同样的问题。你解决了吗?
  • 对不起,没有。我使用了一些具有相同行为的新闻、商店和旅游网站示例(每种语言的单独计数器)来说服客户这是实现功能的可接受方式。我没有找到任何具有不同语言的相同计数器的网站。
  • 如果您仍然需要,我有一个解决方案。在下面检查我的答案。它可能会帮助你。

标签: facebook share facebook-opengraph multilingual


【解决方案1】:

当你开始在 https://developers.facebook.com/docs/plugins/share-button/ 上创建 Facebook share button 您将看到如下图所示的模态...

如你所见语言代码(en_GB),图中红色实线下划线。

我希望您注意此语言代码,以使您的 share button 多语言。

将js代码粘贴到html页面后,需要将/en_GB/替换为/here-your-language-key-to-change-lang_code/

我不知道你用的是什么框架。但在我的 Laravel(php 框架)中,它看起来像这样。

src="https://connect.facebook.net/{{@trans('text.lang_code')}}/sdk.js#xfbml=1&version=v4.0&appId=506295213539017&autoLogAppEvents=1"


en
   'lang_code' => 'en_GB'
es
   'lang_code' => 'es_ES'
fr
   'lang_code' => 'fr_FR' 

你可以在这里查看真实演示http://getty.uz

如果您有不清楚的地方,请随时在下面的评论中提问...

我认为这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-09
    • 2010-12-19
    • 2014-10-04
    相关资源
    最近更新 更多