LunaHook/issues/2

This commit is contained in:
恍兮惚兮 2024-02-20 23:59:51 +08:00
parent bed074c6ec
commit 7bec30960f
24 changed files with 151 additions and 101 deletions

View File

@ -9,6 +9,21 @@ from myutils.config import globalconfig ,_TR,_TRL
from gui.usefulwidget import MySwitch ,selectcolor from gui.usefulwidget import MySwitch ,selectcolor
from myutils.utils import makehtml from myutils.utils import makehtml
from myutils.wrapper import Singleton 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 @Singleton
class autoinitdialog(QDialog): class autoinitdialog(QDialog):
def __init__(self, parent,title,width,lines,_=None ) -> None: def __init__(self, parent,title,width,lines,_=None ) -> None:
@ -184,58 +199,49 @@ class postconfigdialog_(QDialog):
lb=QLabel(self) lb=QLabel(self)
lb.setText(_TR(key) ) lb.setText(_TR(key) )
formLayout.addWidget(lb) formLayout.addWidget(lb)
if type(configdict[key]) in (float,int):
spin=QSpinBox(self) # lines=QTextEdit(self)
spin.setMinimum(1) # lines.setPlainText('\n'.join(configdict[key]))
spin.setMaximum(100) # lines.textChanged.connect(lambda :configdict.__setitem__(key,lines.toPlainText().split('\n')))
spin.setValue(configdict[key]) # formLayout.addWidget(lines)
spin.valueChanged.connect(lambda x:configdict.__setitem__(key,x)) model=QStandardItemModel(len(configdict[key]),1 , self)
formLayout.addWidget(spin) row=0
self.resize(QSize(600,1))
elif type(configdict[key])==type({}): for key1 in ( (configdict[key])): # 2
# lines=QTextEdit(self)
# lines.setPlainText('\n'.join(configdict[key]))
# lines.textChanged.connect(lambda :configdict.__setitem__(key,lines.toPlainText().split('\n')))
# formLayout.addWidget(lines)
model=QStandardItemModel(len(configdict[key]),1 , self)
row=0
for key1 in ( (configdict[key])): # 2 item = QStandardItem(key1)
model.setItem(row, 0, item)
item = QStandardItem(key1) item = QStandardItem(configdict[key][key1])
model.setItem(row, 0, item) model.setItem(row, 1, item)
row+=1
item = QStandardItem(configdict[key][key1]) model.setHorizontalHeaderLabels(_TRL([ '原文内容','替换为']))
model.setItem(row, 1, item) table = QTableView(self)
row+=1 table.setModel(model)
model.setHorizontalHeaderLabels(_TRL([ '原文内容','替换为'])) table.setWordWrap(False)
table = QTableView(self) table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
table.setModel(model) #table.setEditTriggers(QAbstractItemView.NoEditTriggers)
table.setWordWrap(False) #table.clicked.connect(self.show_info)
table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) button=QPushButton(self)
#table.setEditTriggers(QAbstractItemView.NoEditTriggers) button.setText(_TR('添加行'))
#table.clicked.connect(self.show_info) def clicked1():
button=QPushButton(self) model.insertRow(0,[QStandardItem(''),QStandardItem('')])
button.setText(_TR('添加行')) button.clicked.connect(clicked1)
def clicked1(): button2=QPushButton(self)
model.insertRow(0,[QStandardItem(''),QStandardItem('')]) button2.setText(_TR('删除选中行'))
button.clicked.connect(clicked1) def clicked2():
button2=QPushButton(self)
button2.setText(_TR('删除选中行')) model.removeRow(table.currentIndex().row())
def clicked2(): button2.clicked.connect(clicked2)
self.button=button
model.removeRow(table.currentIndex().row()) self.model=model
button2.clicked.connect(clicked2) self.key=key
self.button=button self.configdict=configdict
self.model=model self.closeevent=True
self.key=key formLayout.addWidget(table)
self.configdict=configdict formLayout.addWidget(button)
self.closeevent=True formLayout.addWidget(button2)
formLayout.addWidget(table) self.resize(QSize(600,400))
formLayout.addWidget(button)
formLayout.addWidget(button2)
self.resize(QSize(600,400))
self.show() self.show()
def postconfigdialog(parent,configdict,title): def postconfigdialog(parent,configdict,title):

