Publié le 7 avril 2022 par Andrew Owen (4 minutes)
Cette semaine, j’aimerais faire un clin d’œil à Weblate, un outil de traduction basé sur le web avec intégration Git qui est disponible gratuitement pour les projets open source. Je l’ai découvert par hasard parce qu’un développeur avec qui je discutais sur Telegram avait contribué à un projet qui l’utilisait.
Tout d’abord, un peu d’histoire. Je suis gestionnaire de communauté pour le projet d’ordinateur rétro Chloe 280SE à FPGA. Une partie du firmware est un interprète BASIC classique, qui peut être localisé pour n’importe quelle langue, dont le jeu de personnage peut être encodé dans une page de code de 8 bits (256 personnages). En tant qu’éditeur bénévole de Translation Commons, j’ai pu exiger l’aide de traducteurs bénévoles pour localiser le logiciel dans 20 langues.
Mais lorsque la pandémie a frappé, le responsable du projet de traduction a monnayé de poste et le projet de traduction a stagné. J’ai considéré la traduction automatique comme une solution possible. Mais copier chaînes et lui coller de personnage d’un Google Sheets à Google Translate et inversement est un processus lent, et il n’y a pas de validation.
Lorsque j’ai entendu parler de Weblate, je me suis dit que je devais l’essayer. Il fournit:
Weblate fournit une interface web qui est une version simplifiée de ce que la plupart des traducteurs professionnels connaissent grâce à d’autres logiciels de traduction. Il supporte la plupart des formats de traduction compris par translate-toolkit. J’ai choisi d’utiliser un fichier JSON monolingue pour les raisons suivantes
J’utilisais déjà GitHub pour héberger le logiciel. Tout ce que j’avais à faire pour intégrer Weblate était d’ajouter le robot Weblate en tant qu’utilisateur dans le dépôt, de créer un dossier locales
à la racine du projet, et de déposer le fichier de chaînes anglaises en.json
dans le dossier.
À partir de là, je pouvais créer de nouvelles traductions et les pousser vers le dépôt distant lorsque j’en étais satisfait. Si je faisais des changements dans le dépôt distant, je pouvais rebaser le dépôt Weblate.
J’ai écrit un script qui analyse le contenu du dossier locales
pour générer les binaires nécessaires au logiciel. En fait, je dois le déclencher manuellement. L’étape finale sera de le déclencher lorsqu’il y aura des changements dans le dossier locales
sur la branche principale. Plus d’informations à ce sujet dans un prochain article.
J’ai utilisé cette configuration pour augmenter la couverture linguistique de 20 à 48 langues en l’espace de quelques semaines. L’un des avantages du passage à Weblate et de l’automatisation du processus a été la découverte de quelques incohérences dans les traductions qui n’étaient pas évidentes dans le fichier Google Sheets.
Mais le véritable test a eu lieu cette semaine, lorsqu’un traducteur a proposé d’ajouter un support en basque. Ils ont pu suivre tout le processus d’inscription à Weblate et de création de la nouvelle traduction avec un minimum d’aide de ma part. Je n’ai eu besoin que de les conseiller sur le contenu de quelques chaînes spécifiques au projet utilisées dans le processus de construction. Lorsqu’ils ont eu terminé, j’ai relu leur contribution, poussé leurs changements dans le dépôt Git et lancé le script de construction.
Si vous utilisez un dépôt Git et que vous faites en fait vos traductions à l’aide d’une feuille de calcul, je pense que cela vaut la peine de jeter un coup d’œil à Weblate.