RuneTranslate übersetzt jetzt Visual Novels der Artemis-Engine
RuneTranslate übersetzt jetzt Visual Novels der Artemis Engine — die Lua-basierte Engine von iMel/Mikage hinter ~730 VNDB-Releases — ins Englische und in über 30 Sprachen. Sie liest die .pfs-Archive der Engine in reinem TypeScript, inklusive der SHA-1-schlüsselgebundenen XOR-Verschlüsselung von PF8, extrahiert Dialoge, Charakternamen und Auswahlmöglichkeiten aus den .ast- (Lua-Tabelle) und .txt-Skripten, bewahrt die Inline-Befehle für Ruby/Namensschild/Farbe und exportiert die übersetzten Skripte lose, sodass das Spiel sie ohne Neuverpacken lädt. Neu hinzugefügt und noch nicht an vielen echten Spielen verifiziert — melde jedes Spiel, das sich nicht öffnet.
RuneTranslate liest jetzt eine Engine, die für Fan-Übersetzer bislang praktisch unantastbar war: die Artemis Engine, das Lua-basierte Visual-Novel-Framework hinter Hunderten japanischer Releases. Falls du je einen Artemis-Spielordner geöffnet hast, dort einen Haufen .pfs-Archive und nichts Lesbares vorgefunden und aufgegeben hast — das ist genau diese Engine. RuneTranslate erkennt sie jetzt, öffnet diese Archive in reinem TypeScript (Verschlüsselung inklusive), liest Dialoge, Charakternamen und Auswahlmöglichkeiten aus ihren Skripten und exportiert eine übersetzte Kopie, die das Spiel von selbst lädt. Es ist die neueste Engine, die RuneTranslate unterstützt.
Dies ist eine brandneue Engine, und der ehrliche Teil zuerst: Die Artemis-Unterstützung ist frisch gebaut und noch nicht an vielen echten Spielen verifiziert. Also vor allem anderen — wenn du RuneTranslate auf ein Artemis-Spiel ansetzt und es nicht erkannt wird, sich nicht öffnet oder etwas exportiert, das das Spiel nicht laden will, sag uns bitte Bescheid. Wie, dazu am Ende mehr.
Was die Artemis Engine eigentlich ist
Artemis ist eine kommerzielle japanische Visual-Novel-Engine, entwickelt von iMel Inc. (dem Studio, das auch für Mikage bekannt ist). Während ältere Engines wie Kirikiri oder NScripter eine eigens gebaute domänenspezifische Skriptsprache offenlegen, ist Artemis rund um Lua aufgebaut — die Szenario-Skripte sind im Wesentlichen Lua-Datentabellen — was sie für Entwickler flexibel macht, in der Praxis aber eine Mauer für jeden, der ein fertiges Spiel von außen übersetzen will. Rund 730 Releases auf VNDB basieren darauf, es ist also alles andere als eine Nischenkuriosität; es ist ein ganzer Backkatalog, den Maschinenübersetzungs-Tools bislang übersprungen haben.
Auf der Festplatte besteht ein Artemis-Spiel aus einer Windows-.exe plus einem oder mehreren .pfs-Ressourcenarchiven, die Skripte, Grafik und Audio enthalten. Die Skripte darin sind meist .ast-Dateien (Lua-Tabellen-Szenarioskripte) und .txt-Dateien (ein einfacheres, zeilenorientiertes Format). RuneTranslate arbeitet direkt aus diesen Archiven und Skripten heraus, deckt das Spiel also ab, egal ob das Studio die Szenarien als .ast oder .txt ausgeliefert hat.
Warum Artemis-Spiele so schwer zu übersetzen waren
Verglichen mit einer quellcode-getriebenen Engine wie Ren'Py versteckt Artemis seinen Text hinter mehreren Schichten. Ein paar bestimmte davon haben es sowohl für Handübersetzer als auch für naive Tools unerreichbar gemacht:
- Alles steckt in `.pfs`-Archiven. Die Skripte liegen nicht lose auf der Festplatte — sie sind in Artemis' eigenes
.pfs-Containerformat gepackt (du wirst die VariantenPF8,PF6und das älterePF2sehen). Ohne einen Reader für dieses Format gibt es überhaupt nichts zu bearbeiten. - Die neuesten Archive sind verschlüsselt. Das aktuelle
PF8-Format packt die Dateien nicht nur, es verschlüsselt ihren Inhalt: Jeder Eintrag wird per XOR gegen einen Schlüssel verrechnet, der aus einemSHA-1-Hash des archiveigenen Index abgeleitet wird. Man kann die Bytes nicht einfach herausschneiden — man muss die Schlüsselableitung der Engine nachbauen, um lesbares Skript zurückzubekommen. - Die Skripte sind Lua-Daten, kein reiner Text. Ein
.ast-Szenario ist eine Lua-Tabelle — Dialoge, Sprechernamen und Auswahlmöglichkeiten sind verschachtelte Felder in strukturierten Tabellen, vermischt mit Engine-Befehlen. Es gibt zwei Tabellen-Layouts in freier Wildbahn (ein älteres v1 und ein neueres v2), und ein Übersetzer muss beide verstehen, um die tatsächlich gesprochenen Zeilen herauszuziehen, ohne die Struktur drumherum zu zerstören. - Inline-Engine-Befehle sind durch die Dialoge gewoben. Ruby-/Furigana-Annotationen, Namensschilder, Farbwechsel und Klick-Wartepunkte stehen inline mit dem Text. Ein Suchen-und-Ersetzen, das sie nicht erkennt, übersetzt auch die Befehls-Tokens mit, und das Spiel bricht.
Das Nettoergebnis: Selbst ein Übersetzer, der fließend Japanisch liest, muss zuerst einen proprietären, verschlüsselten Container entpacken, dann Lua-Tabellen von Hand parsen und schließlich sorgfältig um Inline-Markup herumnavigieren — bevor eine einzige Zeile überhaupt übersetzt wird. Genau diese Arbeit nimmt RuneTranslate dir jetzt ab.
Was RuneTranslate jetzt macht
RuneTranslate behandelt Artemis als vollwertige Engine und wickelt die gesamte Pipeline in reinem TypeScript ab — keine externen Tools, kein Python-Sidecar, nichts zu installieren:
- Liest `.pfs`-Archive direkt. Es öffnet die Archivformate
PF8,PF6und das älterePF2hausintern, einschließlich PF8s `SHA-1`-schlüsselgebundener XOR-Verschlüsselung — es baut die Schlüsselableitung der Engine nach, sodass der Skriptinhalt lesbar herauskommt. - Extrahiert Dialoge, Namen und Auswahlmöglichkeiten. Es parst die lesbaren
.ast-Szenarioskripte (Lua-Tabelle) — sowohl das ältere v1- als auch das neuere v2-Layout — die.txt-Skripte (zeilenorientiert) UND die kompilierten binären `ASB`-Szenarien, die viele Spiele tatsächlich ausliefern (per Signatur erkannt, selbst wenn sie in eine eigene Erweiterung wie.ietumbenannt sind), und listet jede übersetzbare Zeile im Editor auf: die gesprochenen Dialoge, die Charakternamen auf den Namensschildern und die verzweigenden Auswahlmöglichkeiten. - Bewahrt die Engine-Befehle. Inline-Markup — Ruby/Furigana, Namensschilder, Farbe, Klick-Wartepunkte — und Zeilenumbrüche werden hinter numerischen Platzhaltern maskiert, bevor irgendetwas den Übersetzungsanbieter erreicht, und danach exakt wiederhergestellt. Der Text wird übersetzt; die Engine-Anweisungen nicht.
- Exportiert ohne Neuverpacken. Artemis bevorzugt ein loses Skript auf der Festplatte gegenüber derselben Datei, die in einem
.pfsgepackt ist, deshalb schreibt RuneTranslate beim Export die übersetzten.ast- /.txt-Skripte lose, an ihren ursprünglichen Archivpfaden, neben das Spiel. Es gibt kein Neuverpacken — das Spiel liest einfach deine Übersetzungen statt der gepackten Originale. (Es ist derselbe Lose-Datei-Override-Ansatz wie bei unserem Kirikiri-Patch-Workflow.)
Japanisch → Englisch ist der ideale Fall, aber du kannst jede von über 30 Sprachen anvisieren — Spanisch, Französisch, Deutsch, Portugiesisch, Russisch, Chinesisch, Italienisch, Türkisch, Vietnamesisch und mehr.
Was du brauchst
- RuneTranslate für Windows — kostenlos; jede Engine und jeder Anbieter ist freigeschaltet (die Gratis-Stufe wird bei der Geschwindigkeit gedrosselt, nicht bei den Funktionen).
- Einen Artemis-Spielordner. Das ist das Verzeichnis mit der
.exedes Spiels und seinen.pfs-Archiven (die Skripte und Assets sind darin gepackt). - Eine Zielsprache — Englisch, Spanisch, Französisch, Deutsch, Portugiesisch, Russisch, Chinesisch, Italienisch, Türkisch, Vietnamesisch und über 20 weitere.
- Einen Übersetzungsanbieter. Das kostenlose Google Translate funktioniert sofort; DeepL hat eine Gratis-Stufe; OpenAI, Anthropic, ein lokales Modell (Ollama / LM Studio) und jede OpenAI-kompatible API laufen mit eigenem Schlüssel. Artemis-Spiele sind dialoglastig und tonempfindlich, daher liest sich ein LLM (OpenAI / Anthropic) oder DeepL meist am besten.
Schritt 1: Den Spielordner öffnen
Starte RuneTranslate, klick auf Neues Projekt und richte es auf das Artemis-Spielverzeichnis. Die Engine-Erkennung läuft automatisch — wenn sie die .pfs-Archive der Engine sieht, erkennt sie das Projekt als Artemis. Dein originaler Spielordner wird nie verändert.
Schritt 2: Wie die Skripte gelesen werden
RuneTranslate öffnet die .pfs-Archive und zieht die Skripte für dich heraus, entschlüsselt und parst dabei unterwegs:
- Verschlüsselte `PF8`-Archive — hausintern mit dem
SHA-1-schlüsselgebundenen XOR-Verfahren entschlüsselt, sodass du nie einen separaten Entpacker laufen lässt. - Unverschlüsselte `PF6`- / ältere `PF2`-Archive — direkt gelesen.
- `.ast`- und `.txt`-Skripte — auf Dialoge, Namen und Auswahlmöglichkeiten geparst und im Editor aufgelistet, nach Datei gruppiert.
Inline-Engine-Befehle und Zeilenumbrüche werden hinter numerischen Platzhaltern maskiert, bevor irgendetwas den Anbieter erreicht, und danach wiederhergestellt — so überstehen die Ruby-Annotationen, Namensschilder und Farb-Tags den Hin- und Rückweg unangetastet.
Schritt 3: Übersetzen
Wähl einen Anbieter und leg los. Für eine Visual Novel ist ein LLM (OpenAI / Anthropic) am besten für Charakterstimme und Ton, DeepL ist schnell und sauber für Erzählpassagen, und das kostenlose Google Translate reicht für kurze Menütexte und Auswahlmöglichkeiten. Leg deine Besetzung und wiederkehrende Begriffe vorab in einem Glossar an, damit Namen im ganzen Spiel identisch erscheinen — siehe Glossar 101. Wenn du fertig bist, liest ein optionaler Durchlauf mit dem KI-Refiner jede Zeile im Kontext erneut und glättet die steifen, wörtlichen Formulierungen, die Maschinenübersetzung gern hinterlässt.
Schritt 4: Eine startbereite Kopie exportieren
Klick auf Exportieren. RuneTranslate schreibt eine übersetzte Kopie des Spiels, bei der die übersetzten .ast- / .txt-Skripte lose an ihren ursprünglichen Pfaden liegen, neben den unangetasteten .pfs-Archiven. Es gibt kein Neuverpacken — Artemis lädt die losen Skripte bevorzugt gegenüber den gepackten Originalen, also liest das Spiel einfach deine Übersetzungen. Starte es, und es läuft in deiner Zielsprache.
Bekannte Einschränkungen
- Kompilierte `.asb`-Szenarien werden gelesen — viele Artemis-Spiele liefern das Szenario als kompiliertes binäres AST aus (die Form, die mit dem
ASB-Marker beginnt) statt als lesbares.ast/.txt, und einige benennen die Erweiterung um (ein von uns getestetes Spiel nutzt.iet). RuneTranslate erkennt das per Signatur, nicht per Erweiterung, und übersetzt es an Ort und Stelle. Wo ein Spiel Sprechernamen in Grafiken oder als Befehlsnamen statt als skriptinternen Text ablegt, stammen diese Namen aus dem Bildtext-Ablauf, nicht aus dem Skript — wenn ein Name japanisch bleibt, ist das meist der Grund. - Der Lose-Datei-Override ist der vorgesehene Ladepfad, und bei den meisten Artemis-Spielen funktioniert er, weil die Engine ein loses Skript gegenüber der gepackten Kopie bevorzugt. Beim seltenen Titel, der das nicht respektiert, muss der Export womöglich angepasst werden — genau diese Art von Verhalten in echten Spielen bestätigen wir noch.
- In Bildgrafik eingebrannter Text — ein Titelbildschirm oder eine Menütaste, als Bitmap gezeichnet — besteht aus Pixeln, nicht aus Skripttext, der Skript-Extraktor kommt also nicht heran. Dafür siehe Bildtext-Übersetzung.
- Die genaue Archiv- und Skriptvariante kann sich zwischen Releases unterscheiden. Überprüf es immer an deiner konkreten Kopie.
Es ist brandneu — sag uns, was kaputtgeht
Klar und offen wiederholt: Die Artemis-Unterstützung ist eine frische Ergänzung und wurde noch nicht an vielen echten Spielen getestet. Der .pfs-Reader, die Verschlüsselung und die .ast- / .txt-Parser sind gebaut und mit Unit-Tests geprüft, aber die Engine hat Jahre an studioabhängigen Varianten, die wir nicht alle gesehen haben. Wenn du RuneTranslate also auf ein Artemis-Spiel ansetzt und es nicht erkannt wird, die Archive nicht öffnet, nichts extrahiert oder etwas exportiert, das das Spiel nicht laden will, melde es bitte auf unserem Discord — der Name des Spiels und wie es verpackt ist (welche .pfs-Variante, .ast vs. .txt vs. .asb) ist genau das, was uns hilft, es am schnellsten robust zu machen.
Lade RuneTranslate herunter, richte es auf die Artemis-VN, die du schon immer lesen wolltest, und probier es aus. Für einen Blick darauf, wie wir eine andere archivbasierte VN-Engine handhaben, lies als Nächstes das Kirikiri-Walkthrough.
Bereit, RuneTranslate auszuprobieren?
Der Free-Tarif schaltet jede Engine + jeden Übersetzungsanbieter frei. Supporter ($3/Mon.) schaltet volle Geschwindigkeit frei.
Für Windows herunterladen