View File

@ -494,7 +494,7 @@ class hookselect(closeashidewindow):
self.textOutput = QPlainTextEdit() self.textOutput = QPlainTextEdit()
self.textOutput.setUndoRedoEnabled(False) self.textOutput.setUndoRedoEnabled(False)
self.textOutput.setReadOnly(True) self.textOutput.setReadOnly(globalconfig['textboxreadonly'])
self.sysOutput = QPlainTextEdit() self.sysOutput = QPlainTextEdit()

View File

@ -8,7 +8,7 @@ from gui.pretransfile import sqlite2json
from myutils.config import globalconfig ,_TR,_TRL,static_data from myutils.config import globalconfig ,_TR,_TRL,static_data
from myutils.utils import selectdebugfile,splittranslatortypes,checkportavailable from myutils.utils import selectdebugfile,splittranslatortypes,checkportavailable
import os ,time,requests,threading 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 from gui.usefulwidget import getspinbox,getcolorbutton,getsimpleswitch,selectcolor
import time,hashlib import time,hashlib
def hashtext(a): def hashtext(a):
@ -33,19 +33,7 @@ def initsome11(self,l,label=None):
if fanyi in translatorsetting : if fanyi in translatorsetting :
items=[] items=autoinitdialog_items(translatorsetting[fanyi])
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' })
last=getcolorbutton(globalconfig,'',callback=functools.partial(autoinitdialog,self, (globalconfig['fanyi'][fanyi]['name']),800,items),icon='fa.gear',constcolor="#FF69B4") last=getcolorbutton(globalconfig,'',callback=functools.partial(autoinitdialog,self, (globalconfig['fanyi'][fanyi]['name']),800,items),icon='fa.gear',constcolor="#FF69B4")
elif fanyi=='selfbuild': elif fanyi=='selfbuild':
last=getcolorbutton(globalconfig,'',callback=lambda:selectdebugfile('./userconfig/selfbuild.py' ),icon='fa.gear',constcolor="#FF69B4") last=getcolorbutton(globalconfig,'',callback=lambda:selectdebugfile('./userconfig/selfbuild.py' ),icon='fa.gear',constcolor="#FF69B4")

View File

@ -9,7 +9,7 @@ from myutils.config import globalconfig ,postprocessconfig,noundictconfig,transe
import functools ,gobject import functools ,gobject
from gui.usefulwidget import getcolorbutton,getsimpleswitch from gui.usefulwidget import getcolorbutton,getsimpleswitch
from gui.codeacceptdialog import codeacceptdialog 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.utils import selectdebugfile
from myutils.wrapper import Singleton from myutils.wrapper import Singleton
from myutils.config import savehook_new_list,savehook_new_data from myutils.config import savehook_new_list,savehook_new_data
@ -105,8 +105,12 @@ def setTab7_lazy(self) :
if post=='_remove_chaos': if post=='_remove_chaos':
config=(getcolorbutton(globalconfig,'',icon='fa.gear',constcolor="#FF69B4",callback=lambda:codeacceptdialog(self))) config=(getcolorbutton(globalconfig,'',icon='fa.gear',constcolor="#FF69B4",callback=lambda:codeacceptdialog(self)))
elif 'args' in postprocessconfig[post]: elif 'args' in postprocessconfig[post]:
if isinstance(list(postprocessconfig[post]['args'].values())[0],dict):
config=(getcolorbutton(globalconfig,'',callback= functools.partial( postconfigdialog,self,postprocessconfig[post]['args'],postprocessconfig[post]['name']),icon='fa.gear',constcolor="#FF69B4")) 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: else:
config=('') config=('')

