Traduction des fichiers gettext

From Apertium
Jump to navigation Jump to search

In English

Apertium ne dispose pas d'un support du format d'un document pour les fichiers .po de gettext; toutefois, il y a d'excellents outils disponibles qui peuvent utiliser Apertium pour traduire ces fichiers. Pour l'utilisation en ligne de commande et en tache de fond, Pology est recommandé; si vous voulez qu'Apertium donne des suggestions à un éditeur de fichier .po , essayez Virtaal.

Pology[edit]

La méthode en ligne de commande la plus simple et la meilleure pour traduire les fichiers .po de gettext avec Apertium consiste à utiliser le paquet Python Pology. Suivez les instructions du lien pour le configurer, puis faites quelque-chose comme :

 $ pomtrans -s en -t es apertium es.po 

Ceci suppose que la langue source de es.po est "en". Toutefois, vous pourriez vouloir traduire du suédois au danois en utilisant les fichiers sv.po et da.po. Dans ce cas, vous avez besoin d'utiliser l'argument "-p" :

 $ pomtrans -s sv -t da -p sv.:da. apertium da.po

Dans le cas où vous voulez utiliser un mode sans nom comme "sl-tl", comme "nb-nn_a", utilisez l'option -M :

 $ pomtrans -s nb -t nn -p nn.:nb. -M nb-nn_a apertium nn.po

(cela suppose de nouveau qu'il n'y ait pas de fichier nb.po file dans me même répertoire)

Vous pourriez aussi vouloir spécifier le chemin vers apertium (ex: si vous avez installé apertium dans /usr/local, pas dans /usr), et la clé d'accélération; la commande complète devient alors :

 $ pomtrans -s nb -t nn -p nn.:nb. -M nb-nn_a -T /usr/local/bin/apertium -a "&" apertium nn.po

pomtrans peut aussi travailler récursivement sur des répertoires, et marquera chaque sortie du traducteur comme floue (imprécise, car non humaine), en sautant le texte déjà traduit. Voir docs/user/lingo.docbook pour une excellente documentation.

Note: tous ces exemples pomtrans supposent que les fichiers source et langue existent. Donc dans les exemples ci-dessus, da.po et nn.po devront exister même si ça a plus de sens de de lancer un traducteur lorsque tous les msgstr's sont vides. Si vous avez seulement par exemple sv.po et avez besoin d'un da.po vide pour que pomtrans le remplisse avec un traducteur, vous pouvez d'abord lancer :

msgfilter --keep-header -i sv.po -o da.po awk -e '{}'

(pensez juste à éditer l'entête ensuite pour qu'elle ait le bon code de langue). Le programme msgfilter est un morceau du paquet gettext (facilement installable avec les gestionnaires de paquets principaux).

pospell[edit]

Une combinaison de pospell et Apertium peut aussi être utilisée pour traduire les fichiers gettext .po .

J'ai eu quelques difficultés quand j'ai essayé, pology a fonctionné parfaitement toutefois. --unhammer 08:44, 15 September 2010 (UTC)

pospell est un morceau du paquet spellutils, disponible par apt-get, macports, emerge, urpmi...

Exemple[edit]

$ cat sv.po | pospell -n - -f -p apertium -- sv-da -u > da.po

Ainsi si vous mettez

#!/bin/sh
pospell -n - -f -p apertium -- -u "$@"

dans un fichier appelé par exemple "apertium-po", et chmod +x apertium-po, vous pouvez faire

$ cat sv.po | apertium-po sv-da > da.po

Virtaal[edit]

Ou alors vous pourriez juste utiliser l'éditeur de fichier .po Virtaal, qui possède un plugin Apertium. (Pour l'instant ça travaille seulement avec le service web, mais une version ultérieure pourrait être capable d'utiliser les installations locales).

Voir aussi[edit]