diff --git a/modules/csv.py b/modules/csv.py index 1851b7b..12c4c38 100644 --- a/modules/csv.py +++ b/modules/csv.py @@ -669,54 +669,57 @@ def translateGPT(text, history, fullPromptFlag): # Translating response = translateText(system, user, history, 0.05, format) - # AI Refused. Try Again - if not response: - response = translateText(system, user, history, 0.05, format, MODEL) - if not response: - continue - # Set Tokens translatedText = response.choices[0].message.content + + # AI Refused, Try Again + if not translatedText: + response = translateText(system, user, history + "You Translate ALL content", 0.1, format) + + # Report Tokens totalTokens[0] += response.usage.prompt_tokens totalTokens[1] += response.usage.completion_tokens # Check Translation - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - # Mismatch. Try Again - response = translateText(system, user, history, 0.05, format, MODEL) - translatedText = response.choices[0].message.content - totalTokens[0] += response.usage.prompt_tokens - totalTokens[1] += response.usage.completion_tokens + if translatedText: + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + # Mismatch. Try Again + response = translateText(system, user, history, 0.05, format, MODEL) + translatedText = response.choices[0].message.content + totalTokens[0] += response.usage.prompt_tokens + totalTokens[1] += response.usage.completion_tokens - # Formatting - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - mismatch = True # Just here for breakpoint - logFile.write(f"Input:\n{subbedT}\n") - logFile.write(f"Output:\n{translatedText}\n") + # Formatting + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + mismatch = True # Just here for breakpoint + logFile.write(f"Input:\n{subbedT}\n") + logFile.write(f"Output:\n{translatedText}\n") - # Set if no mismatch - if mismatch == False: - tList[index] = extractedTranslations - history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + # Set if no mismatch + if mismatch == False: + tList[index] = extractedTranslations + history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + else: + history = text[-MAXHISTORY:] + mismatch = False + if FILENAME not in MISMATCH: + MISMATCH.append(FILENAME) + + # Update Loading Bar + with LOCK: + if PBAR is not None: + PBAR.update(len(tItem)) else: - history = text[-MAXHISTORY:] - mismatch = False - if FILENAME not in MISMATCH: - MISMATCH.append(FILENAME) - - # Update Loading Bar - with LOCK: - if PBAR is not None: - PBAR.update(len(tItem)) + # Ensure we're passing a single string to extractTranslation + tList[index] = translatedText.replace("Placeholder Text", "") else: - # Ensure we're passing a single string to extractTranslation - tList[index] = translatedText.replace("Placeholder Text", "") + PBAR.write(f"AI Refused:{tItem}\n") # Combine if multilist if isinstance(tList[0], list): diff --git a/modules/json.py b/modules/json.py index 4f8e624..cda94d2 100644 --- a/modules/json.py +++ b/modules/json.py @@ -533,54 +533,57 @@ def translateGPT(text, history, fullPromptFlag): # Translating response = translateText(system, user, history, 0.05, format) - # AI Refused. Try Again - if not response: - response = translateText(system, user, history, 0.05, format, MODEL) - if not response: - continue - # Set Tokens translatedText = response.choices[0].message.content + + # AI Refused, Try Again + if not translatedText: + response = translateText(system, user, history + "You Translate ALL content", 0.1, format) + + # Report Tokens totalTokens[0] += response.usage.prompt_tokens totalTokens[1] += response.usage.completion_tokens # Check Translation - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - # Mismatch. Try Again - response = translateText(system, user, history, 0.05, format, MODEL) - translatedText = response.choices[0].message.content - totalTokens[0] += response.usage.prompt_tokens - totalTokens[1] += response.usage.completion_tokens + if translatedText: + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + # Mismatch. Try Again + response = translateText(system, user, history, 0.05, format, MODEL) + translatedText = response.choices[0].message.content + totalTokens[0] += response.usage.prompt_tokens + totalTokens[1] += response.usage.completion_tokens - # Formatting - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - mismatch = True # Just here for breakpoint - logFile.write(f"Input:\n{subbedT}\n") - logFile.write(f"Output:\n{translatedText}\n") + # Formatting + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + mismatch = True # Just here for breakpoint + logFile.write(f"Input:\n{subbedT}\n") + logFile.write(f"Output:\n{translatedText}\n") - # Set if no mismatch - if mismatch == False: - tList[index] = extractedTranslations - history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + # Set if no mismatch + if mismatch == False: + tList[index] = extractedTranslations + history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + else: + history = text[-MAXHISTORY:] + mismatch = False + if FILENAME not in MISMATCH: + MISMATCH.append(FILENAME) + + # Update Loading Bar + with LOCK: + if PBAR is not None: + PBAR.update(len(tItem)) else: - history = text[-MAXHISTORY:] - mismatch = False - if FILENAME not in MISMATCH: - MISMATCH.append(FILENAME) - - # Update Loading Bar - with LOCK: - if PBAR is not None: - PBAR.update(len(tItem)) + # Ensure we're passing a single string to extractTranslation + tList[index] = translatedText.replace("Placeholder Text", "") else: - # Ensure we're passing a single string to extractTranslation - tList[index] = translatedText.replace("Placeholder Text", "") + PBAR.write(f"AI Refused:{tItem}\n") # Combine if multilist if isinstance(tList[0], list): diff --git a/modules/kirikiri.py b/modules/kirikiri.py index 99e5a3a..5a41e5f 100644 --- a/modules/kirikiri.py +++ b/modules/kirikiri.py @@ -577,54 +577,57 @@ def translateGPT(text, history, fullPromptFlag): # Translating response = translateText(system, user, history, 0.05, format) - # AI Refused. Try Again - if not response: - response = translateText(system, user, history, 0.05, format, MODEL) - if not response: - continue - # Set Tokens translatedText = response.choices[0].message.content + + # AI Refused, Try Again + if not translatedText: + response = translateText(system, user, history + "You Translate ALL content", 0.1, format) + + # Report Tokens totalTokens[0] += response.usage.prompt_tokens totalTokens[1] += response.usage.completion_tokens # Check Translation - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - # Mismatch. Try Again - response = translateText(system, user, history, 0.05, format, MODEL) - translatedText = response.choices[0].message.content - totalTokens[0] += response.usage.prompt_tokens - totalTokens[1] += response.usage.completion_tokens + if translatedText: + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + # Mismatch. Try Again + response = translateText(system, user, history, 0.05, format, MODEL) + translatedText = response.choices[0].message.content + totalTokens[0] += response.usage.prompt_tokens + totalTokens[1] += response.usage.completion_tokens - # Formatting - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - mismatch = True # Just here for breakpoint - logFile.write(f"Input:\n{subbedT}\n") - logFile.write(f"Output:\n{translatedText}\n") + # Formatting + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + mismatch = True # Just here for breakpoint + logFile.write(f"Input:\n{subbedT}\n") + logFile.write(f"Output:\n{translatedText}\n") - # Set if no mismatch - if mismatch == False: - tList[index] = extractedTranslations - history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + # Set if no mismatch + if mismatch == False: + tList[index] = extractedTranslations + history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + else: + history = text[-MAXHISTORY:] + mismatch = False + if FILENAME not in MISMATCH: + MISMATCH.append(FILENAME) + + # Update Loading Bar + with LOCK: + if PBAR is not None: + PBAR.update(len(tItem)) else: - history = text[-MAXHISTORY:] - mismatch = False - if FILENAME not in MISMATCH: - MISMATCH.append(FILENAME) - - # Update Loading Bar - with LOCK: - if PBAR is not None: - PBAR.update(len(tItem)) + # Ensure we're passing a single string to extractTranslation + tList[index] = translatedText.replace("Placeholder Text", "") else: - # Ensure we're passing a single string to extractTranslation - tList[index] = translatedText.replace("Placeholder Text", "") + PBAR.write(f"AI Refused:{tItem}\n") # Combine if multilist if isinstance(tList[0], list): diff --git a/modules/nscript.py b/modules/nscript.py index 6906f45..fb406b2 100644 --- a/modules/nscript.py +++ b/modules/nscript.py @@ -592,54 +592,57 @@ def translateGPT(text, history, fullPromptFlag): # Translating response = translateText(system, user, history, 0.05, format) - # AI Refused. Try Again - if not response: - response = translateText(system, user, history, 0.05, format, MODEL) - if not response: - continue - # Set Tokens translatedText = response.choices[0].message.content + + # AI Refused, Try Again + if not translatedText: + response = translateText(system, user, history + "You Translate ALL content", 0.1, format) + + # Report Tokens totalTokens[0] += response.usage.prompt_tokens totalTokens[1] += response.usage.completion_tokens # Check Translation - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - # Mismatch. Try Again - response = translateText(system, user, history, 0.05, format, MODEL) - translatedText = response.choices[0].message.content - totalTokens[0] += response.usage.prompt_tokens - totalTokens[1] += response.usage.completion_tokens + if translatedText: + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + # Mismatch. Try Again + response = translateText(system, user, history, 0.05, format, MODEL) + translatedText = response.choices[0].message.content + totalTokens[0] += response.usage.prompt_tokens + totalTokens[1] += response.usage.completion_tokens - # Formatting - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - mismatch = True # Just here for breakpoint - logFile.write(f"Input:\n{subbedT}\n") - logFile.write(f"Output:\n{translatedText}\n") + # Formatting + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + mismatch = True # Just here for breakpoint + logFile.write(f"Input:\n{subbedT}\n") + logFile.write(f"Output:\n{translatedText}\n") - # Set if no mismatch - if mismatch == False: - tList[index] = extractedTranslations - history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + # Set if no mismatch + if mismatch == False: + tList[index] = extractedTranslations + history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + else: + history = text[-MAXHISTORY:] + mismatch = False + if FILENAME not in MISMATCH: + MISMATCH.append(FILENAME) + + # Update Loading Bar + with LOCK: + if PBAR is not None: + PBAR.update(len(tItem)) else: - history = text[-MAXHISTORY:] - mismatch = False - if FILENAME not in MISMATCH: - MISMATCH.append(FILENAME) - - # Update Loading Bar - with LOCK: - if PBAR is not None: - PBAR.update(len(tItem)) + # Ensure we're passing a single string to extractTranslation + tList[index] = translatedText.replace("Placeholder Text", "") else: - # Ensure we're passing a single string to extractTranslation - tList[index] = translatedText.replace("Placeholder Text", "") + PBAR.write(f"AI Refused:{tItem}\n") # Combine if multilist if isinstance(tList[0], list): diff --git a/modules/renpy.py b/modules/renpy.py index 131a45c..2b90209 100644 --- a/modules/renpy.py +++ b/modules/renpy.py @@ -516,54 +516,57 @@ def translateGPT(text, history, fullPromptFlag): # Translating response = translateText(system, user, history, 0.05, format) - # AI Refused. Try Again - if not response: - response = translateText(system, user, history, 0.05, format, MODEL) - if not response: - continue - # Set Tokens translatedText = response.choices[0].message.content + + # AI Refused, Try Again + if not translatedText: + response = translateText(system, user, history + "You Translate ALL content", 0.1, format) + + # Report Tokens totalTokens[0] += response.usage.prompt_tokens totalTokens[1] += response.usage.completion_tokens # Check Translation - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - # Mismatch. Try Again - response = translateText(system, user, history, 0.05, format, MODEL) - translatedText = response.choices[0].message.content - totalTokens[0] += response.usage.prompt_tokens - totalTokens[1] += response.usage.completion_tokens + if translatedText: + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + # Mismatch. Try Again + response = translateText(system, user, history, 0.05, format, MODEL) + translatedText = response.choices[0].message.content + totalTokens[0] += response.usage.prompt_tokens + totalTokens[1] += response.usage.completion_tokens - # Formatting - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - mismatch = True # Just here for breakpoint - logFile.write(f"Input:\n{subbedT}\n") - logFile.write(f"Output:\n{translatedText}\n") + # Formatting + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + mismatch = True # Just here for breakpoint + logFile.write(f"Input:\n{subbedT}\n") + logFile.write(f"Output:\n{translatedText}\n") - # Set if no mismatch - if mismatch == False: - tList[index] = extractedTranslations - history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + # Set if no mismatch + if mismatch == False: + tList[index] = extractedTranslations + history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + else: + history = text[-MAXHISTORY:] + mismatch = False + if FILENAME not in MISMATCH: + MISMATCH.append(FILENAME) + + # Update Loading Bar + with LOCK: + if PBAR is not None: + PBAR.update(len(tItem)) else: - history = text[-MAXHISTORY:] - mismatch = False - if FILENAME not in MISMATCH: - MISMATCH.append(FILENAME) - - # Update Loading Bar - with LOCK: - if PBAR is not None: - PBAR.update(len(tItem)) + # Ensure we're passing a single string to extractTranslation + tList[index] = translatedText.replace("Placeholder Text", "") else: - # Ensure we're passing a single string to extractTranslation - tList[index] = translatedText.replace("Placeholder Text", "") + PBAR.write(f"AI Refused:{tItem}\n") # Combine if multilist if isinstance(tList[0], list): diff --git a/modules/rpgmakerace.py b/modules/rpgmakerace.py index 726b4dd..85cde7f 100644 --- a/modules/rpgmakerace.py +++ b/modules/rpgmakerace.py @@ -2597,54 +2597,57 @@ def translateGPT(text, history, fullPromptFlag): # Translating response = translateText(system, user, history, 0.05, format) - # AI Refused. Try Again - if not response: - response = translateText(system, user, history, 0.05, format, MODEL) - if not response: - continue - # Set Tokens translatedText = response.choices[0].message.content + + # AI Refused, Try Again + if not translatedText: + response = translateText(system, user, history + "You Translate ALL content", 0.1, format) + + # Report Tokens totalTokens[0] += response.usage.prompt_tokens totalTokens[1] += response.usage.completion_tokens # Check Translation - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - # Mismatch. Try Again - response = translateText(system, user, history, 0.05, format, MODEL) - translatedText = response.choices[0].message.content - totalTokens[0] += response.usage.prompt_tokens - totalTokens[1] += response.usage.completion_tokens + if translatedText: + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + # Mismatch. Try Again + response = translateText(system, user, history, 0.05, format, MODEL) + translatedText = response.choices[0].message.content + totalTokens[0] += response.usage.prompt_tokens + totalTokens[1] += response.usage.completion_tokens - # Formatting - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - mismatch = True # Just here for breakpoint - logFile.write(f"Input:\n{subbedT}\n") - logFile.write(f"Output:\n{translatedText}\n") + # Formatting + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + mismatch = True # Just here for breakpoint + logFile.write(f"Input:\n{subbedT}\n") + logFile.write(f"Output:\n{translatedText}\n") - # Set if no mismatch - if mismatch == False: - tList[index] = extractedTranslations - history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + # Set if no mismatch + if mismatch == False: + tList[index] = extractedTranslations + history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + else: + history = text[-MAXHISTORY:] + mismatch = False + if FILENAME not in MISMATCH: + MISMATCH.append(FILENAME) + + # Update Loading Bar + with LOCK: + if PBAR is not None: + PBAR.update(len(tItem)) else: - history = text[-MAXHISTORY:] - mismatch = False - if FILENAME not in MISMATCH: - MISMATCH.append(FILENAME) - - # Update Loading Bar - with LOCK: - if PBAR is not None: - PBAR.update(len(tItem)) + # Ensure we're passing a single string to extractTranslation + tList[index] = translatedText.replace("Placeholder Text", "") else: - # Ensure we're passing a single string to extractTranslation - tList[index] = translatedText.replace("Placeholder Text", "") + PBAR.write(f"AI Refused:{tItem}\n") # Combine if multilist if isinstance(tList[0], list): diff --git a/modules/rpgmakermvmz.py b/modules/rpgmakermvmz.py index c04abe5..c9c28dd 100644 --- a/modules/rpgmakermvmz.py +++ b/modules/rpgmakermvmz.py @@ -80,12 +80,12 @@ POSITION = 0 LEAVE = False # Dialogue / Scroll / Choices (Main Codes) -CODE401 = True -CODE405 = True -CODE102 = True +CODE401 = False +CODE405 = False +CODE102 = False # Optional -CODE101 = True # Turn this one when names exist in 101 +CODE101 = False # Turn this one when names exist in 101 CODE408 = False # Warning, translates comments and can inflate costs. # Variables @@ -2553,54 +2553,57 @@ def translateGPT(text, history, fullPromptFlag): # Translating response = translateText(system, user, history, 0.05, format) - # AI Refused. Try Again - if not response: - response = translateText(system, user, history, 0.05, format, MODEL) - if not response: - continue - # Set Tokens translatedText = response.choices[0].message.content + + # AI Refused, Try Again + if not translatedText: + response = translateText(system, user, history + "You Translate ALL content", 0.1, format) + + # Report Tokens totalTokens[0] += response.usage.prompt_tokens totalTokens[1] += response.usage.completion_tokens # Check Translation - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - # Mismatch. Try Again - response = translateText(system, user, history, 0.05, format, MODEL) - translatedText = response.choices[0].message.content - totalTokens[0] += response.usage.prompt_tokens - totalTokens[1] += response.usage.completion_tokens + if translatedText: + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + # Mismatch. Try Again + response = translateText(system, user, history, 0.05, format, MODEL) + translatedText = response.choices[0].message.content + totalTokens[0] += response.usage.prompt_tokens + totalTokens[1] += response.usage.completion_tokens - # Formatting - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - mismatch = True # Just here for breakpoint - logFile.write(f"Input:\n{subbedT}\n") - logFile.write(f"Output:\n{translatedText}\n") + # Formatting + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + mismatch = True # Just here for breakpoint + logFile.write(f"Input:\n{subbedT}\n") + logFile.write(f"Output:\n{translatedText}\n") - # Set if no mismatch - if mismatch == False: - tList[index] = extractedTranslations - history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + # Set if no mismatch + if mismatch == False: + tList[index] = extractedTranslations + history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + else: + history = text[-MAXHISTORY:] + mismatch = False + if FILENAME not in MISMATCH: + MISMATCH.append(FILENAME) + + # Update Loading Bar + with LOCK: + if PBAR is not None: + PBAR.update(len(tItem)) else: - history = text[-MAXHISTORY:] - mismatch = False - if FILENAME not in MISMATCH: - MISMATCH.append(FILENAME) - - # Update Loading Bar - with LOCK: - if PBAR is not None: - PBAR.update(len(tItem)) + # Ensure we're passing a single string to extractTranslation + tList[index] = translatedText.replace("Placeholder Text", "") else: - # Ensure we're passing a single string to extractTranslation - tList[index] = translatedText.replace("Placeholder Text", "") + PBAR.write(f"AI Refused:{tItem}\n") # Combine if multilist if isinstance(tList[0], list): diff --git a/modules/rpgmakerplugin.py b/modules/rpgmakerplugin.py index 25c679e..407ec9c 100644 --- a/modules/rpgmakerplugin.py +++ b/modules/rpgmakerplugin.py @@ -805,54 +805,57 @@ def translateGPT(text, history, fullPromptFlag): # Translating response = translateText(system, user, history, 0.05, format) - # AI Refused. Try Again - if not response: - response = translateText(system, user, history, 0.05, format, MODEL) - if not response: - continue - # Set Tokens translatedText = response.choices[0].message.content + + # AI Refused, Try Again + if not translatedText: + response = translateText(system, user, history + "You Translate ALL content", 0.1, format) + + # Report Tokens totalTokens[0] += response.usage.prompt_tokens totalTokens[1] += response.usage.completion_tokens # Check Translation - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - # Mismatch. Try Again - response = translateText(system, user, history, 0.05, format, MODEL) - translatedText = response.choices[0].message.content - totalTokens[0] += response.usage.prompt_tokens - totalTokens[1] += response.usage.completion_tokens + if translatedText: + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + # Mismatch. Try Again + response = translateText(system, user, history, 0.05, format, MODEL) + translatedText = response.choices[0].message.content + totalTokens[0] += response.usage.prompt_tokens + totalTokens[1] += response.usage.completion_tokens - # Formatting - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - mismatch = True # Just here for breakpoint - logFile.write(f"Input:\n{subbedT}\n") - logFile.write(f"Output:\n{translatedText}\n") + # Formatting + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + mismatch = True # Just here for breakpoint + logFile.write(f"Input:\n{subbedT}\n") + logFile.write(f"Output:\n{translatedText}\n") - # Set if no mismatch - if mismatch == False: - tList[index] = extractedTranslations - history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + # Set if no mismatch + if mismatch == False: + tList[index] = extractedTranslations + history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + else: + history = text[-MAXHISTORY:] + mismatch = False + if FILENAME not in MISMATCH: + MISMATCH.append(FILENAME) + + # Update Loading Bar + with LOCK: + if PBAR is not None: + PBAR.update(len(tItem)) else: - history = text[-MAXHISTORY:] - mismatch = False - if FILENAME not in MISMATCH: - MISMATCH.append(FILENAME) - - # Update Loading Bar - with LOCK: - if PBAR is not None: - PBAR.update(len(tItem)) + # Ensure we're passing a single string to extractTranslation + tList[index] = translatedText.replace("Placeholder Text", "") else: - # Ensure we're passing a single string to extractTranslation - tList[index] = translatedText.replace("Placeholder Text", "") + PBAR.write(f"AI Refused:{tItem}\n") # Combine if multilist if isinstance(tList[0], list): diff --git a/modules/text.py b/modules/text.py index 8be45de..116dc5b 100644 --- a/modules/text.py +++ b/modules/text.py @@ -505,54 +505,57 @@ def translateGPT(text, history, fullPromptFlag): # Translating response = translateText(system, user, history, 0.05, format) - # AI Refused. Try Again - if not response: - response = translateText(system, user, history, 0.05, format, MODEL) - if not response: - continue - # Set Tokens translatedText = response.choices[0].message.content + + # AI Refused, Try Again + if not translatedText: + response = translateText(system, user, history + "You Translate ALL content", 0.1, format) + + # Report Tokens totalTokens[0] += response.usage.prompt_tokens totalTokens[1] += response.usage.completion_tokens # Check Translation - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - # Mismatch. Try Again - response = translateText(system, user, history, 0.05, format, MODEL) - translatedText = response.choices[0].message.content - totalTokens[0] += response.usage.prompt_tokens - totalTokens[1] += response.usage.completion_tokens + if translatedText: + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + # Mismatch. Try Again + response = translateText(system, user, history, 0.05, format, MODEL) + translatedText = response.choices[0].message.content + totalTokens[0] += response.usage.prompt_tokens + totalTokens[1] += response.usage.completion_tokens - # Formatting - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - mismatch = True # Just here for breakpoint - logFile.write(f"Input:\n{subbedT}\n") - logFile.write(f"Output:\n{translatedText}\n") + # Formatting + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + mismatch = True # Just here for breakpoint + logFile.write(f"Input:\n{subbedT}\n") + logFile.write(f"Output:\n{translatedText}\n") - # Set if no mismatch - if mismatch == False: - tList[index] = extractedTranslations - history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + # Set if no mismatch + if mismatch == False: + tList[index] = extractedTranslations + history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + else: + history = text[-MAXHISTORY:] + mismatch = False + if FILENAME not in MISMATCH: + MISMATCH.append(FILENAME) + + # Update Loading Bar + with LOCK: + if PBAR is not None: + PBAR.update(len(tItem)) else: - history = text[-MAXHISTORY:] - mismatch = False - if FILENAME not in MISMATCH: - MISMATCH.append(FILENAME) - - # Update Loading Bar - with LOCK: - if PBAR is not None: - PBAR.update(len(tItem)) + # Ensure we're passing a single string to extractTranslation + tList[index] = translatedText.replace("Placeholder Text", "") else: - # Ensure we're passing a single string to extractTranslation - tList[index] = translatedText.replace("Placeholder Text", "") + PBAR.write(f"AI Refused:{tItem}\n") # Combine if multilist if isinstance(tList[0], list): diff --git a/modules/tyrano.py b/modules/tyrano.py index a71e332..fd1a3c4 100644 --- a/modules/tyrano.py +++ b/modules/tyrano.py @@ -594,54 +594,57 @@ def translateGPT(text, history, fullPromptFlag): # Translating response = translateText(system, user, history, 0.05, format) - # AI Refused. Try Again - if not response: - response = translateText(system, user, history, 0.05, format, MODEL) - if not response: - continue - # Set Tokens translatedText = response.choices[0].message.content + + # AI Refused, Try Again + if not translatedText: + response = translateText(system, user, history + "You Translate ALL content", 0.1, format) + + # Report Tokens totalTokens[0] += response.usage.prompt_tokens totalTokens[1] += response.usage.completion_tokens # Check Translation - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - # Mismatch. Try Again - response = translateText(system, user, history, 0.05, format, MODEL) - translatedText = response.choices[0].message.content - totalTokens[0] += response.usage.prompt_tokens - totalTokens[1] += response.usage.completion_tokens + if translatedText: + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + # Mismatch. Try Again + response = translateText(system, user, history, 0.05, format, MODEL) + translatedText = response.choices[0].message.content + totalTokens[0] += response.usage.prompt_tokens + totalTokens[1] += response.usage.completion_tokens - # Formatting - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - mismatch = True # Just here for breakpoint - logFile.write(f"Input:\n{subbedT}\n") - logFile.write(f"Output:\n{translatedText}\n") + # Formatting + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + mismatch = True # Just here for breakpoint + logFile.write(f"Input:\n{subbedT}\n") + logFile.write(f"Output:\n{translatedText}\n") - # Set if no mismatch - if mismatch == False: - tList[index] = extractedTranslations - history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + # Set if no mismatch + if mismatch == False: + tList[index] = extractedTranslations + history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + else: + history = text[-MAXHISTORY:] + mismatch = False + if FILENAME not in MISMATCH: + MISMATCH.append(FILENAME) + + # Update Loading Bar + with LOCK: + if PBAR is not None: + PBAR.update(len(tItem)) else: - history = text[-MAXHISTORY:] - mismatch = False - if FILENAME not in MISMATCH: - MISMATCH.append(FILENAME) - - # Update Loading Bar - with LOCK: - if PBAR is not None: - PBAR.update(len(tItem)) + # Ensure we're passing a single string to extractTranslation + tList[index] = translatedText.replace("Placeholder Text", "") else: - # Ensure we're passing a single string to extractTranslation - tList[index] = translatedText.replace("Placeholder Text", "") + PBAR.write(f"AI Refused:{tItem}\n") # Combine if multilist if isinstance(tList[0], list): diff --git a/modules/wolf.py b/modules/wolf.py index 837c0ef..f09eb01 100644 --- a/modules/wolf.py +++ b/modules/wolf.py @@ -299,13 +299,16 @@ def searchCodes(events, pbar, jobList, filename): while i < len(codeList): ### Event Code: 101 Message if codeList[i]["code"] == 101 and CODE101 == True: + speakerRegex = r"@\d+\n(.*):\n" + textRegex = r"@?\d*\n?\u3000*([\w\W]+)\n?" + # Grab String jaString = codeList[i]["stringArgs"][0] speaker = "" # Grab Speaker if ":\n" in jaString: - match = re.search(r"@\d+\n(.*):\n", jaString) + match = re.search(speakerRegex, jaString) if match: # TL Speaker response = getSpeaker(match.group(1)) @@ -315,9 +318,10 @@ def searchCodes(events, pbar, jobList, filename): # Set nametag and remove from string codeList[i]["stringArgs"][0] = codeList[i]["stringArgs"][0].replace(match.group(1), speaker) + jaString = jaString.replace(match.group(0), "") # Grab Only Text - match = re.search(r"\n\s+([\w\W\n]+)", codeList[i]["stringArgs"][0]) + match = re.search(textRegex, jaString) if match: jaString = match.group(1) initialJAString = jaString @@ -818,14 +822,14 @@ def searchDB(events, pbar, jobList, filename): npcList[1].pop(0) # Grab Scenario - if table["name"] == "回想イベントテーブル" and SCENARIOFLAG == True: + if "UI--" in table["name"] and SCENARIOFLAG == True: for scenario in table["data"]: dataList = scenario["data"] # Parse for j in range(len(dataList)): # Name - if "回想テキスト" in dataList[j].get("name"): + if "NULL" in dataList[j].get("name"): if dataList[j].get("value"): jaStringList = dataList[j].get("value").split("\r\nPFD\r\n") for jaString in jaStringList: @@ -842,6 +846,42 @@ def searchDB(events, pbar, jobList, filename): translatedText = textwrap.fill(translatedText, 1000) dataList[j].update({"value": dataList[j].get("value").replace(jaString, translatedText)}) + # Description 1 + if "説明文1" in dataList[j].get("name"): + if dataList[j].get("value"): + jaStringList = dataList[j].get("value").split("\r\nPFD\r\n") + for jaString in jaStringList: + # Pass 1 (Grab Data) + if setData == False: + jaString = jaString.replace("\n", " ") + jaString = jaString.replace("\r", "") + scenarioList[1].append(jaString) + + # Pass 2 (Set Data) + else: + translatedText = scenarioList[1][0] + scenarioList[1].pop(0) + translatedText = textwrap.fill(translatedText, 30) + dataList[j].update({"value": dataList[j].get("value").replace(jaString, translatedText)}) + + # Description 2 + if "説明文2" in dataList[j].get("name"): + if dataList[j].get("value"): + jaStringList = dataList[j].get("value").split("\r\nPFD\r\n") + for jaString in jaStringList: + # Pass 1 (Grab Data) + if setData == False: + jaString = jaString.replace("\n", " ") + jaString = jaString.replace("\r", "") + scenarioList[2].append(jaString) + + # Pass 2 (Set Data) + else: + translatedText = scenarioList[2][0] + scenarioList[2].pop(0) + translatedText = textwrap.fill(translatedText, 30) + dataList[j].update({"value": dataList[j].get("value").replace(jaString, translatedText)}) + # Grab Options if table["name"] == "選択肢説明" and OPTIONSFLAG == True: for option in table["data"]: @@ -1677,7 +1717,7 @@ def searchDB(events, pbar, jobList, filename): translate = True # SCENARIO - if len(scenarioList[0]) > 0: + if scenarioList[0] or scenarioList[1]: # Progress Bar total = 0 for scenarioArray in scenarioList: @@ -2243,33 +2283,36 @@ def translateText(system, user, history, penalty, format, model=MODEL): def cleanTranslatedText(translatedText): - placeholders = { - f"{LANGUAGE} Translation: ": "", - "Translation: ": "", - "っ": "", - "〜": "~", - "ッ": "", - "。": ".", - "「": '\\"', - "」": '\\"', - "- ": "-", - "—": "―", - "】": "]", - "【": "[", - "é": "e", - "ō": "o", - "Placeholder Text": "", - # Add more replacements as needed - } - for target, replacement in placeholders.items(): - translatedText = translatedText.replace(target, replacement) + if translatedText: + placeholders = { + f"{LANGUAGE} Translation: ": "", + "Translation: ": "", + "っ": "", + "〜": "~", + "ッ": "", + "。": ".", + "「": '\\"', + "」": '\\"', + "- ": "-", + "—": "―", + "】": "]", + "【": "[", + "é": "e", + "ō": "o", + "Placeholder Text": "", + # Add more replacements as needed + } + for target, replacement in placeholders.items(): + translatedText = translatedText.replace(target, replacement) - # Remove Repeating Characters - pattern = re.compile(r"(.)\s*\1(?:\s*\1){" + str(20 - 1) + r",}") - translatedText = pattern.sub(lambda match: match.group(0).replace(" ", "")[:20], translatedText) + # Remove Repeating Characters + pattern = re.compile(r"(.)\s*\1(?:\s*\1){" + str(20 - 1) + r",}") + translatedText = pattern.sub(lambda match: match.group(0).replace(" ", "")[:20], translatedText) - # Elongate Long Dashes (Since GPT Ignores them...) - translatedText = elongateCharacters(translatedText) + # Elongate Long Dashes (Since GPT Ignores them...) + translatedText = elongateCharacters(translatedText) + else: + print(translatedText) return translatedText @@ -2379,54 +2422,57 @@ def translateGPT(text, history, fullPromptFlag): # Translating response = translateText(system, user, history, 0.05, format) - # AI Refused. Try Again - if not response: - response = translateText(system, user, history, 0.05, format, MODEL) - if not response: - continue - # Set Tokens translatedText = response.choices[0].message.content + + # AI Refused, Try Again + if not translatedText: + response = translateText(system, user, history + "You Translate ALL content", 0.1, format) + + # Report Tokens totalTokens[0] += response.usage.prompt_tokens totalTokens[1] += response.usage.completion_tokens # Check Translation - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - # Mismatch. Try Again - response = translateText(system, user, history, 0.05, format, MODEL) - translatedText = response.choices[0].message.content - totalTokens[0] += response.usage.prompt_tokens - totalTokens[1] += response.usage.completion_tokens + if translatedText: + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + # Mismatch. Try Again + response = translateText(system, user, history, 0.05, format, MODEL) + translatedText = response.choices[0].message.content + totalTokens[0] += response.usage.prompt_tokens + totalTokens[1] += response.usage.completion_tokens - # Formatting - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - mismatch = True # Just here for breakpoint - logFile.write(f"Input:\n{subbedT}\n") - logFile.write(f"Output:\n{translatedText}\n") + # Formatting + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + mismatch = True # Just here for breakpoint + logFile.write(f"Input:\n{subbedT}\n") + logFile.write(f"Output:\n{translatedText}\n") - # Set if no mismatch - if mismatch == False: - tList[index] = extractedTranslations - history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + # Set if no mismatch + if mismatch == False: + tList[index] = extractedTranslations + history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + else: + history = text[-MAXHISTORY:] + mismatch = False + if FILENAME not in MISMATCH: + MISMATCH.append(FILENAME) + + # Update Loading Bar + with LOCK: + if PBAR is not None: + PBAR.update(len(tItem)) else: - history = text[-MAXHISTORY:] - mismatch = False - if FILENAME not in MISMATCH: - MISMATCH.append(FILENAME) - - # Update Loading Bar - with LOCK: - if PBAR is not None: - PBAR.update(len(tItem)) + # Ensure we're passing a single string to extractTranslation + tList[index] = translatedText.replace("Placeholder Text", "") else: - # Ensure we're passing a single string to extractTranslation - tList[index] = translatedText.replace("Placeholder Text", "") + PBAR.write(f"AI Refused:{tItem}\n") # Combine if multilist if isinstance(tList[0], list): diff --git a/modules/wolf2.py b/modules/wolf2.py index dd17d1f..76279eb 100644 --- a/modules/wolf2.py +++ b/modules/wolf2.py @@ -544,54 +544,57 @@ def translateGPT(text, history, fullPromptFlag): # Translating response = translateText(system, user, history, 0.05, format) - # AI Refused. Try Again - if not response: - response = translateText(system, user, history, 0.05, format, MODEL) - if not response: - continue - # Set Tokens translatedText = response.choices[0].message.content + + # AI Refused, Try Again + if not translatedText: + response = translateText(system, user, history + "You Translate ALL content", 0.1, format) + + # Report Tokens totalTokens[0] += response.usage.prompt_tokens totalTokens[1] += response.usage.completion_tokens # Check Translation - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - # Mismatch. Try Again - response = translateText(system, user, history, 0.05, format, MODEL) - translatedText = response.choices[0].message.content - totalTokens[0] += response.usage.prompt_tokens - totalTokens[1] += response.usage.completion_tokens + if translatedText: + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + # Mismatch. Try Again + response = translateText(system, user, history, 0.05, format, MODEL) + translatedText = response.choices[0].message.content + totalTokens[0] += response.usage.prompt_tokens + totalTokens[1] += response.usage.completion_tokens - # Formatting - translatedText = cleanTranslatedText(translatedText) - if isinstance(tItem, list): - extractedTranslations = extractTranslation(translatedText, True) - if extractedTranslations == None or len(tItem) != len(extractedTranslations): - mismatch = True # Just here for breakpoint - logFile.write(f"Input:\n{subbedT}\n") - logFile.write(f"Output:\n{translatedText}\n") + # Formatting + translatedText = cleanTranslatedText(translatedText) + if isinstance(tItem, list): + extractedTranslations = extractTranslation(translatedText, True) + if extractedTranslations == None or len(tItem) != len(extractedTranslations): + mismatch = True # Just here for breakpoint + logFile.write(f"Input:\n{subbedT}\n") + logFile.write(f"Output:\n{translatedText}\n") - # Set if no mismatch - if mismatch == False: - tList[index] = extractedTranslations - history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + # Set if no mismatch + if mismatch == False: + tList[index] = extractedTranslations + history = extractedTranslations[-MAXHISTORY:] # Update history if we have a list + else: + history = text[-MAXHISTORY:] + mismatch = False + if FILENAME not in MISMATCH: + MISMATCH.append(FILENAME) + + # Update Loading Bar + with LOCK: + if PBAR is not None: + PBAR.update(len(tItem)) else: - history = text[-MAXHISTORY:] - mismatch = False - if FILENAME not in MISMATCH: - MISMATCH.append(FILENAME) - - # Update Loading Bar - with LOCK: - if PBAR is not None: - PBAR.update(len(tItem)) + # Ensure we're passing a single string to extractTranslation + tList[index] = translatedText.replace("Placeholder Text", "") else: - # Ensure we're passing a single string to extractTranslation - tList[index] = translatedText.replace("Placeholder Text", "") + PBAR.write(f"AI Refused:{tItem}\n") # Combine if multilist if isinstance(tList[0], list): diff --git a/vocab.txt b/vocab.txt index 34db828..cf310a3 100644 --- a/vocab.txt +++ b/vocab.txt @@ -1,16 +1,18 @@ Here are some vocabulary and terms so that you know the proper spelling and translation. ``` # Game Characters -アイ (Ai) - Female -シオン (Sion) - Female -エリス (Eris) - Female -杉浦 (Sugiura) - Female -獏木 (Bakuki) - Female -千里 (Chisato) - Female -ハルカ (Haruka) - Female -間根山 (Manemaya) - Female -ミズキ (Mizuki) - Female -ツヨシ (Tsuyoshi) - Male +ジロウ (Jirou) - Male +サクラ (Sakura) - Female +ゼフ (Zeff) - Male +ヨモダ (Yomada) - Male +グダ (Guda) - Male +フジワラ (Fujiwara) - Male +ナオ (Nao) - Female +タジ (Taji) - Male +カリン (Karin) - Female +セリナ (Serina) - Female +ラグ (Ragu) - Male +ハッカイ (Hakkai) - Male # Lewd Terms マンコ (pussy)