Google Translate et nos amis Chinois

Toujours le même problème de langues sur internet. Les commentaires en russe sur Youtube … Un mot de que l’on ne comprend pas dans un texte en langue étrangère …

Aperçu de la fenêtre de traductionIl y a quelques mois, en cherchant un addon Firefox permettant d’avoir une traduction en passant le curseur sur un mot, je suis tombé sur un script Greasemonkey qui faisait ça très bien. Enfin, pas tant que ça. Google Translator Tooltip est basé sur Google Translate comme l’indique son nom. Ok, c’est pratique, ça fonctionne dans toutes les langues, j’ai maintenant le bonheur de comprendre les commentaires dans des langues incompréhensibles sur 9gag. Le problème, c’est qu’une unique traduction, c’est assez médiocre pour s’en servir comme d’un dictionnaire. Surtout quand Google Translate indique plusieurs alternatives sur le site.

Il n’en fallait pas plus pour me donner envie de bidouiller une amélioation et Google Translator Expanded est né. Après 2 mois, le script a passé hier la barre des 5000 téléchargements, (un score très bon pour userscript.org, surtout avec un ratio de près de 1 “fan” pour 100 téléchargements). Cela mérite bien un article !

Plus d’API gratuite pour Google Translate … ça donne envie d’aller voir comment marchent leurs requêtes AJAX !

Il fut un temps où Google fournissait généreusement une API pour Google Translate. Cette époque est révolue mais ce n’est pas pour autant qu’il n’est plus possible d’aller se servir à la source. Seulement, les scripts que j’ai pu trouver n’étaient pas vraiment élégants : ils demandent la page web complète et récupèrent le contenu de la balise où se trouve la phrase traduite. Déjà,c’est particulièrement laid, mais surtout cela ne permet de récupérer que la phrase complète. De nombreuses informations complémentaires sont disponibles, mais cette fois ci, plus possible de trouver facilement un moyen de les récupérer dans le code HTML. Mais bon, comme tout se charge dynamiquement, autant aller regarder les requêtes AJAX. Et c’est à que cela devient amusant : le résultat est un tableau assez indigeste qui contient un bon paquet d’informations intéressantes. Et ce n’est pas si simple de s’y retrouver.

[
	[
		["To a cat show are purebred cats presented by breeders and owners","Auf einer Katzenausstellung werden Rassekatzen von Z??ern und Haltern pr?ntiert","",""]
	],,"de",,
	[
		["To",[4],1,0,883,0,1,0],
		["a cat show",[5],1,0,883,1,4,0],
		["are",[6],1,0,556,4,5,0],
		["purebred cats",[7],1,0,524,5,7,0],
		["presented by",[8],1,0,515,7,9,0],
		["breeders and owners",[9],1,0,883,9,12,0]
	],
	[
		[
			"Auf",4,
			[
				["To",883,1,0],
				["At",76,1,0],
				["On",0,1,0],
				["In",0,1,0],
				["Onto",0,1,0]
			],[[0,3]],
			"Auf einer Katzenausstellung werden Rassekatzen von Z??ern und Haltern pr?ntiert"
		],
		[
			"einer Katzen Ausstellung",5,
			[["a cat show",883,1,0]],[[4,27]],""
		],
		["werden",6,[["are",556,1,0],["will",327,1,0],["be",0,1,0],["to be",0,1,0],["will be",0,1,0]],[[28,34]],""],
		["Rasse Katzen",7,[["purebred cats",524,1,0],["pedigreed cats",31,1,0],["breed cats",6,1,0],["race cats",0,1,0],["Rassekatzen",0,1,0]],[[35,46]],""],
		["pr?ntiert von",8,[["presented by",515,1,0],["brought to you by",0,1,0],["Powered by",0,1,0]],[[47,50],[72,83]],""],
		["Z??ern und Haltern",9,[["breeders and owners",883,1,0]],[[51,71]],""]
	],,,[["de"]],27
]

Un tableau de 10 cases, avec des cases vides et d’autres remplies de chiffres. En regardant sur plusieurs requêtes faites dans différentes langues, on arrive à trouver les informations intéressantes :

  • Dans la case 0, la traduction principale coupée en petits morceaux.
  • Dans la case 1, des informations sur la grammaire, si les informations sont disponibles pour le couple de langues considéré.
  • Dans la case 5, les traductions alternatives pour chacun des groupes de mots.

largeC’est rempli de chiffres qui indiquent la longueur de chaque segment et l’endroit où il se trouve. Il y a de nombreuses subtilités dans la manière avec laquelle le texte est découpé lorsque l’on traduit des phrases entières, avec plusieurs paragraphes. Certaines informations ne seront affichées que dans certaines langues, en particulier dans les langues qui n’utilisent pas l’alphabet latin. Mais avec un peu de patience, on arrive à comprendre la structure du tableau, et à en extraire les précieuses informations. Victoire !

Une planète peuplée de chinois

Oui, il y a plein de Chinois sur Terre, c’est bien connu. Mais malgré le grand nombre d’internautes en Chine, il est très rare de tomber sur des sites chinois lorsque l’on cherche des information. C’est donc avec surprise que j’ai découvert le grand nombre de scripts faits par des Chinois sur userscript.org. Les Chinois ne sont donc pas une légende, ils existent vraiment sur internet (en dehors des bot de farm présents sur tous les MMORPG) !

Quand j’ai commencé à voir dans la liste des “fans” les noms du genre 烧坏的内存条, wuji2004 et bien d’autres camarades, j’ai commencé à me dire que la proportion de Chinois était bien plus élevée que ce à quoi on aurait pu s’attendre. On notera tout de même qu’il n’ont pas toujours une imagination débordante dans leur choix de pseudo : zxjsdp, qdfk, k9hy … Mais bon, passons.

Là où j’ai vraiment été surpris, c’est quand j’ai lu ce commentaire :

it’s good idea to use translate.google.fr instead of translate.google.com or www.google.com in this script. it works very well even in china.

Je n’avais même pas fait attention, j’avais juste copié l’url d’où venaient les requêtes AJAX sans réfléchir. Impossible de prévoir que cette “fonctionnalité” allait faire le succès de ma version du script … A tel point que lorsque je cherche les sites où le script est cité, il s’agit exclusivement de blogs et forums chinois. Pas étonnant alors qu’ils soient si nombreux parmi les “fans”.

La dernière chose qui par contre me surprend, c’est que très souvent sur les forums en questions, des utilisateurs demandent si quelqu’un veut se charger de traduire le script. Il doit y avoir 2-3 moits d’écrit, “Save” et “Cancel”, “From” et “To”. Ce n’est pas comme s’il s’agissait d’un script qui sert justement à traduire, donc qui s’adresse à des gens qui ont un minimum de connaissances en anglais s’ils vont s’aventurer sur des sites qui ne sont pas en chinois. Alors pourquoi vouloir une traduction du script ? Est-ce juste la traduction de Google qui est mauvaise et qui change le sens des commentaires en question, ou bien un nationalisme forcené qui justifie la traduction de tout sans exception, pour ne pas être sali en lisant de l’anglais ? Un grand mystère culturel à élucider.

Pourquoi s’arrêter en si bon chemin ?

Avec toutes ces requêtes, ça donne envie d’en tirer des statistiques. De mesurer la vitesse de lecture, les mots qui reviennent, et plein d’autres joyeusetés. Mais tout ça, ce sera pour un prochain article.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

What is 6 + 5 ?
Please leave these two fields as-is:
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)