Je me souviens de la première fois où j'ai participé à un projet de localisation de logiciels. On m'avait confié la traduction de l'interface utilisateur d'un système informatique industriel à l'aide d'un outil de localisation de logiciels complexe. Je n'avais aucun problème avec les aspects techniques, mais la traduction d'une interface utilisateur était une nouveauté pour moi et cette tâche s'est avérée être un véritable défi.
Découvrir que les espaces réservés dans les fichiers traduits pour un projet urgent ont mystérieusement disparu. #PMproblems #StartPanicking
— Lau Velázquez (@geekylau) 9 octobre 2013
Les traducteurs qui traduisent le paramètre fictif $DepartureTime$ par $HeureDépart$ sont tout simplement cohérents.
— Olivier Oswald (@ooswald) 27 juillet 2011
Les traducteurs qui traduisent le paramètre fictif $Departure Time$ par $HeureDépart$ sont simplement cohérents.
Ce moment où un traducteur décide de changer la forme des guillemets et où la moitié de vos variables dans le jeu disparaissent.
— Vojtěch Schubert (@falagor)12 janvier 2016
Des années plus tard, le souvenir de ma première expérience me fait sourire. Inutile de dire que je prends toujours le temps d'expliquer aux traducteurs comment fonctionnent les variables. Et le meilleur moyen d'éviter les erreurs et de gagner du temps pour vous et votre équipe est d'utiliser des expressions régulières. Elles permettent de transformer les variables en objets non modifiables et facilement traçables. Dans différents logiciels, ces objets sont désignés par des noms différents. Chez Smartcat, nous aimons les appeler des « placeholders » (espaces réservés). Et si vous vous demandez ce que sont les expressions régulières, elles n'ont rien à voir avec les petites conversations. Ce sont des modèles utilisés pour faire correspondre et manipuler des combinaisons de caractères. L'apprentissage des expressions régulières ne nécessite pas de compétences en programmation. Cliquez sur cette présentation très simple réalisée par Thomas Vackier, expert en localisation chez Yamagata Europe, pour comprendre ce qu'est une regex (abréviation de « regular expression », expression régulière).
Les symboles mystérieux
Pour prendre un exemple rapide, prenons quelques lignes d'une chanson intitulée I'm Gonna Be (500 miles) des Proclaimers :
But I would walk 500 miles And I would walk 500 more Just to be the man who walked a thousand miles To fall down at your door
Imaginons que nous voulions que ces paroles changent chaque fois que l'auditeur se rend dans un endroit différent. Pour cela, nous aurons besoin de variables :
Mais je marcherais %$1s miles Et j'en marcherais %$2s de plus Juste pour être l'homme qui a marché {spelled-number} miles Pour tomber à tes pieds à {location}
Quels dangers cela comporte-t-il ? Des caractères importants peuvent être supprimés et/ou mal utilisés. Les chiffres dans %$1s doivent suivre un ordre séquentiel et « spelled-number » et « location » ne doivent pas être traduits. Malheureusement, tout le monde ne le sait pas.
« Mais pourquoi ne pas simplement engager un traducteur expert au lieu d'avoir à gérer tous ces problèmes de débutants ? », pourrait-on se demander. Quelles que soient les raisons réelles, il est important de se rappeler que personne ne naît expert en localisation, mais que toute personne qui a fait ses premiers pas et acquis une expérience inestimable dans ce domaine peut le devenir.
À l'épreuve des débutants, ou comment sauver le monde
Que pouvons-nous donc faire pour éviter les catastrophes et gagner du temps lors de l'édition ? Décrivons les variables à l'aide d'expressions régulières :
Pour les variables avec des numéros consécutifs : %\$\ds
Pour les variables entre accolades : \{.+?\}
Je trouve personnellement cette fiche très utile pour composer des expressions régulières, et regex101.com est un excellent outil en ligne que je recommande pour les tests. Téléchargeons maintenant le fichier contenant les variables dans Smartcat. Voici ce que nous allons voir :
Les variables sont affichées sous forme d'unités violettes qui ne sont manifestement pas traduisibles et peuvent être transférées en toute sécurité du texte source vers la langue cible à l'aide d'un raccourci clavier. Ces éléments resteront intacts dans le document traduit après leur téléchargement. L'utilisation d'espaces réservés ne se limite pas aux projets de localisation. Imaginez que vous ayez une grande fiche technique de pompe à air contenant des milliers d'articles. Des codes de commande sont attribués à chaque article et ils se ressemblent tous, il est donc facile de se tromper.
Une seule erreur ici peut avoir des conséquences très fâcheuses. Des erreurs peuvent survenir lors de l'expédition des commandes depuis l'entrepôt, et l'installation peut également poser problème. Le client subira des pertes, voire pire : des données incorrectes peuvent entraîner des problèmes techniques qui, à leur tour, peuvent provoquer une catastrophe environnementale. Les espaces réservés ne doivent pas être traduits, ils doivent simplement être transférés en toute sécurité dans la langue cible, alors pourquoi perdre du temps avec eux ? Trouvons tous les codes de commande à l'aide de cette élégante expression régulière [A-Z]{2}\d{4}\-\d{4} et transformons-les comme par magie en éléments non modifiables :
Quelle excellente façon de faciliter et d'accélérer notre processus de traduction (et la partie édition également) !
Pour l'instant, les espaces réservés ne sont pris en charge par défaut que pour les formats de fichiers de localisation courants. Si vous souhaitez les utiliser dans d'autres types de documents, n'hésitez pas à nous le faire savoir.
J'ai demandé à mes collègues de me faire part de leur expérience avec les espaces réservés.
Fyodor Bezrukov, directeur exécutif chez Logrus IT (bureau de Kiev)
« L'utilisation de balises et de marqueurs dans les formats de documents est une pratique courante dans notre travail. Ils nous sauvent la vie lorsque les clients nous envoient des fichiers Excel contenant des balises HTML ou XML. Grâce à la prise en charge des balises et des expressions régulières dans Smartcat, il est devenu beaucoup plus facile et pratique de traiter ce type de ressources. »
Marina Ilyinykh, responsable de la localisation chez Bookmate
« Nous utilisons beaucoup les variables et le formatage dans les interfaces utilisateur de nos applications. Le remplacement des balises et des variables par des espaces réservés nous permet d'effectuer des contrôles de cohérence automatiques et de sécuriser les données importantes, telles que les prix, les dates d'abonnement et les liens. »
Yannis Evangelou, PDG de lexiQA, a fait part de ses sentiments mitigés :
Yannis Evangelou, PDG de lexiQA
« Les traducteurs rencontrent souvent des problèmes lorsqu'ils traduisent des textes contenant des espaces réservés, des jetons et des balises. Les caractères d'échappement sont également souvent ignorés. La plupart d'entre eux ne savent pas que ce ne sont pas des unités lexicales traduisibles. Les chefs de projet ne le savent pas non plus. Pourtant, ce type de négligence peut entraîner des erreurs critiques. Un traducteur m'a raconté qu'il avait dû traiter un texte contenant du code HTML et qu'il avait traduit la ligne <p style="border: 1px solid red;"></p> en <π στυλ="περίγραμμα: 1 πίξελ συμπαγές κόκκινο;"></π>. Il a fait valoir que le développeur qui l'utiliserait ne parlait peut-être pas anglais. La chef de projet n'a pas corrigé cette erreur, car elle trouvait le raisonnement du traducteur... raisonnable ! »
Puis, Rolf Klischewski, expert en localisation de jeux vidéo, a ajouté :
« Les traducteurs de jeux vidéo sont souvent confrontés à ce genre de situations :
Et, bien sûr, cela pose toutes sortes de problèmes.
Ici, le problème est que certaines destinations nécessitent un article. Ainsi, on dit « les Bahamas », mais « la Barbade ». Ou en allemand, on dit « die Schweiz » pour « Suisse ». Dans ce genre de cas, nous refusons souvent le projet. Normalement, je conseillerais aux clients de changer leur moteur de texte, car je ne veux pas livrer un travail bâclé. Les développeurs demandent généralement : « Est-ce vraiment un problème si grave ? » Et, je veux dire, non, parce que vous pouvez jouer au jeu. Alors, comment gérer ce genre de problèmes ? Informez le client, expliquez-lui le problème. S'il ne peut ou ne veut pas corriger le moteur et que vous avez besoin d'argent, faites le travail, mais assurez-vous de ne pas être crédité. »
Abonnez-vous à notre newsletter




