EnginesAnleitungenFAQPatreonDiscordDownload
Anmelden
RuneTranslate · japanische Spiele von Anfang bis Ende übersetzen
EnginesAnleitungenVergleichBildtextSpielstand-EditorCheat-ModusFAQDownloadPatreonDiscordYouTubeDatenschutzAGBKontakt
Alle Beiträge
yu-ris · engine

YU-RIS-Visual-Novels ins Englische übersetzen

25. Juni 2026·6 Min. Lesezeit

RuneTranslate übersetzt YU-RIS- (raiL-soft) Visual Novels ins Englische und über 30 Sprachen — es liest .ypf-Pakete und kompilierte YSTB-Skripte in reinem TypeScript, stellt den XOR-Schlüssel jedes Skripts wieder her und exportiert übersetzte Skripte lose. Nach bestem Bemühen.

RuneTranslate liest eine weitere Engine, die Fan-Übersetzern lange eine Mauer war: YU-RIS, die Windows-Skripting-Engine von raiL-soft hinter Hunderten japanischer Doujin- und kommerzieller Visual Novels. Wenn du je einen YU-RIS-Spielordner geöffnet, ein pac/-Verzeichnis voller .ypf-Archive und eine ysbin.ypf ohne etwas Lesbares darin gefunden und aufgegeben hast — das ist die Engine. RuneTranslate erkennt sie, öffnet diese Pakete in reinem TypeScript, liest die Dialoge aus den kompilierten Skripten heraus und exportiert eine übersetzte Kopie, die das Spiel von selbst lädt.

Zuerst der ehrliche Teil: Die YU-RIS-Unterstützung ist frisch gebaut und wurde noch nicht an vielen echten Spielen verifiziert. Wenn du RuneTranslate also auf ein YU-RIS-Spiel richtest und es nicht erkennt, nicht öffnet oder etwas exportiert, das das Spiel nicht lädt, sag uns bitte Bescheid — mehr dazu am Ende.

Was die YU-RIS-Engine eigentlich ist

YU-RIS (manchmal ゆーりす geschrieben) ist eine japanische Visual-Novel-Skripting-Engine von raiL-soft. Ein fertiges Spiel ist eine Windows-.exe plus ein Satz .ypf-Paketarchive — meist in einem pac/-Ordner —, die Grafik, Audio und Skripte enthalten. Das Szenario ist in ein Binärformat namens YSTB kompiliert, gespeichert als die .ybn-Dateien innerhalb von ysbin.ypf (unter internen Pfaden wie ysbin/yst00000.ybn). Genau diese Kombination aus „kompiliertem Szenario in einem gepackten Archiv“ hat den großen Backkatalog der Engine gewöhnlichen Werkzeugen für maschinelle Übersetzung verschlossen gehalten.

Warum YU-RIS-Spiele so schwer zu übersetzen waren

Verglichen mit einer quellgetriebenen Engine wie Ren'Py versteckt YU-RIS seinen Text hinter mehreren Schichten:

  • Alles lebt in `.ypf`-Paketen. Die Skripte sind nicht lose — sie sind in YU-RIS' eigenen Container gepackt, mit obfuskierten Dateinamen und zlib-komprimierten Einträgen. Ohne einen Leser für dieses Format gibt es nichts zu bearbeiten.
  • Das Szenario ist kompiliert, kein Text. Eine .ybn ist ein binärer YSTB-Container, in vier Abschnitte aufgeteilt (Instruktionsstrom, Argumentdeskriptor-Tabelle, String-Tabelle, Zeilennummern). Das Japanische lebt in der String-Tabelle, referenziert von den Deskriptoren.
  • Die Skripte sind XOR-verschlüsselt. Die vier Abschnitte jedes YSTB sind mit einem 4-Byte-Schlüssel verwürfelt, der pro Spiel variiert. Man muss ihn wiederherstellen, bevor irgendein Text lesbar ist.
  • Nicht jeder String ist Dialog. Die String-Tabelle enthält auch Variablennamen, Asset-Pfade und Ausdrucksoperanden, mit denen das Skript vergleicht — übersetze einen, und der Ablauf geht still kaputt.