View File

@ -1,7 +1,7 @@
import functools ,os import functools ,os
from myutils.config import globalconfig ,ocrsetting,_TRL,ocrerrorfix from myutils.config import globalconfig ,ocrsetting,_TRL,ocrerrorfix
from gui.usefulwidget import getsimplecombobox,getspinbox,getcolorbutton,yuitsu_switch,getsimpleswitch,selectcolor 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 import gobject
def getocrgrid(self) : def getocrgrid(self) :
@ -18,19 +18,7 @@ def getocrgrid(self) :
if os.path.exists(_f)==False: if os.path.exists(_f)==False:
continue continue
if name in ocrsetting: if name in ocrsetting:
items=[] items=autoinitdialog_items(ocrsetting[name])
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' })
_3=getcolorbutton(globalconfig,'',callback=functools.partial(autoinitdialog,self,globalconfig['ocr'][name]['name'],800,items),icon='fa.gear',constcolor="#FF69B4") _3=getcolorbutton(globalconfig,'',callback=functools.partial(autoinitdialog,self,globalconfig['ocr'][name]['name'],800,items),icon='fa.gear',constcolor="#FF69B4")
else: else:

View File

@ -164,7 +164,7 @@ def setTabThree_lazy(self) :
[('任务栏中显示',6),getsimpleswitch(globalconfig,'showintab' ,callback=__changeshowintab)], [('任务栏中显示',6),getsimpleswitch(globalconfig,'showintab' ,callback=__changeshowintab)],
[('子窗口任务栏中显示',6),getsimpleswitch(globalconfig,'showintab_sub')], [('子窗口任务栏中显示',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'] alleffect=['','Bicubic','Bilinear','Jinc','Lanczos','Nearest','SSimDownscaler']
downsname=magpie10_config.get('downscalingEffect',{'name':''}).get('name') downsname=magpie10_config.get('downscalingEffect',{'name':''}).get('name')

View File

@ -6,6 +6,7 @@ import importlib,gobject
from myutils.utils import getfilemd5 from myutils.utils import getfilemd5
from myutils.config import postprocessconfig,globalconfig ,savehook_new_data,static_data from myutils.config import postprocessconfig,globalconfig ,savehook_new_data,static_data
def _2_f(line,args): def _2_f(line,args):
keepnodump=args['保持非重复字符']
times=args['重复次数(若为1则自动分析去重)'] times=args['重复次数(若为1则自动分析去重)']
if times>=2: if times>=2:
@ -27,9 +28,21 @@ def _2_f(line,args):
guesstimes=sorted(x.keys(),key= lambda x1:x[x1])[-1] guesstimes=sorted(x.keys(),key= lambda x1:x[x1])[-1]
else: else:
guesstimes=1 guesstimes=1
if keepnodump:
newline=[line[i*guesstimes] for i in range(len(line)//guesstimes)] newline=''
line=''.join(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 return line
def _3_f(line,args): def _3_f(line,args):
times=args['重复次数(若为1则自动分析去重)'] times=args['重复次数(若为1则自动分析去重)']

View File

@ -96,6 +96,7 @@
500, 500,
500 500
], ],
"textboxreadonly":true,
"ocr_stable_sim": 0, "ocr_stable_sim": 0,
"ocr_diff_sim": 0.95, "ocr_diff_sim": 0.95,
"autorun": true, "autorun": true,

View File

@ -28,7 +28,19 @@
"use": false, "use": false,
"name": "去除重复字符_AAAABBBBCCCC->ABC", "name": "去除重复字符_AAAABBBBCCCC->ABC",
"args": { "args": {
"重复次数(若为1则自动分析去重)": 1 "重复次数(若为1则自动分析去重)": 1,
"保持非重复字符":true
},
"argstype":{
"保持非重复字符": {
"type": "switch"
},
"重复次数(若为1则自动分析去重)": {
"type": "intspin",
"min": 0,
"max": 10000,
"step": 1
}
} }
}, },
"_3": { "_3": {
@ -36,6 +48,14 @@
"name": "去除重复行_ABCDABCDABCD->ABCD", "name": "去除重复行_ABCDABCDABCD->ABCD",
"args": { "args": {
"重复次数(若为1则自动分析去重)": 1 "重复次数(若为1则自动分析去重)": 1
},
"argstype":{
"重复次数(若为1则自动分析去重)": {
"type": "intspin",
"min": 0,
"max": 10000,
"step": 1
}
} }
},"_3_2": { },"_3_2": {
"use": false, "use": false,

View File

@ -705,5 +705,7 @@
"外部缩放软件": "برامج التكبير الخارجي", "外部缩放软件": "برامج التكبير الخارجي",
"Hook Magpie进程使其不会退出缩放": "هوك ماجي العملية بحيث لا تخرج من التكبير", "Hook Magpie进程使其不会退出缩放": "هوك ماجي العملية بحيث لا تخرج من التكبير",
"Hook LosslessScaling进程使其不会退出缩放": "هوك looslessscaling العملية بحيث لا تخرج من التكبير", "Hook LosslessScaling进程使其不会退出缩放": "هوك looslessscaling العملية بحيث لا تخرج من التكبير",
"正在使用日语模型作为代替,可能效果不佳": "استخدام النموذج الياباني بدلا من ذلك ، قد لا تعمل بشكل جيد" "正在使用日语模型作为代替,可能效果不佳": "استخدام النموذج الياباني بدلا من ذلك ، قد لا تعمل بشكل جيد",
"保持非重复字符": "الحفاظ على الطابع غير المتكرر",
"选择文本窗口中文本框只读": "حدد مربع النص للقراءة فقط في نافذة النص"
} }

View File

@ -705,5 +705,7 @@
"外部缩放软件": "外部縮放軟件", "外部缩放软件": "外部縮放軟件",
"Hook Magpie进程使其不会退出缩放": "Hook Magpie行程使其不會退出縮放", "Hook Magpie进程使其不会退出缩放": "Hook Magpie行程使其不會退出縮放",
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling行程使其不會退出縮放", "Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling行程使其不會退出縮放",
"正在使用日语模型作为代替,可能效果不佳": "正在使用日語模型作為代替,可能效果不佳" "正在使用日语模型作为代替,可能效果不佳": "正在使用日語模型作為代替,可能效果不佳",
"保持非重复字符": "保持非重複字元",
"选择文本窗口中文本框只读": "選擇文字視窗中文字方塊只讀"
} }

