修复术语表问题
This commit is contained in:
@@ -75,5 +75,4 @@ You are a professional machine translation engine.
|
||||
if self.glossary_dict is None:
|
||||
self.glossary_dict = {}
|
||||
if update_dict is not None:
|
||||
# 以用户上传的术语表为主,自动生成的术语表只添加用户没有的术语
|
||||
self.glossary_dict = self.glossary_dict | update_dict
|
||||
|
||||
@@ -276,5 +276,4 @@ class SegmentsTranslateAgent(Agent):
|
||||
if self.glossary_dict is None:
|
||||
self.glossary_dict = {}
|
||||
if update_dict is not None:
|
||||
# 以用户上传的术语表为主,自动生成的术语表只添加用户没有的术语
|
||||
self.glossary_dict = self.glossary_dict | update_dict
|
||||
|
||||
@@ -107,11 +107,16 @@ class AssTranslator(AiTranslator):
|
||||
return self
|
||||
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = self.glossary_agent.send_segments(original_texts, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
|
||||
if self.translate_agent:
|
||||
translated_texts = self.translate_agent.send_segments(original_texts, self.chunk_size)
|
||||
@@ -129,11 +134,16 @@ class AssTranslator(AiTranslator):
|
||||
return self
|
||||
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = await self.glossary_agent.send_segments_async(original_texts, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
|
||||
if self.translate_agent:
|
||||
translated_texts = await self.translate_agent.send_segments_async(original_texts, self.chunk_size)
|
||||
|
||||
@@ -537,11 +537,16 @@ class DocxTranslator(AiTranslator):
|
||||
return self
|
||||
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = self.glossary_agent.send_segments(originals, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
|
||||
translated = self.translate_agent.send_segments(originals,
|
||||
self.chunk_size) if self.translate_agent else originals
|
||||
@@ -556,11 +561,16 @@ class DocxTranslator(AiTranslator):
|
||||
return self
|
||||
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = await self.glossary_agent.send_segments_async(originals, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
|
||||
translated = await self.translate_agent.send_segments_async(originals,
|
||||
self.chunk_size) if self.translate_agent else originals
|
||||
|
||||
@@ -280,11 +280,16 @@ class EpubTranslator(AiTranslator):
|
||||
return self
|
||||
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = self.glossary_agent.send_segments(original_texts, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
if self.translate_agent:
|
||||
translated_texts = self.translate_agent.send_segments(original_texts, self.chunk_size)
|
||||
else:
|
||||
@@ -304,11 +309,16 @@ class EpubTranslator(AiTranslator):
|
||||
return self
|
||||
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = await self.glossary_agent.send_segments_async(original_texts, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
if self.translate_agent:
|
||||
translated_texts = await self.translate_agent.send_segments_async(
|
||||
original_texts, self.chunk_size
|
||||
|
||||
@@ -206,11 +206,16 @@ class HtmlTranslator(AiTranslator):
|
||||
return self
|
||||
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = self.glossary_agent.send_segments(original_texts, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
if self.translate_agent:
|
||||
translated_texts = self.translate_agent.send_segments(original_texts, self.chunk_size)
|
||||
else:
|
||||
@@ -227,11 +232,16 @@ class HtmlTranslator(AiTranslator):
|
||||
return self
|
||||
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = await self.glossary_agent.send_segments_async(original_texts, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
if self.translate_agent:
|
||||
translated_texts = await self.translate_agent.send_segments_async(original_texts, self.chunk_size)
|
||||
else:
|
||||
|
||||
@@ -135,11 +135,16 @@ class JsonTranslator(AiTranslator):
|
||||
return self
|
||||
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = self.glossary_agent.send_segments(original_texts, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
|
||||
# 步骤 2: 批量翻译提取出的文本
|
||||
if self.translate_agent:
|
||||
@@ -166,11 +171,16 @@ class JsonTranslator(AiTranslator):
|
||||
return self
|
||||
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = await self.glossary_agent.send_segments_async(original_texts, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
|
||||
# 步骤 2: 批量翻译提取出的文本
|
||||
if self.translate_agent:
|
||||
|
||||
@@ -67,11 +67,16 @@ class MDTranslator(AiTranslator):
|
||||
translate_chunks.append(chunk)
|
||||
|
||||
if self.glossary_agent and translate_chunks:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = self.glossary_agent.send_segments(translate_chunks, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
|
||||
self.logger.info(f"markdown分为{len(chunks)}块 (其中需翻译{len(translate_chunks)}块)")
|
||||
|
||||
@@ -108,12 +113,17 @@ class MDTranslator(AiTranslator):
|
||||
translate_chunks.append(chunk)
|
||||
|
||||
if self.glossary_agent and translate_chunks:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = await self.glossary_agent.send_segments_async(translate_chunks,
|
||||
self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
|
||||
self.logger.info(f"markdown分为{len(chunks)}块 (其中需翻译{len(translate_chunks)}块)")
|
||||
|
||||
|
||||
@@ -315,11 +315,16 @@ class PPTXTranslator(AiTranslator):
|
||||
return self
|
||||
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = self.glossary_agent.send_segments(originals, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
|
||||
translated = self.translate_agent.send_segments(originals,
|
||||
self.chunk_size) if self.translate_agent else originals
|
||||
@@ -334,11 +339,16 @@ class PPTXTranslator(AiTranslator):
|
||||
return self
|
||||
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = await self.glossary_agent.send_segments_async(originals, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
|
||||
translated = await self.translate_agent.send_segments_async(originals,
|
||||
self.chunk_size) if self.translate_agent else originals
|
||||
|
||||
@@ -119,11 +119,16 @@ class SrtTranslator(AiTranslator):
|
||||
self.logger.info("\n文件中没有找到需要翻译的字幕内容。")
|
||||
return self
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = self.glossary_agent.send_segments(original_texts, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
# --- 步骤 2: 调用翻译Agent ---
|
||||
if self.translate_agent:
|
||||
translated_texts = self.translate_agent.send_segments(original_texts, self.chunk_size)
|
||||
@@ -145,11 +150,16 @@ class SrtTranslator(AiTranslator):
|
||||
return self
|
||||
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = await self.glossary_agent.send_segments_async(original_texts, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
|
||||
# --- 步骤 2: 调用翻译Agent (异步) ---
|
||||
if self.translate_agent:
|
||||
|
||||
@@ -220,11 +220,16 @@ class TXTTranslator(AiTranslator):
|
||||
texts_to_translate = [text for text in original_segments if text.strip()]
|
||||
|
||||
if self.glossary_agent and texts_to_translate:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = self.glossary_agent.send_segments(texts_to_translate, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
|
||||
translated_texts_map = {}
|
||||
if self.translate_agent and texts_to_translate:
|
||||
@@ -250,11 +255,16 @@ class TXTTranslator(AiTranslator):
|
||||
texts_to_translate = [text for text in original_segments if text.strip()]
|
||||
|
||||
if self.glossary_agent and texts_to_translate:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = await self.glossary_agent.send_segments_async(texts_to_translate, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
|
||||
translated_texts_map = {}
|
||||
if self.translate_agent and texts_to_translate:
|
||||
|
||||
@@ -471,11 +471,16 @@ class XlsxTranslator(AiTranslator):
|
||||
return self
|
||||
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = self.glossary_agent.send_segments(original_texts, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
|
||||
if self.translate_agent:
|
||||
translated_texts = self.translate_agent.send_segments(original_texts, self.chunk_size)
|
||||
@@ -502,11 +507,16 @@ class XlsxTranslator(AiTranslator):
|
||||
return self
|
||||
|
||||
if self.glossary_agent:
|
||||
# 1. 获取增量
|
||||
glossary_dict_gen = await self.glossary_agent.send_segments_async(original_texts, self.chunk_size)
|
||||
|
||||
# 2. 在 Translator 层统一合并 (SSOT)
|
||||
if self.glossary:
|
||||
self.glossary.update(glossary_dict_gen)
|
||||
if self.translate_agent:
|
||||
self.translate_agent.update_glossary_dict(glossary_dict_gen)
|
||||
|
||||
# 3. 将合并后的【完整字典】传给 Agent
|
||||
if self.translate_agent and self.glossary:
|
||||
self.translate_agent.update_glossary_dict(self.glossary.glossary_dict)
|
||||
|
||||
if self.translate_agent:
|
||||
translated_texts = await self.translate_agent.send_segments_async(original_texts, self.chunk_size)
|
||||
|
||||
Reference in New Issue
Block a user