This commit is contained in:
恍兮惚兮 2024-11-23 21:44:07 +08:00
parent f01c6ef543
commit 92f4caa7ae
25 changed files with 82 additions and 45 deletions

View File

@ -1,7 +1,7 @@
set(VERSION_MAJOR 6)
set(VERSION_MINOR 5)
set(VERSION_PATCH 7)
set(VERSION_PATCH 8)
set(VERSION_REVISION 0)
set(LUNA_VERSION "{${VERSION_MAJOR},${VERSION_MINOR},${VERSION_PATCH},${VERSION_REVISION}}")
add_library(VERSION_DEF INTERFACE)

View File

@ -386,18 +386,23 @@ class MAINUI:
text_solved, optimization_params = self.solvebeforetrans(text)
maybehaspremt = {}
skip_other_on_success = False
fix_rank = globalconfig["fix_translate_rank_rank"].copy()
if "premt" in self.translators:
if "rengong" in self.translators:
contentraw = self.analyzecontent(text_solved, optimization_params)
try:
contentraw = text_solved
for _ in optimization_params:
if isinstance(_, dict):
_gpt_dict = _.get("gpt_dict", None)
if _gpt_dict is None:
continue
contentraw = _.get("gpt_dict_origin")
res = self.translators["rengong"].translate(contentraw)
except:
print_exc()
res = None
maybehaspremt["rengong"] = res
skip_other_on_success = (
res and self.translators["rengong"].config["skip_other_on_success"]
)
if (not skip_other_on_success) and ("premt" in self.translators):
contentraw = self.analyzecontent(text_solved, optimization_params)
try:
maybehaspremt = self.translators["premt"].translate(contentraw)
except:
print_exc()
@ -406,11 +411,13 @@ class MAINUI:
fix_rank = fix_rank[:idx] + other + fix_rank[idx + 1 :]
real_fix_rank = []
for engine in fix_rank:
if (engine not in self.translators) and (engine not in maybehaspremt):
continue
real_fix_rank.append(engine)
if skip_other_on_success:
real_fix_rank.append("rengong")
else:
for engine in fix_rank:
if (engine not in self.translators) and (engine not in maybehaspremt):
continue
real_fix_rank.append(engine)
if len(real_fix_rank) == 0:
return _showrawfunction()
@ -448,6 +455,15 @@ class MAINUI:
)
return True
def analyzecontent(self, text_solved, optimization_params):
for _ in optimization_params:
if isinstance(_, dict):
_gpt_dict = _.get("gpt_dict", None)
if _gpt_dict is None:
continue
return _.get("gpt_dict_origin")
return text_solved
def _delaypreparefixrank(self, _showrawfunction, real_fix_rank):
_showrawfunction()
for engine in real_fix_rank:

View File

