13

对于即将到来的项目,我们希望将我们的应用程序翻译成多种语言。查看 Facebook 的How-To: Open Graph Internationalization页面,您会获得有关执行此操作的非常详细的信息。

所以,我们正确地实现了标签。以讲英语的用户查看页面时,您会得到:

<meta property="og:url" content="https://site.url" />
<meta property="og:title" content="English title" />
<meta property="og:description" content="English description" />
<meta property="og:locale" content="en_US" />
<meta property="og:locale:alternate" content="de_DE" /> 

对于德国用户来说,反之亦然:

<meta property="og:url" content="https://site.url" />
<meta property="og:title" content="German title" />
<meta property="og:description" content="German description" />
<meta property="og:locale" content="de_DE" />
<meta property="og:locale:alternate" content="en_US" /> 

如文档中所述,我们查看“?fb_locale”-get 参数,此外,解析 HTTP_X_FACEBOOK_LOCALE 标头以决定应显示哪个翻译。

所以,我的问题如下:

  1. 当使用 Facebook Debugger(调试器中使用的任何语言(使用 ?locale=de_DE eg))调试提到的 url 时,会显示英文文本。这是调试器的错误还是预期的行为?

  2. 在调试器中单击备用区域设置链接时,?locale=de_DE 将附加到调试器 url 并且界面更改为德语。但是区域设置并没有传递给 url 本身,因为它看起来,因为抓取的文本仍然是英文的。关于这个有什么提示吗?

  3. 在调试器中手动将“?fb_locale=de_DE”参数附加到 url 时,调试器的“对象属性”部分仍然是英文,而“原始打开图形文档信息”包含德语翻译。这是正确的还是应该更新“对象属性”?

  4. 是否有任何网站使用您所知道的 og-tags 的适当国际化?在野外看到一个功能齐全的例子真是太棒了。

  5. 当直接在 Facebook 新闻源中粘贴提到的站点 URL 时(作为德国 Facebook 的用户),Facebook 仅显示英文 og 文本。当一切都正确实施时,它不应该在这种情况下显示德语文本吗?

4

2 回答 2

3

我回答了我自己的问题:这里

您必须刷新 facebook 的缓存。

curl -X POST -F "id=http://yoururl" -F "scrape=true" -F "locale=fr_fr" "https://graph.facebook.com" -s

(在我的示例中,我使用了 fr_fr)

于 2012-12-11T13:28:33.220 回答
2

我有同样的问题,并写信给 facebook 支持。他们的回答是这样的:

... Open Graph Localization 的用例不是用于在 Facebook 上共享链接和本地化元数据。相反,它旨在用作自定义 Open Graph 故事的一部分,例如“X 完成了一个级别”。

基本上,当使用指向自托管对象的链接发布开放图故事时,我们才会发送 fb_locale 参数和 X-Facebook-Locale HTTP 标头。

您可以点击此链接了解详情:https ://developers.facebook.com/bugs/141601252889984

于 2016-02-12T18:52:28.807 回答