con*_*ile 3 grails facebook opengraph facebook-graph-api facebook-opengraph
我有一个带有meta og标签的grails应用程序,如下所示:
<meta property="og:description" content="${message(code:'description')}"/>
Run Code Online (Sandbox Code Playgroud)
如果用户的浏览器发送了请求,则消息属性对于i18n可以正常工作。但是对于Facebook,情况就不同了。Facebook似乎要求在我的页面上始终使用en_US版本,这意味着如果用户从de_DE浏览器请求页面,则meta og标记始终使用错误的语言。
有没有办法告诉Facebook使用不同于en_US的请求语言?
我试过了:
<meta property="og:locale" content="de_DE" />
Run Code Online (Sandbox Code Playgroud)
但这也不会更改请求的语言。
我该怎么做才能获得正确的i18n?
如果您设置一些og:locale:alternate元标记,Facebook将通过传递带有语言环境值的get参数来重新抓取页面fb_locale。例如,如果您的站点是,http://mysite.com/share并且它显示以下替代语言环境:
<html>
<head>
<meta property="og:locale:alternate" content="fr_FR" />
<meta property="og:locale:alternate" content="es_ES" />
...
</head>
...
</html>
Run Code Online (Sandbox Code Playgroud)
Facebook将在您的网站上调用这些URL。
http://mysite.com/share
http://mysite.com/share?fb_locale=fr_FR
http://mysite.com/share?fb_locale=es_ES
Run Code Online (Sandbox Code Playgroud)
然后,您只需要og:locale正确地本地化内容(并设置)即可。
Doc在这里:https : //developers.facebook.com/docs/technical-guides/opengraph/internationalization/
| 归档时间: |
|
| 查看次数: |
3992 次 |
| 最近记录: |