MoteursGuidesFAQPatreonDiscordTélécharger
Se connecter
RuneTranslate · traduisez des jeux du japonais et de 30+ langues
MoteursGuidesComparerTexte des imagesÉditeur de sauvegardeMode tricheFAQTéléchargerChangementsTrustpilotPatreonDiscordYouTubeConfidentialitéConditionsContact
Tous les articles
runesight · exclusions · ai · feature

RuneSight : le moteur neuronal qui distingue texte et code

18 sept. 2026·7 min de lecture

La version 1.0.6 met à la retraite la liste de règles regex écrites à la main qui décidait quelles lignes extraites étaient du texte et lesquelles étaient des chemins, des identifiants ou des codes de contrôle. RuneSight, un classifieur neuronal de 400 KB entraîné sur neuf cent mille lignes issues de vrais jeux, de vraies phrases en seize langues et de tous les codes de contrôle de moteur documentés, prend désormais cette décision en microsecondes sur votre CPU, indique sa raison sur chaque ligne, et ne touche jamais à une ligne qui porte du vrai texte.

Chaque jeu que RuneTranslate ouvre est fait en majorité de texte qu'un joueur va lire, plus une longue traîne de choses qui n'en ont que l'apparence : chemins d'assets, noms de variables, codes de contrôle, clés de plugin, libellés de débogage, un blob base64 oublié par quelqu'un dans un fichier de données. Traduisez l'un de ces éléments et, dans le meilleur des cas, c'est une requête gaspillée. Dans le pire des cas, c'est une scène qui ne se charge plus jamais parce que le moteur cherche désormais un nom qui n'existe plus.

Depuis la toute première version, la frontière entre les deux était tracée à la main : des centaines d'expressions régulières, une par forme de superflu rencontrée, moteur par moteur. La version 1.0.6 remplace cette liste par RuneSight, un petit réseau de neurones entraîné sur le réel. Il décide, pour chaque ligne extraite, si elle est du texte ou de la plomberie, et il le fait en quelques microsecondes, sur votre CPU, à l'intérieur de l'application.

Pourquoi une liste de règles ne suffisait plus

Une expression régulière capture exactement la forme pour laquelle elle a été écrite. bg_office_01 est un identifiant, donc une règle pour snake_case le capture. Puis arrive un jeu Wolf RPG avec <<GET_FILE_EXIST>>Data/\s[1], un jeu Bakin avec Lv.\partystatus[0], un jeu Unity avec "CubismTaskQueue.OnTask" already set., et un nom de dossier écrit en japonais qui casse la règle de chemin conçue pour l'ASCII. Chacun est devenu une nouvelle règle, délimitée avec soin pour ne pas avaler de vrais dialogues, et chaque nouveau moteur relançait le cycle.

Les règles ne savent pas non plus peser les indices. Une ligne qui est majoritairement un code de contrôle avec trois mots de dialogue à la fin est du texte, et doit rester traduisible. Une ligne qui est une phrase complète à propos d'un fichier .png est du texte. Une ligne qui n'est rien d'autre que \f[\cself[1]]\space[4] n'en est pas. Faire la différence exige une vue d'ensemble de la ligne, pas une correspondance sur une partie de celle-ci.

Ce qu'est RuneSight

RuneSight est un classifieur d'environ 400 KB. Il lit une ligne comme un sac de fragments de caractères, longs d'un à quatre caractères, hachés dans une table fixe, et associe cela à quelques dizaines de propriétés mesurées de la ligne : quelle part est faite de lettres, de chiffres, de ponctuation ou d'espaces, quelles écritures elle utilise, si elle ressemble à un chemin, si ses crochets sont équilibrés, si elle se termine comme se termine une phrase. Une petite couche cachée transforme tout cela en deux réponses : la probabilité que la ligne ne soit pas du texte, et, si ce n'en est pas, quel type de non-texte c'est.

Cette seconde réponse est ce que vous voyez dans l'éditeur. Une ligne exclue porte toujours une raison que vous pouvez lire : motif de code, référence d'asset, libellé système, numérique, commentaire, clé de plugin, codes de contrôle uniquement, binaire ou commande de plugin. La ligne reçoit une petite marque RuneSight ainsi que le niveau de confiance derrière le verdict, si bien qu'une décision n'est jamais une boîte noire, et un clic sur la ligne la réactive.

Le tout s'exécute en environ quatre microsecondes par ligne. Un JRPG de cent mille lignes est classifié en bien moins d'une seconde, sur n'importe quelle machine Windows 10 ou 11, sans GPU et sans rien envoyer où que ce soit.

Sur quoi il a appris

