Tengo este trabajo The documentation no es muy detallado; aquí están los detalles
Aquí están mis etiquetas de localización Open Graph:.
.
<meta property="og:locale" content="en_US" />
<meta property="og:locale:alternate" content="en_US" />
<meta property="og:locale:alternate" content="fr_CA" />
MUY IMPORTANTE:The documentation hace que parezca que og:locale
siempre debe reflejar la configuración regional "predeterminada" de la página. Este no es el caso; al hacerlo, evitará que el raspador recupere otros idiomas. og_locale
debe reflejar la configuración actual de la página configuración regional. En otras palabras, si el raspador (o el usuario) solicita el contenido fr_CA
, asegúrese de que og_locale
esté configurado en fr_CA
en la respuesta.
Especifique todas las configuraciones regionales posibles con og:locale:alternate
. De esta forma, ya sea que el raspador solicite en_US
o fr_CA
, todavía sabe que ambos existen.
Aquí me pide el raspador Facebook para volver a procesar mi página:
curl -d "id=https://apps.facebook.com/everydaybarilla/&scrape=true" https://graph.facebook.com
Aquí está la respuesta:
{
"url": "http://apps.facebook.com/everydaybarilla/",
"type": "website",
"title": "Barilla\u2019s Every Day, Every Way Contest",
"locale": {
"locale": "en_us",
"alternate": [
"fr_ca"
]
},
"image": [
{
"url": "http://everydaybarilla.ssl.spidermarketing.ca/assets/img/thumbnails/5.png"
},
{
"url": "http://everydaybarilla.ssl.spidermarketing.ca/assets/img/thumbnails/4.png"
},
{
"url": "http://everydaybarilla.ssl.spidermarketing.ca/assets/img/thumbnails/3.png"
},
{
"url": "http://everydaybarilla.ssl.spidermarketing.ca/assets/img/thumbnails/en-2.png"
},
{
"url": "http://everydaybarilla.ssl.spidermarketing.ca/assets/img/thumbnails/en-1.png"
}
],
"description": "Barilla Canada is whisking one lucky winner and a guest off to Italy on an 8-day Italian culinary adventure for 2 in the Barilla Every Day, Every Way Contest!",
"site_name": "Barilla\u2019s Every Day, Every Way Contest",
"updated_time": "2012-04-16T17:59:38+0000",
"id": "10150594698421968",
"application": {
"id": "317271281656427",
"name": "Barilla\u2019s Every Day, Every Way Contest",
"url": "http://www.facebook.com/apps/application.php?id=317271281656427"
}
}
El rascador devuelve correctamente los datos de la configuración regional predeterminada, pero de acuerdo con the documentation , parece que el raspador también debe raspar localizaciones alternativas; Este no es el caso. Claramente, a partir de la respuesta anterior, ve las configuraciones regionales alternativas, pero no las procesa.
tanto, aquí está mi pidiendo específicamente el raspador Facebook para procesar mi página en français:
curl -d "id=https://apps.facebook.com/everydaybarilla/&scrape=true&locale=fr_CA" https://graph.facebook.com
Esta vez, ver correctamente dos peticiones a mi servidor de la rasqueta. La segunda solicitud tiene el encabezado X-Facebook-Locale
y el parámetro de URL fb_locale
configurados correctamente en fr_CA
. Y el POST devuelve correctamente la respuesta francesa:
{
"url": "http://apps.facebook.com/everydaybarilla/?fb_locale=fr_CA",
"type": "website",
"title": "Concours Tous les jours, de toutes les fa\u00e7ons de Barilla",
"locale": {
"locale": "fr_ca",
"alternate": [
"en_us",
"fr_ca"
]
},
"image": [
{
"url": "http://everydaybarilla.ssl.spidermarketing.ca/assets/img/thumbnails/5.png"
},
{
"url": "http://everydaybarilla.ssl.spidermarketing.ca/assets/img/thumbnails/4.png"
},
{
"url": "http://everydaybarilla.ssl.spidermarketing.ca/assets/img/thumbnails/3.png"
},
{
"url": "http://everydaybarilla.ssl.spidermarketing.ca/assets/img/thumbnails/fr-2.png"
},
{
"url": "http://everydaybarilla.ssl.spidermarketing.ca/assets/img/thumbnails/fr-1.png"
}
],
"description": "Un heureux gagnant et son invit\u00e9(e) partiront \u00e0 destination de l\u2019Italie pour une aventure culinaire de 8 jours pour 2 personnes (valeur au d\u00e9tail approximative de 15 000 $)!",
"site_name": "Barilla\u2019s Every Day, Every Way Contest",
"updated_time": "2012-04-16T18:11:27+0000",
"id": "10150594698421968",
"application": {
"id": "317271281656427",
"name": "Barilla\u2019s Every Day, Every Way Contest",
"url": "http://www.facebook.com/apps/application.php?id=317271281656427"
}
}
¡Éxito!
Por supuesto, después de todo este esfuerzo, cuando voy al Facebook.com francés y publico esta URL, el cuadro de estado se rellena ... con los datos en inglés. Parece que las propias interfaces de Facebook no están configuradas para solicitar la configuración regional correcta.
Así que incluso con todo este esfuerzo, nada parece haberse logrado (las traducciones de mis cadenas a través de la aplicación de traducción de Facebook tampoco funcionan, así que supongo que no debería sorprender).
Aún así, responde la pregunta. Quizás alguien más pueda determinar por qué las interfaces de Facebook.com no parecen solicitar la configuración regional correcta.
¿Encontró una solución para este comportamiento? –