View File

@ -705,5 +705,7 @@
"外部缩放软件": "External scaling software", "外部缩放软件": "External scaling software",
"Hook Magpie进程使其不会退出缩放": "Hook Magpie process prevents it from exiting scaling", "Hook Magpie进程使其不会退出缩放": "Hook Magpie process prevents it from exiting scaling",
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling 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"
} }

View File

@ -705,5 +705,7 @@
"外部缩放软件": "Software de zoom externo", "外部缩放软件": "Software de zoom externo",
"Hook Magpie进程使其不会退出缩放": "El proceso Hook magpie hace que no salga del zoom", "Hook Magpie进程使其不会退出缩放": "El proceso Hook magpie hace que no salga del zoom",
"Hook LosslessScaling进程使其不会退出缩放": "El proceso Hook losslessscaling 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"
} }

View File

@ -705,5 +705,7 @@
"外部缩放软件": "Logiciel de zoom externe", "外部缩放软件": "Logiciel de zoom externe",
"Hook Magpie进程使其不会退出缩放": "Le processus Hook Magpie ne quitte pas le zoom", "Hook Magpie进程使其不会退出缩放": "Le processus Hook Magpie ne quitte pas le zoom",
"Hook LosslessScaling进程使其不会退出缩放": "Hook losslesscaling processus pour ne pas quitter 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"
} }

