|
@@ -30,10 +30,9 @@ def extract_sample_data(data: List[List[str]], n: int = 2, m: int = 2) -> List[L
|
|
|
raise
|
|
raise
|
|
|
|
|
|
|
|
def process_batch_translations(data: List[List[str]],
|
|
def process_batch_translations(data: List[List[str]],
|
|
|
- search_term_index: int,
|
|
|
|
|
- category_indices: List[int],
|
|
|
|
|
|
|
+ search_term_index: int,
|
|
|
start_row: int = 3) -> Tuple[List[List[str]], List[List[str]]]:
|
|
start_row: int = 3) -> Tuple[List[List[str]], List[List[str]]]:
|
|
|
- """批量处理翻译"""
|
|
|
|
|
|
|
+ """批量处理搜索词翻译"""
|
|
|
try:
|
|
try:
|
|
|
# 首先提取样本数据用于检查
|
|
# 首先提取样本数据用于检查
|
|
|
sample_data = extract_sample_data(data)
|
|
sample_data = extract_sample_data(data)
|
|
@@ -45,24 +44,17 @@ def process_batch_translations(data: List[List[str]],
|
|
|
# 直接提取需要翻译的搜索词
|
|
# 直接提取需要翻译的搜索词
|
|
|
search_terms = [row[search_term_index] for row in data[start_row-1:]]
|
|
search_terms = [row[search_term_index] for row in data[start_row-1:]]
|
|
|
|
|
|
|
|
- # 直接提取需要翻译的类别
|
|
|
|
|
- categories = []
|
|
|
|
|
- for index in category_indices:
|
|
|
|
|
- categories.extend([row[index] for row in data[start_row-1:]])
|
|
|
|
|
-
|
|
|
|
|
# 批量翻译
|
|
# 批量翻译
|
|
|
- logger.info("Starting batch translations...")
|
|
|
|
|
|
|
+ logger.info("Starting search term 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 search_terms]
|
|
search_translations = [f"{text} 翻译测试" for text in search_terms]
|
|
|
- category_translations = [f"{text} 翻译测试" for text in categories]
|
|
|
|
|
else:
|
|
else:
|
|
|
# 正常模式:调用真实翻译
|
|
# 正常模式:调用真实翻译
|
|
|
search_translations = translator.translate(search_terms)
|
|
search_translations = translator.translate(search_terms)
|
|
|
- category_translations = translator.translate(categories)
|
|
|
|
|
|
|
|
|
|
- logger.info("Batch translations completed")
|
|
|
|
|
|
|
+ logger.info("Search term 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):
|
|
@@ -70,12 +62,6 @@ def process_batch_translations(data: List[List[str]],
|
|
|
# 更新搜索词翻译列
|
|
# 更新搜索词翻译列
|
|
|
row[search_term_index + 1] = search_translations[i-(start_row-1)]
|
|
row[search_term_index + 1] = search_translations[i-(start_row-1)]
|
|
|
|
|
|
|
|
- # 更新类别翻译
|
|
|
|
|
- category_trans_index = (i-(start_row-1)) * len(category_indices)
|
|
|
|
|
- for cat_index in category_indices:
|
|
|
|
|
- row[cat_index + 1] = category_translations[category_trans_index]
|
|
|
|
|
- category_trans_index += 1
|
|
|
|
|
-
|
|
|
|
|
except Exception as e:
|
|
except Exception as e:
|
|
|
logger.error(f"Error processing row {i}: {e}")
|
|
logger.error(f"Error processing row {i}: {e}")
|
|
|
raise
|
|
raise
|