Unterstützte Engine · AliceSoft System
AliceSofts hauseigene System-Engine treibt einen der größten Kataloge im japanischen PC-Gaming an — die gesamte Rance-Serie, Evenicle, Daiakuji, die Toushin-Toshi-Spiele und Jahrzehnte an Releases. Es sind eigentlich zwei Engines unter einer Marke: Klassische Titel laufen auf System 3.x (einem alice.exe- / System39.exe-Interpreter mit einem System39.ain-Index und .ald-Archiven), während moderne Titel auf System 4 laufen (einem System40.exe-Interpreter mit einem Pro-Spiel-.ain-Programm-Image und .ald- / .afa-Archiven). RuneTranslate liest jetzt beide. Es öffnet die .ald- (Alice Linked Data) und .afa- (Alice File Archive) Container in reinem TypeScript — kein GARbro, keine externen Tools, kein Sidecar — und geht dann dem Text nach, wo er tatsächlich lebt. Bei System 3.x steckt der spielerseitige Dialog überhaupt nicht in den kompilierten .SCO-Szenarien: Diese referenzieren jede Nachricht nur per Nummer, und die Strings selbst sitzen im MSGI-Abschnitt von System39.ain, leicht verschleiert. RuneTranslate ent-verschleiert diesen Abschnitt, listet jede Nachricht auf und schreibt ihn beim Export an Ort und Stelle neu — Byte für Byte identisch, wenn du nichts geändert hast. Bei System 4 ist die .ain ein ganzes kompiliertes Programm-Image, eingewickelt in einen von zwei Containern — eine zlib-komprimierte AI2-Datei oder eine vollständig MT19937-verschlüsselte — und RuneTranslate wickelt beide aus, durchläuft die Abschnitte des Programms und zieht die Nachrichten- und String-Pools zur Übersetzung heraus. Weil der Bytecode des Spiels auf jede Zeile per Index statt per Byte-Offset zeigt, kann deine Übersetzung beliebig lang sein und die Referenzen passen weiterhin. Beim Export packt es den Original-Container neu und schreibt die übersetzte .ain lose neben das Spiel, sodass der Interpreter deine Version lädt. Diese Engine wird noch an echten Spielen geprüft, teste also den exportierten Build, bevor du weiterverteilst.
Die Rance-Serie und AliceSofts breiterer Katalog laufen auf einer riesigen wiederkehrenden Besetzung und einem dichten Geflecht aus Ortsnamen, Skills und Fraktionsbegriffen über Zehntausende von Zeilen. Maschinelle Übersetzung wird denselben Namen auf drei verschiedene Arten romanisieren. Trage deine Charaktere, Orte und wiederkehrenden Begriffe vorab ins Glossar ein, damit jede Zeile sie von der ersten bis zur letzten Szene identisch rendert. Glossar-Grundlagen →
Wähle in RuneTranslate das Spielverzeichnis — den Ordner mit dem Interpreter des Spiels (alice.exe / System39.exe für System 3.x oder System40.exe für System 4), seiner System39.ain oder Pro-Spiel-.ain und den .ald- / .afa-Archiven. Die Engine-Erkennung erkennt das AliceSoft-Layout automatisch und teilt dir mit, welche System-Version es ist; dein Originalordner wird nie verändert.
RuneTranslate öffnet die .ald- / .afa-Archive in reinem TypeScript. Bei einem System-3.x-Spiel ent-verschleiert es den MSGI-Nachrichtenabschnitt von System39.ain und listet jede Zeile auf. Bei einem System-4-Spiel wickelt es den .ain-Container aus (zlib-komprimierte AI2 oder MT19937-verschlüsselt), durchläuft das Programm-Image und zieht den Nachrichten-Pool (spielerseitiger Dialog) plus den String-Pool heraus. Code-Strings — Format-Spezifizierer, Debug-Text, Identifier — werden angezeigt, aber standardmäßig ausgeschlossen, sodass du nur das übersetzt, was der Spieler sieht.
Das sind dialoglastige, tonempfindliche Spiele, 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 und Item-Namen ab, und du kannst den OpenAI-kompatiblen Anbieter auf OpenRouter oder NanoGPT richten. Ein optionaler zweiter KI-Refiner-Durchlauf strafft die wörtliche Formulierung.
AliceSoft-Text ist Shift-JIS (cp932). RuneTranslate normalisiert jede Übersetzung, bevor es sie zurückschreibt — faltet smarte Anführungszeichen, Geviertstriche, Auslassungspunkte und akzentuiertes Latein zu einfachem ASCII — sodass ein Glyph, den der Spielfont nicht hat, nie stillschweigend zu einem „?“ werden kann. Englisch und andere cp932-darstellbare Ziele exportieren sauber.
Beim Export kopiert RuneTranslate das Spiel und schreibt die übersetzte .ain zurück: Bei System 3.x schreibt es den MSGI-Abschnitt an Ort und Stelle neu; bei System 4 baut es die bearbeiteten Nachrichten-/String-Pools neu auf und packt den Original-Container neu (zlib oder verschlüsselt). Die übersetzte .ain wird lose neben das Spiel gelegt, sodass der Interpreter deine Version lädt. Starte die exportierte Kopie, und sie läuft in deiner Sprache.