Der Nettoeffekt: Selbst ein flüssiger Leser muss ein proprietäres Archiv auspacken, ein kompiliertes Binärformat parsen, den XOR-Schlüssel wiederherstellen und dann Dialog von den internen Strings der Engine unterscheiden — bevor eine einzige Zeile übersetzt wird. Genau diese Arbeit erledigt RuneTranslate für dich.

Was RuneTranslate jetzt macht

RuneTranslate erledigt die gesamte Pipeline in reinem TypeScript — keine externen Tools, kein Python-Sidecar, nichts zu installieren:

  • Liest `.ypf`-Pakete direkt. Es öffnet die Archive im Haus, dekomprimiert Einträge und stellt die obfuskierten Dateinamen wieder her — kein GARbro. Das Spiel schon selbst ausgepackt? Ein loser ysbin/-Ordner mit .ybn-Skripten wird ebenfalls erkannt.
  • Parst die kompilierten `YSTB`-Skripte und stellt den Schlüssel wieder her. Es stellt den 4-Byte-XOR-Schlüssel jedes Skripts automatisch aus der Argumentdeskriptor-Tabelle wieder her, dekodiert die Shift-JIS-String-Tabelle und listet jede japanische Zeile auf, gruppiert nach Skriptdatei.
  • Unterscheidet Dialog von Maschinerie. Variablennamen, Asset-Pfade und Ausdrucksoperanden werden angezeigt, aber standardmäßig ausgeschlossen als rote Opt-in-Zeilen, sodass du nie einen String übersetzt, mit dem die Story-Logik vergleicht.
  • Bewahrt Inline-Steuercodes. Backslash-Codes (Zeilenumbruch, Farbe, Ruby) und geklammerte Tags werden hinter numerischen Platzhaltern maskiert, bevor der Anbieter sie sieht, und dann exakt wiederhergestellt.
  • Exportiert ohne Repack. Es baut jedes übersetzte Skript neu auf — patcht die String-Tabellen-Offsets, sodass eine längere oder kürzere Übersetzung passt, und wendet den XOR-Schlüssel erneut an — und schreibt dann die .ybn lose an ihrem ursprünglichen Archivpfad. YU-RIS bevorzugt eine lose Datei gegenüber der gepackten Kopie, sodass das Spiel einfach deine Übersetzung liest — dieselbe Lose-Datei-Override wie bei unseren Kirikiri- und Artemis-Abläufen.

Japanisch → Englisch ist der Sweet Spot, aber du kannst über 30 Sprachen ansteuern.

Was du brauchst

  • RuneTranslate für Windows — kostenlos; jede Engine und jeder Anbieter ist freigeschaltet (die kostenlose Stufe ist bei der Geschwindigkeit gedrosselt, nicht bei den Funktionen).
  • Einen YU-RIS-Spielordner — das Verzeichnis mit der yu-ris.exe des Spiels und seinen .ypf-Paketen (typischerweise in pac/, mit den Skripten in ysbin.ypf).
  • Eine Zielsprache — Englisch, Spanisch, Französisch, Deutsch, Chinesisch und über 30 weitere.
  • Einen Anbieter. Das kostenlose Google Translate funktioniert sofort; DeepL hat eine kostenlose Stufe; OpenAI, Anthropic, ein lokales Modell und jede OpenAI-kompatible API laufen mit deinem eigenen Schlüssel. YU-RIS-Spiele sind dialoglastig, also liest ein LLM oder DeepL am besten.

Schritt 1: Den Spielordner öffnen

Starte RuneTranslate, klicke auf Neues Projekt und richte es auf das Verzeichnis des YU-RIS-Spiels. Die Erkennung läuft automatisch — wenn sie ein .ypf-Paket sieht (oder einen losen ysbin/-Ordner mit .ybn-Skripten), erkennt sie das Projekt als YU-RIS. Dein Original-Spielordner wird nie verändert.

Schritt 2: Wie die Skripte gelesen werden

RuneTranslate öffnet die .ypf-Pakete, holt die kompilierten YSTB-Skripte aus ysbin.ypf, stellt den XOR-Schlüssel jedes Skripts wieder her und dekodiert die Shift-JIS-String-Tabelle — es listet jede japanische Zeile im Editor auf, gruppiert nach Datei. Die internen Strings der Engine (Variablennamen, Asset-Pfade, Ausdrucksoperanden) werden angezeigt, aber standardmäßig ausgeschlossen, und Inline-Steuercodes werden hinter numerischen Platzhaltern maskiert, sodass der Anbieter sie nie verstümmelt.