View File

@ -705,5 +705,7 @@
"外部缩放软件": "Software di ridimensionamento esterno", "外部缩放软件": "Software di ridimensionamento esterno",
"Hook Magpie进程使其不会退出缩放": "Il processo Hook Magpie impedisce di uscire dalla scala", "Hook Magpie进程使其不会退出缩放": "Il processo Hook Magpie impedisce di uscire dalla scala",
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling processo impedisce di uscire dalla scalabilità", "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"
} }

View File

@ -705,5 +705,7 @@
"外部缩放软件": "外部ズームソフトウェア", "外部缩放软件": "外部ズームソフトウェア",
"Hook Magpie进程使其不会退出缩放": "Hook Magpieプロセスはスケールを終了しないようにする", "Hook Magpie进程使其不会退出缩放": "Hook Magpieプロセスはスケールを終了しないようにする",
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScalingプロセスはスケーリングを終了しないようにする", "Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScalingプロセスはスケーリングを終了しないようにする",
"正在使用日语模型作为代替,可能效果不佳": "代替として日本語モデルを使用していますが、効果が低いかもしれません" "正在使用日语模型作为代替,可能效果不佳": "代替として日本語モデルを使用していますが、効果が低いかもしれません",
"保持非重复字符": "非反復文字の維持",
"选择文本窗口中文本框只读": "テキストウィンドウのテキストボックス読み取り専用を選択"
} }

View File

@ -705,5 +705,7 @@
"外部缩放软件": "외부 확대 / 축소 소프트웨어", "外部缩放软件": "외부 확대 / 축소 소프트웨어",
"Hook Magpie进程使其不会退出缩放": "Hook Magpie 프로세스로 인해 줌이 종료되지 않습니다.", "Hook Magpie进程使其不会退出缩放": "Hook Magpie 프로세스로 인해 줌이 종료되지 않습니다.",
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling 프로세스로 인해 줌이 종료되지 않습니다.", "Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling 프로세스로 인해 줌이 종료되지 않습니다.",
"正在使用日语模型作为代替,可能效果不佳": "일본어 모델을 대체하는 중입니다. 효과가 없을 수 있습니다" "正在使用日语模型作为代替,可能效果不佳": "일본어 모델을 대체하는 중입니다. 효과가 없을 수 있습니다",
"保持非重复字符": "비반복 문자 유지",
"选择文本窗口中文本框只读": "텍스트 선택 창의 텍스트 상자 읽기 전용"
} }

View File

@ -705,5 +705,7 @@
"外部缩放软件": "Oprogramowanie do skalowania zewnętrznego", "外部缩放软件": "Oprogramowanie do skalowania zewnętrznego",
"Hook Magpie进程使其不会退出缩放": "Proces Hook Magpie zapobiega zakończeniu skalowania", "Hook Magpie进程使其不会退出缩放": "Proces Hook Magpie zapobiega zakończeniu skalowania",
"Hook LosslessScaling进程使其不会退出缩放": "Proces Hook Losslessless Scaling 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"
} }

View File

@ -705,5 +705,7 @@
"外部缩放软件": "Программное обеспечение для внешнего масштабирования", "外部缩放软件": "Программное обеспечение для внешнего масштабирования",
"Hook Magpie进程使其不会退出缩放": "Процесс Hook Magpie не выводит из масштабирования", "Hook Magpie进程使其不会退出缩放": "Процесс Hook Magpie не выводит из масштабирования",
"Hook LosslessScaling进程使其不会退出缩放": "Процесс Hook LosslessScaling не выводит из масштабирования", "Hook LosslessScaling进程使其不会退出缩放": "Процесс Hook LosslessScaling не выводит из масштабирования",
"正在使用日语模型作为代替,可能效果不佳": "В качестве замены используется японская модель, которая может быть неэффективной" "正在使用日语模型作为代替,可能效果不佳": "В качестве замены используется японская модель, которая может быть неэффективной",
"保持非重复字符": "Сохранить символ без повторения",
"选择文本窗口中文本框只读": "Выберите текстовое окно только для чтения"
} }

