2014-10-16 89 views
1

我們有一個支持多種語言環境的站點,但由於我們大部分的請求都是通過瑞典數據中心進行路由,所以我們所有的opengraph元數據都以瑞典語返回。支持和語言環境:備用

我已更新我們的代碼以查找X-Facebook-Locale請求標頭和fb_locale查詢參數,並基於此設置站點的區域設置。我還添加了我們網站支持的所有語言環境的元屬性。

該網站是:

http://mixrad.io/mixes/seeded/?artists=Madonna%2CSheryl%20Crow%2CKylie%20Minogue&s=fb8e5e45-a82c-4577-a01a-81ab358a5a81

而且我們opengraph標籤:

<meta name="description" content="MixRadio. It’s like having your own personal radio station. #MixRadio"> 
<meta property="og:site_name" content="MixRadio"/> 

<meta property="og:locale" content="en_GB"/> 
<meta property="og:locale:alternate" content="de_AT"/> 
<meta property="og:locale:alternate" content="de_CH"/> 
<meta property="og:locale:alternate" content="de_DE"/> 
<meta property="og:locale:alternate" content="en_AU"/> 
<meta property="og:locale:alternate" content="en_CA"/> 
<meta property="og:locale:alternate" content="en_GB"/> 
<meta property="og:locale:alternate" content="en_IE"/> 
<meta property="og:locale:alternate" content="en_IN"/> 
<meta property="og:locale:alternate" content="en_SG"/> 
<meta property="og:locale:alternate" content="en_US"/> 
<meta property="og:locale:alternate" content="en_ZA"/> 
<meta property="og:locale:alternate" content="es_ES"/> 
<meta property="og:locale:alternate" content="es_MX"/> 
<meta property="og:locale:alternate" content="fi_FI"/> 
<meta property="og:locale:alternate" content="fr_CA"/> 
<meta property="og:locale:alternate" content="fr_CH"/> 
<meta property="og:locale:alternate" content="fr_FR"/> 
<meta property="og:locale:alternate" content="id_ID"/> 
<meta property="og:locale:alternate" content="it_IT"/> 
<meta property="og:locale:alternate" content="nb_NO"/> 
<meta property="og:locale:alternate" content="nl_NL"/> 
<meta property="og:locale:alternate" content="pl_PL"/> 
<meta property="og:locale:alternate" content="pt_BR"/> 
<meta property="og:locale:alternate" content="pt_PT"/> 
<meta property="og:locale:alternate" content="ru_RU"/> 
<meta property="og:locale:alternate" content="sv_SE"/> 
<meta property="og:locale:alternate" content="th_TH"/> 
<meta property="og:locale:alternate" content="tr_TR"/> 
<meta property="og:locale:alternate" content="vi_VN"/> 
<meta property="og:locale:alternate" content="zh_CN"/> 

<meta property="twitter:card" content="summary"/> 
<meta property="twitter:site" content="@MixRadio"/> 
<meta property="og:description" content="MixRadio. It’s like having your own personal radio station."/> 
<meta property="twitter:description" content="MixRadio. It’s like having your own personal radio station."/> 
<meta property="og:title" content="Madonna,Sheryl Crow,Kylie Minogue"/> 
<meta property="twitter:title" content="Madonna,Sheryl Crow,Kylie Minogue"/> 
<meta property="twitter:image:src" content="http://asset.ent.nokia.com/asset/artists/200x200/372444.jpg"/> 
<meta property="og:image" content="http://asset.ent.nokia.com/asset/artists/200x200/372444.jpg"/> 
<meta property="og:image:type" content="image/jpeg"/> 
<meta property="og:image:width" content="200"/> 
<meta property="og:image:height" content="200"/> 
<meta property="og:type" content="music.radio_station"/> 
<meta property="og:url" content="http://www.mixrad.io/gb/en/mixes/seeded/?s=fb8e5e45-a82c-4577-a01a-81ab358a5a81"/> 
<meta property="og:audio" content="http://www.mixrad.io/gb/en/mixes/seeded/?s=fb8e5e45-a82c-4577-a01a-81ab358a5a81"/> 
<meta property="og:audio:type" content="audio/vnd.facebook.bridge"/> 

當它從瑞典數據中心的拼搶中, 「OG:語言環境」 是sv_SE。

現在我已經把所有的OG:現場:在可替代的屬性,facebook的調試器給了我這個消息:

在類型的URL「http://www.mixrad.io/se/sv/mixes/seeded/?s=47a36fcd-235b-4b20-9088-6f89353a9728」物件「music.radio_station」是無效的,因爲給定值屬性'og:locale:alternate'的'de_at'不能被解析爲類型'enum'。

是否有人能夠幫助我弄清楚如何讓我們的元標記以正確的語言呈現給用戶?

感謝

更新: 的「de_at」枚舉問題是由以下事實引起的,Facebook並不支持該區域設置,刪除,Facebook的不支持已經擺脫了那個特定錯誤的語言環境,但一切仍然以瑞典語出現。

+0

實際上它通過Facebook的調試工具將其作爲en_US進行了修改:https://developers.facebook.com/tools/debug/og/object/ – OskarH 2015-04-07 09:20:04

回答

0

,Facebook並不支持各個地區,這裏是他們的哪些列表他們做的:https://www.facebook.com/translations/FacebookLocales.xml

據我所知,Facebook的最初擦傷您的網站,而不指定區域,然後刮一次,每個區域設置您的meta標籤表明您支持。正如您所提到的,當您的服務器看到X-Facebook-Locale標題或其查詢參數時,您需要動態更改每個元標記的內容屬性。

您負責渲染頁面的方式,您可能希望使用用戶請求中發送的頭文件來確定語言。如果您擁有opengraph語言環境支持,Facebook不會查看頁面的內容,它只是查看元標記並緩存在呈現預覽時在Facebook中向其用戶顯示的內容。

相關問題