2009-09-14 48 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