99from augment_tools_core .common_utils import IDEType , print_info , print_success , print_error , print_warning
1010from augment_tools_core .patch_manager import PatchManager , PatchMode , PatchResult
1111from augment_tools_core .extension_finder import ExtensionFinder
12+ from language_manager import get_text
1213
1314
1415class PatchWorker (QThread ):
@@ -30,55 +31,56 @@ def __init__(self, ide_type: IDEType, patch_mode: PatchMode, portable_root: Opti
3031 def run (self ):
3132 """执行补丁操作"""
3233 try :
33- self .progress_updated .emit ("🔍 正在查找扩展文件..." )
34-
34+ self .progress_updated .emit (get_text ( "patch.searching" ) )
35+
3536 # 查找扩展文件
3637 extension_files = self .extension_finder .find_extension_files (
3738 self .ide_type , self .portable_root
3839 )
39-
40+
4041 if not extension_files :
41- self .patch_completed .emit (False , f"未找到 { self .ide_type .value } 的扩展文件" )
42+ self .patch_completed .emit (False , get_text ( "patch.not_found" , ide_type = self .ide_type .value ) )
4243 return
43-
44- self .progress_updated .emit (f"📁 找到 { len (extension_files )} 个扩展文件" )
45-
44+
45+ self .progress_updated .emit (get_text ( "patch.found_files" , count = len (extension_files )) )
46+
4647 # 对每个文件应用补丁
4748 success_count = 0
4849 total_files = len (extension_files )
49-
50+
5051 for i , file_path in enumerate (extension_files , 1 ):
51- self .progress_updated .emit (f"🔧 正在处理文件 { i } /{ total_files } : { file_path } " )
52-
52+ self .progress_updated .emit (get_text ("patch.processing" ,
53+ current = i , total = total_files , file = file_path ))
54+
5355 # 检查文件状态
5456 status = self .patch_manager .get_patch_status (file_path )
5557 self .file_found .emit (file_path , status )
56-
57- if status == "已补丁" :
58- self .progress_updated .emit (f"⏭️ 文件已补丁,跳过: { file_path } " )
58+
59+ if status == get_text ( "patch.status.patched" ) :
60+ self .progress_updated .emit (get_text ( "patch.already_patched" , file = file_path ) )
5961 continue
60-
62+
6163 # 应用补丁
6264 result = self .patch_manager .apply_patch (file_path , self .patch_mode )
63-
65+
6466 if result .success :
6567 success_count += 1
66- self .progress_updated .emit (f"✅ 补丁成功: { file_path } " )
68+ self .progress_updated .emit (get_text ( "patch.patch_success" , file = file_path ) )
6769 else :
68- self .progress_updated .emit (f"❌ 补丁失败: { result .message } " )
69-
70+ self .progress_updated .emit (get_text ( "patch.patch_failed" , message = result .message ) )
71+
7072 # 完成总结
7173 if success_count > 0 :
72- message = f"补丁操作完成!成功处理 { success_count } / { total_files } 个文件"
74+ message = get_text ( "patch.completed" , success = success_count , total = total_files )
7375 self .progress_updated .emit (f"🎉 { message } " )
7476 self .patch_completed .emit (True , message )
7577 else :
76- message = "没有文件被成功补丁"
78+ message = get_text ( "patch.no_success" )
7779 self .progress_updated .emit (f"⚠️ { message } " )
7880 self .patch_completed .emit (False , message )
79-
81+
8082 except Exception as e :
81- error_msg = f"补丁操作失败: { str (e )} "
83+ error_msg = get_text ( "patch.error" , error = str (e ))
8284 self .progress_updated .emit (f"❌ { error_msg } " )
8385 self .patch_completed .emit (False , error_msg )
8486
@@ -100,46 +102,47 @@ def __init__(self, ide_type: IDEType, portable_root: Optional[str] = None):
100102 def run (self ):
101103 """执行恢复操作"""
102104 try :
103- self .progress_updated .emit ("🔍 正在查找扩展文件..." )
104-
105+ self .progress_updated .emit (get_text ( "patch.searching" ) )
106+
105107 # 查找扩展文件
106108 extension_files = self .extension_finder .find_extension_files (
107109 self .ide_type , self .portable_root
108110 )
109-
111+
110112 if not extension_files :
111- self .restore_completed .emit (False , f"未找到 { self .ide_type .value } 的扩展文件" )
113+ self .restore_completed .emit (False , get_text ( "patch.not_found" , ide_type = self .ide_type .value ) )
112114 return
113-
114- self .progress_updated .emit (f"📁 找到 { len (extension_files )} 个扩展文件" )
115-
115+
116+ self .progress_updated .emit (get_text ( "patch.found_files" , count = len (extension_files )) )
117+
116118 # 对每个文件尝试恢复
117119 success_count = 0
118120 total_files = len (extension_files )
119-
121+
120122 for i , file_path in enumerate (extension_files , 1 ):
121- self .progress_updated .emit (f"🔄 正在恢复文件 { i } /{ total_files } : { file_path } " )
122-
123+ self .progress_updated .emit (get_text ("patch.restoring" ,
124+ current = i , total = total_files , file = file_path ))
125+
123126 result = self .patch_manager .restore_from_backup (file_path )
124-
127+
125128 if result .success :
126129 success_count += 1
127- self .progress_updated .emit (f"✅ 恢复成功: { file_path } " )
130+ self .progress_updated .emit (get_text ( "patch.restore_success" , file = file_path ) )
128131 else :
129- self .progress_updated .emit (f"⚠️ 恢复跳过: { result .message } " )
130-
132+ self .progress_updated .emit (get_text ( "patch.restore_skipped" , message = result .message ) )
133+
131134 # 完成总结
132135 if success_count > 0 :
133- message = f"恢复操作完成!成功恢复 { success_count } / { total_files } 个文件"
136+ message = get_text ( "patch.restore_completed" , success = success_count , total = total_files )
134137 self .progress_updated .emit (f"🎉 { message } " )
135138 self .restore_completed .emit (True , message )
136139 else :
137- message = "没有文件需要恢复或恢复失败"
140+ message = get_text ( "patch.restore_no_success" )
138141 self .progress_updated .emit (f"⚠️ { message } " )
139142 self .restore_completed .emit (False , message )
140-
143+
141144 except Exception as e :
142- error_msg = f"恢复操作失败: { str (e )} "
145+ error_msg = get_text ( "patch.restore_error" , error = str (e ))
143146 self .progress_updated .emit (f"❌ { error_msg } " )
144147 self .restore_completed .emit (False , error_msg )
145148
@@ -162,16 +165,16 @@ def __init__(self, ide_types: List[IDEType], portable_roots: Optional[Dict[IDETy
162165 def run (self ):
163166 """执行扫描操作"""
164167 try :
165- self .progress_updated .emit ("🔍 开始扫描所有IDE的扩展文件..." )
166-
168+ self .progress_updated .emit (get_text ( "patch.scanning" ) )
169+
167170 results = {}
168-
171+
169172 for ide_type in self .ide_types :
170- self .progress_updated .emit (f"📂 正在扫描 { ide_type .value } ..." )
171-
173+ self .progress_updated .emit (get_text ( "patch.scanning_ide" , ide_type = ide_type .value ) )
174+
172175 portable_root = self .portable_roots .get (ide_type )
173176 extension_files = self .extension_finder .find_extension_files (ide_type , portable_root )
174-
177+
175178 ide_results = []
176179 for file_path in extension_files :
177180 status = self .patch_manager .get_patch_status (file_path )
@@ -180,15 +183,16 @@ def run(self):
180183 'status' : status
181184 })
182185 self .file_found .emit (ide_type .value , file_path , status )
183-
186+
184187 results [ide_type .value ] = ide_results
185- self .progress_updated .emit (f"✅ { ide_type .value } 扫描完成,找到 { len (extension_files )} 个文件" )
186-
187- self .progress_updated .emit ("🎉 扫描完成!" )
188+ self .progress_updated .emit (get_text ("patch.scan_completed" ,
189+ ide_type = ide_type .value , count = len (extension_files )))
190+
191+ self .progress_updated .emit (get_text ("patch.scan_finished" ))
188192 self .scan_completed .emit (results )
189-
193+
190194 except Exception as e :
191- error_msg = f"扫描失败: { str (e )} "
195+ error_msg = get_text ( "patch.scan_error" , error = str (e ))
192196 self .progress_updated .emit (f"❌ { error_msg } " )
193197 self .scan_completed .emit ({})
194198
@@ -219,32 +223,33 @@ def __init__(self, ide_configs: Dict[IDEType, Dict]):
219223 def run (self ):
220224 """执行批量补丁操作"""
221225 try :
222- self .progress_updated .emit ("🚀 开始批量补丁操作..." )
223-
226+ self .progress_updated .emit (get_text ( "patch.batch_starting" ) )
227+
224228 total_ides = len (self .ide_configs )
225229 results = {}
226230 overall_success = True
227-
231+
228232 for i , (ide_type , config ) in enumerate (self .ide_configs .items (), 1 ):
229- self .progress_updated .emit (f"🔧 正在处理 { ide_type .value } ({ i } /{ total_ides } )..." )
230-
233+ self .progress_updated .emit (get_text ("patch.batch_processing" ,
234+ ide_type = ide_type .value , current = i , total = total_ides ))
235+
231236 patch_mode = config .get ('patch_mode' , PatchMode .RANDOM )
232237 portable_root = config .get ('portable_root' )
233-
238+
234239 # 查找扩展文件
235240 extension_files = self .extension_finder .find_extension_files (ide_type , portable_root )
236-
241+
237242 if not extension_files :
238- message = f"未找到扩展文件"
243+ message = get_text ( "patch.batch_no_files" )
239244 results [ide_type .value ] = {'success' : False , 'message' : message , 'files' : []}
240245 self .ide_completed .emit (ide_type .value , False , message )
241246 overall_success = False
242247 continue
243-
248+
244249 # 应用补丁
245250 success_count = 0
246251 file_results = []
247-
252+
248253 for file_path in extension_files :
249254 result = self .patch_manager .apply_patch (file_path , patch_mode )
250255 file_results .append ({
@@ -254,30 +259,30 @@ def run(self):
254259 })
255260 if result .success :
256261 success_count += 1
257-
262+
258263 # 记录结果
259264 ide_success = success_count > 0
260- message = f"成功补丁 { success_count } / { len (extension_files )} 个文件"
265+ message = get_text ( "patch.batch_success" , success = success_count , total = len (extension_files ))
261266 results [ide_type .value ] = {
262267 'success' : ide_success ,
263268 'message' : message ,
264269 'files' : file_results
265270 }
266-
271+
267272 self .ide_completed .emit (ide_type .value , ide_success , message )
268273 if not ide_success :
269274 overall_success = False
270-
275+
271276 # 完成总结
272277 if overall_success :
273- final_message = f"批量补丁完成!成功处理 { total_ides } 个IDE"
278+ final_message = get_text ( "patch.batch_completed" , count = total_ides )
274279 else :
275- final_message = f"批量补丁部分成功,请查看详细结果"
276-
280+ final_message = get_text ( "patch.batch_partial" )
281+
277282 self .progress_updated .emit (f"🎉 { final_message } " )
278283 self .batch_completed .emit (overall_success , final_message , results )
279-
284+
280285 except Exception as e :
281- error_msg = f"批量补丁失败: { str (e )} "
286+ error_msg = get_text ( "patch.batch_error" , error = str (e ))
282287 self .progress_updated .emit (f"❌ { error_msg } " )
283288 self .batch_completed .emit (False , error_msg , {})
0 commit comments