Преглед изворни кода

refactor: simplify data extraction in translation batch processing

mrh (aider) пре 1 година
родитељ
комит
9693ccd0e1
1 измењених фајлова са 10 додато и 12 уклоњено
  1. 10 12
      mylib/translate_utils.py

+ 10 - 12
mylib/translate_utils.py

@@ -42,32 +42,30 @@ def process_batch_translations(data: List[List[str]],
         # 初始化翻译器
         translator = OpenAITranslator()
         
-        # 收集所有需要翻译的文本
-        translation_batches = {
-            'search_terms': [row[search_term_index] for row in data[start_row-1:]],  # 从指定行开始
-            'categories': []
-        }
+        # 直接提取需要翻译的搜索词
+        search_terms = [row[search_term_index] for row in data[start_row-1:]]
         
-        # 收集类别翻译
+        # 直接提取需要翻译的类别
+        categories = []
         for index in category_indices:
-            translation_batches['categories'].extend([row[index] for row in data[start_row-1:]])  # 从指定行开始
+            categories.extend([row[index] for row in data[start_row-1:]])
         
         # 批量翻译
         logger.info("Starting batch translations...")
         
         if os.getenv('DEBUG', '').lower() in ('true', '1', 't'):
             # DEBUG模式:使用模拟翻译
-            search_translations = [f"{text} 翻译测试" for text in translation_batches['search_terms']]
-            category_translations = [f"{text} 翻译测试" for text in translation_batches['categories']]
+            search_translations = [f"{text} 翻译测试" for text in search_terms]
+            category_translations = [f"{text} 翻译测试" for text in categories]
         else:
             # 正常模式:调用真实翻译
-            search_translations = translator.translate(translation_batches['search_terms'])
-            category_translations = translator.translate(translation_batches['categories'])
+            search_translations = translator.translate(search_terms)
+            category_translations = translator.translate(categories)
         
         logger.info("Batch translations completed")
         
         # 更新数据
-        for i, row in enumerate(data[start_row-1:], start=start_row-1):  # 从指定行开始处理
+        for i, row in enumerate(data[start_row-1:], start=start_row-1):
             try:
                 # 更新搜索词翻译列
                 row[search_term_index + 1] = search_translations[i-(start_row-1)]