Il n'existait aucune donnée étiquetée pour cela, alors il a fallu la construire. Le jeu d'entraînement compte un peu plus de neuf cent mille lignes :

  • De vrais jeux. Extractions complètes de treize jeux répartis sur dix moteurs, de RPG Maker et Ren’Py à Wolf RPG, Kirikiri, Artemis, Unity, Godot, Bakin et Unreal, étiquetées par les règles que RuneSight remplaçait. C'est le plancher : il devait capturer tout ce que les règles capturaient.
  • De vraies phrases. Un quart de million de phrases dans seize langues, dont le japonais, le chinois, le coréen, le thaï, l'arabe, le russe et les langues à alphabet latin, afin qu'un texte ordinaire, quelle que soit la langue source, ne soit jamais confondu avec du code.
  • De la vraie plomberie. Cent soixante mille chemins, identifiants, noms à points et lignes de commentaire récoltés dans du code source et des paquets, les formes que les moteurs ont en commun.
  • Les angles morts, volontairement. Près de trois cent mille lignes générées à partir des références officielles de codes de contrôle de Wolf RPG, RPG Maker et Bakin, chacune associée au dialogue limite qu'elle ne doit pas avaler : une phrase qui mentionne un fichier, un nom suivi d'un chiffre, une ligne de texte avec un code au milieu.
  • Un jeu de référence vérifié à la main. Chaque ligne sur laquelle les anciennes règles étaient calées, plus de vraies lignes signalées depuis des jeux joués, tranchées une par une.

Ce qu'il devait prouver avant sa sortie

Un modèle simplement meilleur en moyenne resterait une régression pour quiconque tombe sur ses nouvelles erreurs, alors RuneSight est soumis à des seuils fixes, revérifiés à chaque réentraînement :

  • Sur chaque vrai jeu du corpus, il capture au moins 99.5% de ce que les règles écrites à la main capturaient.
  • Sur l'ensemble figé des lignes qui doivent rester traduisibles, celles sur lesquelles les anciennes règles ont toujours été testées, il ne fait aucune exclusion.
  • Sur de la prose réelle, moins de 0.2% des lignes sont jamais exclues.
  • La raison qu'il indique est juste au moins 97% du temps.
  • Une ligne est évaluée en moins de 5 microsecondes.

La règle qui comptait le plus est celle sur les lignes mixtes. Une ligne qui contient du vrai texte à côté de codes est du texte, et reste traduisible. RuneSight ne retire une ligne que lorsque la ligne entière est de la plomberie.

Ce qui n'a pas changé

RuneSight décide de la forme d'une ligne. Les décisions qui exigent du contexte, pas seulement une forme, viennent toujours des adaptateurs de moteur : un nom de nœud Godot est exclu à cause de sa place dans l'arbre de scène, un commentaire d'événement RPG Maker à cause de la commande qui le porte, une clé de paramètre de plugin à cause du fichier dans lequel elle vit. Ces règles restent, tout comme les règles de politique que vous voyez dans la colonne des raisons, comme une ligne qui ne contient aucun caractère de la langue source.

Vos propres filtres regex s'exécutent après RuneSight et se comportent exactement comme avant, et chaque exclusion, quelle qu'en soit l'origine, reste une ligne rouge que vous pouvez réactiver. Rien de ce que décide RuneSight n'est définitif.

Où le voir

Le badge RuneSight se trouve en bas à droite de l'application, au-dessus de la ligne de version. Son point est vert quand le modèle est chargé. Ouvrez-le et il vous indique la taille du modèle, le seuil de confiance avec lequel il est livré, et ce qu'a fait la dernière extraction : combien de lignes il a évaluées, combien il en a exclues, et où il n'était pas d'accord avec les anciennes règles. Après chaque extraction, un court toast rappelle ces chiffres.

Si jamais le modèle ne peut pas se charger, le badge le signale, et l'extraction revient simplement aux anciennes règles. L'application ne refuse jamais de fonctionner à cause de cela.

Chaque endroit où le modèle est en désaccord avec les anciennes règles est consigné dans un petit journal local, jamais envoyé en ligne. Si une ligne que vous considérez comme un vrai dialogue apparaît exclue, réactivez-la dans l'éditeur et signalez-le-nous sur Discord. Ce sont exactement ces retours qui nourrissent le prochain réentraînement.

À lire aussi
01

RuneLingua : la traduction est désormais incluse dans votre abonnement RuneTranslate

runelinguaproviderspricingfeature19 sept. 2026 · 6 min
Lire →
02

Exclure les lignes indésirables de la traduction avec des filtres regex

exclusionsregexfilters24 juil. 2026 · 7 min
Lire →
03

Traduisez des jeux entiers plus vite avec vos propres proxys (Pro)

proxiesproprovidersspeedfeature24 juil. 2026 · 5 min
Lire →

Prêt à essayer RuneTranslate ?

L'offre gratuite débloque tous les moteurs et tous les fournisseurs de traduction. Supporter (3,99 $/mois) débloque la vitesse maximale.

Télécharger pour Windows