From e333e4a51d8324878b313125004fb6f2085c61d4 Mon Sep 17 00:00:00 2001 From: dazedanon Date: Wed, 21 Jan 2026 11:26:58 -0600 Subject: [PATCH] We can do better --- modules/regex.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/modules/regex.py b/modules/regex.py index f09c01d..7936efe 100644 --- a/modules/regex.py +++ b/modules/regex.py @@ -203,11 +203,11 @@ def translateRegex(data, filename, translatedList): i = 0 # Define regex patterns outside loop + dialogueRegex = r'\"text\":\s?\"(.+)\",' lineRegexSpeaker = r'"name":\s?"(.+)",' choiceRegex = r"\$menu_item.+?,(.*?)," titleRegex = r"title\s'(.*)'$" setgamedatatitleRegex = r'\\setgamedatatitle\("(.+?)"\)' - dlgRegex = r'\"text\":\s?\"(.+)\",' selRegex = r'\\sel\((.+)\)' while i < len(data): @@ -259,11 +259,14 @@ def translateRegex(data, filename, translatedList): tokens[1] += response[1][1] data[i] = data[i].replace(match.group(1), speaker) - # Dlg (JSON text field) - match = re.search(dlgRegex, data[i]) + # Dialogue (JSON text field) + match = re.search(dialogueRegex, data[i]) if match: jaString = match.group(1) + # Replace \n with > for translation + jaString = jaString.replace('\\n', '>') + # Pass 1 - Collect for batch translation if not translatedList: # Add with speaker prefix if available @@ -287,6 +290,9 @@ def translateRegex(data, filename, translatedList): # Remove speaker prefix from translation translatedText = re.sub(r"^\[?(.+?)\]?\s?[|:]\s?", "", translatedText) + + # Convert > back to \n + translatedText = translatedText.replace('>', '\\n') # Escape Quotes translatedText = translatedText.replace('"', '\\"')