Traduction google
Depuis que google a rendu son api de traduction « Google translator » payante, la majorité des script proposés ne fonctionnent plus. Ne cherchez pas à obtenir un résultat avec ce script par exemple:
#!/bin/bash if [ $# == 3 ] then echo "From: $1 To: $2" lynx -dump "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$3&langpair=$1|$2"|awk -F'"' '{print $6}' else lynx -dump "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$1&langpair=|ar"|awk -F'"' '{print "From: "$10" To: ar \n"$6}';echo lynx -dump "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$1&langpair=|en"|awk -F'"' '{print "From: "$10" To: en \n"$6}';echo fi
Ce script présente en effet 2 défaut:
Ce que je propose c’est une solution beaucoup plus simple. On va tout d’abord utiliser wget qui est là par défaut sur toutes les distributions linux même les plus allégées. ensuite, le script doit pouvoir fonctionner en 2 modes uniquement, pas besoin de préciser la langue en effet pour que le traducteur de google puisse faire son travail. Donc on aura les 2 mode suivant:
./script fr "Texte à traduire"
.default
pour la langue de destination: ./script "Texte à traduire"
Le script
#!/bin/sh default='fr' if [ $# == 1 ] then echo "langue de destination: $default" wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$1&sl=auto&tl=$default" | sed 's/\[\[\[\"//' | cut -d \" -f 1 fi if [ $# == 2 ] then wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$2&sl=auto&tl=$1" | sed 's/\[\[\[\"//' | cut -d \" -f 1 fi
Pour la langue de destination par défaut, il suffit de changer la valeur de la variable
Exemples:
default
dans le script et le tour est joué. Il est à noter que le code de la langue doit être au format ISO 639-1 disponible un peu partout sur le net.Exemples:
source: www.microkontrol.com
Aucun commentaire:
Enregistrer un commentaire