@ -188,8 +188,8 @@ class basetrans(commonbase):
@property
def transtype(self):
# free/dev/api/offline/pre
# dev/offline/pre 无视请求间隔
# pre不使用翻译缓存
# dev/offline 无视请求间隔
# pre全都有额外的处理不走该pipeline不使用翻译缓存
# offline不被新的请求打断
return globalconfig["fanyi"][self.typename].get("type", "free")
@ -238,8 +238,6 @@ class basetrans(commonbase):
# 除了预翻译不使用翻译缓存以及手动触发gpt翻译外其他不管什么翻译都缓存下来。
if self.is_gpt_like and not is_auto_run:
return None
if self.transtype == "pre":
return None
res = self.shorttermcacheget(content)
if res:
return res
@ -359,8 +357,6 @@ class basetrans(commonbase):
# 保存缓存
# 不管是否使用翻译缓存,都存下来
if self.transtype == "pre":
return
self.shorttermcacheset(cache_use, res)
self.longtermcacheset(cache_use, res)
@ -374,6 +370,7 @@ class basetrans(commonbase):
continue
gpt_dict = _gpt_dict
contentraw = _.get("gpt_dict_origin")
break
return {
"text": contentsolved,
@ -409,7 +406,7 @@ class basetrans(commonbase):
self.maybeneedreinit()
if self.using_gpt_dict or self.transtype == "pre":
if self.using_gpt_dict:
contentsolved = self.__parse_gpt_dict(
contentsolved, optimization_params
)

View File

@ -113,8 +113,7 @@ class TS(basetrans):
collect.append(line)
return "\n".join(collect)
def translate(self, content: dict):
content = content["contentraw"]
def translate(self, content):
self.checkfilechanged(
self.unsafegetcurrentgameconfig(), tuple(self.config["jsonfile"])
)

View File

@ -816,7 +816,8 @@
},
"rengong": {
"args": {
"jsonfile": []
"jsonfile": [],
"skip_other_on_success": false
},
"argstype": {
"jsonfile": {
@ -825,6 +826,10 @@
"dir": false,
"filter": "*.json",
"multi": true
},
"skip_other_on_success": {
"type": "switch",
"name": "成功时跳过其他翻译"
}
}
},

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "win32 سلسلة هوك",
"额外的钩子": "خطاف إضافية",
"自动前进": "التلقائي إلى الأمام",
"在新窗口中查词": "البحث عن الكلمات في نافذة جديدة"
"在新窗口中查词": "البحث عن الكلمات في نافذة جديدة",
"成功时跳过其他翻译": "تخطي ترجمة أخرى عند النجاح"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Win32字串函數鉤子",
"额外的钩子": "額外的鉤子",
"自动前进": "自動前進",
"在新窗口中查词": "在新窗口中查詞"
"在新窗口中查词": "在新窗口中查詞",
"成功时跳过其他翻译": "成功時跳過其他翻譯"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Win32 řetězcový funkční hák",
"额外的钩子": "Extra háčky",
"自动前进": "Automaticky dopředu",
"在新窗口中查词": "Vyhledávání slov v novém okně"
"在新窗口中查词": "Vyhledávání slov v novém okně",
"成功时跳过其他翻译": "Přeskočit další překlady po úspěchu"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Win32 String Function Hook",
"额外的钩子": "Zusätzliche Haken",
"自动前进": "Automatisch vorwärts",
"在新窗口中查词": "Suche nach Wörtern in einem neuen Fenster"
"在新窗口中查词": "Suche nach Wörtern in einem neuen Fenster",
"成功时跳过其他翻译": "Andere Übersetzungen überspringen, wenn erfolgreich"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Win32 string function hook",
"额外的钩子": "Extra hooks",
"自动前进": "Automatic Forward",
"在新窗口中查词": "Search for words in a new window"
"在新窗口中查词": "Search for words in a new window",
"成功时跳过其他翻译": "Skip other translations when successful"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Gancho de función de cadena Win32",
"额外的钩子": "Ganchos adicionales",
"自动前进": "Avance automático",
"在新窗口中查词": "Buscar palabras en una nueva ventana"
"在新窗口中查词": "Buscar palabras en una nueva ventana",
"成功时跳过其他翻译": "Saltar otras traducciones cuando tenga éxito"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Crochet de fonction de chaîne Win32",
"额外的钩子": "Crochets supplémentaires",
"自动前进": "Avance automatique",
"在新窗口中查词": "Rechercher des mots dans une nouvelle fenêtre"
"在新窗口中查词": "Rechercher des mots dans une nouvelle fenêtre",
"成功时跳过其他翻译": "Sauter les autres traductions en cas de succès"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Aggancio della funzione stringa Win32",
"额外的钩子": "Ganci supplementari",
"自动前进": "Avanti automatico",
"在新窗口中查词": "Cerca parole in una nuova finestra"
"在新窗口中查词": "Cerca parole in una nuova finestra",
"成功时跳过其他翻译": "Salta altre traduzioni quando hai successo"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Win 32文字列関数フック",
"额外的钩子": "エクストラフック",
"自动前进": "自動前進",
"在新窗口中查词": "新しいウィンドウで単語を調べる"
"在新窗口中查词": "新しいウィンドウで単語を調べる",
"成功时跳过其他翻译": "成功時に他の翻訳をスキップ"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Win32 문자열 함수 후크",
"额外的钩子": "추가 갈고리",
"自动前进": "자동 전진",
"在新窗口中查词": "새 창에서 단어 찾기"
"在新窗口中查词": "새 창에서 단어 찾기",
"成功时跳过其他翻译": "성공 시 다른 번역 건너뛰기"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Win32 tekenfunctiehook",
"额外的钩子": "Extra haken",
"自动前进": "Automatisch voorwaarts",
"在新窗口中查词": "Zoeken naar woorden in een nieuw venster"
"在新窗口中查词": "Zoeken naar woorden in een nieuw venster",
"成功时跳过其他翻译": "Andere vertalingen overslaan wanneer succesvol"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Hook funkcji ciągów Win32",
"额外的钩子": "Dodatkowe haki",
"自动前进": "Automatyczne naprzód",
"在新窗口中查词": "Wyszukiwanie słów w nowym oknie"
"在新窗口中查词": "Wyszukiwanie słów w nowym oknie",
"成功时跳过其他翻译": "Pomiń inne tłumaczenia po powodzeniu"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Gancho de função de cadeia Win32",
"额外的钩子": "Ganchos extra",
"自动前进": "Avançar Automático",
"在新窗口中查词": "Procurar palavras numa nova janela"
"在新窗口中查词": "Procurar palavras numa nova janela",
"成功时跳过其他翻译": "Ignorar outras traduções quando bem sucedidas"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Win32 Строчный крюк",
"额外的钩子": "Дополнительный крюк",
"自动前进": "Автоматическое продвижение вперед",
"在新窗口中查词": "Проверка слов в новом окне"
"在新窗口中查词": "Проверка слов в новом окне",
"成功时跳过其他翻译": "Скачать другие переводы при успехе"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Win32 strängfunktionskrok",
"额外的钩子": "Extra krokar",
"自动前进": "Automatisk framåt",
"在新窗口中查词": "Sök efter ord i ett nytt fönster"
"在新窗口中查词": "Sök efter ord i ett nytt fönster",
"成功时跳过其他翻译": "Hoppa över andra översättningar när de lyckas"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Win32 ฟังก์ชั่นสตริงตะขอ",
"额外的钩子": "ตะขอเพิ่มเติม",
"自动前进": "เดินหน้าอัตโนมัติ",
"在新窗口中查词": "ค้นหาคำในหน้าต่างใหม่"
"在新窗口中查词": "ค้นหาคำในหน้าต่างใหม่",
"成功时跳过其他翻译": "ข้ามการแปลอื่นเมื่อสำเร็จ"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Win32 string fonksiyonu",
"额外的钩子": "Ekstra hücreler",
"自动前进": "Otomatik İleri",
"在新窗口中查词": "Yeni pencerede kelimeler arayın"
"在新窗口中查词": "Yeni pencerede kelimeler arayın",
"成功时跳过其他翻译": "Başarılı olduğunda diğer çevirileri atla"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Хук функції рядка Win32",
"额外的钩子": "Додаткові хаки",
"自动前进": "Автоматично вперед",
"在新窗口中查词": "Пошук слів у новому вікні"
"在新窗口中查词": "Пошук слів у новому вікні",
"成功时跳过其他翻译": "Пропустити інші переклади, якщо вони успішні"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "Win32 Chuỗi chức năng Hook",
"额外的钩子": "Thêm móc",
"自动前进": "Tự động chuyển tiếp",
"在新窗口中查词": "Tra từ trong cửa sổ mới"
"在新窗口中查词": "Tra từ trong cửa sổ mới",
"成功时跳过其他翻译": "Bỏ qua các bản dịch khác khi thành công"
}

View File

@ -792,5 +792,6 @@
"Win32字符串函数钩子": "",
"额外的钩子": "",
"自动前进": "",
"在新窗口中查词": ""
"在新窗口中查词": "",
"成功时跳过其他翻译": ""
}