Facebook 分享按钮多语言

标签 facebook share facebook-opengraph multilingual

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

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

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

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

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

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

我不明白为什么会发生这种情况,也不知道如何使用“对象属性”来代替。

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

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

有人可以帮忙吗?谢谢

最佳答案

当您开始在 https://developers.facebook.com/docs/plugins/share-button/ 上创建 facebok 分享按钮 时| 你会看到如下图所示的模态...

enter image description here

正如你所看到的 language_code (en_GB) 在图片中用红色实线下划线。

我希望你注意这个 language_code 以便让你 分享按钮 多语言。

在将 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

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

我认为这会很有帮助!

关于Facebook 分享按钮多语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23637930/

相关文章:

facebook - FQL facebook 查询语言 : how can i query the list of friends of a specific user that has my application installed?

php - 用户上次登录日期和时间 facebook graph explorer

java - 在水平 ScrollView 中更改并按住背景颜色 ImageView

Facebook publish_action 权限不适用于发布

javascript - jQuery AJAX : Get Meta-Data from Cross Domain HTML-Page

facebook - 如何调试 Facebook 连接问题?

javascript - 如何在移动设备上使用 Facebook API?

ios - 如何从 iOS 应用程序将现有的 Facebook 帖子分享到用户时间轴?

android - 如何自定义分享 Intent ?

android - 从 Android 发送时,Facebook OpenGraph 故事仅向 "developer"用户显示