Traduction des sous-titres

From Apertium
Revision as of 21:23, 19 February 2013 by Polo (talk | contribs) (moved Traduction des sous titres to Traduction de sous-titres: ortho et utilisation du déterminant)
Jump to navigation Jump to search

Si vous voulez traduire des sous titres avec Apertium, vous pouvez aussi bien

  1. utiliser le programme Java Apertium Subtitles pour obtenir des suggestions de traduction une par une aussi bien depuis une installation locale que depuis le serveur,
  2. utiliser l'éditeur de sous titres Gaupol avec l'extension Apertium pour traduire un fichier depuis une installation locale, ou
  3. traduire depuis la ligne de commandes, et alors utiliser votre application de sous titres favorite (ex: Gaupol ou Jubler) pour post-éditer.

Continuez de lire pour plus d'information sur les méthodes 2 et 3.

Comme toujours, rappelez-vous que tout texte résultant d'une traduction automatique a besoin d'être post-édité par un humain avant publication :)

L'extension Gaupol

Gaupol est un programme pour traduire ou éditer des sous titres, qui possède une pré-visualisation et d'autres caractéristiques sympathiques. Il est installable depuis les dépôts réguliers sur Ubuntu, Arch Linux, etc.

Il y a une extension Apertium pour Gaupol dans l'incubateur. Pour l'installer, récupérez le et placez le dans votre répertoire d'extensions Gaupol. Ex: pour installer juste pour votre compte :

   $ mkdir -p ~/.local/share/gaupol/extensions # s'assurer que le répertoire existe
   $ cd  ~/.local/share/gaupol/extensions
   $ svn co https://apertium.svn.sourceforge.net/svnroot/apertium/incubator/gaupol apertium

Maintenant démarrez Gaupol et cliquez Edit->Preferences->Extensions, cochez Apertium. Optionellement, éditez les préférences (ex: si vous avez installé apertium ailleurs que dans /usr/local). Maintenant ouvrez un fichier de sous titres, cliquez dans le menu "Apertium" et "Translate". Sélectionnez une direction de traduction, et après une courte attente les traductions de ce fichier apparaîtront dans la colonne traduction. (S'il n'y a pas de colonne traduction, cliquez sur View->Columns->Translation pour l'activer.)

Traduire les sous titres depuis la ligne de commande

Il n'y a aucun filtre de format pour les fichiers srt ou sub dans Apertium, mais avec quelques tricheries on peut les traduire.

On va utiliser l'outil de conversion sub2po pour transformer notre fichier de sous titres en un fichier .po , puis utiliser pomtrans de Pology pour le traduire avec notre installation locale d'Apertium, puis l'outil de conversion po2sub peut le re transformer en un fichier de sous titres.

Installation des pré-requis

On a besoin du toolkit de conversion, qui a besoin de Gaupol et chardet afin de faire la conversion, et Pology. Et bien sûr, on a besoin d'Apertium et d'une paire de langues; pour ça, voir Installation minimale depuis SVN

Sur Ubuntu

   $ apt-get install translate-toolkit gaupol python-chardet

Et récupérez Pology depuis SVN :

   $ svn co svn://anonsvn.kde.org/home/kde/trunk/l10n-support/pology
   $ export PATH=$PWD/pology/bin:$PATH
   $ export PYTHONPATH=$PWD/pology:$PYTHONPATH
   $ . $PWD/pology/completion/bash/pology

(voir http://techbase.kde.org/Localization/Tools/Pology#About pour plus d'information sur Pology)

Sur Arch Linux

   $ pacman -S translate-toolkit gaupol python2-chardet

Pology est dans le dépôt Arch User ; téléchargez-le également et compilez-le avec makepkg ou utilisez yaourt:

   $ yaourt -S pology-svn

Convertir, traduire, convertir dans l'autre sens, post-éditer

Supposons que vous avez le fichier Sintel.es.srt que vous voulez traduire en Catalan.

Convertissez le en un fichier .po comme ceci :

  sub2po -i Sintel.es.srt -o Sintel.es-ca.po

Ce fichier .po aura l'espagnol comme texte source, et des entrées cibles complètement vides.

Exécutez ce fichier po depuis Apertium :

  /opt/pology/bin/pomtrans -s es -t ca -T /usr/local/bin/apertium -M es-ca apertium Sintel.es-ca.po

où -T donne le chemin vers votre installation d'apertium, et -M est le mode à utiliser.

Maintenant le fichier po aura du texte Catalan dans les entrées cibles :-) Convertissez le en un fichier po (???), en utilisant les "timestamps" du fichier de sous titres original :

  po2sub --fuzzy -t Sintel.es.srt -i Sintel.es-ca.po -o Sintel.ca.srt

On met --fuzzy pour inclure les entrées floues. Pology's pomtrans par défaut (comme il devrait) marque toute traduction automatique de comme floue.

Maintenant, vous pouvez post-éditer Sintel.ca.srt dans Jubler ou Gaupol ou l'éditeur que vous voulez. Autrement, vous pouvez éditer le fichier .po actuel dans un éditeur de fichiers .po comme Virtaal ou Lokalize avant l'étape po2sub, toutefois dans ce cas vous ne pourrez pas comparer avec les images aussi facilement.

Un script qui le fait pour vous

Mettez ce script dans un fichier appelé par exemple apertium-sub, rendez-le exécutable avec chmod +x apertium-sub et mettez-le dans votre $PATH. Vous pouvez alors traduire les sous titres comme ceci :

   $ apertium-sub es-ca Sintel.es.srt Sintel.ca.srt

Le script:

#!/bin/bash

# Mettez ici les chemins d'accès corrects vers vos programmes :
SUB2PO=/usr/bin/sub2po
PO2SUB=/usr/bin/po2sub
POMTRANS=/opt/pology/bin/pomtrans
APERTIUM=/usr/local/bin/apertium

# Vous ne devriez rien avoir à changer en dessous de cette ligne

if [ $# -ne 3 ]; then
    echo "Usage: bash $0 mode input.srt output.srt";
    echo "Exemple: bash $0 es-ca_valencia mymovie.es.srt mymovie.ca.srt";
    exit 1;
fi

mode="$1";
insub="$2";
outsub="$3";

pofile=$(mktemp -t $mode.XXXXXXXXXX.po);

echo "Conversion en fichier po..."
$SUB2PO -i "$insub" -o "$pofile"

echo "Traduction..."
$POMTRANS -s src -t trg -M "$mode" -T $APERTIUM apertium $pofile
# Le -s et -t n'ont pas actuellement d'importance car on les outrepasse avec -M, 
# ils doivent juste ne pas être vides.

echo "Conversion depuis le fichier po..."
$PO2SUB --fuzzy -t "$insub" -i $pofile -o "$outsub"
# Comme pomtrans marque tout comme fuzzy (imprécis), dire à po2sub d'inclure ce qui est fuzzy

Voir aussi