#1 Le 13/03/2012, à 23:53
- sputnick
[Script] Traducteur textuel en GUI et/ou CLI avec google translate
GOOGLE_TRANSLATE
Ce vieux script [polytranslator] Traducteur textuel en GUI ou CLI est déprécié, car l'API google V1 n'est plus disponible et la V2 est payante. On va quand même pas prévoir un budget traduction par ces temps incertains, alors que la consultation du site est gratuite ? Ptet ben que non (comme disait mon grand-père qui avait du bon sens (près de chez lui...)).
Ce que je propose:
c'est un script ré-écrit from scratch en python (l'autre était en perl) qui va traduire instantanément et automatiquement tout texte sélectionné d'une langue vers une autre (en graphique ou tout argument de la ligne de commande pour le mode commande) grâce à l'utilisation du site translate.google.fr. La traduction google est la meilleure sur le web. Il est assez fastidieux d'ouvrir une page de navigateur, trouver la bonne page de traduction, s'y rendre, copier coller le texte depuis une autre fenêtre, choisir les langues, valider... Il doit y avoir moyen d'y remédier
A savoir:
Le script ne respecte sûrement pas les conditions d'utilisations de google : le user-agent (empreinte du navigateur) est celui de Firefox. Vous utiliserez le script à vos risques et périls (en même temps, vous risquez pas grand chose )
Merci d'éviter de s'en servir pour une utilisation industrielle par contre.
Démo GUI (Graphic User Interface):
( je clique sur windows-l pour traduire de Anglais->Français et windows-majuscule-l pour traduite de Français->Anglais)
Démo CLI (Command Line Interface):
$ google_translate
Usage:
google_translate <OPTS>
-h | --help this help
-f <from> | --from <from> original language
-t <to> | --to <to> destination language
-w <text> | --words <text> text
-v | --version google_translate version
Example:
google_translate -f en -t fr -w "A grey hat"
See http://translate.google.com/about/intl/en_ALL/ for all supported languages
Marche à suivre pour l'installation (en user simple, pas de sudo) :
ouvrir un terminal comme gnome-terminal
cd
mkdir -p bin
cd bin
wget -N https://raw.github.com/sputnick-dev/google_translate/master/google_translate.py -O google_translate
chmod +x google_translate
Les paquets systèmes, à utiliser tel quel en ligne de commande ou bien via synaptic :
CLI uniquement :
sudo apt-get install python-lxml python-mechanize
CLI et GUI
sudo apt-get install python-lxml python-mechanize xsel zenity
la commande google_translate est maintenant accessible dans le système à condition que la variable PATH contienne ~/bin (voir http://doc.xubuntu-fr.org/tutoriel/script_shell partie modifier le PATH)
Pour la partie graphique, je vous invite à créer un raccourci clavier dans votre gestionnaire de fenêtres (KDE, Gnome, XFCE...), afin de pouvoir traduire très rapidement tout texte sélectionné depuis n'importe où (comme dans la vidéo).
Cela est fait grâce à cette commande :
bash -c 'LANG="fr_FR.UTF-8" zenity --info --text "$($HOME/bin/google_translate -f en -t fr -w "$(xsel)")"'
Tuto raccourci clavier pour Ubuntu 11.10 de base (gnome, unity)
Pour aller plus loin:
vous pouvez bidouiller la sortie du script avec festival
Dernière modification par sputnick (Le 06/07/2013, à 14:24)
Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. Confucius
https://sputnick.fr
Hors ligne
#2 Le 13/03/2012, à 23:55
- sputnick
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
CREER UN RACCOURCI CLAVIER POUR UBUNTU 11.10 DE BASE
... (gnome, unity), afin d'avoir la partie graphique facilement.
On va prendre comme exemple le script pour la traduction de Anglais vers Francais
Placez vous dans le répertoire des scripts persos, si vous avez suivi les instructions du post du dessus, ouvrez un terminal en user simple (toujours pas sudo), puis :
cd ~/bin
wget http://www.sputnick-area.net/ftp/downloads/en-fr
chmod +x en-fr
Ce script sert juste à appeler google_translate avec les bonnes options, pour le passer à zenity qui a le bon gout d'exister pour afficher des fenêtres graphiques pour afficher la traduction (voir capture video du premier post). Il nous reste à créer les raccourcis, sous Ubuntu/Gnome, c'est pas si facile que ça. (sous KDE, il suffit d'aller dans ses préférences systèmes).
Voici la manip pas à pas, on va pour cela, installer ubuntu-tweak (n'ai pas peur, ça fait pas mal tu verra, pas trop...)
sudo apt-get install ubuntu-tweak
(ou alors ouvrez synaptic ou la logithèque)
ensuite ouvrez ubuntu-tweak (par les menus ou en terminal)
- on clique en haut sur Admins puis
- Touches de raccourci puis chercher une ligne où il est ecrit dans le champ Commande: Aucun
- double cliquer sur aucun, entrer en-fr
- double cliquez sur touche
- entrez le raccourci clavier désiré (perso j'utilise windows+l pour en-fr et windows+majuscule+l pour fr-en; l comme language)
- testez votre nouveau raccourci
Et voilà, c'était pas si dur avec un peu d'aide
Rhoo l'autre, et les autres langues ?
Bon avec tout ça, vous avez pas grand chose à modifier, juste copier en-fr en fr-en par exemple et éditer fr-en pour échanger les options -f et -t
Pour les autres langues comme pour Abuela qui est au Pérou ou tonton Fritz en Bavière, le principe est le même.
Ca marche toujours pas ton truc !
Si "ça marche pas", allez directement à la section "2.4 Affecter des raccourcis clavier avec Ubuntu tweak "
et au pire je (on) est pas loin...
Vous pouvez reprendre une activité normale, merci de votre patience...
Dernière modification par sputnick (Le 15/03/2012, à 13:04)
Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. Confucius
https://sputnick.fr
Hors ligne
#3 Le 14/03/2012, à 20:34
- cracolinux
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Putain, c'est cool !
Merci !
Hors ligne
#4 Le 14/03/2012, à 20:55
- sputnick
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Content que ça te plaise, merci. En plus c'est rapide :
$ time ~/bin/google_translate -f en -t fr -w "A grey hat"
Un chapeau gris
real 0m0.655s
user 0m0.253s
sys 0m0.027s
Un peu plus d'une demi seconde
Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. Confucius
https://sputnick.fr
Hors ligne
#5 Le 14/03/2012, à 20:59
- cracolinux
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Par contre, j'arrive pas à configurer le raccourci clavier qui va bien...
Est-ce que ça pourrait être lié au fait que j'ai mis le script dans un autre répertoire que ~/bin ? (c'est un répertoire du PATH, hein.)
Hors ligne
#6 Le 14/03/2012, à 21:09
- sputnick
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Ben il faut adapter cette commande :
LANG="fr_FR.UTF-8" zenity --info --text "$($HOME/bin/google_translate -f en -t fr -w "$(xsel)")"
par (exemple de /usr/local/bin)
LANG="fr_FR.UTF-8" zenity --info --text "$(/usr/local/bin/google_translate -f en -t fr -w "$(xsel)")"
Si ça marche pas, lance la commande dans un terminal et copie colel le resultat ici.
Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. Confucius
https://sputnick.fr
Hors ligne
#7 Le 14/03/2012, à 21:21
- cracolinux
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Hors ligne
#8 Le 14/03/2012, à 21:36
- sputnick
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
si tu lance la commande complete comme ce que tu a mis comme raccourci en cli, ca donne quoi ?
Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. Confucius
https://sputnick.fr
Hors ligne
#9 Le 14/03/2012, à 21:39
- cracolinux
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Eh bien, ça fonctionne...
Hors ligne
#10 Le 14/03/2012, à 21:55
- sputnick
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Que donnes ça dans un raccourci ?
/usr/bin/zenity --info --text "DEBUG:$LANG:END"
T'a essayé d'enlever LANG="fr_FR.UTF-8" dans la commande ? Voir de remplacer avec LANG="fr_FR.ISO-8859-15"
Fait des essais et dit moi
Dernière modification par sputnick (Le 14/03/2012, à 21:56)
Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. Confucius
https://sputnick.fr
Hors ligne
#11 Le 14/03/2012, à 22:14
- cracolinux
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Que donnes ça dans un raccourci ?
/usr/bin/zenity --info --text "DEBUG:$LANG:END"
dans un terminal, zenity me sort : DEBUG:fr_FR.UTF-8:END
dans un raccourci, zenity me sort : DEBUG:$LANG:END
T'a essayé d'enlever LANG="fr_FR.UTF-8" dans la commande ? Voir de remplacer avec LANG="fr_FR.ISO-8859-15"
Fait des essais et dit moi
J'ai essayé tout ça...mais rien n'y fait..
Hors ligne
#12 Le 14/03/2012, à 22:26
- sputnick
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
sputnick a écrit :Que donnes ça dans un raccourci ?
/usr/bin/zenity --info --text "DEBUG:$LANG:END"
dans un terminal, zenity me sort : DEBUG:fr_FR.UTF-8:END
dans un raccourci, zenity me sort : DEBUG:$LANG:ENDT'a essayé d'enlever LANG="fr_FR.UTF-8" dans la commande ? Voir de remplacer avec LANG="fr_FR.ISO-8859-15"
Fait des essais et dit moi
J'ai essayé tout ça...mais rien n'y fait..
@cracolinux: Tu a quoi comme environnement ? gnome, KDE, xfce ?
@all: Au fait, j'ai corrigé le tuto, j'avais oublié un cd
Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. Confucius
https://sputnick.fr
Hors ligne
#13 Le 14/03/2012, à 22:42
- sputnick
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Fais un script dans /home/seb/.scripts, je pense que le bleme c'est que certains windows manager ne lance pas les commandes dans un shell.
Par exemple /home/seb/.scripts/google_translate_en_fr
#!/bin/bash
LANG="fr_FR.UTF-8" zenity --info --text "$(/home/seb/.scripts/google_translate -f en -t fr -w "$(xsel)")"
chmod +x /home/seb/.scripts/google_translate_en_fr
Et tu remplace le raccourci par ce script
Dernière modification par sputnick (Le 14/03/2012, à 22:47)
Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. Confucius
https://sputnick.fr
Hors ligne
#14 Le 15/03/2012, à 02:54
- sputnick
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Voici un tuto pour les raccourcis : http://forum.ubuntu-fr.org/viewtopic.ph … 1#p8477591
Testé dans une ubuntu 10.10 VMware en fr_FR.UTF8 sans souci
Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. Confucius
https://sputnick.fr
Hors ligne
#15 Le 15/03/2012, à 09:58
- cracolinux
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
@cracolinux: Tu a quoi comme environnement ? gnome, KDE, xfce ?
Gnome
Fais un script dans /home/seb/.scripts, je pense que le bleme c'est que certains windows manager ne lance pas les commandes dans un shell.
Par exemple /home/seb/.scripts/google_translate_en_fr#!/bin/bash
LANG="fr_FR.UTF-8" zenity --info --text "$(/chemin/vers-mon/dossier-de-scripts/google_translate -f en -t fr -w "$(xsel)")"
chmod +x /home/seb/.scripts/google_translate_en_fr
Et tu remplace le raccourci par ce script
Merci, ça marche, j'y avais pas pensé !
Du coup le raccourci peut devenir :
bash -c 'LANG="fr_FR.UTF-8" ; zenity --info --text "$(/home/seb/.scripts/google_translate -f en -t fr -w "$(xsel)")"'
Ça évite le script supplémentaire.
Merci pour ton script, ça va servir!
Dernière modification par cracolinux (Le 15/03/2012, à 10:23)
Hors ligne
#16 Le 15/03/2012, à 10:19
- Thibaud
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Merci Sputnick
Bienvenue sur mon site perso : http://thibaud.hulin.free.fr/dokuwiki
Pour l'utilisabilité et l'ergonomie des logiciels libres : http://ergolibre.tuxfamily.org
Apprentissage libre des langues : http://polyglotte.tuxfamily.org et http://www.akademia.ch/websites/ergolang/
Hors ligne
#17 Le 15/03/2012, à 12:27
- sputnick
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
@cracolinux; ok, cool que ca marche, je vais peux etre proposer aussi cette solution, même si ça fait un peu fouillis, je vais voir
@Thibaud: merci de tes encouragements
Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. Confucius
https://sputnick.fr
Hors ligne
#18 Le 16/03/2012, à 09:09
- gl38
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Bravo et merci pour ce programme.
Cordialement,
Guy
Hors ligne
#19 Le 21/03/2012, à 18:29
- sputnick
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Bravo et merci pour ce programme.
Cordialement,
Guy
Merci à toi gl38
Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. Confucius
https://sputnick.fr
Hors ligne
#20 Le 02/04/2012, à 17:10
- cracolinux
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
J'utilise pas mal ton script, encore une touche qui va perdre son marquage...
Est-ce qu'il serait possible de remanier le script de façon à ce qu'il transmette les différentes propositions de google quand il s'agit de la traduction d'un mot unique ?
Ce serait vraiment extra et tu deviendrais surement un de mes meilleurs copain ! !
Pour info, je me sers de ton application pour la traduction d'un jeu ! merci !
Dernière modification par cracolinux (Le 02/04/2012, à 17:11)
Hors ligne
#21 Le 02/04/2012, à 19:09
- sputnick
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Ok, bonne idée, mais c'est une nouvelle option, car c'est pas forcement le résultat attendu par tous :
$ ./google_translate.py -f en -t fr -w "dice"
dés
$ ./google_translate.py -a -f en -t fr -w "dice"
dés
noun:
cubes
dé à jouer
des clous
verb:
jouer aux dés
Si tu veut avoir "nom" et "verbe" à la place de "noun" et "verb", il suffit de changer l'URL en début de script pour http://translate.google.fr/
Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. Confucius
https://sputnick.fr
Hors ligne
#22 Le 02/04/2012, à 22:07
- cracolinux
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Merci !
Ça marche super bien!!
Tu as un python2 sur la première ligne de la version 0.2, j'ai du supprimer le 2, je sais pas si c'est normal...
C'est extra! du coup sous openbox :
<keybind key="W-f"> <!-- f pour français -->
<keybind key="p"> <!-- p pour phrase -->
<action name="Execute">
<command>bash -c 'LANG="fr_FR.UTF-8" ; zenity --info --text "$($HOME/.scripts/google_translate -f en -t fr -w "$(xsel)")"'</command>
</action>
</keybind>
<keybind key="m"> <!-- m pour mot -->
<action name="Execute">
<command>bash -c 'LANG="fr_FR.UTF-8" ; zenity --info --text "$($HOME/.scripts/google_translate -a -f en -t fr -w "$(xsel)")"'</command>
</action>
</keybind>
</keybind>
Tu me fais gagner un temps fou !
Dernière modification par cracolinux (Le 02/04/2012, à 22:14)
Hors ligne
#23 Le 02/04/2012, à 22:45
- sputnick
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Merci.
J'ai changé le shebang pour
#!/usr/bin/env python
(je susi sous archlinux, par defaut on a python3)
Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. Confucius
https://sputnick.fr
Hors ligne
#24 Le 03/06/2012, à 13:38
- cracolinux
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Whah, ce script, je l'adore tellement, que je le redis : je l'adore.
Même quand on sait lire «à peu près» de l'anglais, c'est quand même super de disposer d'une solution simple et super efficace de traduction.
La lecture de documentation sur le web, d'un vieux pdf qui traine ou même d'un forum anglophone devient beaucoup moins fatiguante.
Et les pages en allemand...c'est carrément un nouveau monde qui s'ouvre à nous, enfin à moi en tout cas !
Edit : j'adore tellement que j'en corrige même mes fautes d'orthographe !
Dernière modification par cracolinux (Le 03/06/2012, à 19:58)
Hors ligne
#25 Le 03/06/2012, à 17:27
- sputnick
Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate
Merci cracolinux
Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. Confucius
https://sputnick.fr
Hors ligne