La mémoire de traduction ™ est une base de données de segments que vous avez déjà traduits, associés à leur texte source. Lorsqu’un nouveau texte arrive et correspond à quelque chose déjà présent dans la base, la traduction stockée est proposée pour réutilisation.
C’est toute l’idée. Sa valeur ne tient pas à une quelconque ingéniosité — elle tient au fait que le texte d’un logiciel est bien plus répétitif qu’il ne le semble en l’écrivant, et qu’un produit mature accumule une mémoire qui répond gratuitement à une large part du nouveau travail.
Comment ça fonctionne
Trois étapes, répétées indéfiniment.
1. Stocker. Chaque fois qu’une traduction est approuvée, la paire est écrite dans la base de données :
source: "Your changes have been saved"
target: "Vos modifications ont été enregistrées"
locale: fr
2. Rechercher. Lorsqu’un traducteur ouvre un segment, le système recherche dans la mémoire un texte source ressemblant au nouveau texte source, et classe les résultats par similarité.
3. Proposer. Les correspondances apparaissent à côté du segment, les meilleures en premier. Le traducteur en accepte une, en modifie une, ou les ignore.
Il n’y a rien à configurer et rien à entretenir. La mémoire se remplit comme un effet secondaire du fait de traduire, et elle s’améliore plus vous l’utilisez.
Qualité des correspondances
Les correspondances sont notées en pourcentage, et ce vocabulaire mérite d’être connu précisément, car des décisions de tarification et de flux de travail se construisent dessus.
| Correspondance | Signification | Que faire |
|---|---|---|
| 100 % / exacte | Le texte source est identique | Généralement à accepter ; vérifiez tout de même le contexte |
| Floue (85–99 %) | Petites différences — un mot, un nombre, une ponctuation | À accepter puis modifier |
| Floue (70–84 %) | Substantiellement similaire, sensiblement différente | Utile comme point de départ |
| Moins de 70 % | Vaguement liée | Généralement du bruit |
| En contexte / 101 % | Source identique et contexte environnant identique | Peut être appliquée automatiquement sans risque |
Le seuil est réglable, et le compromis est réel : un seuil bas fait apparaître davantage de suggestions, y compris des faibles, un seuil haut ne fait apparaître que les correspondances fortes et cache les quasi-correspondances utiles. Les traducteurs ont tendance à se stabiliser autour de 75 % une fois qu’ils ont pris la mesure de la mémoire d’un projet particulier.
Une correspondance à 100 % n’est pas automatiquement correcte. Le contre-exemple classique est un mot unique : Open comme intitulé de bouton et Open comme statut de ticket sont la même chaîne source et se traduisent différemment dans la plupart des langues. C’est pourquoi le contexte compte, et pourquoi une correspondance en contexte — source identique et voisinage identique — est considérée comme un signal plus fort qu’une simple correspondance exacte.
Mémoire de projet et mémoire globale
La plupart des systèmes séparent la mémoire par périmètre, et cette distinction compte plus qu’il n’y paraît au premier abord.
La mémoire de projet apprend de vos propres traductions. Elle porte la voix de votre produit, votre terminologie et vos décisions. Elle est petite au départ et devient, avec le temps, la plus précieuse des deux.
La mémoire globale ou partagée agrège des traductions provenant de nombreux projets — dans le cas de WebTranslateIt, plus de 24 millions de traductions apportées par les projets qui y participent volontairement. Elle est extrêmement utile dès le premier jour, quand votre propre mémoire est vide, et pour les chaînes génériques que contient chaque application : Cancel, Settings, Password must be at least 8 characters.
La configuration sensée consiste à utiliser les deux, avec la mémoire de projet classée en premier. Votre propre traduction approuvée d’une chaîne doit toujours primer sur celle d’un inconnu, aussi bonne soit-elle.
WebTranslateIt permet aussi de faire pointer un projet vers la mémoire d’un autre projet, ce qui est le mécanisme permettant de partager une mémoire au sein d’une famille de produits — une application web, une application mobile et un site marketing qui devraient tous utiliser les mêmes mots.
Ce qui détruit silencieusement les taux de correspondance
Voici un problème invisible jusqu’à ce que quelqu’un le mesure. Ces trois chaînes sont la même phrase :
Android I have %1$s dogs
iOS I have %@ dogs
Rails I have %{count} dogs
Pour une mémoire qui fait une comparaison exacte de chaînes, ce sont trois entrées sans rapport. Traduisez la chaîne Android en japonais, et la chaîne iOS ne montrera toujours aucune correspondance. Un produit multiplateforme peut traduire les mêmes phrases trois fois de suite sans que rien ne paraisse anormal dans aucun rapport.
La solution est la normalisation : retirer les placeholders et décoder les entités HTML avant la comparaison, afin que les trois se réduisent à I have dogs et se correspondent entre elles. Lorsqu’une correspondance est réutilisée, les placeholders sont adaptés à la syntaxe utilisée par le projet de destination, de sorte qu’un %{count} Rails ressort sous la forme d’un %@ iOS.
WebTranslateIt fait cela automatiquement. Les correspondances normalisées sont étiquetées comme telles et classées après les correspondances exactes, si bien qu’une correspondance exacte gagne toujours ; la mémoire existante a été réindexée rétroactivement, si bien que cela s’applique aussi aux traductions déjà en place, pas seulement aux nouvelles.
Si vous évaluez des plateformes et que votre produit s’étend sur plus d’une, demandez précisément comment la mémoire gère les variations de placeholders. C’est la différence entre une mémoire qui fonctionne sur l’ensemble de votre stack et une mémoire qui ne fonctionne qu’à l’intérieur de chaque silo. L’aide-mémoire des formats de placeholders couvre les syntaxes concernées.
D’où vient réellement la valeur
Trois sources, à peu près dans l’ordre d’importance :
L’itération. Le texte d’un logiciel est révisé constamment. Changer « Your changes have been saved » en « Your changes were saved » constitue une correspondance floue élevée, pas une nouvelle traduction. Les produits publiés chaque semaine tirent la majeure partie de leur valeur de là.
La répétition entre les surfaces. Le même message apparaît dans l’application web, l’application mobile, la réponse d’erreur de l’API et l’e-mail de notification. On le traduit une fois.
La cohérence. Sous-estimée. Une mémoire signifie que la même phrase source obtient la même traduction à chaque fois, sans que personne n’ait à se souvenir de ce qui a été décidé le trimestre dernier. C’est cette cohérence qui donne à une interface l’impression d’être cohérente dans une langue que vous ne lisez pas.
Limites
Elle ne comprend rien. Elle fait correspondre du texte. Une correspondance élevée avec un sens subtilement différent est réellement dangereuse, car elle paraît sûre — c’est pourquoi les correspondances floues devraient être modifiées plutôt qu’acceptées telles quelles.
Elle hérite de vos erreurs. Une mauvaise traduction approuvée une fois sera proposée pour toujours. Les mémoires ont besoin d’un nettoyage occasionnel, surtout après un changement de terminologie.
Elle ne vaut rien le premier jour pour votre propre contenu, ce qui explique exactement pourquoi une mémoire globale partagée est précieuse au début, et moins par la suite.
Elle ne remplace pas une base terminologique. La mémoire fonctionne au niveau du segment ; une base terminologique fonctionne au niveau du mot et impose la cohérence pour des termes qui apparaissent à l’intérieur de phrases par ailleurs sans rapport entre elles. Elles résolvent des problèmes voisins, et vous voulez les deux.
La garder en bonne santé
Une mémoire est une base de données qui ne fait que grossir, et les bases de données négligées se dégradent. Trois habitudes suffisent :
Nettoyez après un changement de terminologie. Renommer une fonctionnalité invalide chaque segment stocké qui la mentionne. Ces segments continueront d’être proposés comme des correspondances de haute confiance portant l’ancien nom.
Ne laissez pas entrer de la sortie machine non relue. Si de la TA brute est écrite dans la mémoire, elle en ressort plus tard indiscernable d’une traduction humaine que quelqu’un a approuvée. Gardez les deux séparables.
Élaguez périodiquement les doublons et quasi-doublons. Plusieurs variantes stockées du même texte source signifient que le traducteur choisit entre vos propres décisions passées, ce qui est exactement l’incohérence que la mémoire était censée prévenir.
Importer une mémoire existante
Si vous avez un historique de traduction dans un autre système, exportez-le en TMX et importez-le. Dans WebTranslateIt, cela signifie créer un projet, configurer les paires de langues, téléverser le TMX, puis faire pointer les ressources de traduction de votre projet de travail vers celui-ci.
Faites cela avant de démarrer un nouveau projet plutôt qu’après. Une mémoire importée six mois après coup a manqué les six mois de travail qu’elle aurait accélérés.
Et vérifiez le chemin d’export de toute plateforme que vous adoptez. Votre mémoire de traduction est un actif que vous avez payé pour construire, et elle doit être portable aussi bien à la sortie qu’à l’entrée.
Frequently asked questions
- Qu’est-ce que la mémoire de traduction ?
- La mémoire de traduction est une base de données de segments déjà traduits, associés à leur texte source. Lorsqu’un nouveau texte correspond à quelque chose déjà traduit, la traduction stockée est proposée pour réutilisation. C’est une recherche dans votre propre travail passé, pas un modèle qui génère du nouveau texte.
- Quelle est la différence entre la mémoire de traduction et la traduction automatique ?
- La mémoire de traduction récupère une traduction qu’un humain a déjà rédigée et approuvée. La traduction automatique en génère une nouvelle à partir d’un modèle. La mémoire vous donne une réponse connue pour être correcte quand elle trouve une correspondance, et rien quand elle n’en trouve pas ; la TA répond toujours, avec une qualité variable.
- Que signifie une correspondance à 100 % ?
- Le texte source est identique à un segment déjà présent dans la mémoire. Cela vaut néanmoins un coup d’œil, car un texte identique peut nécessiter des traductions différentes selon le contexte — une correspondance à 100 % sur le seul mot Open ne vous dit rien sur le fait que la traduction stockée concernait un bouton ou un adjectif.
- Qu’est-ce qu’un fichier TMX ?
- TMX (Translation Memory eXchange) est le format d’échange XML standard pour les mémoires de traduction. C’est ce qui permet de déplacer une mémoire entre systèmes, et c’est pourquoi il faut vérifier que toute plateforme que vous adoptez sait l’exporter — la mémoire est un actif que vous avez payé pour construire.
Keep reading
-
Qu’est-ce qu’une base terminologique (glossaire de traduction) ?
Comment une base terminologique garde les noms de produits et la terminologie clé cohérents entre les langues, ce qui doit s’y trouver, et pourquoi elle n’est pas la même chose qu’une mémoire de traduction.
-
Traduction automatique vs traduction humaine
Où la traduction automatique est réellement à la hauteur, où elle ne l’est pas, et comment décider par type de contenu plutôt que d’en débattre dans l’abstrait.
-
Aide-mémoire des formats de placeholders : %s, %@, %{name}, {{name}}, {0}
Toutes les syntaxes de placeholder que vous rencontrerez, quel langage ou framework les utilise, et ce qui casse quand un traducteur en retape une à la main.
-
Mémoire de traduction et import TMX (documentation)
Mémoire de traduction de projet et globale, le curseur de qualité de correspondance, et l’import d’un TMX existant.
Translate your app without the spreadsheet round-trip
WebTranslateIt reads the file formats and placeholder syntax described on this page, validates them as translators work, and syncs the results straight back into your repository.