mirror of
https://github.com/HIllya51/LunaTranslator.git
synced 2024-12-28 08:04:13 +08:00
display error
This commit is contained in:
parent
19f932f1db
commit
fa0e70ac98
@ -52,8 +52,6 @@ class MAINUI() :
|
||||
self.currentsignature=None
|
||||
self.isrunning=True
|
||||
self.solvegottextlock=threading.Lock()
|
||||
self.castkata2hira=str.maketrans(static_data['allkata'],static_data['allhira'])
|
||||
self.casthira2kata=str.maketrans(static_data['allhira'],static_data['allkata'])
|
||||
@property
|
||||
def textsource(self):return self.textsource_p
|
||||
@textsource.setter
|
||||
@ -183,9 +181,6 @@ class MAINUI() :
|
||||
msg=str(type(e))[8:-2]+' '+str(e).replace('\n','').replace('\r','')
|
||||
self.translation_ui.displaystatus.emit(msg,'red',True,True)
|
||||
return
|
||||
|
||||
while len(text) and text[-1] in '\r\n \t': #在后处理之后在去除换行,这样换行符可以当作行结束符给后处理用
|
||||
text=text[:-1]
|
||||
|
||||
if text=='' or (is_auto_run and (text==self.currenttext or len(text)>(max(globalconfig['maxoriginlength'],globalconfig['maxlength'])))):
|
||||
if embedcallback:
|
||||
@ -205,33 +200,12 @@ class MAINUI() :
|
||||
self.currentread=text
|
||||
self.autoreadcheckname()
|
||||
|
||||
try:
|
||||
if self.hira_:
|
||||
hira=self.hira_.fy(text)
|
||||
for _1 in range(len(hira)):
|
||||
_=len(hira)-1-_1
|
||||
if globalconfig['hira_vis_type']==0:
|
||||
hira[_]['hira']=hira[_]['hira'].translate(self.castkata2hira)
|
||||
elif globalconfig['hira_vis_type']==1:
|
||||
hira[_]['hira']=hira[_]['hira'].translate(self.casthira2kata)
|
||||
elif globalconfig['hira_vis_type']==2:
|
||||
__kanas=[static_data['hira']+['っ'],static_data['kata']+['ッ']]
|
||||
target=static_data['roma']+['-']
|
||||
for _ka in __kanas:
|
||||
for __idx in range(len(_ka)):
|
||||
_reverse_idx=len(_ka)-1-__idx
|
||||
hira[_]['hira']=hira[_]['hira'].replace(_ka[_reverse_idx],target[_reverse_idx])
|
||||
else:
|
||||
hira=[]
|
||||
except:
|
||||
print_exc()
|
||||
hira=[]
|
||||
if globalconfig['refresh_on_get_trans']==False:
|
||||
self.translation_ui.displayraw1.emit(dict(hira=hira,text=text,color=globalconfig['rawtextcolor'],onlytrans=onlytrans))
|
||||
self.translation_ui.displayraw1.emit(dict(text=text,color=globalconfig['rawtextcolor'],onlytrans=onlytrans))
|
||||
_showrawfunction=None
|
||||
_showrawfunction_sig=0
|
||||
else:
|
||||
_showrawfunction=functools.partial(self.translation_ui.displayraw1.emit,dict(hira=hira,text=text,color=globalconfig['rawtextcolor'],onlytrans=onlytrans))
|
||||
_showrawfunction=functools.partial(self.translation_ui.displayraw1.emit,dict(text=text,color=globalconfig['rawtextcolor'],onlytrans=onlytrans))
|
||||
_showrawfunction_sig=time.time()
|
||||
|
||||
text_solved,optimization_params= self.solvebeforetrans(text)
|
||||
@ -266,7 +240,7 @@ class MAINUI() :
|
||||
#print(keys,usenum,self.lasttranslatorindex)
|
||||
for engine in keys:
|
||||
if engine not in self.premtalready:
|
||||
self.translators[engine].gettask((partial(self.GetTranslationCallback,onlytrans,engine,self.currentsignature, optimization_params,_showrawfunction,_showrawfunction_sig,text),text,text_solved,skip,embedcallback,is_auto_run,hira))
|
||||
self.translators[engine].gettask((partial(self.GetTranslationCallback,onlytrans,engine,self.currentsignature, optimization_params,_showrawfunction,_showrawfunction_sig,text),text,text_solved,skip,embedcallback,is_auto_run))
|
||||
thistimeusednum+=1
|
||||
self.lasttranslatorindex+=1
|
||||
if(thistimeusednum>=usenum):
|
||||
|
@ -363,7 +363,7 @@ class Textbrowser( ):
|
||||
tl3=self.textbrowser.cursorRect(self.textcursor).topLeft()
|
||||
color=self.randomcolor(word)
|
||||
if color:
|
||||
if word['orig'] not in ['\n','\r',' ',''] :
|
||||
if word['orig'] not in ['\n',' ',''] :
|
||||
if labeli >=len(self.searchmasklabels)-1:
|
||||
ql=QLabel(self.atback2)
|
||||
ql.setMouseTracking(True)
|
||||
|
@ -7,8 +7,7 @@ import winsharedutils
|
||||
from PyQt5.QtCore import QT_VERSION_STR
|
||||
import windows
|
||||
from traceback import print_exc
|
||||
from PyQt5.QtWidgets import QWidget, QLabel, QPushButton, QVBoxLayout,QApplication
|
||||
from PyQt5.QtCore import Qt, pyqtSignal ,QThread
|
||||
from PyQt5.QtCore import Qt, pyqtSignal
|
||||
import qtawesome
|
||||
from PyQt5.QtCore import pyqtSignal,Qt,QRect,QSize
|
||||
from PyQt5.QtGui import QFont ,QIcon,QPixmap ,QMouseEvent,QCursor
|
||||
@ -16,7 +15,7 @@ from PyQt5.QtWidgets import QLabel ,QPushButton ,QSystemTrayIcon ,QAction,QMenu
|
||||
import gobject
|
||||
from myutils.wrapper import threader
|
||||
import winsharedutils,queue
|
||||
from myutils.config import globalconfig,saveallconfig,_TR
|
||||
from myutils.config import globalconfig,saveallconfig,_TR,static_data
|
||||
from myutils.subproc import endsubprocs
|
||||
from myutils.ocrutil import ocr_run,imageCut
|
||||
from myutils.hwnd import mouseselectwindow ,showintab,grabwindow,getExeIcon
|
||||
@ -104,7 +103,6 @@ class QUnFrameWindow(resizableframeless):
|
||||
except:
|
||||
print_exc()
|
||||
def showraw(self,kwargs):#hira,res,color,onlytrans):
|
||||
hira=kwargs.get('hira')
|
||||
text=kwargs.get('text')
|
||||
color=kwargs.get('color')
|
||||
onlytrans=kwargs.get('onlytrans')
|
||||
@ -118,7 +116,7 @@ class QUnFrameWindow(resizableframeless):
|
||||
else:
|
||||
_res=text
|
||||
if globalconfig['isshowhira'] and globalconfig['isshowrawtext']:
|
||||
self.showline(clear=clear,text=_res,hira=hira,color=color)
|
||||
self.showline(clear=clear,text=_res,hira=True,color=color)
|
||||
elif globalconfig['isshowrawtext']:
|
||||
self.showline(clear=clear,text=_res,color=color)
|
||||
else:
|
||||
@ -127,19 +125,53 @@ class QUnFrameWindow(resizableframeless):
|
||||
gobject.baseobject.edittextui.getnewsentencesignal.emit(text)
|
||||
def showstatus(self,res,color,clear,origin):
|
||||
self.showline(clear=clear,text=res,color=color,origin=origin)
|
||||
def cleartext(self,text):
|
||||
text=text.replace('\t',' ')
|
||||
text=text.replace('\r','\n')
|
||||
lines=text.split('\n')
|
||||
newlines=[]
|
||||
for line in lines:
|
||||
if len(line.strip()):
|
||||
newlines.append(line)
|
||||
return '\n'.join(newlines)
|
||||
def parsehira(self,text):
|
||||
hira=[]
|
||||
try:
|
||||
if gobject.baseobject.hira_:
|
||||
hira=gobject.baseobject.hira_.fy(text)
|
||||
for _1 in range(len(hira)):
|
||||
_=len(hira)-1-_1
|
||||
if globalconfig['hira_vis_type']==0:
|
||||
hira[_]['hira']=hira[_]['hira'].translate(self.castkata2hira)
|
||||
elif globalconfig['hira_vis_type']==1:
|
||||
hira[_]['hira']=hira[_]['hira'].translate(self.casthira2kata)
|
||||
elif globalconfig['hira_vis_type']==2:
|
||||
__kanas=[static_data['hira']+['っ'],static_data['kata']+['ッ']]
|
||||
target=static_data['roma']+['-']
|
||||
for _ka in __kanas:
|
||||
for __idx in range(len(_ka)):
|
||||
_reverse_idx=len(_ka)-1-__idx
|
||||
hira[_]['hira']=hira[_]['hira'].replace(_ka[_reverse_idx],target[_reverse_idx])
|
||||
except:
|
||||
print_exc()
|
||||
return hira
|
||||
def showline (self,**kwargs):# clear,res,color ,type_=1,origin=True):
|
||||
clear=kwargs.get('clear',True)
|
||||
origin=kwargs.get('origin',True)
|
||||
text=kwargs.get('text',None)
|
||||
color=kwargs.get('color',None)
|
||||
hira=kwargs.get('hira',[])
|
||||
hira=kwargs.get('hira',False)
|
||||
iter_context=kwargs.get('iter_context',None)
|
||||
|
||||
if clear:
|
||||
self.translate_text.clear()
|
||||
if text is None:
|
||||
return
|
||||
|
||||
text=self.cleartext(text)
|
||||
if hira:
|
||||
hira=self.parsehira(text)
|
||||
else:
|
||||
hira=[]
|
||||
self.translate_text.setnextfont(origin)
|
||||
|
||||
if globalconfig['showatcenter']:
|
||||
@ -444,6 +476,8 @@ class QUnFrameWindow(resizableframeless):
|
||||
self.quitf_signal.connect(self.close)
|
||||
self.fullsgame_signal.connect(self._fullsgame)
|
||||
|
||||
self.castkata2hira=str.maketrans(static_data['allkata'],static_data['allhira'])
|
||||
self.casthira2kata=str.maketrans(static_data['allhira'],static_data['allkata'])
|
||||
self.isletgamefullscreened=False
|
||||
self.fullscreenmanager=fullscreen(self._externalfsend)
|
||||
self._isTracking=False
|
||||
|
@ -167,7 +167,7 @@ class basetrans(commonbase):
|
||||
if langkey not in self._cache:
|
||||
self._cache[langkey]={}
|
||||
self._cache[langkey][src] = tgt
|
||||
def cached_translate(self,contentsolved,hira,is_auto_run):
|
||||
def cached_translate(self,contentsolved,is_auto_run):
|
||||
is_using_gpt_and_retrans= is_auto_run==False and self.is_gpt_like
|
||||
if is_using_gpt_and_retrans==False:
|
||||
res=self.shorttermcacheget(contentsolved)
|
||||
@ -179,21 +179,21 @@ class basetrans(commonbase):
|
||||
return res
|
||||
|
||||
if self.transtype=='offline':
|
||||
res=self.dispatch_translate(contentsolved,hira)
|
||||
res=self.translate(contentsolved)
|
||||
else:
|
||||
res=self.intervaledtranslate(contentsolved,hira)
|
||||
res=self.intervaledtranslate(contentsolved)
|
||||
return res
|
||||
def cachesetatend(self,contentsolved,res):
|
||||
if globalconfig['uselongtermcache']:
|
||||
self.longtermcacheset(contentsolved,res)
|
||||
self.shorttermcacheset(contentsolved,res)
|
||||
def maybecachetranslate(self,contentraw,contentsolved,hira,is_auto_run):
|
||||
def maybecachetranslate(self,contentraw,contentsolved,is_auto_run):
|
||||
if self.transtype=='pre':
|
||||
res=self.translate(contentraw)
|
||||
else:
|
||||
res=self.cached_translate(contentsolved,hira,is_auto_run)
|
||||
res=self.cached_translate(contentsolved,is_auto_run)
|
||||
return res
|
||||
def intervaledtranslate(self,content,hira):
|
||||
def intervaledtranslate(self,content):
|
||||
interval=globalconfig['requestinterval']
|
||||
current=time.time()
|
||||
self.current=current
|
||||
@ -207,15 +207,9 @@ class basetrans(commonbase):
|
||||
|
||||
self.multiapikeycurrentidx+=1
|
||||
|
||||
res=self.dispatch_translate(content,hira)
|
||||
res=self.translate(content)
|
||||
|
||||
return res
|
||||
def dispatch_translate(self,content,hira):
|
||||
if 'translate_with_extra' in dir(self):
|
||||
res=self.translate_with_extra(content,{'hira':hira})
|
||||
else:
|
||||
res=self.translate(content)
|
||||
return res
|
||||
@property
|
||||
def onlymanual(self):
|
||||
if 'manual' not in globalconfig['fanyi'][self.typename] :
|
||||
@ -229,7 +223,7 @@ class basetrans(commonbase):
|
||||
while True:
|
||||
_=self.queue.get()
|
||||
if _ is None:break
|
||||
callback,contentraw,contentsolved,skip,embedcallback,is_auto_run,hira=_
|
||||
callback,contentraw,contentsolved,skip,embedcallback,is_auto_run=_
|
||||
if embedcallback is not None:
|
||||
savelast.clear()
|
||||
|
||||
@ -238,7 +232,7 @@ class basetrans(commonbase):
|
||||
break
|
||||
if self.using==False:break
|
||||
if savelast[0][4] is not None:
|
||||
callback,contentraw,contentsolved,skip,embedcallback,is_auto_run,hira=savelast.pop(0)
|
||||
callback,contentraw,contentsolved,skip,embedcallback,is_auto_run=savelast.pop(0)
|
||||
for _ in savelast:
|
||||
self.gettask(_)
|
||||
if embedcallback is None:
|
||||
@ -259,7 +253,7 @@ class basetrans(commonbase):
|
||||
self._private_init()
|
||||
except Exception as e:
|
||||
raise Exception('inittranslator failed : '+str(stringfyerror(e)))
|
||||
return self.maybecachetranslate(contentraw,contentsolved,hira,is_auto_run)
|
||||
return self.maybecachetranslate(contentraw,contentsolved,is_auto_run)
|
||||
|
||||
res=timeoutfunction(reinitandtrans,checktutukufunction=checktutukufunction )
|
||||
collectiterres=[]
|
||||
|
Loading…
x
Reference in New Issue
Block a user