Traductions¶
Pour contribuer à l'accessibilité d'Aktivisda à tous·tes les utilisateurices, l'interface est disponible en de nombreuses langues.
Fonctionnement des traductions¶
Aktivisda supporte la traduction partielle. Dans ce cas, la traduction affichée à l'utilisateurice est la traduction anglaise, ou à défaut n'importe quelle traduction existante.
Il est donc fréquent que l'utilisateurice voit une partie de son interface en anglais, même si son interface est dans une autre langue.
Traduire Aktivisda¶
Configurer les langues¶
La liste des langues possibles est propre à chaque instance et définie dans le fichier config.json.
Seules les langues pour lesquelles une partie de l'interface a été traduite sont disponibles dans Aktivisda.
Traductions locales vs traductions globales¶
Il est important de faire la distinction entre les traductions de l'interface de Aktivisda, communes à toutes les instances, et les traductions des données, spécifiques à chaque instance.
Les traductions dites globales sont directement intégrées au code source dans des fichiers JSON rassemblées dans le dossier src/assets/i18n (un fichier par langue). Ces chaînes de traductions sont également modifiées pour partie via le logiciel Tolgee mis à disposition par La Fresque du Climat.
Les chaînes de traductions locales sont quand-à-elles stockées directement dans les données de l'instance, au sein de multiples fichiers. La volonté était de stocker les traductions au plus près de l'élément traduit. Par exemple, les traductions des labels des images sont stockées dans le fichier d'images. Il est donc toujours possible de traduire en modifiant ces fichiers.
Par ailleurs, depuis la version 1.3.0, il est possible d'adapter les traductions globales à sa propre instance.
Très concrètement, cela se réalise en définissant dans le fichier de configuration localConfig.json des traductions qui seront utiliées à la place des traductions officielles : 1. Chercher à quelle clé de traduction correspond le texte qu'on souhaite modifier ; 2. Ajouter dans le fichier localConfig une entrée i18n, une sous-entrée correspondant à la langue choisie puis une sous-entrée avec la clé de traduction. La clé de traduction est à écrire dans sa version chemin, concaténée avec des . (par exemple : WELCOME.CONTACT).
Rétro-compatibilité non assurée
Certaines clés de traduction pourraient changer d'une version à l'autre de Aktivisda. Par ailleurs, il est important de bien définir les textes dans toutes les langues car, s’il existe une traduction officielle dans Aktivisda c’est celle-ci qui est utilisée.
Traduire avec backtivisda¶
Certaines traductions peuvent être ajoutées et/ou modifiées directement au sein de backtivisda.
Traduction avec Tolgee¶
La Fresque du Climat dispose d'une instance du logiciel Tolgee pour centraliser leurs différents projets de traduction. Pour leur usage, il a été développé la possibilité de synchroniser les différentes chaînes de traduction avec Tolgee.
Cette synchronisation se base sur un utilitaire maison Tolgitbot qui est capable de modifier les différents fichiers à partir des données présentes sur Tolgee. Cet utilitaire est également accompagné d'un fichier de CI Gitlab une synchronisation automatique basée sur l'intégration continue Gitlab.
L'intégration avec Tolgee est configurée et fonctionnelle pour le projet de la Fresque du climat, il est donc toujours possible de s'y référer comme exemple.
Dans les grandes lignes, il faut :
- Disposer d'une instance Tolgee et y créer un projet pour Aktivisda
- Créer un token avec les droits de lecture et d'écriture au projet pour pouvoir modifier les traductions via l'API ;
- Ajouter deux dépendances dans le fichier
package.json: - Ajouter deux nouvelles commandes
npmpour pouvoir récupérer les traductions depuis Tolgee (pull) et pour les y envoyer (push) en modifiant son fichierpackage.json - Inclure la configuration CI de Tolgitbot en ajoutant une entrée
includeau tout début du fichier.gitlab-ci.yml - Ajouter les variables nécessaires côté Gitlab :
TOLGEE_BOT: le nom du bot qui apparaîtra comme auteur·ice lorsqu’il commitera sur le projet des nouvelles traductions ;TOLGEE_BOT_EMAIL: l'email qui sera associée aux commits ;TOLGEE_PROJECT_ID: l'identifiant du projet de traduction TolgeeTOLGEE_TOKEN: Le token Tolgee avec les droits d’accès suffisants pour accéder et modifier les données ;TOLGEE_URL: l'url à laquelle l'instance Tolgee est disponible. Elle ne doit pas se terminer par un/.TOLGIT_TOKEN: Un Gitlab project access token qui dispose de l'autorisationwrite_repo. C'est grâce à ce token que le bot est capable de commiter les nouvelles traductions directement sur le projet.
- Créer une pipeline planifiée ("scheduled pipeline") pour lancer automatiquement et régulièrement la tâche de regarder s’il y a de nouvelles traductions disponible sur Tolgee, et si oui, de les récupérer.