MoteursGuidesFAQPatreonDiscordTélécharger
Se connecter
RuneTranslate · traduisez vos jeux japonais de bout en bout
MoteursGuidesComparerTexte des imagesÉditeur de sauvegardeMode tricheFAQTéléchargerPatreonDiscordYouTubeConfidentialitéConditionsContact
Tous les articles
nscripter · onscripter · engine

Comment traduire les romans visuels NScripter / ONScripter

16 juin 2026·6 min de lecture

RuneTranslate traduit les romans visuels NScripter et ONScripter en anglais et plus de 30 langues — en décodant le nscript.dat obfusqué par XOR, en gérant le Shift-JIS / CP932, et en exportant une copie prête à lancer. Nouveau ; signalez tout ce qui ne charge pas.

RuneTranslate lit l'une des plus anciennes familles de moteurs des romans visuels japonais : NScripter et son jumeau open source ONScripter. Ces romans visuels doujin classiques — ceux qui se présentent comme un dossier de fichiers .dat cryptiques et de scripts Shift-JIS — ont historiquement été les plus pénibles à ouvrir à la main, et ceux que les outils de traduction automatique ignorent généralement. RuneTranslate détecte le moteur, lit le texte du script, et peut même traduire le japonais peint sur l'écran-titre et les boutons de menu.

Cette prise en charge de moteur est nouvellement ajoutée et pas encore vérifiée sur de vrais jeux, donc si vous pointez RuneTranslate vers un jeu NScripter / ONScripter et qu'il ne détecte pas ou ne charge pas, dites-le-nous — plus de détails à la fin.

Ce que sont réellement NScripter et ONScripter

NScripter est un moteur de script de romans visuels Windows à source fermée de Naoki Takahashi, largement utilisé au Japon depuis le début des années 2000. Sa licence sans redevance pour usage personnel et commercial, son empaqueteur d'archives intégré, et son langage de script célèbrement bas niveau en ont fait un pilier de la scène doujin ; des studios comme Nekonekosoft s'y sont appuyés presque exclusivement.

ONScripter est une réimplémentation séparée, open source (GPL), du runtime de NScripter par un programmeur connu sous le nom d'Ogapee. Bâti sur SDL et compatible en remplacement direct, il fonctionne là où NScripter ne peut pas — Linux, macOS, Android, et plus — si bien que la communauté de localisation l'a adopté (ainsi que des forks comme ONScripter-EN et Ponscripter pour les polices Unicode proportionnelles) comme runtime de facto pour livrer des builds traduits.

Version courte : NScripter est le moteur Windows fermé d'origine sur lequel les jeux ont été écrits ; ONScripter est le runtime ouvert et multiplateforme sur lequel les traducteurs amateurs exécutent leurs builds. RuneTranslate travaille à partir des scripts et des actifs du jeu, donc il couvre les titres des deux camps.

Pourquoi ces jeux ont été si difficiles à traduire

