Traduction des fichiers mnémoniques

From Apertium
Revision as of 12:00, 18 October 2012 by Bech (talk | contribs) (Corrections mineures)
Jump to navigation Jump to search

Les fichiers mnémoniques constituent une alternative aux fichier .po pour générer des interfaces utilisateur multilingues.

En dehors des commentaires éventuels (commençant par #) au début d'un fichier, Les fichiers mnémoniques sont constitués de lignes respectant le format suivant :

Mnémonique           "chaine_de_format_pour_printf"

Dans ces lignes, le mnémonique (qui commence en première colonne) doit être conservé sans changement d'une langue à l'autre, alors que la chaine de caractères situés plus vers la droite est traduite.

Toutefois, une chaine de caractères à traduire peut comporter les séquences \r ou \n ou d'autres similaires qui, non seulement ne doivent pas être traduites, mais ne doivent pas perturber la traduction du mot suivant s'il touche la lettre ayant un rôle spécial.

De la même manière, les indications de format comme %s, %3d, %4.2f ... sont conservés sans modification.

Le format des fichiers mnémoniques n'est pas directement supporté par le paquet Apertium. Il est nécessaire de récupérer le paquet apertium-c-formatters pour disposer d'un dé-formateur qui prend en compte les spécificités de ce format.

Récupération et installation du paquet apertium-c-formatters

Si vous n'avez pas déjà récupéré le paquet apertium-c-formatters pour la traduction des pages de man, commencez par faire les opérations suivantes :

Téléchargez apertium-c-formatters depuis SVN :

svn checkout http://apertium.svn.sourceforge.net/svnroot/apertium/trunk/apertium-c-formatters

Compilez les fichiers source :

make

Et oui, la compilation est très simple, et rapide !

Installez les outils :

make install

La commande ci-dessus suppose que vous ayez un accès en écriture dans /usr/local/bin et /usr/local/share/man. Si ce n'est pas le cas, tapez la commande :

sudo make install

Par défaut, comme pour lttoolbox, apertium, et les paires de langues, l'installation se fait dans /usr/local/bin et /usr/local/share. Si vous souhaitez modifier le répertoire d'installation, il vous faut modifier la première ligne du fichier makefile.

install_dir=/usr/local

sera remplacé par le répertoire parent de celui où iront les commandes exécutables. Par exemple, en mettant :

install_dir=/usr

Les outils seront installés dans /usr/bin et les pages de man dans /usr/share/man .

Utilisation

Les outils disponibles

Les outils disponibles pour traduire les fichiers mnémoniques sont les suivants :

  • desmnemo : dé-formateur pour les fichiers mnémoniques,
  • remnemo : re-formateur générique utilisé pour les fichiers mnémoniques,
  • apertium-mnemo : un shell destiné à faciliter la traduction de fichiers mnémoniques.

Traduction en appelant les différents outils nécessaires

Supposons que nous sommes placés dans le sous répertoire samples-mnemo du paquet apertium-c-formatters et que nous voulons traduire en espagnol le fichier mess-libremail.fr-utf . On peut taper :

cat mess-libremail.fr-utf | desmnemo | apertium -f none fr-es | remnemo > mess-libremail.es-utf

On remarque d'abord qu'on a traduit un fichier mnémonique utilisant le jeu de caractères UTF-8. Si le fichier est en format ISO-8859-n (ou tout autre jeu de caractères), il faut convertir les données en UTF-8 pour qu'elles soient compatibles avec Apertium, lequel fournira aussi un résultat encodé UTF-8.

D'autre part, la commande apertium est exécutée avec l'option -f none, ce qui est nécessaire pour que le dé-formateur apertium-destxt ne soit pas utilisé.

On peut aussi passer les noms de fichiers en paramètre aux dé-formateur et re-formateur :

desmnemo mess-libremail.fr-utf | apertium -f none fr-es | remnemo - mess-libremail.es-utf

On peut remarquer le tiret - comme premier paramètre de remnemo . Les re-formateurs utilisent habituellement l'entrée standard (en l'occurrence le résultat produit par la commande apertium) alors qu'il peut être utile de conserver le résultat de re-formatage dans un fichier. Mais le problème est que la syntaxe générale des re-formateurs d'apertium nécessitent d'indiquer le fichier de sortie comme 2ème paramètre. Le - comme premier paramètre permet de s'affranchir de ce problème.

Plus simple avec la commande apertium-mnemo

Lorsqu'un format de données est intégré directement dans la commande apertium, on dispose de l'option -f pour traduire les données produites dans ce format sans avoir à appeler à la main un dé-formateur et un re-formateur. La commande apertium-mnemo est un shell qui permet de faire de même.

Par exemple, pour traduire en espéranto le fichier mess-libremail.fr-utf , on peut taper :

cat mess-libremail.fr-utf | apertium-mnemo fr-eo > mess-libremail.es-utf

Ou encore mieux :

apertium-mnemo fr-eo mess-libremail.fr-utf mess-libremail.es-utf

Les options -u et -d datadir de la commande apertium sont supportées par apertium-mnemo. Il suffit de les placer avant le paramètre indiquant la direction de traduction (comme pour la commande apertium).