Unerwünschte Zeilen mit Regex-Filtern von der Übersetzung ausschließen
Debug-Strings, Asset-Pfade und übrig gebliebener Entwickler-Text können der automatischen Ausschlussfunktion entgehen. Die projektbezogenen Regex-Filter von RuneTranslate schließen jede Zeile aus, deren Quelltext auf ein Muster passt – mit einer Live-Vorschau dessen, was sie genau erfassen –, sodass du nie eine Übersetzung an Müll verschwendest. Kostenlos, in jeder Stufe.
Richte RuneTranslate auf ein Spiel aus, und es zieht jeden übersetzbaren String ein, den es finden kann. Das meiste davon ist echter Dialog- und Menütext – aber ein Teil ist Müll: übrig gebliebene Debug-Zeilen, Asset-Dateinamen, interne Flags und verirrte Bezeichner, die das Spiel einem Spieler nie zeigt. RuneTranslate schließt die offensichtlichen Fälle bereits pro Engine aus und markiert sie als rote Opt-in-Zeilen, aber jedes Spiel ist anders, und mancher Müll ist spezifisch für den Titel, an dem du gerade arbeitest.
Genau dafür sind Regex-Ausschlussfilter da. Du gibst RuneTranslate ein oder mehrere Muster, und jede Zeile, deren Quelltext auf ein Muster passt, wird aus dem Lauf herausgenommen – vom Übersetzer übersprungen und als rote Opt-in-Zeile angezeigt, die du jederzeit wieder aktivieren kannst. Es ist dieselbe Mechanik wie bei den integrierten Engine-Ausschlüssen, nur gesteuert durch deine eigenen Regeln und mit dem Projekt gespeichert. Und es kostet nichts: Anders als Glossar und Übersetzungsspeicher sind Regex-Ausschlüsse in jeder Stufe kostenlos.
Warum überhaupt Zeilen ausschließen?
Zwei Gründe – einer offensichtlich, einer wichtiger:
- Kosten und Zeit. Jede Müllzeile, die du übersetzt, ist Anbieter-Kontingent (oder Ratenlimit des kostenlosen Scrapers), das für Text draufgeht, den niemand je lesen wird. Über ein ganzes Spiel hinweg summiert sich das.
- Das Spiel funktionsfähig halten. Das ist der eigentliche Grund. Manche Zeilen sind gar kein Text – sie sind Schlüssel, Dateipfade oder Ablauf-Operanden, die die Engine anhand des Werts auflöst. Übersetze
bg_office_01oderEV_FLAG_TRUE, und du kannst unbemerkt einen Szenenübergang oder eine Variablenabfrage kaputt machen. Sie auszuschließen hält den exportierten Build stabil.
Wo du es findest
Öffne ein Projekt und öffne dann in der Editor-Symbolleiste das Menü ⋯ Mehr und wähle Regex-Ausschlüsse. Das öffnet das Panel Benutzerdefinierte Ausschlussfilter – du fügst Muster hinzu, siehst genau, was sie erfassen, und wendest alles in einem einzigen Dialog an.
Die Live-Vorschau ist der springende Punkt
Du wendest ein Muster nie blind an. Während du eine Regex eintippst, zeigt RuneTranslate Passt auf N von GESAMT Zeilen an und listet eine Handvoll der echten Zeilen auf, die es erfassen würde – aktualisiert bei jedem Tastenanschlag. Ein ungültiges Muster wird sofort mit der Fehlermeldung markiert, sodass du kein defektes speichern kannst.
Da die Vorschau die tatsächlichen Zeilen deines Projekts zeigt, feilst du am Muster, bis es genau den Müll und nichts Echtes erfasst, und wendest es dann an. Ein Detail, das man sich merken sollte: Muster passen auf den Quelltext – das ursprüngliche Japanisch oder welche Ausgangssprache auch immer –, nicht auf die Übersetzung. Du schreibst Muster gegen den unübersetzten Text.
Fertige Muster
Das Panel bringt Ein-Klick-Voreinstellungs-Chips für die Muster mit, die bei fast jedem japanischen Spiel vorkommen:
- Nur ASCII —
^[\x00-\x7F]+$— eine Zeile ganz ohne Zeichen der Ausgangssprache (übrig gebliebenes Englisch, Romaji oder ein Bezeichner). Meist gefahrlos wegzulassen, wenn deine Quelle Japanisch ist. - Asset-Pfad —
\.(png|jpe?g|gif|webp|ogg|mp3|wav|webm|mp4)$— alles, was mit einer Mediendatei-Endung endet. - Variable —
^[a-z_]+\.[a-z_]— mit Punkt verbundene Code-Verweise wief.pageoderstate.flag. - GROSSBUCHSTABEN-Token —
^[A-Z0-9_]+$— Konstanten und Flags wieEVENT_FLAG_3. - Zahlen / Symbole —
^[\d\s.,:%/+\-]+$— rein numerische Zeilen und Kachelmasken wie11111112222. - Tag in Klammern —
^\[.*\]$— eine ganze Zeile, die nichts als ein[tag]ist.
Das Panel zeigt außerdem einen kompakten Spickzettel zum Erstellen eigener Muster: ^ und $ verankern Anfang und Ende einer Zeile, . ist ein beliebiges Zeichen, * und + bedeuten null-oder-mehr und ein-oder-mehr, ? ist optional, \d eine Ziffer, \w ein Wortzeichen und \s ein Leerzeichen.
Eigene Filter schreiben
Die Voreinstellungen decken die häufigen Fälle ab; für alles Spielspezifische schreibst du deinen eigenen regulären JavaScript-Ausdruck. Ein paar Faustregeln:
- An der gesamten Zeile verankern. Ein bloßes
debugpasst auf jede Zeile, die dieses Wort enthält – einschließlich echter Dialoge über das Debuggen.^DEBUG:passt nur auf Zeilen, die mit dem Marker beginnen, und ein Muster in^...$einzufassen passt auf die gesamte Zeile. Verankern ist die sicherste Standardwahl. - Behalte die Vorschau-Zählung im Auge. Wenn ein Muster von 12 erfassten Müllzeilen auf 400 hochspringt, hast du fast sicher echten Text erwischt – prüfe die Beispiele und grenze es enger ein.
- Bevorzuge Struktur gegenüber Wörtern. Müll erkennt man meist an der Form – Großbuchstaben, Punktpfade, angehängte Dateiendungen, reine Zahlen – nicht an bestimmten Wörtern. Strukturelle Muster lassen sich über das gesamte Projekt verallgemeinern.
- Eine Regel pro Idee. Mehrere kleine, klare Muster sind leichter zu durchschauen und später zu entfernen als ein einziges riesiges, unlesbares.
Anwenden und rückgängig machen
Klick auf Anwenden & speichern. RuneTranslate speichert die Muster mit dem Projekt und klassifiziert jede Zeile neu und teilt dir dann genau mit, was passiert ist – zum Beispiel 340 Zeilen ausgeschlossen · 5 wiederhergestellt. Die Zahl der wiederhergestellten sind Zeilen, die ein Filter früher erfasst hat, jetzt aber nicht mehr, und die automatisch zurückgeholt werden.
Es ist vollständig umkehrbar: Lösche ein Muster, wende es erneut an, und seine Zeilen kehren zurück. Filter besitzen immer nur ihre eigenen Ausschlüsse – sie überschreiben nie einen automatischen Engine-Ausschluss –, und du kannst jede einzelne Zeile über ihren Zeilenschalter wieder aktivieren, falls ein Filter eine Spur zu weit gefasst war.
Die Abfrage zum Zurücksetzen gefilterter Übersetzungen
Einen Fall nimmt RuneTranslate dir ab: Was, wenn du Zeilen ausfilterst, die du bereits übersetzt hattest? Eine ausgeschlossene Zeile exportiert ihren Quelltext, aber die alte Übersetzung hängt noch daran. Direkt nach dem Anwenden fragt RuneTranslate deshalb, falls neu gefilterte Zeilen bereits eine Übersetzung trugen, ob es sie auf ausstehend zurücksetzen soll – die Übersetzung wird verworfen, sodass der Export sauber auf die Quelle zurückfällt – oder sie behalten soll. Zurücksetzen ist meist das, was du willst, denn du hast diese Zeilen gerade deshalb ausgeschlossen, weil du sie nicht übersetzt haben wolltest.
Wie es zum Rest passt
Regex-Filter sind das Werkzeug für die letzte Meile. Die Engine-Adapter schließen den strukturellen Müll, den sie für jedes Format kennen, bereits aus, sodass die KI bei einem gut unterstützten Spiel nie einen Asset-Pfad zu sehen bekommt. Filter sind für die Reste: ein spielspezifischer Marker, ein seltsamer Debug-Kanal oder Strings, die eine Nischen-Engine zutage fördert und die nicht ganz Dialog sind.
Nutze den Statusfilter Ausgeschlossen des Editors, um alles zu prüfen, was derzeit zurückgehalten wird – Engine-Ausschlüsse und deine Regex-Ausschlüsse zusammen – und aktiviere beliebiges davon wieder. Und wo Filter Zeilen entfernen, macht das Glossar das Gegenteil: Es fixiert ausgewählte Begriffe, sodass sie immer gleich übersetzt werden. Mit beiden zusammen steuerst du sowohl, was übersetzt wird, als auch wie.
Fünf Minuten mit dem Filter-Panel zu Projektbeginn – ein paar Voreinstellungs-Chips einwerfen, einen Blick auf die Vorschau werfen, anwenden – sparen bei jedem folgenden Lauf Kontingent und halten riskanten Nicht-Text komplett aus dem Übersetzer heraus. RuneTranslate herunterladen, ein beliebiges Spiel öffnen und im Menü ⋯ Mehr nach Regex-Ausschlüssen schauen.
Bereit, RuneTranslate auszuprobieren?
Der Free-Tarif schaltet jede Engine + jeden Übersetzungsanbieter frei. Supporter ($3/Mon.) schaltet volle Geschwindigkeit frei.
Für Windows herunterladen