Comparé à un moteur moderne comme Ren'Py ou Kirikiri, NScripter / ONScripter est un champ de mines de bizarreries d'époque. Quatre en particulier en ont fait un mur pour les traducteurs manuels comme pour les outils de traduction automatique naïfs :

  • Encodage Shift-JIS / CP932. Les scripts hérités sont en Shift-JIS (CP932). Décodez-le mal et vous obtenez du mojibake ; réencodez-le sans soin et certains runtimes anciens corrompent la mémoire et plantent. Les scripts natifs modernes peuvent être en UTF-8, mais le back-catalogue est en CP932.
  • Le `nscript.dat` obfusqué par XOR-`0x84`. Le script compilé vit généralement dans nscript.dat (ou pscript.dat dans Ponscripter), chaque octet XORé contre la constante 0x84. Ce n'est pas du chiffrement — juste une protection contre les spoilers accidentels — mais vous ne pouvez toujours pas l'ouvrir dans un éditeur de texte. Les jeux en clair livrent le script sous forme de 0.utf / 0.utf.txt (UTF-8) ou 0.txt / 00.txt (Shift-JIS) à la place.
  • Texte incrusté dans les images. Écrans-titres, menus et boutons sont fréquemment des bitmaps pré-rendus, donc le japonais dessus est fait de pixels, pas de chaînes — un extracteur de chaînes ne peut pas y toucher.
  • La subtile : les lignes commençant par du latin sont réanalysées comme des commandes. L'analyseur de NScripter démarre chaque ligne en mode commande. C'était sûr quand le moteur n'acceptait que du japonais à deux octets, mais une ligne commençant par une lettre latine à un octet ressemble exactement à une commande et le moteur tente de l'exécuter. Le correctif communautaire est un marqueur de texte réservé (l'accent grave ` ` dans ONScripter hérité ; ^` dans Ponscripter) qui force le mode texte — qu'un rechercher-remplacer naïf n'ajoutera pas.

Ce que fait RuneTranslate maintenant

RuneTranslate traite NScripter / ONScripter comme un moteur de premier plan et gère les deux moitiés du problème :

  • Le texte du script. Il lit le script du jeu — un fichier libre en clair ou un nscript.dat obfusqué par XOR 0x84 — décode le dialogue Shift-JIS / CP932, liste chaque ligne traduisible dans l'éditeur, et à l'export réécrit le script dans la forme attendue par le moteur, en réappliquant le XOR quand l'original l'utilisait. Il insère aussi automatiquement le marqueur de texte à un octet pour que l'anglais traduit ne soit pas mal lu comme une commande. (Un script qui vit uniquement à l'intérieur d'une archive .nsa / .sar, sans copie libre, n'est pas encore lu — voir limitations.)
  • Le texte incrusté dans les images. Le japonais sur les écrans-titres et les menus est géré par la traduction de texte dans les images : encadrez les mots, reconnaissez-les, traduisez avec votre propre fournisseur, et recuisez le résultat pour que le jeu charge votre illustration traduite.

Le japonais → anglais est le point fort — c'est ce dont parle l'histoire de la traduction amateur de ce moteur — mais vous pouvez cibler plus de 30 langues. Sur les scripts Shift-JIS hérités, une cible non latine est limitée par les polices que le moteur peut afficher.

Ce qu'il vous faut

  • RuneTranslate pour Windows — gratuit, chaque moteur et fournisseur débloqué.
  • Un dossier de jeu NScripter ou ONScripter — le répertoire avec le .exe du jeu (ou un binaire ONScripter), son script (nscript.dat, ou un 0.txt / 0.utf libre), et toute archive .nsa / .sar.
  • Une langue cible — anglais, espagnol, français, allemand, chinois, et plus de 30 autres.
  • Un fournisseur. Google Translate gratuit fonctionne d'emblée ; DeepL a un palier gratuit ; OpenAI, Anthropic, un modèle local et toute API compatible OpenAI fonctionnent avec votre propre clé. Ces jeux sont riches en dialogues, donc un LLM ou DeepL offre la meilleure lecture.

Étape 1 : Ouvrir le dossier du jeu

Lancez RuneTranslate, cliquez sur Nouveau projet, et pointez-le vers le répertoire du jeu. La détection s'exécute automatiquement : un nscript.dat / pscript.dat, ou un 0.utf / 0.utf.txt en clair, suffit à lui seul. Un 0.txt Shift-JIS nu ou une archive .nsa isolée n'est reconnu qu'accompagné d'un signal corroborant — un binaire ONScripter, une police de jeu, ou une archive attenante — pour éviter les faux positifs. Votre dossier de jeu d'origine n'est jamais modifié.

Étape 2 : Comment le script est lu

RuneTranslate lit le script que le jeu livre en fichier libre à sa racine et le décode pour vous :

  • `nscript.dat` obfusqué — dé-XORé contre 0x84 et lu en Shift-JIS, pour que vous sautiez une étape nsdec séparée.
  • Scripts en clair — 0.utf / 0.utf.txt (UTF-8) ou 0.txt / 00.txt (Shift-JIS), lus directement.
  • Images archivées — extraites des archives .nsa / .sar du jeu pour l'étape de texte dans les images. (Le script lui-même est lu à partir des fichiers libres de la racine ; un script empaqueté uniquement dans une archive n'est pas encore lu.)

