Dès les premiers mois, Capitaine Train a été disponible en plusieurs langues : en français et en anglais pour commencer, puis aussi en allemand ; suivirent l’italien, puis l’espagnol. Pour traduire les nouveautés des apps et du site à mesure que nous les développions, nous avions quelques astuces.
On n’est jamais mieux traduit que par soi-même
C’est le contraire du conseil donné par la plupart des spécialistes : en général, on ne peut pas s’attendre à une traduction de qualité par une personne dont le métier n’est pas de traduire, ou dont ce n’est même pas la langue maternelle.
Il ne s’agit pas de laisser chaque développeur traduire chaque fonctionnalité dans toutes les langues, mais de faire traduire par son collègue responsable de cette régionalisation. Capitaine Train était une société très européenne, à la fois par ses ambitions et par ses membres. Il n’était pas rare d’entendre parler allemand ou italien dans les bureaux.
Cela nous a amené naturellement à nous occuper nous-mêmes de traduire Capitaine Train en cinq langues. Ça a pas mal d’avantages :
- La traduction est correcte : le texte en allemand est compréhensible par des Allemands 1 ; on évite le syndrome de l’anglais scolaire ;
- La traduction est exacte : les traducteurs connaissent le produit et le métier, peuvent se faire expliquer les détails, et tester eux-mêmes leurs traductions ;
- Les formulations sur les différentes apps et le site sont cohérentes : tout est écrit par le même groupe de quelques personnes ;
- Les traducteurs peuvent repérer et corriger eux-mêmes les erreurs ;
- Pendant le développement, les traducteurs peuvent signaler qu’une fonctionnalité doit être modifiée pour être correctement localisée, par exemple si le design ne permet pas de s’adapter à la formulation spécifique dans cette langue ;
- La traduction d’une nouvelle fonctionnalité peut se faire en quelque heures, juste le temps d’en discuter ;
Ceux qui ont déjà eu à traduire des logiciels le voient bien : c’est beaucoup, beaucoup plus souple qu’une agence externe. Et certainement moins cher.
Traduire au quotidien
Côté technique, nous utilisons localeapp3 pour traduire et synchroniser les textes des applis ; sur chacun des projets (webapp, Android et iOS), un script en extrait les traductions nécessaires.
Chez Capitaine Train, les développeurs sont leurs propres chefs de projet ; c’est un résumé simplificateur, et ça fera peut-être l’objet d’un autre article, mais c’est le cas pour la localisation. Après avoir codé une nouvelle fonctionnalité, le développeur prend en charge l’intégration des traductions ; en général, ça se passe pendant que la Merge Request est relue et testée par les autres membre de l’équipe. L’étape de traduction consiste à :
- Ajouter les nouvelles entrées dans localeapp, avec une version française ou anglaise des textes ;
- Avertir les traducteurs et rédacteurs sur le channel #i18n2 sur Slack, en donnant les liens vers localeapp et en expliquant la nouveauté ;
- Le cas échéant, prendre en compte les remarques des traducteurs sur le design et le fonctionnement ;
- Intégrer les traductions dans le projet, et ajouter un commit “[i18n] Add translations” à la Merge Request ;
C’est tout, et il y a encore un avantage à ce procédé : aucune fonctionnalité ne peut être publiée sans sa traduction complète.
Ce n’est pas magique
Si cette solution s’est imposée, c’est aussi pour des raisons particulières à Capitaine Train. Premièrement, Capitaine Train a besoin de personnes parlant allemand, italien, espagnol pour plein d’autres raisons : pour le service client, les relations avec les transporteurs nationaux, et tout le Country Management au sens large. Par conséquent, il y a déjà dans l’équipe des gens parlant la langue et maitrisant le vocabulaire métier, et donc capables de gérer la traduction en temps réel. Deuxièmement, les applis n’étaient traduites qu’en cinq langues ; au-delà, les avantages de cohérence et de rapidité s’estompent peut-être.
Nous avons travaillé de cette façon pendant environ 4 ans. Par rapport à tout ce que j’ai pu voir ailleurs, c’est un confort extraordinaire. Au fond, le luxe de cette méthode, finalement toute simple, c’est le cycle court entre les développeurs et les traducteurs. C’est cette facilité de coopération entre les équipes qui permet à la fois d’avoir une localisation de qualité tout en publiant les nouveautés rapidement.
- En allemand, faut-il dire “Sie” ou “Du” à un client ? Vous avez deux heures.
- “i18n” signifie “Internationalisation” dans le jargon. En principe, “traduction”, “localisation” et “internationalisation” sont des concepts distincts. Ici, je les utilise de façon interchangeable, puisque justement tout est intégré.
- localeapp fait le job, mais au jour le jour, nous étions vraiment frustrés par disons… ses petites particularités ergonomiques. Certains d’entre nous se sont même lancés dans l’écriture d’un clone mais en mieux, lugh.