Unterstützte Engine · NScripter / ONScripter
NScripter (von Naoki Takahashi) ist die Closed-Source-Windows-Engine, auf der ein riesiger Teil japanischer Doujin- und kommerzieller Visual Novels erstellt wurde; ONScripter ist die Open-Source-Laufzeit (GPL) plattformübergreifend — Linux, macOS, Android, ONScripter-EN, Ponscripter —, auf der Fan-Übersetzer ihre übersetzten Builds tatsächlich ausliefern. RuneTranslate deckt beide ab. Es liest das lose Skript des Spiels — eine nscript.dat, bei der jedes Byte gegen 0x84 XOR-verknüpft ist, oder eine Klartext-0.txt —, dekodiert den Shift-JIS- / CP932-Dialog, listet jede übersetzbare Zeile auf und kodiert sie beim Export neu und verschleiert sie neu (XOR 0x84), wenn die originale .dat sie nutzte, und schreibt ein loses Skript, das die Engine über jedem Archiv lädt. Es wendet automatisch den Ein-Byte-Text-Marker an, sodass eine übersetzte englische Zeile nicht als Befehl fehlinterpretiert wird (die klassische NScripter-Falle), und es übersetzt den Text der Ausgangssprache (Japanisch standardmäßig), der in Titelbildschirme, Menüs und Buttons eingebacken ist, via Bildtext-OCR. Die meisten Spiele liefern das Skript lose aus (was vollständig unterstützt wird), ein nur in einem .nsa- / .sar-Archiv verpacktes Skript wird noch nicht gelesen, und SPB-komprimierte Bildgrafik wird noch gehärtet. An einem echten Spiel prüfen, bevor du weiterverteilst.
Visual Novels stützen sich auf eine feste Besetzung und wiederkehrende Terminologie über Tausende von Zeilen, und maschinelle Übersetzung wird den Namen einer Heldin über drei Kapitel hinweg auf drei verschiedene Arten schreiben. Trage deine Charaktere, Ortsnamen und wiederkehrenden Begriffe vorab ins Glossar ein, damit jede Dialogzeile und jedes Menü sie identisch rendert. Glossar-Grundlagen →
Wähle in RuneTranslate das Spielverzeichnis — den Ordner mit der .exe des Spiels (oder einem ONScripter-Binary), dem Skript (nscript.dat oder einer losen 0.txt) und den .nsa- / .sar-Archiven. Die Engine-Erkennung erkennt es automatisch; dein Originalordner wird nie verändert.
RuneTranslate ent-XORt die nscript.dat gegen 0x84 (oder liest eine lose 0.txt direkt), dekodiert den Shift-JIS- / CP932-Text und listet jede übersetzbare Zeile im Editor auf, gruppiert nach Datei. Engine-Markup und Befehls-Tokens werden hinter numerischen Platzhaltern maskiert, sodass der Anbieter sie nie verstümmelt.
Diese Spiele sind dialoglastig und tonempfindlich, daher liest sich ein LLM (OpenAI GPT-4o / Anthropic Claude) oder DeepL meist am besten; das kostenlose Google Translate oder ein lokales Modell (Ollama / LM Studio) deckt kurze Menü-Strings ab, und du kannst den OpenAI-kompatiblen Anbieter auf OpenRouter oder NanoGPT richten. Ein optionaler zweiter KI-Refiner-Durchlauf strafft die wörtliche Formulierung.
Ein Großteil der NScripter-UI ist vorgerenderte Grafik, das Japanisch auf Titelbildschirmen und Buttons ist also Pixel, keine Strings. Umrahme jedes Textstück auf einem Bild, erkenne es, übersetze es, und beim Export wird das übersetzte Bild lose in den Export geschrieben, sodass die Engine es über dem .nsa-Archiv lädt.
Beim Export kopiert RuneTranslate das Spiel und schreibt das übersetzte Skript als lose Datei zurück — neu nach Shift-JIS / CP932 kodiert und mit XOR 0x84 neu verschleiert, falls die originale .dat es nutzte, mit angewendetem Ein-Byte-Text-Marker — plus alle übersetzten Bilder lose daneben. Starte die exportierte Kopie auf NScripter oder ONScripter, und sie läuft in deiner Sprache.