Glossaire de traduction 101 — verrouiller les noms de personnages et la terminologie dans la traduction automatique
La traduction automatique aplatit les noms propres. Un glossaire de traduction force la substitution de paires de termes source→cible sur chaque lot, chez chaque fournisseur — pour que le nom de votre héroïne se lise pareil au chapitre 1 et au chapitre 47. Comment fonctionne le masque de marqueurs de RuneTranslate, quand la TM et le glossaire travaillent ensemble, et le flux de travail CSV pour partager des glossaires entre traducteurs.
Passez une visual novel japonaise de 200 lignes dans DeepL et le nom de l'héroïne ressort en Alice. Passez les 200 lignes suivantes et c'est Aris. Le lot d'après tranche pour Arisu. Au chapitre quatre, elle a trois noms selon la scène que vous lisez.
C'est le mode de défaillance le plus courant de la traduction automatique sur les jeux narratifs longs — pas la mauvaise grammaire, ni les tournures maladroites, mais les noms propres incohérents. Le fournisseur n'a aucune mémoire entre les lots ; il se contente de deviner la romanisation la plus plausible chaque fois qu'il voit un nom. Sur un RPG de 40 heures, cette dérive transforme une traduction lisible en quelque chose qui donne l'impression d'avoir été traduit par quatre personnes différentes.
Un glossaire de traduction règle ce problème. Vous définissez les paires de termes source-cible une seule fois — アリス → Alice, 勇者 → Hero, 魔王 → Demon Lord — et chaque lot de traduction, chez chaque fournisseur, les respecte. Le fournisseur ne voit même jamais ces termes sous leur forme brute. C'est le sujet de cet article.
Ce qu'est vraiment un glossaire
Un glossaire dans RuneTranslate est une liste de règles à trois colonnes :
- source — la sous-chaîne en langue source à verrouiller (japonais par défaut ; n'importe quelle langue source prise en charge) (p. ex.
勇者) - target — la façon dont vous voulez qu'elle soit rendue dans la sortie (p. ex.
Hero) - targetLang — à quelle langue de sortie cette règle s'applique (vous pouvez ainsi avoir un seul glossaire couvrant l'anglais + l'espagnol + l'allemand d'un coup)
Ajoutez-en 30 pour la distribution typique d'une visual novel et vous avez éliminé d'un seul coup toute cette catégorie de dérive de noms propres.
Comment fonctionne le masque de marqueurs (indépendant du fournisseur)
La méthode naïve pour imposer un glossaire consiste à écrire une expression régulière qui insère le terme cible après l'exécution du fournisseur. Ça fonctionne à peu près avec DeepL, mais échoue avec les fournisseurs LLM : le LLM a déjà reformulé la phrase autour du terme qu'il a traduit, et votre substitution par regex laisse des articles orphelins et des majuscules bizarres.
RuneTranslate masque les termes du glossaire avant qu'ils n'atteignent le fournisseur. Le runner parcourt chaque chaîne source du lot et remplace chaque source du glossaire par un marqueur numérique — [[G0]], [[G1]], etc. Le fournisseur voit des jetons opaques qu'il ne peut pas mal traduire. Au retour, ces marqueurs sont remplacés par votre terme target, puis le masque de balises du moteur (codes RPG Maker, balises KAG, interpolations Ren'Py) est restauré par-dessus.
Résultat : les termes du glossaire sont rendus à l'identique que vous soyez sur DeepL, OpenAI GPT-4o, Anthropic Claude ou le Google Translate gratuit. Mêmes masques, même étape de restauration, même sortie finale.
Ordre de priorité — la TM l'emporte sur le glossaire, qui l'emporte sur le fournisseur
Il vaut la peine de savoir comment un lot de traduction est traité à l'intérieur du runner, car cela explique pourquoi les modifications du glossaire ne vous coûtent pas de crédits fournisseur et comment la mémoire de traduction coopère avec le glossaire :
- Court-circuit de la mémoire de traduction (TM). Si vous avez déjà traduit exactement cette chaîne source dans un projet précédent, la traduction en cache est servie instantanément — zéro appel au fournisseur, zéro coût. L'unité est retirée du lot avant que le fournisseur ne la voie.
- Le masque du glossaire est appliqué aux unités que la TM n'a pas servies.
- L'appel au fournisseur se fait sur le texte masqué. C'est la seule étape qui coûte de l'argent / compte dans le quota.
- Restauration — les marqueurs du glossaire deviennent vos termes cibles, puis les balises du moteur sont restaurées par-dessus.
- Écriture dans la TM — la ligne traduite finale est mise en cache, de sorte que la prochaine fois que vous verrez ce japonais, elle repasse gratuitement à l'étape 1.
Les correspondances TM sont la plus grande économie de coût. Le glossaire est la plus grande économie de qualité. Ensemble, ils se cumulent : corrigez une ligne à la main une fois, elle est mise en cache dans la TM, et le glossaire maintient les noms propres cohérents aussi bien sur les correspondances de cache QUE sur les nouveaux lots.
Interaction TM + glossaire (le garde-fou de contournement)
Il y a un cas limite subtil qu'il vaut la peine de connaître : que se passe-t-il si vous avez traduit il y a trois mois 100 lignes contenant 勇者 sans glossaire, que la TM les a mises en cache en Warrior / Champion / Hero au hasard — et que vous ajoutez maintenant 勇者 → Hero au glossaire ?
Naïvement, la TM vous redonnerait encore Warrior la prochaine fois que vous verrez 勇者 — c'est ce qui a été mis en cache, après tout. RuneTranslate s'en prémunit : au moment de la correspondance TM, si une source du glossaire apparaît dans l'unité en cours ET que la cible en cache ne contient pas le rendu cible du glossaire, la correspondance de cache est contournée et cette unité bascule vers un nouvel appel au fournisseur. Le récapitulatif de fin d'exécution affichera une ligne « N unités ont contourné le cache pour respecter les changements du glossaire » afin que vous sachiez que cela s'est produit.
Effet net : ajouter une nouvelle entrée de glossaire à un ancien projet ne vous laisse pas coincé avec des traductions obsolètes. Il suffit de relancer la passe de traduction sur les unités concernées.
Construire votre glossaire — quoi ajouter
Pour un projet typique, triez par impact :
- La distribution d'abord. Chaque personnage nommé. Récupérez-la depuis un wiki / VNDB / l'écran de crédits du jeu lui-même si possible. Cela élimine à soi seul 80 % de la dérive sur les jeux longs.
- Les lieux ensuite. Villes, donjons, régions, royaumes. Surtout tout ce qui est écrit avec des kanji ayant plus d'une romanisation plausible.
- Les attaques / compétences emblématiques en troisième. Noms d'attaques de boss, noms de sorts récurrents, noms de coups spéciaux. Important pour les RPG et les VN axées sur le combat.
- La terminologie propre à l'univers en quatrième. Mots inventés que le jeu utilise pour les races / classes / artefacts / monnaie.
Ce qu'il ne faut pas ajouter : les mots courants. 剣 → sword est une recette à faux positifs — vous verrouilleriez chaque composé contenant 剣 (魔剣, 聖剣, 剣士) que le fournisseur aurait très bien rendu tout seul. Les entrées du glossaire sont des correspondances littérales de sous-chaîne ; gardez-les assez longues pour être uniques au nom propre que vous essayez de verrouiller.
Import / export CSV — partager des glossaires
Vous traduisez un projet de fan-traduction avec des collaborateurs ? L'onglet glossaire dans les Paramètres comporte des boutons Importer CSV et Exporter CSV qui font l'aller-retour de vos entrées via un fichier CSV RFC-4180 :
source,target,targetLang 勇者,Hero,en アリス,Alice,en 魔王,Demon Lord,en 村人A,Villager A,en 勇者,Héroe,es
La ligne d'en-tête est obligatoire. Les champs contenant des virgules, des guillemets ou des sauts de ligne sont entourés de guillemets doubles ; les guillemets internes sont échappés en "". UTF-8 avec BOM optionnel à l'import (Excel exporte en UTF-8-BOM par défaut). Les lignes vides et les lignes avec des codes targetLang non pris en charge sont ignorées avec une raison par ligne.
L'import propose un mode Fusionner (ajoute les lignes du CSV par-dessus votre glossaire actuel, dédoublonne par source+langue, le CSV l'emporte en cas de conflit) ou un mode Remplacer (efface l'existant et n'utilise que ce qui est dans le CSV). Fusionner est le bon choix par défaut pour des collaborateurs partageant un glossaire partiel ; Remplacer convient pour archiver / restaurer des sauvegardes.
Limitations actuelles
- Correspondances littérales de sous-chaîne uniquement. Pas de regex, pas de jokers. Si vous devez verrouiller à la fois
勇者よet勇者だ, vous ajoutez deux entrées pour l'instant. - Paires par langue cible. Une entrée de glossaire est liée à une seule langue de sortie. Vous ne pouvez pas définir « source=勇者, targets=Hero (en) + Héroe (es) + Held (de) » sur une seule ligne — vous ajoutez trois lignes. Le format CSV le prend en charge naturellement.
- Niveau Supporter / Pro uniquement. Le niveau gratuit affiche la carte du glossaire mais les entrées n'affectent pas les exécutions de traduction. La boîte de dialogue de découverte renvoie vers Patreon.
Pour conclure
De tous les leviers de qualité en traduction automatique, le glossaire a le meilleur rapport effort/impact — dix minutes à le construire vous épargnent des heures de correction manuelle de noms incohérents par la suite. Commencez par la distribution, publiez une première passe et ajoutez des termes au fur et à mesure que vous lisez le résultat et repérez la dérive.
Associez-le à un fournisseur qui gère bien le ton (Anthropic Claude est mon choix par défaut pour les VN) et votre sortie a déjà dépassé le seuil de la « traduction automatique lisible » pour entrer dans le territoire du « pourrait être publié comme fan-traduction avec une légère retouche manuelle ».
Téléchargez RuneTranslate pour essayer le glossaire sur un vrai projet. C'est une fonctionnalité Supporter ($3/mo) ; le niveau gratuit reste entièrement débloqué pour les moteurs + fournisseurs.
Prêt à essayer RuneTranslate ?
L'offre gratuite débloque tous les moteurs et tous les fournisseurs de traduction. Supporter (3 $/mois) débloque la vitesse maximale.
Télécharger pour Windows