У меня есть сайт клиента, на котором мы размещаем ссылки на Google Translate с помощью значков флажков. Я хотел бы предоставить ссылку на исходный язык (английский) из переведенного результата.
Вы можете увидеть, что у меня есть в действии, в правом верхнем углу любой страницы по адресу tesselaar.com.
Если щелкнуть один из флажков, страница будет переведена, а значки флажков заменены английской версией. Я хотел бы, чтобы этот флаг давал обратную ссылку, но, как вы видите, это не так, потому что Google Translate переписывает URL-адрес, который я ему даю. Кто-нибудь знает, как обойти это?
Вот мой код:
<?php
echo "<ul class=\"breadcrumb pull-right\">\n";
if (stripos($_SERVER['HTTP_REFERER'], "translate.google") !== false) { // page has been translated
if (empty($_SESSION['return_url'])) $_SESSION['return_url'] = "tesselaar.com";
echo "<li>View page in English:</li>\n";
echo "<li><a target=\"_top\" href=\"http://" . $_SESSION['return_url'] . "\"><img src=\"/assets/img/flags/gb.gif\" width=\"16\" height=\"11\" title=\"English\" alt=\"English\"></a></li>\n";
} else { // regular site (not translated)
$_SESSION['return_url'] = $_SERVER['REQUEST_URI'];
echo "<li>Translate this page:</li>\n";
echo "<li><a href=\"http://translate.google.com/translate?sl=en&tl=fr&u=tesselaar.com". $_SERVER['REQUEST_URI'] . "\"><img src=\"/assets/img/flags/fr.gif\" width=\"16\" height=\"11\" alt=\"French\"></a></li>\n";
echo "<li><a href=\"http://translate.google.com/translate?sl=en&tl=de&u=tesselaar.com". $_SERVER['REQUEST_URI'] . "\"><img src=\"/assets/img/flags/de.gif\" width=\"16\" height=\"11\" alt=\"German\"></a></li>\n";
echo "<li><a href=\"http://translate.google.com/translate?sl=en&tl=nl&u=tesselaar.com". $_SERVER['REQUEST_URI'] . "\"><img src=\"/assets/img/flags/nl.gif\" width=\"16\" height=\"11\" alt=\"Dutch\"></a></li>\n";
echo "<li><a href=\"http://translate.google.com/translate?sl=en&tl=es&u=tesselaar.com". $_SERVER['REQUEST_URI'] . "\"><img src=\"/assets/img/flags/es.gif\" width=\"16\" height=\"11\" alt=\"Spanish\"></a></li>\n";
echo "<li><a href=\"http://translate.google.com/translate?sl=en&tl=el&u=tesselaar.com". $_SERVER['REQUEST_URI'] . "\"><img src=\"/assets/img/flags/gr.gif\" width=\"16\" height=\"11\" alt=\"Greek\"></a></li>\n";
}
echo "</ul>\n\n";
?>
РЕДАКТИРОВАТЬ: Вещи, которые я безуспешно пробовал с момента публикации:
- Обертывание различных вещей в диапазоне «без перевода».
- Использование jQuery, чтобы попытаться переписать URL-адрес «обратной ссылки».
- Использование jQuery для перехвата щелчка «обратной ссылки» и перезаписи родительского фрейма.