Weblate #02 - Ajouter un composant à un projet de traduction

Comment ajouter un composant à un projet de traduction sur Weblate ?

Previously on Lost …

Précédemment, nous avons créé un projet de traduction sur notre instance Weblate. Un projet intitulé PixelFed, jusque là vide et ne contenant aucun composant à traduire.

Vous l’avez peut-être compris, un projet sur Weblate c’est en quelque sorte une catégorie ou un dossier dans lequel on peut rajouter des fichiers. Ici les fichiers sont des composants.

Allons remplir notre projet PixelFed avec l’un des composants que nous désirons traduire de l’anglais vers d’autres langues.

Repérer les composants à traduire

Avant de rajouter des composants à traduire sur notre Weblate, nous devons, au préalable, repérer les fichiers sources à traduire sur le dépôt Github de PixelFed. Notez que c’est aussi valable pour Gitlab.

L’adresse du dépôt de PixelFed est la suivante :

https://github.com/pixelfed/pixelfed

Pour Weblate nous aurons besoin de spécifier (tout à l’heure) :

https://github.com/pixelfed/pixelfed.git

Github - Adresse du dépôt

Il suffit de parcourir la structure des répétoires ou des dossiers jusqu’à trouver le bon chemin où sont stockés les fichiers de traduction. Faute de GPS ou d’indication précise sur certains projets, les traducteurs cherchent partout.

Les fichiers à traduire sont dans la branche dev du dépot cité précédemment :

https://github.com/pixelfed/pixelfed/tree/dev/resources/lang/

Github - Chemin vers les fichiers à traduire

Les dossiers se trouvant dans le chemin ressources/lang/ sont des abréviations ou des codes de langues. On se rend dans le dossier en en abrégé english et c’est là que l’on découvre tout les fichiers censés être traduits.

Ce sont des fichier de langues au format php. On s’intéresse donc au premier fichier auth.php.

Création du composant

Dans un nouvel onglet de notre navigateur, on ouvre l’interface d’administration de Weblate et on rajoute un nouveau composant en cliquant sur +Ajouter

Weblate - Ajouter un composant à un projet de traduction

On remplit les champs adéquats tels que le nom du composant à traduire, on indique que ce composant fait partie du projet PixelFed et on rajoute l’Url vers le dépôt Git.

Weblate - Chemin du projet à traduire

Ensuite on précise à Weblate qu’il faut chercher les fichier sources à traduire sur la branche dev de PixelFed et le chemin vers les autres langues, également.

Weblate - Masque de fichiers à traduire

Comme nous n’aurons pas besoin de toucher au fichier anglais alors on désélectionne la case de modification du fichier servant de base de traduction.

On spécifie le format des fichiers de traduction. PixelFed utilise des fichiers au format PHP, c’est cool, Weblate supporte le format PHP pour la traduction.

Weblate - Format des fichiers à traduire

Et enfin, pour les besoin de notre article, nous n’aurons pas à créer une Pull Request depuis notre Weblate, on décoche pousser lors de l’archivage et on importe toutes les langues, y compris celles qu’on ne maîtrise pas. (Vous verrez c’est intéressant pour plutard).

Weblate - Choix de langue à Importer

On clique sur le bouton Enregistrer et le processus commence. J’oserai même rajouter, ne touchez à rien ! Laissez Weblate exécuter les tâches qu’il faut en arrière plan. Pour l’instant Weblate ne dispose pas d’un outil visuel d’avancement de l’import depuis Gitlab/Github.

Une fois terminé, Weblate vous informe que votre composant a été créé. Un composant nommé auth est alors rajouté au projet PixelFed hébérgé localement sur votre instance Weblate.

Si vous retournez sur l’interface traducteurs publique, vous verrez ce composant présent ainsi que la liste des langues importées.

Weblate - Composant à traduire est importé

Bravo ! Vous venez de créer votre propre premier composant pour votre premier projet sur Weblate \o/

Dans le prochain article, nous allons voir comment importer les autres composants, c’est à dire, les autres fichiers PHP sans refaire manuelement la manipulation décrite dans le présent article. Sinon ça sera vraiment chiant d’importer tout les fichiers un à un.

Merci de m’avoir lu !