Unterstützte Engine · Unity
Ein großer Anteil moderner japanischer Indie- und Doujin-Spiele — RPGs, Visual Novels und Simulationstitel — wird auf Unity ausgeliefert. RuneTranslate übersetzt den Text, den diese Spiele externalisieren: TextAsset-Payloads (JSON / CSV / TSV / reine-Text-Szenario-Blobs) und MonoBehaviour-String-Felder, gepackt in .assets, Level-Dateien und AssetBundles (einschließlich Single-Bundle-data.unity3d-Spielen), plus lose Skriptdateien unter StreamingAssets. Eine gebündelte UnityPy-Laufzeit liest und schreibt die Binär-Assets, alles in einem projektspezifischen Arbeitsbereich, sodass das Originalspiel unangetastet bleibt. MonoBehaviour-Text wird auf sowohl Mono- als auch IL2CPP-Builds gehandhabt — auf Mono kommen die Type Trees aus den Managed/*.dll des Spiels, und auf IL2CPP rekonstruiert RuneTranslate sie aus GameAssembly.dll + global-metadata.dat (nach bestem Bemühen; braucht parsebare Metadaten). Es entschlüsselt außerdem AES-CTR-verschlüsselte Addressable-Bundles und injiziert eine nicht-lateinische Fallback-Schrift für CJK und andere Schriften. Außerhalb des Umfangs: String-Literale, die in den Code des Spiels kompiliert sind (Assembly-CSharp.dll). Verifiziere an einem echten Spiel, bevor du es weiterverbreitest.
Unity-VN-/RPG-Skripte werden meist als JSON- oder CSV-Tabellen externalisiert, sodass Figurennamen und wiederkehrende Begriffe hunderte Male über viele TextAssets auftauchen. Anbieter formulieren sie von Batch zu Batch inkonsistent um. Glossariere den Protagonisten, die Party, wiederkehrende NPCs, Ortsnamen und jeden Signatur-Fertigkeits- oder Systembegriff vorab, sodass jede TextAsset- und StreamingAssets-Datei sie einheitlich darstellt. Glossar-Grundlagen →
Richte RuneTranslate auf das Spielverzeichnis (das mit dem <Name>_Data-Ordner). Die Engine-Erkennung sucht nach globalgamemanagers / data.unity3d / resources.assets. Die gebündelte UnityPy-Laufzeit wird automatisch genutzt — keine separate Python-Installation nötig.
RuneTranslate durchsucht die serialisierten Dateien nach TextAsset- und MonoBehaviour-Strings in der Ausgangssprache (standardmäßig Japanisch; lege pro Projekt jede unterstützte Ausgangssprache fest), plus lose Skriptdateien unter StreamingAssets. Strukturierte Payloads (JSON / KAG / HTML) werden in einzelne übersetzbare Zeilen zerlegt, sodass die Dateistruktur intakt round-trippt.
DeepL ist ein starker Standard für erzählenden Dialog; OpenAI GPT-4o oder Anthropic Claude meistern stilisierte Sprache und Onomatopöie besser. Das kostenlose Google Translate oder ein lokales Modell (Ollama / LM Studio) deckt Menü-Strings und Gegenstandsnamen ab. Anbieter-Routing kann kurze Strings in eine günstige Spur aufteilen.
Beim Export kopiert RuneTranslate das Spiel und schreibt die übersetzten Strings an Ort und Stelle zurück in die Asset-Dateien und StreamingAssets-Skripte. Das übersetzte Build läuft wie das Original — kein manuelles Asset-Jonglieren.