MCPcopy Index your code
hub / github.com/ChinaGodMan/UserScripts / translate_and_collect

Function translate_and_collect

utils/userscript_localization_tool.py:64–83  ·  view source on GitHub ↗
(chinese_texts, lang)

Source from the content-addressed store, hash-verified

62
63# 翻译并返回翻译结果
64def translate_and_collect(chinese_texts, lang):
65 translations = {}
66 threads = []
67 chunk_size = len(chinese_texts) // 5 or 1 # 每次访问api为5个.
68 for i in range(0, len(chinese_texts), chunk_size):
69 chunk = chinese_texts[i:i + chunk_size]
70 thread = threading.Thread(target=translate_worker, args=(chunk, translations, lang))
71 threads.append(thread)
72 thread.start()
73
74 for thread in threads:
75 thread.join()
76 translation_output = ""
77 for line_number, chinese_text, translated_text in [(ln, ct, translations.get((ln, ct), None)) for ln, ct in chinese_texts if (ln, ct) in translations]:
78 translated_text = clean_text(translated_text)
79 if line_number == 0: # 第一行永远是标题
80 translation_output += f'// @name:{lang} {translated_text}\n'
81 else:
82 translation_output += f'// @description:{lang} {translated_text}'
83 return translation_output
84
85
86def translate_task(file_path, lang, chinese_texts, file_lock):

Callers 1

translate_taskFunction · 0.85

Calls 2

clean_textFunction · 0.85
getMethod · 0.80

Tested by

no test coverage detected