View File

@ -705,5 +705,7 @@
"外部缩放软件": "ซอฟต์แวร์ซูมภายนอก", "外部缩放软件": "ซอฟต์แวร์ซูมภายนอก",
"Hook Magpie进程使其不会退出缩放": "กระบวนการ Hook Magpie ทำให้ไม่ออกจากการซูม", "Hook Magpie进程使其不会退出缩放": "กระบวนการ Hook Magpie ทำให้ไม่ออกจากการซูม",
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling กระบวนการทำให้มันไม่ออกจากซูม", "Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling กระบวนการทำให้มันไม่ออกจากซูม",
"正在使用日语模型作为代替,可能效果不佳": "ใช้แบบจำลองภาษาญี่ปุ่นแทนอาจไม่ได้ผล" "正在使用日语模型作为代替,可能效果不佳": "ใช้แบบจำลองภาษาญี่ปุ่นแทนอาจไม่ได้ผล",
"保持非重复字符": "เก็บอักขระที่ไม่ซ้ำกัน",
"选择文本窗口中文本框只读": "เลือกกล่องข้อความในหน้าต่างข้อความ อ่านอย่างเดียว"
} }

View File

@ -705,5 +705,7 @@
"外部缩放软件": "Dışarı skalama yazılımı", "外部缩放软件": "Dışarı skalama yazılımı",
"Hook Magpie进程使其不会退出缩放": "Hook Magpie süreci ölçeklenmesini engelledi", "Hook Magpie进程使其不会退出缩放": "Hook Magpie süreci ölçeklenmesini engelledi",
"Hook LosslessScaling进程使其不会退出缩放": "Hook LosslessScaling süreç ö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"
} }

View File

@ -705,5 +705,7 @@
"外部缩放软件": "Зовнішнє програмне забезпечення масштабу", "外部缩放软件": "Зовнішнє програмне забезпечення масштабу",
"Hook Magpie进程使其不会退出缩放": "Процес Hook Magpie забороняє їй вийти з масштабу", "Hook Magpie进程使其不会退出缩放": "Процес Hook Magpie забороняє їй вийти з масштабу",
"Hook LosslessScaling进程使其不会退出缩放": "Процес безвтратного розміруScaling забороняє їй вийти з розміру", "Hook LosslessScaling进程使其不会退出缩放": "Процес безвтратного розміруScaling забороняє їй вийти з розміру",
"正在使用日语模型作为代替,可能效果不佳": "Використання японських моделей як заміни може бути неефективним" "正在使用日语模型作为代替,可能效果不佳": "Використання японських моделей як заміни може бути неефективним",
"保持非重复字符": "Зберегти символи, які не повторюються",
"选择文本窗口中文本框只读": "Виберіть текстові поля для лише читання у текстовому вікні"
} }

View File

@ -705,5 +705,7 @@
"外部缩放软件": "Phần mềm Zoom ngoài", "外部缩放软件": "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 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", "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"
} }

View File

@ -705,5 +705,7 @@
"外部缩放软件": "", "外部缩放软件": "",
"Hook Magpie进程使其不会退出缩放": "", "Hook Magpie进程使其不会退出缩放": "",
"Hook LosslessScaling进程使其不会退出缩放": "", "Hook LosslessScaling进程使其不会退出缩放": "",
"正在使用日语模型作为代替,可能效果不佳": "" "正在使用日语模型作为代替,可能效果不佳": "",
"保持非重复字符": "",
"选择文本窗口中文本框只读": ""
} }