Api google traduction

Soyez le premier à donner votre avis sur cette source.

Snippet vu 20 313 fois - Téléchargée 16 fois

Contenu du snippet

Après avoir découvert l'API google Traduction grâce à zoby44, je me suis penché 3/4 d'heure sur le sujet et ça à rendu ça.

(Je vous laisse mettre du css et adapter le code :) !)

Source / Exemple :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>

<head>
    
	<title>Traduction</title>
	
<script type="text/javascript" src="http://www.google.com/jsapi"></script>

<script type="text/javascript">
google.load("language", "1");

function Langue() //Fonction pour trouver la langue
	{
	var texteatraduire = document.getElementById('texteatraduire').value;
	var languetraduite = document.getElementById('languetraduite').value;
	var languedorigine = document.getElementById('languedorigine').value;
	
	var text = texteatraduire;
	google.language.detect(text, function(result) //API Google
	{
		if (!result.error) 
			{
			var language = 'unknown';
			for (l in google.language.Languages) 
				{
				if (google.language.Languages[l] == result.language) 
					{
					language = l;
					break;
					}
				}
				document.getElementById('informations').innerHTML = "This text is in "+l; //Ecriture de la langue
			}
		});
	}
	
function Traduction() 
	{
	var texteatraduire = document.getElementById('texteatraduire').value;
	var languetraduite = document.getElementById('languetraduite').value;
	var languedorigine = document.getElementById('languedorigine').value;

	if (languedorigine == languetraduite) //On vérifie si les deux langues ne sont pas identiques
		{
		document.getElementById('informations').innerHTML = "La langue du texte et celle dans laquelle il doit être traduit sont identiques.";
		}
	else
		{
		google.language.translate(texteatraduire, languedorigine, languetraduite, 
		function(result) 
			{
			if (!result.error) 
				{
				var container = document.getElementById("textetraduit");
				container.innerHTML = result.translation;
				document.getElementById('informations').innerHTML = "Le texte à été traduit.";
				}
			});
		}
	}

</script>

</head>

<body>

<select id="languedorigine">
<option value="fr">Francais</option> <!--Vous pouvez rajouter d'autres langues !-->
<option value="en">English</option>
<option value="de">German</option>
<option value="es">Español</option>
</select>

<select id="languetraduite">
<option value="fr">Francais</option>
<option value="en">English</option>
<option value="de">German</option>
<option value="es">Español</option>
</select>

<div id="informations"></div>
<textarea id="texteatraduire"></textarea>
<div id="textetraduit"></div>

<a href="javascript:Traduction()">Traduire</a> <a href="javascript:Langue()">Touver la langue</a>

</body>

</html>

Conclusion :


Grâce à ceci, vous pouvez traduire n'importe quoi n'importe quand !

A voir également

Ajouter un commentaire

Commentaires

lakichemole
Messages postés
253
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
18 mai 2009

C'est une 2 ème première approche de l'API google que nous avions vu il y a 2 ou 3 jours ,il n'y a pas de gros apport c'est dommage!!
Sinon tout les id sont passés en dure se qui fait qu'on doit refaire la fonction pour un sité déjà existant se qui fait qu'on ne peut l'utiliser tel quel.
Essaye de mmetre les id en parametre de tes fonctions :)
gillardg
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
perso j'utilise directement
http://www.google.be/language_tools + de langues voici les tag
<select id="languedorigine">
<option value="de">Allemand</option>
<option value="en" selected="selected">Anglais</option>
<option value="ar">Arabe</option>
<option value="bg">Bulgare</option>
<option value="ca">Catalan</option>
<option value="zh-CN">Chinois</option>
<option value="ko">Coréen</option>
<option value="hr">Croate</option>
<option value="da">Danois</option>
<option value="es">Espagnol</option>
<option value="fi">Finnois</option>
<option value="fr">Français</option>
<option value="el">Grec</option>
<option value="iw">Hébreu</option>
<option value="hi">Hindi</option>
<option value="id">Indonésien</option>
<option value="it">Italien</option>
<option value="ja">Japonais</option>
<option value="lv">Letton</option>
<option value="lt">Lituanien</option>
<option value="nl">Néerlandais</option>
<option value="no">Norvégien</option>
<option value="pl">Polonais</option>
<option value="pt">Portugais</option>
<option value="ro">Roumain</option>
<option value="ru">Russe</option>
<option value="sr">Serbe</option>
<option value="sk">Slovaque</option>
<option value="sl">Slovène</option>
<option value="sv">Suédois</option>
<option value="tl">tagalog</option>
<option value="cs">Tchèque</option>
<option value="uk">ukrainien</option>
<option value="vi">vietnamien</option>
</select>

<select id="languetraduite">
<option value="de">Allemand</option>
<option value="en" selected="selected">Anglais</option>
<option value="ar">Arabe</option>
<option value="bg">Bulgare</option>
<option value="ca">Catalan</option>
<option value="zh-CN">Chinois</option>
<option value="ko">Coréen</option>
<option value="hr">Croate</option>
<option value="da">Danois</option>
<option value="es">Espagnol</option>
<option value="fi">Finnois</option>
<option value="fr">Français</option>
<option value="el">Grec</option>
<option value="iw">Hébreu</option>
<option value="hi">Hindi</option>
<option value="id">Indonésien</option>
<option value="it">Italien</option>
<option value="ja">Japonais</option>
<option value="lv">Letton</option>
<option value="lt">Lituanien</option>
<option value="nl">Néerlandais</option>
<option value="no">Norvégien</option>
<option value="pl">Polonais</option>
<option value="pt">Portugais</option>
<option value="ro">Roumain</option>
<option value="ru">Russe</option>
<option value="sr">Serbe</option>
<option value="sk">Slovaque</option>
<option value="sl">Slovène</option>
<option value="sv">Suédois</option>
<option value="tl">tagalog</option>
<option value="cs">Tchèque</option>
<option value="uk">ukrainien</option>
<option value="vi">vietnamien</option>
</select>
lakichemole
Messages postés
253
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
18 mai 2009

gillardg et finalement ça traduit quoi?(quelle block/div)
bibi95150
Messages postés
5
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
27 novembre 2008

C'est parfait ! Merci pour cette excellente source, du bon boulot (en 3/4 d'heure, en +) !
ACHENRI
Messages postés
12
Date d'inscription
dimanche 21 novembre 2004
Statut
Membre
Dernière intervention
2 décembre 2008

ça marche avec le texte que l'on entre dans la ListBox.
J'aimerais ajouter un bouton "Traduire..." sur les pages de mon site. Comment faire alors pour choisir la langue et traduire une page HTML complète via Google ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.