2009-09-14 89 views
0

我正在尝试使用提交按钮编写下拉表单,该按钮使用Google翻译来翻译当前页面。这是我目前有(有人帮助我与此):编写下拉表单翻译当前页面; 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> 

(回声调用当前页面的网址:)

<?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; 
} 
?> 

为什么谷歌想我试图从英语翻译用这段代码来翻译成英文?

+0

当你到达谷歌翻译网站时,查询字符串是什么样的? – russau 2009-09-14 01:51:39

+1

我不知道,但英语和英语都不遵循任何逻辑模式。这是一个非常困难的转换。 ;) – 2009-09-14 02:05:20

+0

它显示了在浏览器中: http://translate.google.com/translate?hl=en&u=http://domain.com/testblog/ (和谷歌的错误页面是: 。 谷歌错误 英语 英译不支持 请从下列选择: *返回翻译 *请参阅原始页面 等等,等等) – 7777 2009-09-14 02:11:58

回答

2

我修改你的代码下面,它工作正常:

<form action="http://www.google.com/translate_c" method="get"> 
    <input type="hidden" name="hl" value="en" /> 
    <input type="hidden" name="sl" value="en" /> 
    <input type="hidden" name="u" value="http://www.stackoverflow.com/" /> 
    <select name="tl"> 
    <option value="af">English to Afrikaans</option> 
    <option value="sq">English to Albanian</option> 
    </select> 
    <input type="submit" value="Submit" /> 
</form> 

我会重新检查curPageURL功能,并放在正确的价值观为每一个选择框项目。

+0

太棒了!谢谢! – 7777 2009-09-14 02:39:42

相关问题