Difference between revisions of "Traduction des sous-titres"

From Apertium
Jump to navigation Jump to search
(Correction accès svn)
Line 17: Line 17:
$ mkdir -p ~/.local/share/gaupol/extensions # s'assurer que le répertoire existe
$ mkdir -p ~/.local/share/gaupol/extensions # s'assurer que le répertoire existe
$ cd ~/.local/share/gaupol/extensions
$ cd ~/.local/share/gaupol/extensions
$ svn co https://apertium.svn.sourceforge.net/svnroot/apertium/incubator/gaupol apertium
$ svn co https://svn.code.sf.net/p/apertium/svn/incubator/gaupol apertium


Démarrez ensuite Gaupol et cliquez Edit->Preferences->Extensions, puis cochez 'Apertium'. Au besoin, modifiez les préférences (par ex. si vous avez installé apertium ailleurs que dans /usr/local). Ouvrez un fichier de sous-titres, cliquez dans le menu "Apertium" et "Translate". Sélectionnez un sens de traduction : après une courte attente, les traductions des sous-titres du fichier s'afficheront dans la colonne traduction (s'il n'y a pas de colonne traduction, cliquez sur View->Columns->Translation pour l'activer.)
Démarrez ensuite Gaupol et cliquez Edit->Preferences->Extensions, puis cochez 'Apertium'. Au besoin, modifiez les préférences (par ex. si vous avez installé apertium ailleurs que dans /usr/local). Ouvrez un fichier de sous-titres, cliquez dans le menu "Apertium" et "Translate". Sélectionnez un sens de traduction : après une courte attente, les traductions des sous-titres du fichier s'afficheront dans la colonne traduction (s'il n'y a pas de colonne traduction, cliquez sur View->Columns->Translation pour l'activer.)

Revision as of 20:31, 4 July 2014

Si vous souhaitez traduire des sous-titres avec Apertium, vous avez le choix entre :

  1. utiliser le programme Java Apertium Subtitles pour obtenir des suggestions de traduction une par une tant 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 commande, puis utiliser votre application de sous-titres favorite (p. e. 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 doit être postédité par un être humain avant publication :)

L'extension Gaupol

Gaupol est un programme de traduction ou d'édition 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 existe une extension Apertium pour Gaupol dans l'incubateur. Pour l'installer, récupérez-la et placez-la dans votre répertoire d'extensions Gaupol. Par exemple, pour l'installer simplement pour votre compte :

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

Démarrez ensuite Gaupol et cliquez Edit->Preferences->Extensions, puis cochez 'Apertium'. Au besoin, modifiez les préférences (par ex. si vous avez installé apertium ailleurs que dans /usr/local). Ouvrez un fichier de sous-titres, cliquez dans le menu "Apertium" et "Translate". Sélectionnez un sens de traduction : après une courte attente, les traductions des sous-titres du fichier s'afficheront 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'existe pas de filtre de format pour les fichiers srt ou sub dans Apertium, mais quelques manipulations permettent malgré tout de les traduire.

On utilisera l'outil de conversion sub2po pour transformer le fichier de sous-titres en fichier .po, puis pomtrans de Pology pour traduire avec l'installation locale d'Apertium ; enfin on utilisera l'outil de conversion po2sub pour reconvertir le fichier traduit en 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 cela, voir Installation minimale depuis SVN

Sur Ubuntu

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

On récupère aussi 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 aussi et compilez-le avec makepkg ou utilisez yaourt:

   $ yaourt -S pology-svn

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

Imaginez que vous deviez traduire le fichier de sous-titres Sintel.es.srt en catalan.

Convertissez d'abord le fichier en fichier .po :

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

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

Exécutez le 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 spécifie le chemin de votre installation d'Apertium et -M le mode à utiliser.

Les entrées cibles du fichier .po seront remplies par la traduction du texte en catalan :-) Convertissez le fichier po en fichier de sous-titres 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 utilise l'option --fuzzy pour inclure les entrées floues vu que pomtrans de Pology marque par défaut (comme il se doit) toute traduction automatique comme floue.

Vous pouvez à présent postéditer Sintel.ca.srt dans Jubler, Gaupol ou tout autre éditeur que vous souhaitez. Vous pouvez aussi éditer le fichier .po dans un éditeur de fichiers .po comme Virtaal ou Lokalize avant l'étape de conversion po2sub ; dans ce cas, vous ne pourrez toutefois 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