Moteur pris en charge · NScripter / ONScripter
NScripter (par Naoki Takahashi) est le moteur Windows à source fermée sur lequel une énorme part des romans visuels japonais doujin et commerciaux a été écrite ; ONScripter est le runtime multiplateforme open source (GPL) — Linux, macOS, Android, ONScripter-EN, Ponscripter — sur lequel les traducteurs amateurs livrent réellement leurs builds traduits. RuneTranslate couvre les deux. Il lit le script libre du jeu — un nscript.dat ou pscript.dat où chaque octet est XORé contre 0x84, ou un 0.utf / 0.txt en clair — décode le dialogue Shift-JIS / CP932 (ou UTF-8), liste chaque ligne traduisible, et à l'export le réencode et le réobfusque (XOR 0x84) quand le .dat d'origine l'utilisait, en écrivant un script libre que le moteur charge par-dessus toute archive. Il applique automatiquement le marqueur de texte à un octet pour qu'une ligne anglaise traduite ne soit pas mal analysée comme une commande (le piège classique de NScripter), et il traduit le texte en langue source (japonais par défaut) incrusté dans les écrans-titres, les menus et les boutons via l'OCR de texte dans les images. La plupart des jeux livrent le script libre (ce qui est entièrement pris en charge), un script empaqueté uniquement dans une archive .nsa / .sar n'est pas encore lu, et l'art d'image compressé en SPB est encore en cours de durcissement. Vérifiez sur un vrai jeu avant de redistribuer.
Les romans visuels s'appuient sur une distribution fixe et une terminologie récurrente sur des milliers de lignes, et la traduction automatique orthographiera le nom d'une héroïne de trois façons différentes sur trois chapitres. Mettez au glossaire vos personnages, noms de lieux et termes récurrents en amont pour que chaque ligne de dialogue et chaque menu les affiche à l'identique. Le glossaire : les bases →
Pointez RuneTranslate vers le répertoire du jeu — le dossier avec le .exe du jeu (ou un binaire ONScripter), le script (nscript.dat, pscript.dat, ou un 0.utf / 0.utf.txt / 0.txt en clair), et les archives .nsa / .sar. La détection s'appuie sur ces marqueurs de script — un 0.txt nu ou un .nsa isolé à lui seul ne suffit pas, il faut un signal NScripter corroborant (la police du moteur, un binaire ONScripter, ou un vrai fichier de script). Votre dossier d'origine n'est jamais modifié.
RuneTranslate dé-XORe le nscript.dat / pscript.dat contre 0x84 (ou lit directement un 0.utf / 0.txt en clair), décode le texte Shift-JIS / CP932 (ou UTF-8), et liste chaque ligne traduisible dans l'éditeur regroupée par fichier. Le balisage du moteur et les jetons de commande sont masqués derrière des espaces réservés numériques pour que le fournisseur ne les malmène jamais.
Ces jeux sont riches en dialogues et sensibles au ton, donc un LLM (OpenAI GPT-4o / Anthropic Claude) ou DeepL offre généralement la meilleure lecture ; Google Translate gratuit ou un modèle local (Ollama / LM Studio) couvre les courtes chaînes de menu, et vous pouvez pointer le fournisseur compatible OpenAI vers OpenRouter ou NanoGPT. Une deuxième passe facultative avec l'affineur IA resserre les tournures littérales.
Une grande partie de l'interface NScripter est de l'art pré-rendu, donc le japonais sur les écrans-titres et les boutons est fait de pixels, pas de chaînes. Encadrez chaque morceau de texte sur une image, reconnaissez-le, traduisez-le, et à l'export l'image traduite est écrite en fichier libre dans l'export pour que le moteur la charge par-dessus l'archive .nsa.
À l'export, RuneTranslate copie le jeu et réécrit le script traduit en fichier libre — réencodé en Shift-JIS / CP932 et réobfusqué avec XOR 0x84 si le .dat d'origine l'utilisait, avec le marqueur de texte à un octet appliqué — plus toute image traduite à côté. Lancez la copie exportée sur NScripter ou ONScripter et elle se joue dans votre langue.