Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TRADUCTION DE TEXTE


Information sur la source

Catégorie :Divers Classé sous : traduction, google, langue, mutli langue, langage Niveau : Débutant Date de création : 24/11/2008 Date de mise à jour : 24/11/2008 00:54:09 Vu : 1 506

Note :
9 / 10 - par 3 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

Bonjour a tous, tout d'abord, je précise que c'est la première source que je dépose ici.
Entrons dans le vifs du sujet.Ce que je vous propose, c'est un système permettant de traduire une div grâce à l'API de Google translate. Vous pouvez utilisez toutes les langues traduites par google, ce script est assez simple, mais efficace (enfin je pense ^^,). L'avantage, par rapport à l'exemple fournis par google, c'est que si l'on décide de revenir à la langue d'origine, il n'y a pas de double traduction. Assez de blabla, place au code :
 

Source

  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • <html>
  • <head>
  • <script type="text/javascript" src="http://www.google.com/jsapi"></script>
  • <script type="text/javascript">
  • google.load("language", "1");
  • function translate(lang)
  • {
  • var text = document.getElementById("text").innerHTML; //on récupère le texte d'origine
  • var org = document.getElementById("lang_origin").value;// on récupère la langue d'origine
  • var trans = document.getElementById("translation");// Nom de la div où afficher le texte
  • if (lang == org) // Si te texte choisis est le même que celui d'origine
  • {
  • trans.innerHTML = text;//aucune modification
  • }
  • else //Sinon on le traduit
  • {
  • google.language.translate(text, org, lang, function(result) { //tiré de l'API Google translate
  • if (!result.error) {
  • trans.innerHTML = result.translation;
  • }
  • });
  • }
  • }
  • function chargertxt() //On affiche le texte dans sa langue d'origine au chargement de la page
  • {
  • document.getElementById('translation').innerHTML = document.getElementById('text').innerHTML;
  • }
  • </script>
  • <style type="text/css"> <!-- On n'affiche pas le texte d'origine étant donné qu'il seras affiché dans le div translation-->
  • #text
  • {
  • display:none;
  • }
  • </style>
  • </head>
  • <body onload="chargertxt();">
  • <form action="#" method="post">
  • <select onchange="translate(this.value)"> <!-- Choix des langue, bien sur, ou peu faire la même chose en mettant des liens(avec les drapeaux des pays par exemple) -->
  • <option value="fr">Francais</option>
  • <option value="en">English</option>
  • <option value="es">Español</option>
  • <option value="el">Greek</option>
  • <option value="de">German</option>
  • </select>
  • <input type="hidden" id="lang_origin" value="fr"/>
  • </form>
  • <div id="text">Ici, vous mettez votre texte.</div><!-- on écrit le texte d'origine, normalement, les balises HTML sont prisent en compte par l'API google, donc aucun problème pour mettre des liens ou des images -->
  • <div id="translation"></div><!-- C'est le div qui sera affiché à l'écran -->
  • </body>
  • </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
	<head>
		<script type="text/javascript" src="http://www.google.com/jsapi"></script>
		<script type="text/javascript">
		google.load("language", "1");
		function translate(lang)
		{
			var text = document.getElementById("text").innerHTML; //on récupère le texte d'origine
			var org = document.getElementById("lang_origin").value;// on récupère la langue d'origine
			var trans = document.getElementById("translation");// Nom de la div où afficher le texte
			if (lang == org) // Si te texte choisis est le même que celui d'origine
			{
				trans.innerHTML = text;//aucune modification
			}
			else //Sinon on le traduit
			{
				google.language.translate(text, org, lang, function(result) { //tiré de l'API Google translate
					if (!result.error) {
						trans.innerHTML = result.translation;
					}
				});
			}
		}
		function chargertxt() //On affiche le texte dans sa langue d'origine au chargement de la page
		{
			document.getElementById('translation').innerHTML = document.getElementById('text').innerHTML;
		}
		</script>
		<style type="text/css"> <!-- On n'affiche pas le texte d'origine étant donné qu'il seras affiché dans le div translation-->
			#text
			{
				display:none;
			}
		</style>
	</head>
	
	<body onload="chargertxt();">
		 <form action="#" method="post">
			<select  onchange="translate(this.value)"> <!-- Choix des langue, bien sur, ou peu faire la même chose en mettant des liens(avec les drapeaux des pays par exemple) -->
				<option value="fr">Francais</option>
				<option value="en">English</option>
				<option value="es">Español</option>
				<option value="el">Greek</option>
				<option value="de">German</option>
			</select>
			<input type="hidden" id="lang_origin" value="fr"/>
		 </form>
		 <div id="text">Ici, vous mettez votre texte.</div><!-- on écrit le texte d'origine, normalement, les balises HTML sont prisent en compte par l'API google, donc aucun problème pour mettre des liens ou des images -->
		 <div id="translation"></div><!-- C'est le div qui sera affiché à l'écran -->
	</body>
