begin process at 2012 02 15 13:27:43
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > TRADUCTION VIA GOOGLE (OU AUTRE...)

TRADUCTION VIA GOOGLE (OU AUTRE...)


 Information sur la source

Note :
8,14 / 10 - par 7 personnes
8,14 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Classé sous :traduction, traducteur, traduire, traduction google, google Niveau :Débutant Date de création :31/01/2005 Date de mise à jour :27/11/2007 04:13:22 Vu :19 742

Auteur : AskMove

Ecrire un message privé
Site perso
Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Le titre à l'avantage d'être explicite:
- comme pour la correction d'orthographe, on va extraire la source de la page chez Google et y récupérer le résultat.
La suite est  plutôt simple, étant donné que le résultat est toujours au même endroit dans la source (entre les mêmes balises)

Source

  • ########### traduction.php ###########
  • <?php
  • $form_select="
  • <OPTION value=en|de>Anglais >> Allemand</OPTION>
  • <OPTION value=en|es>Anglais >> Espagnol</OPTION>
  • <OPTION value=en|fr>Anglais >> Français</OPTION>
  • <OPTION value=en|it>Anglais >> Italien</OPTION>
  • <OPTION value=en|pt>Anglais >> Portugais</OPTION>
  • <OPTION value=en|ja>Anglais >> Japonais</OPTION>
  • <OPTION value=en|ko>Anglais >> Coréen</OPTION>
  • <OPTION value=en|zh-CN>Anglais >> Chinois</OPTION>
  • <OPTION value=de|en>Allemand >> Anglais</OPTION>
  • <OPTION value=de|fr>Allemand >> Français</OPTION>
  • <OPTION value=es|en>Espagnol >> Anglais</OPTION>
  • <OPTION value=fr|en>Français >> Anglais</OPTION>
  • <OPTION value=fr|de>Français >> Allemand</OPTION>
  • <OPTION value=it|en>Italien >> Anglais</OPTION>
  • <OPTION value=pt|en>Portugais >> Anglais</OPTION>
  • <OPTION value=ja|en>Japonais >> Anglais</OPTION>
  • <OPTION value=ko|en>Coréen >> Anglais</OPTION>
  • <OPTION value=zh-CN|en>Chinois >> Anglais</OPTION>";
  • ### on verifie la présence des variables
  • if(isset($_GET['q'])){ $q = $_GET['q']; }else{ $q =""; }
  • if(isset($_GET['lang'])){ $lang = $_GET['lang'];
  • ### on met un petit selected dans le formulaire pour la langue
  • $form_select = str_replace("$lang", "$lang selected", $form_select);
  • }else{ $lang=""; }
  • echo'<html>
  • <head>
  • <title>Traduction Via Google</title>
  • <style>
  • .texte1{ font-family: Arial; font-size: 14px; color: #cc0000;}
  • .texte2{ font-family: Arial; font-size: 16px; color: #000080;}
  • .test{ font-family: Arial; font-size: 11px; color: #000000;}
  • </style>
  • </head>
  • <body>
  • <center><a class="texte2"><b>Traduction Via Google</b>
  • <form method="GET" action="traduction.php">
  • <input type="hidden" name="a" value="traduction">
  • <textarea rows="4" name="q" cols="46">'.$q.'</textarea><BR><BR>De
  • <SELECT name=lang>
  • '.$form_select.'
  • </SELECT>
  • <INPUT type=submit value=Traduire onClick="this.value=\'Patientez...\';this.blur();">
  • </form>
  • <BR><BR>';
  • if(isset($_GET['a'])){
  • $q = urlencode($q);
  • ### recherche la source chez google avec le mot à traduire: $q
  • $source = implode ('', file ("http://translate.google.com/translate_t?text=$q&langpair=$lang&hl=fr&ie=UTF-8&oe=UTF-8"));
  • ### decoupage de $source au debut
  • $source = strstr($source, '<div id=result_box dir=ltr>');
  • ### decoupage de $source à la fin
  • $fin_source = strstr($source, '</div>');
  • ### supprimer $fin_source de la chaine $source
  • $proposition = str_replace("$fin_source","", $source);
  • $proposition = str_replace("<div id=result_box dir=ltr>","", $proposition);
  • ### affichage du resultat
  • echo'<a class="texte1">Traduction:<BR><textarea rows="4" name="a" cols="46">'.$proposition.'</textarea></center>';
  • ### décommentez cette ligne pour tester l'url
  • #echo'<br><br><a href="'.$url.'" target="_Blank" class="texte1">'.$url.'</a><br><br><a class="test">'.htmlentities($source).'</a>';
  • }
  • ?>
  • </body>
  • </html>
###########   traduction.php   ###########
<?php

$form_select="
<OPTION value=en|de>Anglais >> Allemand</OPTION>
<OPTION value=en|es>Anglais >> Espagnol</OPTION>
<OPTION value=en|fr>Anglais >> Français</OPTION>
<OPTION value=en|it>Anglais >> Italien</OPTION>
<OPTION value=en|pt>Anglais >> Portugais</OPTION>
<OPTION value=en|ja>Anglais >> Japonais</OPTION>
<OPTION value=en|ko>Anglais >> Coréen</OPTION>
<OPTION value=en|zh-CN>Anglais >> Chinois</OPTION>
<OPTION value=de|en>Allemand >> Anglais</OPTION>
<OPTION value=de|fr>Allemand >> Français</OPTION>
<OPTION value=es|en>Espagnol >> Anglais</OPTION>
<OPTION value=fr|en>Français >> Anglais</OPTION>
<OPTION value=fr|de>Français >> Allemand</OPTION>
<OPTION value=it|en>Italien >> Anglais</OPTION>
<OPTION value=pt|en>Portugais >> Anglais</OPTION>
<OPTION value=ja|en>Japonais >> Anglais</OPTION>
<OPTION value=ko|en>Coréen >> Anglais</OPTION>
<OPTION value=zh-CN|en>Chinois >> Anglais</OPTION>";

### on verifie la présence des variables 
if(isset($_GET['q'])){ $q = $_GET['q']; }else{ $q =""; }
if(isset($_GET['lang'])){ $lang = $_GET['lang'];  
### on met un petit selected dans le formulaire pour la langue   
$form_select = str_replace("$lang", "$lang selected", $form_select); 
}else{ $lang=""; }

echo'<html>

<head>
<title>Traduction Via Google</title>
<style>
.texte1{ font-family: Arial; font-size: 14px; color: #cc0000;}
.texte2{ font-family: Arial; font-size: 16px; color: #000080;}
.test{ font-family: Arial; font-size: 11px; color: #000000;}
</style>
</head>

<body>
<center><a class="texte2"><b>Traduction Via Google</b>
<form method="GET" action="traduction.php">
<input type="hidden" name="a" value="traduction">
<textarea rows="4" name="q" cols="46">'.$q.'</textarea><BR><BR>De
<SELECT name=lang>
'.$form_select.'
</SELECT>
<INPUT type=submit value=Traduire onClick="this.value=\'Patientez...\';this.blur();">
</form>
<BR><BR>';

if(isset($_GET['a'])){
$q = urlencode($q);
### recherche la source chez google avec le mot à traduire: $q 
$source = implode ('', file ("http://translate.google.com/translate_t?text=$q&langpair=$lang&hl=fr&ie=UTF-8&oe=UTF-8")); 
### decoupage de $source au debut
$source = strstr($source, '<div id=result_box dir=ltr>'); 
### decoupage de $source à la fin
$fin_source = strstr($source, '</div>'); 
### supprimer $fin_source de la chaine $source 
$proposition = str_replace("$fin_source","", $source); 
$proposition = str_replace("<div id=result_box dir=ltr>","", $proposition);   
### affichage du resultat 
echo'<a class="texte1">Traduction:<BR><textarea rows="4" name="a" cols="46">'.$proposition.'</textarea></center>';
### décommentez cette ligne pour tester l'url
#echo'<br><br><a href="'.$url.'" target="_Blank" class="texte1">'.$url.'</a><br><br><a class="test">'.htmlentities($source).'</a>'; 
}
?>
</body>

</html>

 Conclusion

Maintenant, il est asse simple de proposer une traduction avec correction d'orthographe (dans la langue de recherche) si aucune traduction n'est trouvée.


 Historique

31 janvier 2005 11:00:50 :
Petite amélioration
31 janvier 2005 12:16:56 :
Petite modif.
27 novembre 2007 03:16:23 :
MAJ et améliorations : urlencode, selection...
27 novembre 2007 04:13:22 :
MAJ et améliorations

 Sources du même auteur

CORRECTION ORTHOGRAPHE VIA GOOGLE

 Sources de la même categorie

Source avec Zip Source avec une capture GENERATEUR D'ONGLET DE NAVIGATION PHP par pos123
FORMATER UN LIEN YOUTUBE, DAILYMOTION OU VIMEO POUR L'UTILIS... par kgb93
Source avec Zip Source avec une capture PAGINATION + FICHIER CSS par profdi
Source avec Zip Source avec une capture SYSTEME D'AUTHENTIFICATION PHP AVEC PROTÉCTION KEYLOGGER par mtrix000
Source avec Zip Source avec une capture GENERATEUR DE BOUTONS DE PARTAGES POUR RESEAUX SOCIAUX par cod57

 Sources en rapport avec celle ci

Source avec Zip GDATA CLASS par darkis
Source avec Zip CHIFFRES EN LETTRES par zied9b
Source avec Zip TRADUCTION DE FICHIERS DE LANGUE AVEC GOOGLE GTRANSLATE par madislak
CLASSE PHP PERMETANT DE GERER LE MULTILANGUES par phppro
Source avec Zip TRADUCTEUR FRANCAIS =&GT; MARTIEN (SI SI) par malalam

Commentaires et avis

Commentaire de malik7934 le 31/01/2005 11:11:52

Héééé, tu m'as piqué mon idée! Ca m'apprendra de te dire mes projets... Bah, ça m'évitera de devoir la coder comme ça ;o)

Je vais m'empresser de le tester!

Commentaire de knas74 le 31/01/2005 17:55:27

il faudrait tenir compte des caractères accentués, il y des problèmes de traduction pour les mots contenant des caractères accentués.

Commentaire de Anthomicro le 31/01/2005 20:42:16

Salut,

<BR> à remplacer par <br />, ensuite if(isset($_GET['variable'])){
$variable=$_GET['variable'];
}

et pas $variable=$_GET['variable'] directement.

a +

Commentaire de juki_webmaster le 03/02/2005 15:05:35

Salut,
Pour les accents utilisent ceci :

$find = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
$replac = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
$q_p = strtr($q_p,$find,$replac);

Sinon je n'ais qu'une chose à dire : Falait y penser!
7/10 Bonne continuation


Anthomicro > explique moi un peu ta methode du isset avant l'atribution... c'est plus coté point de vue ou securitaire ?


Commentaire de Anthomicro le 03/02/2005 18:07:12

juki > c'est pour ne pas générer d'erreur si la variable n'existe pas.

Ensuite le strtr n'est pas approprié ici, tu peux mettre un simple str_replace vu que $find et $replace ne sont pas des tableaux.

a +

Commentaire de hakim0 le 04/02/2005 15:29:46

j'ai une question :
comment je pe envoie des variable post par php a une autre page php?

Commentaire de plarts le 07/02/2005 21:56:00

Question : je cherche à traduire ce code PHP en ColdFusion.
J'ai remplacé la ligne :
$source = implode ('', file ("http://translate.google.com/translate_t?text=$q_p&langpair=$lang&hl=fr&ie=UTF-8&oe=UTF-8"));

Par un CFHTTP de ColdFusion, ce qui doit retourner le contenu HTML.
Et là, j'ai un Google "forbidden"
Sinon, ça à l'air de marcher, mais faut il un droit pour récupérer le code html du retour Google ?

C'est quoi ce : implode ('', file ...etc..
une astuce ????

Merci pour toute explication.

Commentaire de Astalavista le 15/06/2005 23:29:00

Ta source est super ;) par contre je signal une petite erreur, il faudrais mettre un urlencode() au cas ou on utilise des caractère speciaux tel que # (j'ai eu ce problème avec ta source c'est pour cela que je cite celui là)

Sinon Bien jouer ;)
et ... on remercie aussi Google qui nous offre cette posibilitée, car il pouras ignorer les envoie dans la barre d'adresse, et là, il aurais falu envoyer un Header (ce qui est un peut plus dur)

Commentaire de yatoo le 20/11/2006 18:36:02

apparemant google a changer ses valeur, car chez moi ca marche plus ? et Vous ???

Commentaire de Tafit le 24/10/2008 14:58:00

Salut,

Pour que le code refonctionne il faut remplacer :

$source = strstr($source, '<div id=result_box dir=ltr>');

par :

$source = strstr($source, '<div id=result_box dir="ltr">');

et :

$proposition = str_replace("<div id=result_box dir=ltr>","", $proposition);

par :

$proposition = str_replace('<div id=result_box dir="ltr">',"", $proposition);

Merci pour ce code !!!
Je vais pouvoir l'insérer sur mon intranet.

Amicalement.

Commentaire de GillesWebmaster le 29/11/2009 18:06:12

Pourquoi reprendre le code HTML, l'épurer et le réintégrer dans notre site?
Je vous propose plus simplement, de récupérer le contenu (JSON) prévu par google:
<?php
$url = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=Le%20texte%20qui%20doit%20%EAtre%20traduit&langpair=fr|en";
$table=json_decode(file_get_contents($url));
echo  $table->{'responseData'}->{'translatedText'};
?>

Commentaire de zulrigh le 26/02/2010 23:59:51

on a le droit de faire ça ?
je veut dire, google traduction est sous licence GNU ou quelque chose comme ça ?
personnelement j'aurais tendance à dire : tout le monde peut y aller dessus, alors pourquoi pas nos machine !
mais bon, je demande votre avis vue que personne n'a omnis la question

Commentaire de zairukhani le 16/06/2010 15:27:32

bonjour,
je veux savoir si possible à quoi sert la dernière ligne
pour tester l'url

merci

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Url bizarre ou...? [ par MAsterC ] Salut à tous!J'aimerai avoir une explication sur le URL de Google...http://www.google.ca/search?q=googlePourquoi, le fichier "search" n php et google ... ? [ par michelvernet2 ] bonjour,pour éviter un PB de session avec aol, je force la session dans l'adresse, voir : www.nouveauxobjets.com . Pour ceux qui ont la google barre, referencement google et PHP [ par michelvernet2 ] bonjour,pour éviter un PB de session avec aol, je force la session dans l'adresse, voir : www.nouveauxobjets.com . Pour ceux qui ont la google barre, Multi langue [ par panpan ] Hello,Je suis en train de concevoir un site en plusieurs langues mais j'ai un problème pour un chose:J'ai défini toute mes traduction dans les fichier ouvir page [ par xa4ke ] voila je voulais savoir comment en php je pouvais metter en cliquant sur un lien par ex " google "que une nouvelle page s affiche a la place que l envoi de variables préfabriquées vers un script JS? [ par johanb ] bonjour &#224; tous,j'ai quelques probl&#234;mes &#224; faire communiquer php et javascript.je voudrais cr&#233;er un script semblable &#224; celui de schéma de base de données traduction [ par rbh ] Bonjourj'ai un un petit soucis dans le conception du sch&#233;ma de la base de donn&#233;escorrespondnat &#224; la probl&#233;matique suivante: il s'a Aidez moi je cherche à realiser un report avec l'adwords google api [ par amellouki ] Je desire realiser un report avec l'adwords google api avec toute les campagnes et leurs mots cl&#233;s. J'utilise nusoap et php.aidez moi!!!Si quelqu Petit probléme pointu [ par sky_striker ] Bonjour &#224; tous,Voila j'ai un script qui effectu une boucle et qui ajoute des traduction pour un certain texte (on simplifie pour l'explication). Google ? [ par deathshade ] est-il possible de faire une recher sur google avec notre propre formulaire (oui ! lolol)&nbsp; mais esse-que ont peut apres avoir fait notre recherch


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,462 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales