Traduction des fichiers mnémoniques
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.
Contents
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 GIT :
git clone --depth 1 https://github.com/apertium/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
).