Salut,
Voici un script python qui permet de traduire automatiquement un fichier de sous-titre au format SubRip (.srt).
La traduction est faite par le site translate.google.com
google_translate_sub.py
Il s'agit d'une évolution du
script de spoutnick qui permet de traduire une mot, une phrase en ligne de commande.
Je n'ai fait qu'adapter le traitement pour qu'il prenne en entrée un fichier texte au format srt, et qu'il génère en sortie le fichier traduit (toujours au format srt).
Evidemment, ça ne vaut pas une traduction humaine, mais ça peut dépanner.
L'utilisation est la même que le script d'origine de sputnick, avec en plus une option '-s' pour passer le chemin du fichier à traduire.
Usage:
./google_translate_sub.py <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
-s | --subtitle-file subtitle file (.srt)
Examples:
./google_translate_sub.py -f en -t fr -w "A grey hat"
./google_translate_sub.py -f en -t fr -v Misfits.srt
See http://tinyurl.com/73xljez for all supported languages
nb : une optimisation a été faite car au départ le script effectuait un appel HTTP pour chaque ligne de sous-titre. La traduction d'un fichier entier prenait énormément de temps.
Pour y remedier, le script envoie maintenant les lignes à traduire par paquet de 50.
Ainsi un fichier de 900 sous-titres (par exemple pour un film de 1h20) nécessitera seulement 18 appels à translate.google.com, ce qui s'exécutera en quelques secondes.
Comme déjà indiqué par spoutnick, le script ne respecte sûrement pas les conditions d'utilisation de google. A utiliser à vos risques et périls.
a+
nb : les dépendances sont les mêmes que celle du script de sputnick :
sudo apt-get install python-lxml python-mechanize