Unterstützte Engine · TyranoBuilder / TyranoScript
TyranoBuilder (und das zugrundeliegende TyranoScript) ist eine japanische Visual-Novel-Engine, beliebt für Indie-Releases auf itch.io, DLsite und Steam. RuneTranslate erkennt sowohl Electron-verpackte Builds (resources/app.asar mit tyrano/tyrano.js + data/scenario/*.ks) als auch HTML5-Standalone-Builds (lose Dateien im Stammverzeichnis). Es übersetzt jede .ks-Szenariodatei (inklusive _preview.ks und system/_*.ks-Spiegel, die verschlüsselte Builds nutzen), tyrano/lang.js für UI-Strings, data/system/Config.tjs für Konfigurations-Strings UND injiziert Charakter-Anzeigenamen in einen chara_define.ks-Block — aus dem Inline-Kürzel [<JP-id>] für Sprecher werden automatisch ordentliche [chara_new name=... jname=...]-Einträge. Kombiniere es mit der Glossar-Funktion der Supporter-Stufe, um jeden Charakternamen in der Besetzungsliste auf ein bestimmtes Rendering zu fixieren, bevor der erste Übersetzungs-Batch läuft. Die Ausgangssprache ist standardmäßig Japanisch, aber eine Pro-Projekt-Einstellung — Chinesisch, Koreanisch, Englisch und mehr funktionieren alle, sodass ein nicht-japanischer Tyrano-Build genauso extrahiert wird.
Die Charakternamen-Injektion von TyranoBuilder gibt dir bereits eine saubere Kurzliste der Sprecher — aber alles andere im Skript (Ortsnamen, Organisationsnamen, Spezial-Jutsu- / Zauber-Namen) driftet standardmäßig weiterhin ab. Trage diese ins Glossar ein. Inline-KAG-Tags ([r], [p], [font color=...]) werden Tag-maskiert, sodass Glossar-Ersetzungen nie versehentlich eine Inline-Direktive zerschießen — ein häufiger Fehlerfall bei handbearbeiteten Tyrano-Übersetzungen. Glossar-Grundlagen →
Wähle in RuneTranslate das Spiel-Stammverzeichnis. Die Engine-Erkennung verarbeitet beide Layouts: Electron-verpackt (resources/app.asar mit tyrano/) und HTML5-Standalone (data/scenario/ im Stammverzeichnis). Bei Electron-Builds liest und packt RuneTranslate app.asar transparent via @electron/asar neu.
RuneTranslate scannt data/scenario/**/*.ks (inklusive _preview.ks und der system/_*.ks-Spiegel, die verschlüsselte Builds nutzen), tyrano/lang.js für die Engine-UI und data/system/Config.tjs für Strings auf Konfigurationsebene. Inline-KAG-Tags ([r], [p], [改ページ], [font color]) und japanisch benannte Tags werden via einer Unicode-bewussten Regex maskiert, sodass das LLM sie nicht beschädigen kann.
Wenn das Szenario das Inline-Kürzel [<JP-id>] für Sprecher ohne passende chara_define.ks-Einträge nutzt, generiert RuneTranslate einen chara_define.ks-Block mit [chara_new name="<EN>" jname="<JP>"]-Einträgen — unter Bewahrung der Charaktersuche der Engine. Inline-Referenzen bleiben unangetastet, sodass Spielstände und CG-Galerien weiterhin passen.
Bei HTML5-Builds schreibt RuneTranslate die modifizierten .ks-Dateien direkt an Ort und Stelle. Bei Electron-Builds wird die modifizierte app.asar neu gepackt. Binäre / verschlüsselte .ks-Dateien (erkannt via UTF-8-Sniff) werden nie überschrieben. Der übersetzte Build läuft in TyranoBuilder identisch zum japanischen Original.