Schritt 3: Übersetzen

Wähle einen Anbieter und starte. Ein LLM (OpenAI / Anthropic) ist am besten für Figurenstimme und Ton, DeepL ist schnell und sauber für Erzähltext, und das kostenlose Google Translate reicht für kurze Menü-Strings und Auswahlmöglichkeiten. Glossariere deine Besetzung vorab, damit Namen einheitlich erscheinen — siehe Glossar 101. Wenn du fertig bist, liest ein optionaler Durchgang mit dem KI-Refiner jede Zeile im Kontext erneut und strafft die steifen, wörtlichen Formulierungen, die MT gern hinterlässt.

Schritt 4: Eine startklare Kopie exportieren

Klicke auf Exportieren. RuneTranslate schreibt eine übersetzte Kopie des Spiels, wobei jede neu aufgebaute .ybn lose an ihrem ursprünglichen Archivpfad platziert wird, neben den unangetasteten .ypf-Paketen. Es gibt kein Repack — YU-RIS lädt die losen Skripte bevorzugt gegenüber den gepackten Originalen, sodass das Spiel einfach deine Übersetzungen liest. Starte es, und es spielt in deiner Zielsprache.

Bekannte Einschränkungen

  • YU-RIS-Strings sind Shift-JIS (cp932). Englisch und andere in cp932 darstellbare Ziele exportieren sauber. Ziele außerhalb von cp932 — erweitertes Kyrillisch, Koreanisch, Traditionelles Chinesisch — brauchen einen Spielschrift-/Kodierungs-Hack, der noch nicht automatisiert ist.
  • Die Lose-Datei-Override ist der erwartete Ladepfad und funktioniert bei den meisten YU-RIS-Spielen, weil die Engine ein loses Skript gegenüber der gepackten Kopie bevorzugt. Bei dem seltenen Titel, der das nicht befolgt, muss der Export vielleicht angepasst werden — genau das reale Spielverhalten, das wir noch bestätigen.
  • In Bildmaterial eingebrannter Text — ein Titelbildschirm oder eine als Bitmap gezeichnete Menüschaltfläche — ist Pixel, kein Skripttext. Dafür siehe Bildtext-Übersetzung.
  • Die genaue Archiv- und Skriptvariante kann sich zwischen Veröffentlichungen unterscheiden. Verifiziere immer an deiner konkreten Kopie.

Es ist brandneu — sag uns, was kaputtgeht

Erwähnenswert erneut: Die YU-RIS-Unterstützung ist eine frische Ergänzung und wurde noch nicht an vielen echten Spielen getestet. Der .ypf-Leser, der YSTB-Parser und die Schlüsselwiederherstellung sind gebaut und Unit-getestet, aber die Engine hat Jahre pro-Studio-Variation, die wir nicht alle gesehen haben. Wenn du RuneTranslate also auf ein YU-RIS-Spiel richtest und es nicht erkennt, die Archive nicht öffnet, nichts extrahiert oder etwas exportiert, das das Spiel nicht lädt, melde es bitte auf unserem Discord — der Name des Spiels und wie es gepackt ist, helfen uns, es am schnellsten robust zu machen.

Lade RuneTranslate herunter, richte es auf jenen YU-RIS-VN, den du schon lesen wolltest, und probiere es aus. Für eine weitere archivbasierte VN-Engine lies als Nächstes die Artemis-Anleitung.

Weiterführende Lektüre
01

So übersetzt du die .po- und .mo-Dateien eines Spiels (gettext)

gettextpomoenginetutorial4. Aug. 2026 · 7 Min.
Lesen →
02

AliceSoft-System-Spiele übersetzen (Rance, Evenicle …)

alicesoftranceengine26. Juni 2026 · 6 Min.
Lesen →
03

Artemis-Engine-Visual-Novels ins Englische übersetzen

artemisengine23. Juni 2026 · 6 Min.
Lesen →

Bereit, RuneTranslate auszuprobieren?

Der Free-Tarif schaltet jede Engine + jeden Übersetzungsanbieter frei. Supporter ($3/Mon.) schaltet volle Geschwindigkeit frei.

Für Windows herunterladen