</html>

Conclusion

Ça, c'est fait ! Maintenant, libre à vous de le customiser comme bon il vous semble. J'ai décidé d'utiliser <style></style> car je ne trouvais pas nécessaire de créer un CSS juste pour une ligne. N'hésitez pas à laisser vos commentaires.
 

Historique

24 novembre 2008 00:54:09 :
correction de faute de frappes.

Commentaires et avis

signaler à un administrateur
Commentaire de Bul3 le 24/11/2008 09:31:19

intéressant.
un textarea, par exemple, à la place du div "text"
permettrait la saisie du texte à traduire.
@+

signaler à un administrateur
Commentaire de Kimjoa le 24/11/2008 10:40:18

super , je savais pas que l'on pouvait faire ça avec google. on pourrais même envisager de remplacer tout les n½uds texte d'une page ou d'un wysiwyg, si la traduction est efficace... a+
  

signaler à un administrateur
Commentaire de XtremDuke le 24/11/2008 12:26:31 7/10

Très bonne idée de faire découvrir cette api.
Source qui a son utilité ! Et pour la première fois, je vais mettre une note tient...

signaler à un administrateur
Commentaire de zoby44 le 24/11/2008 15:47:37

Merci pour vos commentaires. Après, on peux imaginer tout ce que l'on veux. Créer un  outil de traduction avec un textarea(comme le dit BUL3) ou même créer tout son site dans le div "text". Pratique pour rendre un site entièrement traductible.

signaler à un administrateur
Commentaire de CodeurleGeek le 24/11/2008 17:00:22 10/10

Super, j'ai utilisé un div et le rendu est nickel !
Super, I used a div and the record is nickel!
Super, he usado un div y el registro es de níquel!
Super, ?? ?????????????? ??? div ??? ?? ??????? ????? ?????!
Super, habe ich einen div und das Rendering Nickel!

(Ca traduit pas super !)

Bravo quand même !

signaler à un administrateur
Commentaire de warpcom le 25/11/2008 11:13:27

Excellent,tous ce que j ai a faire c est de mettre une zone de text ou textarea pour avoir un dictionnaire dans mes page.

merci pour le code

signaler à un administrateur
Commentaire de lakichemole le 25/11/2008 14:25:09 10/10

Envoi un mail à google CODEURLEGEEK :)
Moi je aussi je suis content que tu m'ais fait découvrir cette api :)

signaler à un administrateur
Commentaire de zoby44 le 25/11/2008 16:18:30

Pour ce qui est de ta traduction il faut voir ça avec google, comme le dit lakichemole. En tout cas, content que ça vous plaise.

signaler à un administrateur
Commentaire de Testers le 10/12/2008 21:04:46

c bien

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Search with Google [ par lebarn ] &lt;a HREF='http://www.google.fr' TITLE='Search with Google'&gt;Search with Google&lt;/A&gt; question sur la performance du langage [ par baptisteb ] j'utlise java script pour mes loisirs, la question que je voudrais poser est-ce que c'est possible de créer des programmes performant par exemple tabl script de langue [ par quitues ] bonjour a tous, je recherche 1 script avec des cookies qui retiendrait le choix d'une langue.je m'explique : le visiteur arrive pour la 1er fois sur l Recherche Manuel HTML à télécharger [ par Ordiman ] Bonjour, je suis à la recherche d'un manuel de référence du langage HTML comme le manuel du langage PHP ou MySQL disponible sur nexen.netPourriez-vous pb de javascript côté serveur [ par Yoobi ] Bonjour,Débutant en javascript, je m'essaie à faire un site.Cependant, maintenant que je l'ai sur le serveur, je suis face à un pb me dépassant.C'est Garder valeurs champs d'un formaulaire avec differentes URL [ par Bbeat ] Je cherche une solution pour garder les valeurs de champs d'un formulaire apres le changement d'URL.Je m'explique, site internet avec pages d'acceuil Besoin d'aide pour créer un cookie [ par gproulx ] Bonjour à tous!J'ai un petit problème. Je dois créer un cookie, seulement j'ai jamais fait cela et n'étant que graphiste pour site web, la programmati Notes de musique langage C [ par BaptX ] O/S: Windows 2kEnvironnement: Dev-C++---------------Coucou &#224; tous,Toujours dans le cadre de mon projet REVERSI, j'aimerai jouer de la musique qua pour supprimer la pub de 100Webspace.com [ par ] salut mecsdans le but de supprimer la pub de l'hebergeur gratuit php/mysql www.100webspace.com&nbsp;,je poste ce message pour construire une script an Onfocus -> change la langue du champ [ par sergiodonini ] Bonjour les amis j'ai besoin de savoir comment changer la langue d'un champ d'un formulaire html de l'Arabe en Francais et vis versa lorsque je met le


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,562 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.