Ich verwende Codeigniter und die Sprache wird von der Sitzung bestimmt.Wie teile ich die Seite mit anderen Sprachen auf Facebook/Twitter?
I wrrite die Meta-Daten, Facebook/Twitter die Daten packen und die Seite wählen:
echo "<meta name='twitter:card' content='summary' />";
echo "<meta property='og:title' content='" . $video->{set_lang("title")} . "' />";
echo "<meta property='og:description' content='" . $video->{set_lang("description")} . "' />";
echo "<meta property='og:image' content='" . (isset($video->image_url) ? site_url("thumbnail/" . $video->image_url) : $video->thumbnail) . "' />";
Die set_lang Funktion ist die Sitzung wie folgt zu überprüfen:
function set_lang($var) {
$CI = & get_instance();
$lang = $CI->session->userdata('site_lang');
if ($lang == "english") {
return $var;
} else if ($lang == "zh_tw") {
return $var . "_tw";
} else if ($lang == "zh_cn") {
return $var . "_cn";
}
}
Der Anteil Funktion Arbeit Gut im Browser, aber ich möchte den Link auch per Handy-App teilen. Da die App keine Sitzung enthält, kann sie die Sprache nicht überprüfen. Auch wenn ich den Parameter in den Link setze, z.
http://example.com/video/view/1/english
Dann wird mein Anteil Link reparieren auch die Sprache.
Irgendwelche Ideen? Vielen Dank für Ihre Hilfe.
Das funktioniert nur für Open Graph-Storys. Für normale Posts, die einen Link enthalten, funktioniert es nicht - der Post zeigt immer die Linkdetails in der Sprache an, die Facebook beim Anfordern der Linkdetails erhalten hat, alternative Locales werden in diesem Kontext nicht berücksichtigt. (Dies wurde von Facebook-Technikern bestätigt.) – CBroe
Haben Sie versucht, mehrere Gebietsschemas der verknüpften Seite vorzukritzeln? Hat das einen Unterschied gemacht? –
Ja, macht keinen Unterschied. Wie gesagt, für normale Posts ist es ab sofort nicht implementiert, wie von einem FB-Mitarbeiter bestätigt. – CBroe