Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/03/2012, à 00: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 wink



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 wink)
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, à 15:24)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#2 Le 14/03/2012, à 00: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 tongue

Et voilà, c'était pas si dur avec un peu d'aide wink


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, à 14:04)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#3 Le 14/03/2012, à 21:34

cracolinux

Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate

Putain, c'est cool !
Merci !


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#4 Le 14/03/2012, à 21: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 smile


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#5 Le 14/03/2012, à 21: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.)


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#6 Le 14/03/2012, à 22: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.


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#7 Le 14/03/2012, à 22:21

cracolinux

Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate

Sortie graphique :
1331756429.png


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#8 Le 14/03/2012, à 22: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 ?


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#9 Le 14/03/2012, à 22:39

cracolinux

Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate

Eh bien, ça fonctionne... hmm


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#10 Le 14/03/2012, à 22: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, à 22:56)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#11 Le 14/03/2012, à 23:14

cracolinux

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


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#12 Le 14/03/2012, à 23:26

sputnick

Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate

cracolinux a écrit :
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: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..


@cracolinux: Tu a quoi comme environnement ? gnome, KDE, xfce ?


@all: Au fait, j'ai corrigé le tuto, j'avais oublié un cd


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#13 Le 14/03/2012, à 23: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 wink

Dernière modification par sputnick (Le 14/03/2012, à 23:47)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#14 Le 15/03/2012, à 03: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 wink


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#15 Le 15/03/2012, à 10:58

cracolinux

Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate

sputnick a écrit :

@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

big_smile

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, à 11:23)


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#16 Le 15/03/2012, à 11: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, à 13: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


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#18 Le 16/03/2012, à 10: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, à 19:29

sputnick

Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate

gl38 a écrit :

Bravo et merci pour ce programme.
Cordialement,
Guy

Merci à toi gl38


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#20 Le 02/04/2012, à 18: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, à 18:11)


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#21 Le 02/04/2012, à 20: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/


https://github.com/sputnick-dev/google_translate


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#22 Le 02/04/2012, à 23: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, à 23:14)


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#23 Le 02/04/2012, à 23: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)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#24 Le 03/06/2012, à 14: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 !

wink

Edit : j'adore tellement que j'en corrige même mes fautes d'orthographe !

Dernière modification par cracolinux (Le 03/06/2012, à 20:58)


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#25 Le 03/06/2012, à 18:27

sputnick

Re : [Script] Traducteur textuel en GUI et/ou CLI avec google translate

Merci cracolinux smile


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne