25 mars 2014

Ubuntu / Debian: Google Translate en ligne de commande (CLI)

Depuis le temps, vous devez sans doute tous connaitre l'outil de traduction de Google qui est certainement le traducteur le plus performant et complet qui existe. Google Translate est donc disponible en ligne ou sous forme d'application, mais il est aussi possible de l'utiliser en ligne de commande sous Linux. Dans cet article, on va donc voir comment l'installer et comment l'apprivoiser. Je vous rassure tout de suite, il y a rien de bien compliqué.



Dans un premier temps, on va ouvrir un terminal et vérifier que gawk et wget sont bien installés, donc on tape:

sudo apt-get install gawk wget

Voilà, une fois que c'est bon, on va se placer dans le dossier /tmp

cd /tmp

Puis télécharger les sources en tapant:

wget https://github.com/soimort/google-translate-cli/archive/master.tar.gz

On extrait tout cela:

tar -xvf master.tar.gz

On se place dans le dossier:

cd google-translate-cli-master/

Et on installe:

sudo make install

Le plus dur est passé, maintenant, on va voir comment s'en servir et vous allez voir que c'est super bien foutu.



Par défaut, l'outil traduit tout en anglais, donc quoi que vous tapiez et dans n'importe quelle langue, l'outil vous donnera la traduction anglaise. Un petit exemple:

$ trs "bonjour"
hello
$ trs "comment tu vas ?"
how are you?

Vous voyez, vous l'appelez avec la commande trs suivi de ce que vous voulez traduire entre guillemets. Bien entendu, ça marche dans toutes les langues, petit exemple avec de l'italien:

$ trs "buongiorno, come stai ?"
hello, how are you?

Maintenant, si vous voulez traduire une langue dans une autre ou une langue dans plusieurs, vous devez connaitre le code de la langue que vous trouverez sur cette page. Donc pour l'anglais c'est en, pour le français c'est fr, pour l'espagnol c'est es, pour l'allemand c'est de, etc. Voici par exemple comment faire pour traduire de l'anglais vers le français:

$ trs {en=fr} "how are you"
comment allez-vous

C'est très simple, on ouvre un crochet, on met le code de la langue source, puis un signe = suivi de la ou les langues de destination avec un signe + comme séparation s'il y en a plusieurs, et on finit par un crochet fermant:

trs {langue source=langue(s) destination} "texte à traduire"

Ensuite, il ne reste plus qu'à écrire ce qu'on veut traduire entre guillemets.

$ trs {fr=en+es+de} "bonjour tout le monde, comment allez-vous ?" 
Hello everyone, how are you?
Hola a todos, cómo estás?
Hallo an alle, wie geht es dir?

Cool non ?! Il faut savoir que le code de la langue source n'est pas obligatoire, donc si vous ne savez pas quelle langue c'est, vous pouvez très bien l'omettre:

$ trs {=en+es+de} "bonjour tout le monde, comment allez-vous ?"
Hello everyone, how are you?
Hola a todos, cómo estás?
Hallo an alle, wie geht es dir?

Voilà, avec ça vous pouvez tout traduire, c'est quand même un outil bien pratique quand on aime manger de la console, c'est beaucoup plus rapide que d'aller sur le site, et puis les codes ne sont pas bien difficiles à retenir.

1 commentaire:

  1. Merci pour ce bloq que je suis depuis un mois (date à laquelle je l'ai découvert).
    Articles de qualité, rédaction concise et précise.
    Bref, j'aime !

    RépondreSupprimer