Le dialogue et le texte affiché sont listés dans l'éditeur, regroupés par fichier. Le balisage du moteur et les jetons de commande sont masqués derrière des espaces réservés numériques avant d'atteindre le fournisseur, puis restaurés en sortie — et le marqueur de texte à un octet est appliqué là où nécessaire, pour que le moteur ne prenne pas une ligne traduite pour une commande.

Étape 3 : Traduire

Choisissez un fournisseur et lancez. Un LLM (OpenAI / Anthropic) est idéal pour la voix des personnages, DeepL est rapide et net pour la narration, et Google Translate gratuit convient pour les courtes chaînes de menu. Constituez le glossaire de votre distribution en amont pour que les noms s'affichent à l'identique — voir Glossaire 101. Une fois terminé, une passe facultative avec l'affineur IA relit chaque ligne en contexte et resserre les tournures rigides et littérales que la traduction automatique a tendance à laisser.

Étape 4 : Traduire le texte dans les images

Comme une grande partie de l'interface NScripter est de l'illustration pré-rendue, cette étape compte plus ici que sur la plupart des moteurs. Ouvrez une image de titre ou de menu, encadrez chaque morceau de japonais, reconnaissez-le, traduisez-le avec le même fournisseur, et à l'export RuneTranslate recuit la traduction et l'écrit en fichier libre dans la copie exportée, pour que le moteur charge votre illustration traduite par-dessus l'originale archivée. (Votre dossier d'origine reste intact ; l'art compressé en SPB et quelques variantes d'image exotiques sont encore en cours de durcissement.) Guide complet : traduction de texte dans les images.

Étape 5 : Exporter une copie prête à lancer

Cliquez sur Exporter. RuneTranslate écrit une copie traduite du jeu — le script réencodé en Shift-JIS / CP932 et réobfusqué avec XOR 0x84 si l'original l'utilisait, écrit en script libre que le moteur charge par-dessus toute copie archivée, plus toute image traduite à côté. Lancez-le et il se joue dans votre langue cible, que ce soit sur le runtime NScripter d'origine ou sur ONScripter / ONScripter-EN.

Limitations connues

  • L'obfuscation XOR-0x84 est gérée, mais un jeu avec un véritable chiffrement personnalisé peut ne pas s'ouvrir.
  • Un script empaqueté uniquement à l'intérieur d'une archive .nsa / .sar, sans nscript.dat / 0.txt libre à la racine, n'est pas encore extrait — la plupart des jeux le livrent libre, mais quelques-uns non.
  • La traduction de texte dans les images atteint les menus, titres et boutons peints, mais l'art compressé en SPB et les logos très stylisés peuvent nécessiter une retouche manuelle.
  • Le moteur exact peut varier d'une sortie à l'autre — certains titres associés à NScripter ont été ré-ingéniérisés pour des reprises Steam / console spécifiques. Vérifiez sur votre copie.

C'est tout nouveau — dites-nous ce qui casse

Ce moteur est un ajout récent, pas encore éprouvé au combat. NScripter / ONScripter a des décennies de variantes, forks et bizarreries propres à chaque studio que nous n'avons pas toutes vues. Donc si vous pointez RuneTranslate vers l'un d'eux et qu'il ne détecte pas, ne charge pas, ou exporte quelque chose que le runtime n'ouvre pas, signalez-le — le nom du jeu et sa manière d'être empaqueté (0.txt libre, nscript.dat, archives .nsa) nous aide à le durcir le plus vite possible.

Téléchargez RuneTranslate, pointez-le vers ce roman visuel classique que vous vouliez lire, et essayez. Pour un moteur de roman visuel plus moderne, lisez le guide Ren'Py.

À lire aussi
01

Comment traduire les fichiers .po et .mo d’un jeu (gettext)

gettextpomoenginetutorial4 août 2026 · 7 min
Lire →
02

Comment traduire les jeux AliceSoft System (Rance, Evenicle…)

alicesoftranceengine26 juin 2026 · 6 min
Lire →
03

Comment traduire les romans visuels YU-RIS en anglais

yu-risengine25 juin 2026 · 6 min
Lire →

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