begin process at 2012 02 14 03:37:56
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > TRADUCTION DE TEXTE

TRADUCTION DE TEXTE


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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 :8 730

Auteur : zoby44

Ecrire un message privé
Commentaire sur cette source (14)
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.

 Sources du même auteur

Source avec Zip LIGHTBOX SANS ONCLICK ET AVEC REDIMENSIONNEMENT

 Sources de la même categorie

COLONNES ADAPTABLES EN HAUTEUR par dronoide
Source avec Zip VECTEURS ET MATRICES: OUTILS GRAPHIQUES UTILES par william voirol
Source avec Zip Source avec une capture HTML5 PLAYER par kazma
Source avec Zip Source avec une capture SCROLLBAR PERSONNALISABLE par kazma
Source avec Zip INFO BULLE par RudiRatlos

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture GOOGLE MAP API V3 CARTE, MARQUEUR, INFOWINDOWS par varfendell
Source avec Zip Source avec une capture TROUVER UN ITINÉRAIRE AVEC GOOGLE MAP par amrounix
Source avec Zip Source avec une capture TRADUCTION IMMÉDIATE D'UN MOT [TIM] par bultez
Source avec Zip Source avec une capture TRADUCTION AVEC GOOGLE [ TAG ] par bultez
Source avec Zip Source avec une capture ANTI LANGAGE SMS ! par MATHIS49

Commentaires et avis

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.
@+

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+
  

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

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.

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 !

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

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

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.

Commentaire de Testers le 10/12/2008 21:04:46

c bien

Commentaire de mojchris le 26/08/2009 18:55:57

Excellent script mais j'aurais une petite question, comment faire pour qu'il n'y ait pas de langue d'origine (au lieu du fr , rien) est ce possible?
Merci d'avance

Commentaire de zoby44 le 26/08/2009 19:17:21

Salut. A mon avis, c'est possible. Google propose une détection de langage. Il faut aller faire un tour au niveau de l'api : http://code.google.com/intl/fr/apis/ajaxlanguage/documentation/#Detect
Je n'ai pas testé, mais ca ne doit pas être très compliquer à mettre en place.

Commentaire de mojchris le 26/08/2009 19:44:33

Je vais l'intégrer dans une div (include file='xxxxx') penses tu que ça ira aussi au niveau détection?

Commentaire de zoby44 le 26/08/2009 19:53:01

Ba c'est du javascript, donc le mieux, c'est de le mettre dans le <head/>. Après, si dans le js le champs à modifier est bien renseigné, je ne pense pas qu'il y ai de soucis pour la détection. Par contre, attention, si le texte est trop long, la traduction ne ce feras pas, il y à une limitation au niveau du nombre de caractère (je ne sais pas de combien). Peut-être qu'avec cette api ( http://code.google.com/p/gtranslate-api-php/ ) on peut résoudre ce problème.
Sinon, hésite pas à lire la doc, les exemples sont pas mal pour comprendre.

Commentaire de plarts le 15/06/2010 14:28:02

Question ? est ce que cet API est limitée en nombre de caractères ?
J'ai essayé des textes courts, pas de problème, excellent.
Aux environ de 1000 carcatères ou plus, la traduction ne se fait plus.
sans erreur JavaScript.

Voici le texte essayé : (les  br  ne gènent pas).
=================================================
Marina à vivre, en pleine ville, moderne et bien gérée,<br>
elle offre toutes les garanties de sécurité. A terre, comme en mer.<br>
C'est le meilleur endroit pour laisser son bateau et visiter la Crète. Nous y avons passé un hiver complet en 2001, et en gardons un excellent souvenir. Nous y sommes repassé, il y a deux ans, et y avons retrouvé le même charme.<br>
Les crétois diffèrent des grecs, et sont faciles et agréables à côtoyer. La France et les français bénéficient d'une cote d'amour. 7 ans après, beaucoup de gens nous ont reconnus et salués.<br>
Loin de tout, les tarifs de la marina sont raisonnables, pour un voilier de 12 mètres :
Pour 1 an : 2.670 euros à flot<br>
Pour 1 journée : 29 euros<br>
Pour 6 mois d'hiver : 1.320 euros<br>
Lift et nettoyage : 500 euros.<br>
L'un des problèmes de cette marina, est que si il est assez facile d'y arriver, il se peut que l'on ait à attendre pour repartir....<br>
C'est un coin ou çà souffle fort. Or, vers l'Est, avec le vent portant, c'est le détroit de Rhodes et Karpathos, un coin pourri de chez pourri...<br>
Et vers le Nord, c'est route sur Santorin : 90 miles à faire au prés, contre le clapot...<br>
On l'a fait avec un Fantasia... Il y a comme çà, des souvenirs qui marquent....
============================================================================

Merci pour toute réponse,
Pierre.

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

Comparez les prix

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 : 1,170 sec (3)

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