【发布时间】:2009-09-14 10:06:22
【问题描述】:
我正在尝试编写一个带有提交按钮的下拉表单,该按钮使用 Google 翻译来翻译我所在的当前页面。这是我目前拥有的(有人帮助我):
<form action="http://www.google.com/translate_c" method="get">
<input type="hidden" name="hl" value="en" />
<input type="hidden" name="u" value="<?php echo curPageURL(); ?>" />
<select name="langpair">
<option value="en%7Cafr">English to Afrikaans</option>
<option value="en%7Calb">English to Albanian</option>
...
</select>
<input type="submit" value="Submit" />
</form>
(Echo调用当前页面的URL:)
<?php
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
?>
为什么 Google 认为我正在尝试使用此代码将英语翻译成英语?
【问题讨论】:
-
当您到达谷歌翻译网站时,查询字符串是什么样的?
-
我不知道,但是英语和英语都不遵循任何逻辑模式。这是一个非常困难的转换。 ;)
-
它在浏览器中显示为:translate.google.com/translate?hl=en&u=http://domain.com/…(并且谷歌错误页面是:不支持从英文到英文的谷歌错误翻译。请从以下选择:*返回翻译*见原始页面等)
-
那个链接被砍掉了,但基本上结尾是当前页面的 URL。