Comment traduire les jeux RPG Maker
RPG Maker est le moteur le plus traduisible qui soit — le texte se trouve dans de simples fichiers de données. Voici comment identifier votre version, exporter un build traduit jouable et garder les codes de contrôle intacts.
RPG Maker est le moteur que vous rencontrerez le plus souvent en cherchant des jeux indépendants japonais, et c'est aussi le plus accueillant à traduire. Le texte du jeu n'est pas compilé dans l'exécutable — il se trouve dans d'ordinaires fichiers de données JSON ou sérialisés en Ruby, livrés à côté du jeu. C'est pour cette raison que la traduction RPG Maker fonctionne, et que le déroulé ci-dessous se termine par un build réellement jouable plutôt que par une surcouche qui devine ce qui s'affiche à l'écran.
Ce guide couvre l'identification de la version que vous avez, le déroulé de l'export, ce qui est traduit exactement, la façon dont les codes de contrôle survivent à un traducteur automatique, et quoi faire quand une ligne revient de travers. Il est écrit pour être utile que vous passiez ou non par RuneTranslate pour le faire.
Quel RPG Maker ai-je ?
La plupart des gens qui posent cette question ignorent quelle version ils tiennent, et la réponse change ce qui est possible. Ouvrez le dossier du jeu et cherchez le premier élément de cette liste qui correspond :
- Un dossier `www/` contenant
www/data/*.json— RPG Maker MV. Le jeu est une application nw.js ; l'exécutable est généralementGame.exe, à côté dewww/. - Un dossier `data/` nu avec des fichiers
.jsonet pas dewww/— RPG Maker MZ. MZ a tout remonté d'un niveau, c'est le moyen le plus rapide de distinguer les deux. - `Data/` contenant des
.rxdata,.rvdataou.rvdata2— respectivement RPG Maker XP, VX et VX Ace. SiData/paraît vide, cherchez à la racineGame.rgssad,Game.rgss2aouGame.rgss3a; ce sont les mêmes données à l'intérieur d'une archive chiffrée. - `RPG_RT.exe` à la racine, avec des fichiers
.lmtet.lmu— RPG Maker 2000 ou 2003. Une tout autre génération de moteur. - Un
.exede plusieurs dizaines ou centaines de mégaoctets sanswww/nidata/à côté — probablement un build Enigma Virtual Box avec les données empaquetées dans l'exécutable. Voir plus bas.
MV et MZ sont assez proches pour qu'on les confonde en permanence, et ils diffèrent sur des points qui comptent dès que vous commencez à éditer. La comparaison MV / MZ passe en revue la disposition des dossiers, le format des plugins et les différences de boîte de dialogue.
Le texte des jeux RPG Maker 2000 et 2003 n'est pas pris en charge. RuneTranslate lit leurs fichiers de sauvegarde .lsd via l'éditeur de sauvegarde, et rien d'autre. Si vous avez un jeu RPG_RT.exe et que vous voulez en traduire le script, l'outil qu'il vous faut est EasyRPG, pas celui-ci. Mieux vaut quitter cette page maintenant que d'y passer une heure pour le découvrir à la dure.
Le déroulé en quatre étapes
- Pointez Nouveau projet vers le dossier du jeu. Choisissez le dossier qui contient
Game.exe. Le moteur est détecté d'après ce qui s'y trouve — vous ne choisissez pas MV ou MZ dans un menu déroulant, et si la détection contredit ce que vous attendiez, cela vaut la peine d'être lu comme une information. - Choisissez un fournisseur et une langue cible. Neuf fournisseurs sont disponibles, et trois d'entre eux ne demandent ni clé d'API ni compte.
- Traduisez. RuneTranslate met les unités en lots, réessaie les échecs avec un délai croissant, et affiche une vraie barre de progression avec une estimation du temps restant. Vous pouvez modifier n'importe quelle ligne du tableau pendant l'exécution comme après.
- Exportez un build jouable vers un dossier de votre choix. Ce qui y atterrit est une copie complète et exécutable du jeu, avec les fichiers de données traduits en place.
Le dossier d'origine du jeu n'est jamais modifié. Chaque écriture va dans le dossier de sortie que vous avez choisi, ce qui veut dire qu'un mauvais export ne vous coûte que de l'espace disque — supprimez-le et réexportez. Cela veut dire aussi que vous pouvez garder le build japonais installé et jouable en parallèle.
RuneTranslate tourne sur Windows 10 et 11, et sous Wine ou Proton sur Linux et le Steam Deck. Une connexion Patreon gratuite est requise au premier lancement. Le palier gratuit débloque chaque moteur et chaque fournisseur — il bride le débit et ne garde qu'un projet à la fois, plutôt que de verrouiller des fonctionnalités derrière un paiement.
Ce qui est réellement traduit
Pour MV et MZ, l'extracteur parcourt chaque fichier de carte et chaque liste de commandes d'événement, et récupère les commandes qui produisent du texte visible par le joueur :
- `401` Afficher texte — la ligne de dialogue. C'est l'essentiel de tout jeu RPG Maker.
- `405` Afficher texte défilant — introductions, génériques, lettres, longues expositions.
- `102` Afficher choix — les entrées de la fenêtre de choix. Les libellés des branches
When [choice]s'affichent depuis ce même tableau, donc traduire le choix traduit les deux. - `320` / `324` / `325` — Changer le nom, le surnom et le profil d'un acteur, ce dont les jeux se servent pour les révélations et les transformations en cours d'histoire.
- La base de données —
Actors.json(nom, surnom, profil),Classes.json,Skills.json(nom, description, et les lignes de combatmessage1/message2),Items.json,Weapons.json,Armors.json,Enemies.json,States.json. - `System.json` — le titre du jeu, l'unité monétaire, et toute la table des termes : chaque libellé de menu, nom de commande et chaîne de statut de base que le moteur dessine.
- Les noms de cartes de `MapInfos.json` et
CommonEvents.json— les événements communs portent une quantité surprenante de script dans les jeux qui font passer leurs dialogues par un gestionnaire partagé. - Les paramètres de plugin dans
plugins.js, et les arguments de commande de plugin MZ (code de commande357). C'est là que beaucoup de jeux MV/MZ modernes gardent leur texte de menu.
Les commentaires d'événement (108 et leurs lignes de continuation 408) sont des notes de développeur que le moteur ne montre pas aux joueurs ; ils sont donc exclus par défaut. Ils ne sont pas supprimés — ils apparaissent comme des lignes à activer que vous pouvez cocher, parce qu'une poignée de plugins de bulles et de messages contextuels les affichent bel et bien. Le même traitement s'applique à tout ce que le classificateur lit comme un identifiant de code ou un chemin de fichier : exclu, visible, réversible.
Les codes de contrôle, et pourquoi ils cassent les traductions
Le dialogue RPG Maker n'est pas du texte brut. Il porte des codes d'échappement en ligne que le moteur développe au moment de l'affichage :
\C[1]— passe la couleur du texte à l'index 1 de la palette.\N[2]— substitue le nom de l'acteur 2.\V[3]— substitue la valeur de la variable 3.\G— l'unité monétaire.\I[123]— dessine l'icône 123 en ligne.\.\|\!\{\}— marquer un temps, attendre une seconde, attendre une entrée, agrandir la police, la réduire.
Donnez l'un de ces codes tel quel à un traducteur automatique et il vous reviendra abîmé. Google Translate en change l'ordre. Les petits modèles locaux perdent un crochet, mettent la lettre en minuscule, ou remplacent les crochets ASCII par des crochets pleine chasse. Un LLM décidera de temps en temps que \C[1] est une faute de frappe et le supprimera serviablement. Le résultat en jeu est une boîte de dialogue qui imprime une barre oblique inversée littérale, perd sa couleur à mi-parcours, ou affiche un blanc là où devrait figurer le nom d'un personnage.
RuneTranslate masque chaque code derrière un espace réservé numéroté — [[T0]], [[T1]] — avant que le fournisseur ne voie la chaîne, puis les restaure ensuite depuis la table de correspondance. La restauration est délibérément tolérante : elle accepte un espace réservé revenu avec un crochet manquant d'un côté, une espace en trop à l'intérieur, une lettre en minuscule, ou des crochets pleine chasse, parce qu'en pratique les quatre arrivent. Si un code disparaît complètement, l'unité est signalée plutôt que livrée en silence.
Deux cas moins évidents sont couverts par le même mécanisme. RPG Maker utilise aussi des substitutions de style printf — %1 et %2 dans Terms et dans les messages de combat des compétences, comme dans %1の攻撃! où %1 devient le nom de l'acteur — et elles sont masquées elles aussi, parce qu'un fournisseur faible inventera des crochets parasites à leur place. Beaucoup de jeux livrent par ailleurs un plugin de substitution de nom utilisant des jetons entre crochets nus comme [名前] ou [呼名], que le moteur remplace par le nom du joueur à l'exécution ; ceux-là sont masqués également, assez étroitement pour que la prose ordinaire entre crochets soit laissée tranquille.
Les codes multi-lettres définis par un plugin, comme \FFF[20] ou \FH[ON], correspondent au même motif et sont protégés sans aucune configuration par plugin.
La coupure des lignes à 46 caractères
Le japonais fait tenir bien plus de sens par caractère que le français. Une ligne qui remplissait confortablement la boîte de dialogue en japonais débordera du bord droit une fois traduite, et RPG Maker ne coupe rien pour vous — il dessine simplement au-delà de la fenêtre, et le dépassement est invisible. Vous ne le remarquerez pas avant qu'un joueur vous dise qu'il manque la moitié d'une phrase.
À l'export, le dialogue des commandes 401 et 405 est coupé à 46 caractères par ligne, ce qui correspond à peu près à ce que contient la fenêtre de message par défaut à la taille de police par défaut. Les coupures sont insérées aux frontières de mots, et les retours à la ligne déjà présents dans la source sont préservés, si bien que les sauts de page et les coupures volontaires de l'auteur survivent. Les jeux dotés d'un système de messages personnalisé ou d'une police plus petite voudront peut-être un autre nombre ; un jeu qui dessine son texte dans une fenêtre plus large coupera simplement plus tôt que nécessaire, ce qui est cosmétique et non cassé.
Images et archives chiffrées
MV et MZ proposent une option de chiffrement des assets qui renomme les images en .rpgmvp ou .png_ et applique un XOR sur un en-tête. RuneTranslate ne suppose pas le schéma standard — il récupère la longueur de l'en-tête, la longueur de la séquence XOR et la clé depuis les octets du fichier lui-même, en se servant de la signature PNG comme texte clair connu et du CRC32 de l'IHDR comme vérification. C'est important parce qu'il existe des plugins de chiffrement qui utilisent d'autres paramètres (en-tête de 32 octets, séquence de 32 octets, clé en miroir) et parce que quantité de jeux ont vu leur clé retirée de System.json. Le schéma propre à RPG Maker se valide dès la première itération, donc rien ne ralentit dans le cas courant, et tout ce qui est réécrit est rechiffré avec le même schéma pour que le déchiffreur du jeu le charge toujours.
Pour XP, VX et VX Ace, l'archive .rgssad / .rgss2a / .rgss3a est lue directement et les données Ruby Marshal qu'elle contient sont analysées en TypeScript — pas d'installation de Ruby, pas d'outil de déballage externe. La prise en charge y est au mieux : les jeux XP et VX stockent leur texte en chaînes d'octets Shift-JIS plutôt qu'en UTF-8 typé, ce qui rend les cas limites d'encodage plus probables que sur MZ.
Le texte peint dans l'illustration — un écran-titre, un bouton de menu, un panneau dans un CG — n'est dans aucun fichier de données et aucun extracteur ne peut l'atteindre. C'est à cela que sert l'Image Studio : détecter les zones de texte, nettoyer le fond, composer le remplacement et le réécrire dans le propre format d'image du jeu, chiffrement compris.
Les jeux empaquetés avec Enigma Virtual Box
Un bon nombre de jeux RPG Maker distribués n'ont aucun dossier www/ ou data/ visible, parce que tout le système de fichiers virtuel a été empaqueté dans l'exécutable avec Enigma Virtual Box. Le signe distinctif est le marqueur EVB\0 dans l'exe et un dossier de jeu qui paraît suspicieusement vide.
Ces jeux sont détectés et pris en charge. Le système de fichiers empaqueté est déballé dans un espace de travail par projet, les données sont extraites et traduites normalement, et à l'export l'intégralité du système de fichiers virtuel est écrite sous forme de dossier exécutable — l'exécutable interne restauré, ses DLL et www/ — avec les données traduites intégrées. Vous lancez l'exécutable interne extrait, qui est à ce moment-là un jeu déballé ordinaire lisant des fichiers de données libres.
Cela ne peut pas fonctionner autrement. Une approche antérieure déposait un www/ traduit à côté de l'exécutable empaqueté et cela ne faisait silencieusement rien : le wrapper en cours d'exécution résout www/ depuis son propre système de fichiers virtuel embarqué et ignore les fichiers sur le disque. Si vous faites cela à la main avec un autre outil, c'est le piège — la traduction semble s'appliquer et le jeu charge quand même le texte d'origine.
Quel fournisseur choisir
Neuf fournisseurs sont pris en charge, et trois d'entre eux ne demandent ni clé d'API ni compte nulle part : Google, le point d'accès DeepL gratuit, et DeepL avec un choix de modèle Classic ou Next-gen. Vous pouvez traduire un jeu RPG Maker entier sans payer personne ni vous inscrire où que ce soit. Les options payantes sont l'API DeepL, OpenAI, Anthropic Claude, DeepSeek, tout point d'accès compatible OpenAI, et un modèle local via Ollama ou LM Studio si vous préférez que rien ne quitte votre machine.
La version courte pour RPG Maker en particulier : les scrapers gratuits conviennent aux menus, aux noms d'objets et aux courtes lignes, et c'est par là que la plupart des gens devraient commencer. Ils peinent sur les onomatopées — si un fournisseur renvoie la source inchangée, l'unité est marquée en échec avec une note, plutôt que de laisser discrètement passer du japonais dans votre export. Un LLM est nettement meilleur sur les longs dialogues, sur le ton, et sur tout ce où le registre du locuteur compte. La comparaison des fournisseurs donne les vrais compromis, et l'affineur IA couvre la seconde passe qu'on lance sur une traduction terminée pour la nettoyer.
Garder les noms cohérents
Le reproche le plus fréquent fait à un jeu RPG Maker traduit automatiquement, c'est que le protagoniste porte quatre noms différents. Un glossaire règle cela — fixez la graphie que vous voulez pour chaque personnage, lieu, objet et compétence avant la passe, et chaque lot l'utilise. Glossaire 101 explique comment en construire un. La mémoire de traduction va dans le même sens : des chaînes source identiques reçoivent des traductions identiques dans tout le projet, ce qui compte dans un moteur où la même description d'objet apparaît dans une boutique, un menu et un événement de coffre.
Un piège propre à RPG Maker : certains plugins s'appuient sur la chaîne du nom du locuteur avec une égalité exacte — la famille TRP Skit pour MZ est la plus connue. Traduisez le nom dans Actors.json en le laissant tel quel dans les données du plugin et la correspondance échoue en silence, si bien que le portrait ou la saynète ne se déclenche jamais. RuneTranslate synchronise les deux côtés à l'export. Si vous éditez à la main, retenez qu'un nom dans RPG Maker peut être à la fois du texte affiché et une clé de recherche.
Quand quelque chose ne va pas
Une ligne est encore en japonais
Trois causes habituelles. Elle n'a jamais été extraite, parce qu'elle vit là où l'extracteur ne passe pas — le fichier de données d'un plugin personnalisé, ou du texte incrusté dans une image. Elle a été extraite mais exclue, parce que le classificateur l'a lue comme un identifiant ; cherchez-la parmi les lignes à activer et cochez-la. Ou le fournisseur a renvoyé la source inchangée, ce qui apparaît comme une unité en échec que vous pouvez relancer sur un autre fournisseur. Si vous avez traduit le jeu avant de mettre l'application à jour, utilisez Réanalyser la source dans le menu ⋯ de l'éditeur — la réanalyse ne fait qu'ajouter des unités, elle ne supprime jamais vos traductions existantes.
Le texte déborde de la boîte de dialogue
La coupure par défaut vise la fenêtre par défaut. Un jeu avec un système de messages personnalisé, une police plus grande, ou un portrait qui mange la moitié de la boîte aura besoin de lignes plus courtes. Modifiez directement l'unité fautive et insérez vos propres retours à la ligne — les coupures manuelles sont préservées jusqu'à l'export. C'est aussi la solution quand une traduction est simplement trop bavarde : réécrivez-la plus courte plutôt que de lutter contre la coupure.
Le jeu ne démarre plus après l'export
Presque toujours un fichier de données cassé plutôt qu'un mauvais texte. Vérifiez que vous avez lancé l'exécutable du dossier de sortie et non l'original. Sur un build EVB, confirmez que vous lancez bien l'exécutable interne extrait. Si un événement précis plante, le suspect est un code de contrôle qui n'a pas survécu — ouvrez cette unité et comparez ses codes à ceux de la source. Gardez le dossier de jeu d'origine intact pour toujours disposer d'une référence qui fonctionne.
Une chaîne de plugin ne doit pas être traduite
Les paramètres de plugin mélangent dans un même bloc du texte affiché, des noms d'interrupteurs, des chemins de fichiers, des raccourcis clavier et des drapeaux de mode. Tout ce qui se lit comme un identifiant de code ou un chemin est exclu automatiquement, mais un plugin qui utilise des mots japonais comme clés internes passera au travers. Marquez ces unités comme exclues et elles resteront dans la langue source à l'export. Les filtres regex font cela en masse quand les paramètres d'un plugin partagent un motif de nommage.
Limites honnêtes
- Le texte des jeux RPG Maker 2000 / 2003 est hors périmètre. Les fichiers de sauvegarde uniquement, via l'éditeur de sauvegarde. Utilisez EasyRPG pour le script.
- XP, VX et VX Ace sont au mieux. Le lecteur d'archive et l'analyseur Ruby Marshal sont en pur TypeScript et fonctionnent, mais l'ancienne gestion des chaînes Shift-JIS est une surface plus rugueuse que MV/MZ.
- Le texte compilé dans le JavaScript d'un plugin personnalisé n'est atteignable que s'il ressemble à des données. Un plugin qui code ses chaînes en dur dans sa propre logique demande une édition manuelle.
- Les builds MZ protégés nativement — où les données sont déchiffrées sous la couche JavaScript — passent par une capture à l'exécution et une surcouche, plutôt que par une inversion du chiffrement. Cela fonctionne ; considérez-le comme au mieux et vérifiez l'export avant de vous engager dans une longue passe.
- Rien de tout cela ne remplace le fait de jouer le build. Des compteurs d'extraction et une barre de progression verte ne prouvent rien. Lancez le jeu exporté et lisez les dix premières minutes.
Deux choses voisines qui valent le détour
Le mode triche lit les propres interrupteurs, variables et objets d'un jeu RPG Maker et vous laisse les basculer, ce qui est le moyen le plus rapide d'atteindre un événement de fin de jeu dont vous devez vérifier la traduction — et c'est ainsi que la plupart des gens vérifient un export sans rejouer vingt heures. L'éditeur de sauvegarde ouvre directement les sauvegardes MV/MZ, XP/VX/VX Ace et les .lsd de 2000/2003, si bien qu'une partie bloquée ou un objet clé manquant ne met pas fin à une passe.
Si vous voulez d'abord la vue d'ensemble, la liste des moteurs couvre les dix-sept formats pris en charge, la page moteur RPG Maker donne le détail des formats, et le guide général est la version non spécifique à un moteur de ce guide-ci. Quand vous êtes prêt, la page de téléchargement a l'installeur.
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
