Aujourd'hui, après un peu de travail de ma part étalé sur ma semaine, j'ai décidé d'enfin écrire un article sur po4a. Comme pour avertissement de la terrible chose que je m'apprête à faire, il me manque une tasse de thé sur les deux que je prends habituellement le matin. Néanmoins, je pense que cette rédaction va être suffisamment intéressante pour que cela vaille le coup.
po4a, qu'est-ce que c'est ?
po4a (ou ".po for anything") est un programme qui permet de récupérer le texte à l'intérieur d'un document et de convertir ce contenu au format .po plus facilement traduisible. Le format .po vient de l'utilitaire gettext, qui lui convertit le contenu des fichiers du code source des interfaces utilisateur, alors que po4a permet de traiter des fichiers de documentation. L'outil est particulièrement utile pour la traduction parce qu'il permet de traduire sans se soucier des bouts de code éparpillés dans le fichier d'origine du document pour ensuite réintégrer le texte dans le format d'origine.
Installation d'une distribution Linux (Debian)
Au début, j'avais tenté d'installer po4a directement sur Windows par les fichiers obtenus sur le site officiel de po4a. Mais ma tentative a été vouée à l'échec. Donc, dans ce tutoriel, je vais passer en revue l'installation d'une distribution Linux avec le Windows Store.
En premier lieu, il faut activer le sous-système Linux pour Windows. C'est pratique pour avoir accès à une interface Linux, lorsque l'on ne dispose que de Windows 10 comme système d'exploitation sous la main. Une méthode simple est de faire Windows + R, puis de taper "optionalfeatures", sans les guillemets. Après cela, une fenêtre s'affiche, avec d'innombrables cases à cocher. Cherchez "Sous-système Windows pour Linux" et cochez l'option correspondante :
Redémarrez ensuite votre ordinateur. Une fois ceci fait, tapez "Powershell" dans votre barre de recherche Windows. Quand l'invite de commande s'ouvre, écrivez bash et appuyez sur Entrée. "bash" est un peu le PowerShell de Linux : si vous ne disposez pas de distribution Linux installée, on va vous dire que bash n'existe tout simplement pas, par le biais de ce message :
Il n'y a aucune distribution installée pour le sous-système Windows pour Linux. Les distributions peuvent être installées en accédant au Windows Store : https://aka.ms/wslstore
Rendez-vous alors sur ce lien, qui va ouvrir votre application Windows Store. A partir de là, on va vous proposer des distributions diverses : Kali Linux, Debian et Alpine WSL. Je vous conseille Debian, celle que je vais utiliser dans le cadre de ce tutoriel.
Son installation se déroulant normalement sans heurt, vous avez désormais accès à son interface. Ou pas tout à fait : l'invite de commande vous demande d'abord un identifiant d'utilisateur et un mot de passe. Vous pouvez passer cette étape en redémarrant purement et simplement Debian (fermez et rouvrez la fenêtre).
Normalement, vous devriez avoir ceci sur votre écran :
Même si ce n'est pas nécessaire, je vous recommande de faire une mise à jour de Debian avec la commande sudo apt-get update. "sudo" correspond à "substitute user do" et correspond à peu près à l'administrateur pour Windows. "apt-get" est pour sa part "the Advanced Packaging Tool", permettant la gestion interne de modules au sein de Linux. Enfin, "update" met à jour la distribution.
Quand cela est terminé, on peut commencer à installer ce qui nous intéresse.
Installation de po4a
Il est maintenant temps d'entrer la commande la plus importante de ce tutoriel : sudo apt-get -y install po4a. Des lignes de commentaires s'affichent frénétiquement dans Debian, mais c'est tout à fait normal : l'installation est en cours. Vous voyez notamment (cf. la capture d'écran ci-dessous), que po4a est installé en compagnie d'autres librairies, avec notamment une mention d'un certain "Perl". Ce dernier est nécessaire, puisque po4a est un module écrit dans ce langage spécifique.
Après un temps, l'installation est terminée :
Localiser votre fichier pour po4a
Je ne vais détailler aujourd'hui que la fonctionnalité de po4a qui se nomme "gettextize". C'est celle qui convertit un document en .po. Mais pour faire cela, il faut indiquer à po4a où se trouve le fichier à convertir, et donc trouver son emplacement dans notre ordinateur. Pour cet exemple, j'ai téléchargé un "fichier test" : la page en xhtml du manuel de po4a, et nous allons essayer de l'exporter en .po.
Je ne vais ici ni détailler les commandes possibles dans Linux, ni les expliquer outre mesure. Un excellent article le fait déjà très bien : https://www.hostinger.fr/tutoriels/commandes-linux.
Tapez df et appuyez sur Entrée. Normalement, vous devriez obtenir quelque chose comme ce qui suit :
C:\ et E:\ sont mes disques durs personnels. Si je veux alors entrer dans mon ordinateur tel que je le vois dans Windows, je dois utiliser la commande cd. Elle permet de me rendre où je le souhaite. Si je tape cd /mnt/c, voilà ce qui s'affiche :
Debian m'indique que j'ai changé de dossier de travail dans l'ordinateur, et que je suis à /mnt/c, soit C:\. Imaginons que le fichier que je souhaite convertir se nomme "Man page of PO4A.html" et qu'il se trouve dans mon dossier "Stage 2022" présent dans mes téléchargements. Je dois me rendre donc dans "Stage 2022" en tapant cd /mnt/c/Users/Lilian/Downloads/'Stage 2022' (cette adresse de répertoire n'est pas la même pour chaque utilisateur). Notez bien les guillemets simples entourant "Stage 2022" : cela se révèle nécessaire pour que bash prenne en compte les espaces pour ce nom, pour ne pas être considérés comme des séparateurs d'argument.
Si vous avez réussi à localiser le bon dossier, vous êtes probablement ici :
Je vous conseille d'entrer la commande ls pour voir si votre fichier se trouve bien dans ce répertoire. Si c'est le cas, on passe à l'ultime étape.
Utiliser po4a-gettextize
Il manque la dernière commande de ce tutoriel : po4a-gettextize. Essayez d'entrer cet argument pour voir ce que ça donne. Vous devez obtenir ceci :
"fmt" est pour le format du document, "master.doc [-l XX.doc]" est pour le fichier à rendre, et "-p XX.po" est pour le fichier final en .po. Pour que cela marche avec notre "Man page of PO4A", il faut donc rentrer la commande :
po4a-gettextize -f text -m "Man page of PO4A.html" -p "Man page of PO4A".po
Sachez d'ailleurs qu'il est possible d'entrer "man po4a-gettextize" pour obtenir plein d'informations complémentaires concernant l'utilitaire, également trouvables ici :
Bref, si à l'entrée de cette commande aucune ligne de commande décrivant une erreur ne s'affiche, vous pouvez aller vérifier dans votre dossier s'il s'y trouve :
En guise d'ultime vérification, nous allons créer un projet dans OmegaT et voir si le fichier s'affiche correctement. Passez rapidement toutes les étapes (même si vous devez faire attention à la langue source et à la langue cible), puis appuyez sur OK. Le projet maintenant créé, glissez le fichier .po dans la fenêtre principale :
Si le fichier s'ouvre sans heurt, vous avez réussi à convertir le document choisi en .po.
En résumé
po4a est un module utile dans le cadre de la traduction. Il permet de prendre un document pour le rendre plus traduisible. Par ce cas d'application, nous avons utilisé po4a-gettextize, un utilitaire de po4a. Je tâcherai d'essayer d'expliquer ultérieurement l'installation de Texinfo et son utilisation.
J'ai été parfaitement amateur dans l'écriture de cet article, je le reconnais. Je me suis renseigné du mieux possible sur les fonctionnalités basiques de Linux, que je ne connaissais à peine il y a encore quelques jours. Mais j'espère que ce post va être utile à des personnes qui ont été exactement dans le même cas que moi.
Pour des informations sur les formats pris en charge ou pour de la documentation sur le module, n'hésitez pas à vous rendre sur po4a.org.
Comments