mirror of
https://github.com/HIllya51/LunaTranslator.git
synced 2024-12-29 16:44:13 +08:00
LunaHook/issues/2
This commit is contained in:
parent
bed074c6ec
commit
7bec30960f
@ -9,6 +9,21 @@ from myutils.config import globalconfig ,_TR,_TRL
|
||||
from gui.usefulwidget import MySwitch ,selectcolor
|
||||
from myutils.utils import makehtml
|
||||
from myutils.wrapper import Singleton
|
||||
def autoinitdialog_items(dict):
|
||||
items=[]
|
||||
for arg in dict['args']:
|
||||
items.append({
|
||||
'l':arg,'d':dict['args'],'k':arg
|
||||
})
|
||||
if 'argstype' in dict and arg in dict['argstype']:
|
||||
|
||||
items[-1].update(dict['argstype'][arg])
|
||||
else:
|
||||
items[-1].update(
|
||||
{'t':'lineedit'}
|
||||
)
|
||||
items.append({'t':'okcancel' })
|
||||
return items
|
||||
@Singleton
|
||||
class autoinitdialog(QDialog):
|
||||
def __init__(self, parent,title,width,lines,_=None ) -> None:
|
||||
@ -184,16 +199,7 @@ class postconfigdialog_(QDialog):
|
||||
lb=QLabel(self)
|
||||
lb.setText(_TR(key) )
|
||||
formLayout.addWidget(lb)
|
||||
if type(configdict[key]) in (float,int):
|
||||
spin=QSpinBox(self)
|
||||
spin.setMinimum(1)
|
||||
spin.setMaximum(100)
|
||||
spin.setValue(configdict[key])
|
||||
spin.valueChanged.connect(lambda x:configdict.__setitem__(key,x))
|
||||
formLayout.addWidget(spin)
|
||||
self.resize(QSize(600,1))
|
||||
|
||||
elif type(configdict[key])==type({}):
|
||||
# lines=QTextEdit(self)
|
||||
# lines.setPlainText('\n'.join(configdict[key]))
|
||||
# lines.textChanged.connect(lambda :configdict.__setitem__(key,lines.toPlainText().split('\n')))
|
||||
|
@ -494,7 +494,7 @@ class hookselect(closeashidewindow):
|
||||
|
||||
self.textOutput = QPlainTextEdit()
|
||||
self.textOutput.setUndoRedoEnabled(False)
|
||||
self.textOutput.setReadOnly(True)
|
||||
self.textOutput.setReadOnly(globalconfig['textboxreadonly'])
|
||||
|
||||
|
||||
self.sysOutput = QPlainTextEdit()
|
||||
|
@ -8,7 +8,7 @@ from gui.pretransfile import sqlite2json
|
||||
from myutils.config import globalconfig ,_TR,_TRL,static_data
|
||||
from myutils.utils import selectdebugfile,splittranslatortypes,checkportavailable
|
||||
import os ,time,requests,threading
|
||||
from gui.inputdialog import autoinitdialog
|
||||
from gui.inputdialog import autoinitdialog ,autoinitdialog_items
|
||||
from gui.usefulwidget import getspinbox,getcolorbutton,getsimpleswitch,selectcolor
|
||||
import time,hashlib
|
||||
def hashtext(a):
|
||||
@ -33,19 +33,7 @@ def initsome11(self,l,label=None):
|
||||
|
||||
if fanyi in translatorsetting :
|
||||
|
||||
items=[]
|
||||
for arg in translatorsetting[fanyi]['args']:
|
||||
items.append({
|
||||
'l':arg,'d':translatorsetting[fanyi]['args'],'k':arg
|
||||
})
|
||||
if 'argstype' in translatorsetting[fanyi] and arg in translatorsetting[fanyi]['argstype']:
|
||||
|
||||
items[-1].update(translatorsetting[fanyi]['argstype'][arg])
|
||||
else:
|
||||
items[-1].update(
|
||||
{'t':'lineedit'}
|
||||
)
|
||||
items.append({'t':'okcancel' })
|
||||
items=autoinitdialog_items(translatorsetting[fanyi])
|
||||
last=getcolorbutton(globalconfig,'',callback=functools.partial(autoinitdialog,self, (globalconfig['fanyi'][fanyi]['name']),800,items),icon='fa.gear',constcolor="#FF69B4")
|
||||
elif fanyi=='selfbuild':
|
||||
last=getcolorbutton(globalconfig,'',callback=lambda:selectdebugfile('./userconfig/selfbuild.py' ),icon='fa.gear',constcolor="#FF69B4")
|
||||
|
@ -9,7 +9,7 @@ from myutils.config import globalconfig ,postprocessconfig,noundictconfig,transe
|
||||
import functools ,gobject
|
||||
from gui.usefulwidget import getcolorbutton,getsimpleswitch
|
||||
from gui.codeacceptdialog import codeacceptdialog
|
||||
from gui.inputdialog import getsomepath1 ,postconfigdialog
|
||||
from gui.inputdialog import getsomepath1 ,postconfigdialog,autoinitdialog,autoinitdialog_items
|
||||
from myutils.utils import selectdebugfile
|
||||
from myutils.wrapper import Singleton
|
||||
from myutils.config import savehook_new_list,savehook_new_data
|
||||
@ -105,8 +105,12 @@ def setTab7_lazy(self) :
|
||||
if post=='_remove_chaos':
|
||||
config=(getcolorbutton(globalconfig,'',icon='fa.gear',constcolor="#FF69B4",callback=lambda:codeacceptdialog(self)))
|
||||
elif 'args' in postprocessconfig[post]:
|
||||
|
||||
config=(getcolorbutton(globalconfig,'',callback= functools.partial( postconfigdialog,self,postprocessconfig[post]['args'],postprocessconfig[post]['name']),icon='fa.gear',constcolor="#FF69B4"))
|
||||
if isinstance(list(postprocessconfig[post]['args'].values())[0],dict):
|
||||
callback=functools.partial( postconfigdialog,self,postprocessconfig[post]['args'],postprocessconfig[post]['name'])
|
||||
else:
|
||||
items=autoinitdialog_items(postprocessconfig[post])
|
||||
callback=functools.partial(autoinitdialog,self,postprocessconfig[post]['name'],600,items)
|
||||
config=(getcolorbutton(globalconfig,'',callback= callback,icon='fa.gear',constcolor="#FF69B4"))
|
||||
else:
|
||||
config=('')
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
import functools ,os
|
||||
from myutils.config import globalconfig ,ocrsetting,_TRL,ocrerrorfix
|
||||
from gui.usefulwidget import getsimplecombobox,getspinbox,getcolorbutton,yuitsu_switch,getsimpleswitch,selectcolor
|
||||
from gui.inputdialog import autoinitdialog ,postconfigdialog
|
||||
from gui.inputdialog import autoinitdialog ,postconfigdialog,autoinitdialog_items
|
||||
import gobject
|
||||
def getocrgrid(self) :
|
||||
|
||||
@ -18,19 +18,7 @@ def getocrgrid(self) :
|
||||
if os.path.exists(_f)==False:
|
||||
continue
|
||||
if name in ocrsetting:
|
||||
items=[]
|
||||
for arg in ocrsetting[name]['args']:
|
||||
items.append({
|
||||
'l':arg,'d':ocrsetting[name]['args'],'k':arg
|
||||
})
|
||||
if 'argstype' in ocrsetting[name] and arg in ocrsetting[name]['argstype']:
|
||||
|
||||
items[-1].update(ocrsetting[name]['argstype'][arg])
|
||||
else:
|
||||
items[-1].update(
|
||||
{'t':'lineedit'}
|
||||
)
|
||||
items.append({'t':'okcancel' })
|
||||
items=autoinitdialog_items(ocrsetting[name])
|
||||
_3=getcolorbutton(globalconfig,'',callback=functools.partial(autoinitdialog,self,globalconfig['ocr'][name]['name'],800,items),icon='fa.gear',constcolor="#FF69B4")
|
||||
|
||||
else:
|
||||
|
@ -164,7 +164,7 @@ def setTabThree_lazy(self) :
|
||||
|
||||
[('任务栏中显示',6),getsimpleswitch(globalconfig,'showintab' ,callback=__changeshowintab)],
|
||||
[('子窗口任务栏中显示',6),getsimpleswitch(globalconfig,'showintab_sub')],
|
||||
|
||||
[('选择文本窗口中文本框只读',6),getsimpleswitch(globalconfig,'textboxreadonly',callback=lambda x:gobject.baseobject.hookselectdialog.textOutput.setReadOnly(x) )]
|
||||
]
|
||||
alleffect=['无','Bicubic','Bilinear','Jinc','Lanczos','Nearest','SSimDownscaler']
|
||||
downsname=magpie10_config.get('downscalingEffect',{'name':'无'}).get('name')
|
||||
|
@ -6,6 +6,7 @@ import importlib,gobject
|
||||
from myutils.utils import getfilemd5
|
||||
from myutils.config import postprocessconfig,globalconfig ,savehook_new_data,static_data
|
||||
def _2_f(line,args):
|
||||
keepnodump=args['保持非重复字符']
|
||||
times=args['重复次数(若为1则自动分析去重)']
|
||||
|
||||
if times>=2:
|
||||
@ -27,7 +28,19 @@ def _2_f(line,args):
|
||||
guesstimes=sorted(x.keys(),key= lambda x1:x[x1])[-1]
|
||||
else:
|
||||
guesstimes=1
|
||||
|
||||
if keepnodump:
|
||||
newline=''
|
||||
i=0
|
||||
while i<len(line):
|
||||
newline+=line[i]
|
||||
nextn=line[i:i+guesstimes]
|
||||
print(guesstimes,nextn,len(set(nextn)))
|
||||
if len(nextn)==guesstimes and len(set(nextn))==1:
|
||||
i+=guesstimes
|
||||
else:
|
||||
i+=1
|
||||
line=newline
|
||||
else:
|
||||
newline=[line[i*guesstimes] for i in range(len(line)//guesstimes)]
|
||||
line=''.join(newline)
|
||||
return line
|
||||
|
@ -96,6 +96,7 @@
|
||||
500,
|
||||
500
|
||||
],
|
||||
"textboxreadonly":true,
|
||||
"ocr_stable_sim": 0,
|
||||
"ocr_diff_sim": 0.95,
|
||||
"autorun": true,
|
||||
|
@ -28,7 +28,19 @@
|
||||
"use": false,
|
||||
"name": "去除重复字符_AAAABBBBCCCC->ABC",
|
||||
"args": {
|
||||
"重复次数(若为1则自动分析去重)": 1
|
||||
"重复次数(若为1则自动分析去重)": 1,
|
||||
"保持非重复字符":true
|
||||
},
|
||||
"argstype":{
|
||||
"保持非重复字符": {
|
||||
"type": "switch"
|
||||
},
|
||||
"重复次数(若为1则自动分析去重)": {
|
||||
"type": "intspin",
|
||||
"min": 0,
|
||||
"max": 10000,
|
||||
"step": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
"_3": {
|
||||
@ -36,6 +48,14 @@
|
||||
"name": "去除重复行_ABCDABCDABCD->ABCD",
|
||||
"args": {
|
||||
"重复次数(若为1则自动分析去重)": 1
|
||||
},
|
||||
"argstype":{
|
||||
"重复次数(若为1则自动分析去重)": {
|
||||
"type": "intspin",
|
||||
"min": 0,
|
||||
"max": 10000,
|
||||
"step": 1
|
||||
}
|
||||
}
|
||||
},"_3_2": {
|
||||
"use": false,
|
||||
|
@ -705,5 +705,7 @@
|
||||
"外部缩放软件": "برامج التكبير الخارجي",
|
||||
"Hook Magpie进程使其不会退出缩放": "هوك ماجي العملية بحيث لا تخرج من التكبير",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "هوك looslessscaling العملية بحيث لا تخرج من التكبير",
|
||||
"正在使用日语模型作为代替,可能效果不佳": "استخدام النموذج الياباني بدلا من ذلك ، قد لا تعمل بشكل جيد"
|
||||
"正在使用日语模型作为代替,可能效果不佳": "استخدام النموذج الياباني بدلا من ذلك ، قد لا تعمل بشكل جيد",
|
||||
"保持非重复字符": "الحفاظ على الطابع غير المتكرر",
|
||||
"选择文本窗口中文本框只读": "حدد مربع النص للقراءة فقط في نافذة النص"
|
||||
}
|
@ -705,5 +705,7 @@
|
||||
"外部缩放软件": "外部縮放軟件",
|
||||
"Hook Magpie进程使其不会退出缩放": "Hook Magpie行程使其不會退出縮放",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling行程使其不會退出縮放",
|
||||
"正在使用日语模型作为代替,可能效果不佳": "正在使用日語模型作為代替,可能效果不佳"
|
||||
"正在使用日语模型作为代替,可能效果不佳": "正在使用日語模型作為代替,可能效果不佳",
|
||||
"保持非重复字符": "保持非重複字元",
|
||||
"选择文本窗口中文本框只读": "選擇文字視窗中文字方塊只讀"
|
||||
}
|
@ -705,5 +705,7 @@
|
||||
"外部缩放软件": "External scaling software",
|
||||
"Hook Magpie进程使其不会退出缩放": "Hook Magpie process prevents it from exiting scaling",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling process prevents it from exiting scaling",
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Using Japanese models as a substitute may not be effective"
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Using Japanese models as a substitute may not be effective",
|
||||
"保持非重复字符": "Keep non repeating characters",
|
||||
"选择文本窗口中文本框只读": "Select read-only text boxes in the text window"
|
||||
}
|
@ -705,5 +705,7 @@
|
||||
"外部缩放软件": "Software de zoom externo",
|
||||
"Hook Magpie进程使其不会退出缩放": "El proceso Hook magpie hace que no salga del zoom",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "El proceso Hook losslessscaling hace que no salga del zoom",
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Se está utilizando el modelo japonés como sustituto y puede que no funcione bien"
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Se está utilizando el modelo japonés como sustituto y puede que no funcione bien",
|
||||
"保持非重复字符": "Mantener caracteres no repetitivos",
|
||||
"选择文本窗口中文本框只读": "Seleccione la ventana de texto en la que el cuadro de texto es de solo lectura"
|
||||
}
|
@ -705,5 +705,7 @@
|
||||
"外部缩放软件": "Logiciel de zoom externe",
|
||||
"Hook Magpie进程使其不会退出缩放": "Le processus Hook Magpie ne quitte pas le zoom",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook losslesscaling processus pour ne pas quitter le zoom",
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Le modèle japonais est utilisé à la place, peut ne pas fonctionner aussi bien"
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Le modèle japonais est utilisé à la place, peut ne pas fonctionner aussi bien",
|
||||
"保持非重复字符": "Garder les caractères non répétitifs",
|
||||
"选择文本窗口中文本框只读": "Sélectionner une zone de texte en lecture seule dans la fenêtre de texte"
|
||||
}
|
@ -705,5 +705,7 @@
|
||||
"外部缩放软件": "Software di ridimensionamento esterno",
|
||||
"Hook Magpie进程使其不会退出缩放": "Il processo Hook Magpie impedisce di uscire dalla scala",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling processo impedisce di uscire dalla scalabilità",
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Utilizzare modelli giapponesi come sostituto potrebbe non essere efficace"
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Utilizzare modelli giapponesi come sostituto potrebbe non essere efficace",
|
||||
"保持非重复字符": "Mantieni caratteri non ripetuti",
|
||||
"选择文本窗口中文本框只读": "Selezionare le caselle di testo di sola lettura nella finestra di testo"
|
||||
}
|
@ -705,5 +705,7 @@
|
||||
"外部缩放软件": "外部ズームソフトウェア",
|
||||
"Hook Magpie进程使其不会退出缩放": "Hook Magpieプロセスはスケールを終了しないようにする",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScalingプロセスはスケーリングを終了しないようにする",
|
||||
"正在使用日语模型作为代替,可能效果不佳": "代替として日本語モデルを使用していますが、効果が低いかもしれません"
|
||||
"正在使用日语模型作为代替,可能效果不佳": "代替として日本語モデルを使用していますが、効果が低いかもしれません",
|
||||
"保持非重复字符": "非反復文字の維持",
|
||||
"选择文本窗口中文本框只读": "テキストウィンドウのテキストボックス読み取り専用を選択"
|
||||
}
|
@ -705,5 +705,7 @@
|
||||
"外部缩放软件": "외부 확대 / 축소 소프트웨어",
|
||||
"Hook Magpie进程使其不会退出缩放": "Hook Magpie 프로세스로 인해 줌이 종료되지 않습니다.",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling 프로세스로 인해 줌이 종료되지 않습니다.",
|
||||
"正在使用日语模型作为代替,可能效果不佳": "일본어 모델을 대체하는 중입니다. 효과가 없을 수 있습니다"
|
||||
"正在使用日语模型作为代替,可能效果不佳": "일본어 모델을 대체하는 중입니다. 효과가 없을 수 있습니다",
|
||||
"保持非重复字符": "비반복 문자 유지",
|
||||
"选择文本窗口中文本框只读": "텍스트 선택 창의 텍스트 상자 읽기 전용"
|
||||
}
|
@ -705,5 +705,7 @@
|
||||
"外部缩放软件": "Oprogramowanie do skalowania zewnętrznego",
|
||||
"Hook Magpie进程使其不会退出缩放": "Proces Hook Magpie zapobiega zakończeniu skalowania",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Proces Hook Losslessless Scaling zapobiega zakończeniu skalowania",
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Używanie japońskich modeli jako substytutów może nie być skuteczne"
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Używanie japońskich modeli jako substytutów może nie być skuteczne",
|
||||
"保持非重复字符": "Zachowaj niepowtarzające się znaki",
|
||||
"选择文本窗口中文本框只读": "Zaznaczanie pola tekstowe tylko do odczytu w oknie tekstowym"
|
||||
}
|
@ -705,5 +705,7 @@
|
||||
"外部缩放软件": "Программное обеспечение для внешнего масштабирования",
|
||||
"Hook Magpie进程使其不会退出缩放": "Процесс Hook Magpie не выводит из масштабирования",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Процесс Hook LosslessScaling не выводит из масштабирования",
|
||||
"正在使用日语模型作为代替,可能效果不佳": "В качестве замены используется японская модель, которая может быть неэффективной"
|
||||
"正在使用日语模型作为代替,可能效果不佳": "В качестве замены используется японская модель, которая может быть неэффективной",
|
||||
"保持非重复字符": "Сохранить символ без повторения",
|
||||
"选择文本窗口中文本框只读": "Выберите текстовое окно только для чтения"
|
||||
}
|
@ -705,5 +705,7 @@
|
||||
"外部缩放软件": "ซอฟต์แวร์ซูมภายนอก",
|
||||
"Hook Magpie进程使其不会退出缩放": "กระบวนการ Hook Magpie ทำให้ไม่ออกจากการซูม",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling กระบวนการทำให้มันไม่ออกจากซูม",
|
||||
"正在使用日语模型作为代替,可能效果不佳": "ใช้แบบจำลองภาษาญี่ปุ่นแทนอาจไม่ได้ผล"
|
||||
"正在使用日语模型作为代替,可能效果不佳": "ใช้แบบจำลองภาษาญี่ปุ่นแทนอาจไม่ได้ผล",
|
||||
"保持非重复字符": "เก็บอักขระที่ไม่ซ้ำกัน",
|
||||
"选择文本窗口中文本框只读": "เลือกกล่องข้อความในหน้าต่างข้อความ อ่านอย่างเดียว"
|
||||
}
|
@ -705,5 +705,7 @@
|
||||
"外部缩放软件": "Dışarı skalama yazılımı",
|
||||
"Hook Magpie进程使其不会退出缩放": "Hook Magpie süreci ölçeklenmesini engelledi",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling süreç ölçeklenmesini engelledi",
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Japon modellerini yerine koymak etkili olmayabilir."
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Japon modellerini yerine koymak etkili olmayabilir.",
|
||||
"保持非重复字符": "Tekrarlamayan karakterleri tut",
|
||||
"选择文本窗口中文本框只读": "Metin penceresindeki sadece okuyulmuş metin kutularını seçin"
|
||||
}
|
@ -705,5 +705,7 @@
|
||||
"外部缩放软件": "Зовнішнє програмне забезпечення масштабу",
|
||||
"Hook Magpie进程使其不会退出缩放": "Процес Hook Magpie забороняє їй вийти з масштабу",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Процес безвтратного розміруScaling забороняє їй вийти з розміру",
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Використання японських моделей як заміни може бути неефективним"
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Використання японських моделей як заміни може бути неефективним",
|
||||
"保持非重复字符": "Зберегти символи, які не повторюються",
|
||||
"选择文本窗口中文本框只读": "Виберіть текстові поля для лише читання у текстовому вікні"
|
||||
}
|
@ -705,5 +705,7 @@
|
||||
"外部缩放软件": "Phần mềm Zoom ngoài",
|
||||
"Hook Magpie进程使其不会退出缩放": "Quá trình Hook Magpie làm cho nó không thoát khỏi zoom",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "Quá trình Hook LosslessScaling làm cho nó không thoát khỏi zoom",
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Các mô hình tiếng Nhật đang được sử dụng thay thế và có thể không hiệu quả"
|
||||
"正在使用日语模型作为代替,可能效果不佳": "Các mô hình tiếng Nhật đang được sử dụng thay thế và có thể không hiệu quả",
|
||||
"保持非重复字符": "Giữ các ký tự không trùng lặp",
|
||||
"选择文本窗口中文本框只读": "Chọn hộp văn bản chỉ đọc trong cửa sổ văn bản"
|
||||
}
|
@ -705,5 +705,7 @@
|
||||
"外部缩放软件": "",
|
||||
"Hook Magpie进程使其不会退出缩放": "",
|
||||
"Hook LosslessScaling进程使其不会退出缩放": "",
|
||||
"正在使用日语模型作为代替,可能效果不佳": ""
|
||||
"正在使用日语模型作为代替,可能效果不佳": "",
|
||||
"保持非重复字符": "",
|
||||
"选择文本窗口中文本框只读": ""
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user