66
77from PyQt6 .QtWidgets import QMainWindow , QFileDialog , QApplication
88
9+ from run .lang import loadLang
910from run .request import transJson
1011from ui .MainWindow import Ui_MainWindow
1112
@@ -21,8 +22,9 @@ def __init__(self, authBack):
2122 self .fileName = None
2223 self .workDir = None
2324 self .unzipDir = None
24- self .originWork = 'en_us.json'
25- self .oldWork = 'zh_cn.json'
25+ self .workType = ['.json' , '.lang' ]
26+ self .originWork = 'en_us'
27+ self .oldWork = 'zh_cn'
2628 self .hasOldWork = False
2729 self .exportWork = join (getcwd (), 'export.json' )
2830 self .authToken = authBack
@@ -53,18 +55,26 @@ def isTranslatable(self):
5355 for root , _ , files in walk (self .unzipDir ):
5456 for filesIndex in range (len (files )):
5557 files [filesIndex ] = files [filesIndex ].lower ()
56- if self .originWork in files :
57- self .originWork = join (root , self .originWork )
58- if not self .isRestarted :
59- if self .oldWork in files :
60- self .oldWork = join (root , self .oldWork )
61- self .hasOldWork = True
62- self .addStatus ('已找到\' zh_cn.json\' 文件' )
63- QApplication .processEvents ()
64- self .addStatus ('已找到\' en_us.json\' 文件' )
65- QApplication .processEvents ()
66- return True
58+ for fileType in self .workType :
59+ thisOriginWork = self .originWork + fileType
60+ thisOldWork = self .oldWork + fileType
61+ if thisOriginWork in files :
62+ self .originWork = thisOriginWork
63+ self .workType = fileType
64+ self .addStatus ('已找到\' {}\' 文件' .format (self .originWork ))
65+ QApplication .processEvents ()
66+ self .originWork = join (root , self .originWork )
67+ if not self .isRestarted :
68+ if thisOldWork in files :
69+ self .oldWork = thisOldWork
70+ self .addStatus ('已找到\' {}\' 文件' .format (self .oldWork ))
71+ QApplication .processEvents ()
72+ self .oldWork = join (root , self .oldWork )
73+ self .hasOldWork = True
74+ return True
6775 self .addStatus ('未找到可翻译文件' )
76+ QApplication .processEvents ()
77+ self .ImportJar .setEnabled (True )
6878 return False
6979
7080 def nextItem (self ):
@@ -98,6 +108,12 @@ def getTranslated(self):
98108 def setUnchecked (self , number ):
99109 self .Unchecked .setText ('还剩 {} 个未校对' .format (number ))
100110
111+ def autoLoad (self , file ):
112+ if self .workType == '.json' :
113+ return load (file )
114+ else :
115+ return loadLang (file )
116+
101117 def onClickNext (self ):
102118 if self .getTag ():
103119 self .receiveChecked ([self .getTag (), self .getTranslated ()])
@@ -116,7 +132,7 @@ def onClickFinish(self):
116132 self .Finish .setDisabled (True )
117133 if self .hasOldWork :
118134 oldFile = open (self .oldWork , 'r' , encoding = 'UTF-8' )
119- oldJson = load (oldFile )
135+ oldJson = self . autoLoad (oldFile )
120136 oldFile .close ()
121137 for key in self .checkedJson :
122138 oldJson [key ] = self .checkedJson [key ]
@@ -151,11 +167,11 @@ def selectFile(self):
151167 return
152168 if self .isTranslatable ():
153169 originFile = open (self .originWork , 'r' , encoding = 'UTF-8' )
154- originJson = load (originFile )
170+ originJson = self . autoLoad (originFile )
155171 originFile .close ()
156172 if self .hasOldWork :
157173 oldFile = open (self .oldWork , 'r' , encoding = 'UTF-8' )
158- oldJson = load (oldFile )
174+ oldJson = self . autoLoad (oldFile )
159175 oldFile .close ()
160176 preparedJson = {}
161177 for i in originJson :
@@ -178,7 +194,7 @@ def selectFile(self):
178194 self .transJson = transJson (self , originJson , self .authToken )
179195 dump (self .transJson , exportFile , indent = 4 )
180196 exportFile .close ()
181- self .addStatus ('共 {} 条需要翻译 ' .format (self .items ))
197+ self .addStatus ('共 {} 条需要校对 ' .format (self .items ))
182198 self .Next .setEnabled (True )
183199 self .transList = list (self .transJson .items ())
184200 self .onClickNext ()
0 commit comments