2009-09-14 7 views
0

J'essaie d'écrire un formulaire déroulant avec un bouton de soumission qui utilise la traduction de Google pour traduire la page actuelle que je suis. Voici ce que j'ai actuellement (quelqu'un m'a aidé à ce sujet):Rédaction d'un formulaire déroulant pour traduire la page en cours; Google pense que je traduis de l'anglais vers l'anglais

<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 appelle l'URL de la page en cours :)

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

Pourquoi Google pense que je suis en train de traduire de l'anglais à l'anglais avec ce code?

+0

À quoi ressemble la chaîne de caractères querystring lorsque vous arrivez sur le site de google translate? – russau

+1

Je ne sais pas, mais ni l'anglais ni l'anglais ne suivent un quelconque schéma logique. C'est une conversion très difficile. ;) –

+0

Il apparaît dans le navigateur comme: http://translate.google.com/translate?hl=en&u=http://domain.com/testblog/ (et la page d'erreur Google est: . Google erreur Traduction de l'anglais vers l'anglais est pas pris en charge S'il vous plaît choisir parmi les options suivantes: * Retour Traduire * Voir la page originale etc., etc.) – 7777

Répondre

2

J'ai modifié votre code à ce qui suit et il fonctionne très bien:

<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> 

je serais revérifier la fonction curPageURL et de mettre dans les bonnes valeurs pour chacun des éléments de sélection de la boîte.

+0

Génial! Je vous remercie! – 7777

Questions connexes