|
@@ -42,32 +42,30 @@ def process_batch_translations(data: List[List[str]],
|
|
|
# 初始化翻译器
|
|
# 初始化翻译器
|
|
|
translator = OpenAITranslator()
|
|
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:
|
|
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...")
|
|
logger.info("Starting batch translations...")
|
|
|
|
|
|
|
|
if os.getenv('DEBUG', '').lower() in ('true', '1', 't'):
|
|
if os.getenv('DEBUG', '').lower() in ('true', '1', 't'):
|
|
|
# DEBUG模式:使用模拟翻译
|
|
# 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:
|
|
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")
|
|
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:
|
|
try:
|
|
|
# 更新搜索词翻译列
|
|
# 更新搜索词翻译列
|
|
|
row[search_term_index + 1] = search_translations[i-(start_row-1)]
|
|
row[search_term_index + 1] = search_translations[i-(start_row-1)]
|