mirror of
https://github.com/HIllya51/LunaTranslator.git
synced 2024-12-29 00:24:13 +08:00
srclang auto switch && custom command
This commit is contained in:
parent
4cb27e46e5
commit
c54325d7ba
@ -528,6 +528,11 @@ class MAINUI() :
|
||||
self.textsource=texthook(pids,hwnd,name_ ,autostarthookcode=savehook_new_data[name_]['hook'],needinserthookcode=needinserthookcode)
|
||||
elif len(pids)==1 and globalconfig['sourcestatus2']['fridahook']['use'] and savehook_new_data[name_]['fridahook']['loadmethod']==0:
|
||||
self.textsource=fridahook(0,savehook_new_data[name_]['fridahook']['js'],name_,pids[0],hwnd)
|
||||
|
||||
|
||||
onloadautoswitchsrclang=savehook_new_data[name_]['onloadautoswitchsrclang']
|
||||
if onloadautoswitchsrclang>0:
|
||||
self.settin_ui.srclangswitcher.setCurrentIndex(onloadautoswitchsrclang-1)
|
||||
break
|
||||
|
||||
else:
|
||||
|
@ -478,13 +478,6 @@ class dialog_setting_game(QDialog):
|
||||
|
||||
b=windows.GetBinaryType(exepath)
|
||||
|
||||
if type==2:
|
||||
formLayout.addLayout(getboxlayout([
|
||||
QLabel(_TR("转区启动")),
|
||||
getsimpleswitch(savehook_new_data[exepath],'leuse')
|
||||
]))
|
||||
|
||||
|
||||
if b==6:
|
||||
_methods=['','Locale_Remulator','Ntleas' ]
|
||||
else:
|
||||
@ -492,15 +485,31 @@ class dialog_setting_game(QDialog):
|
||||
if b==6 and savehook_new_data[exepath]['localeswitcher']==0:
|
||||
savehook_new_data[exepath]['localeswitcher']=2
|
||||
formLayout.addLayout(getboxlayout([
|
||||
QLabel(_TR("转区方法")),getsimplecombobox(_TRL(_methods),savehook_new_data[exepath],'localeswitcher')
|
||||
]))
|
||||
QLabel(_TR("转区启动")),
|
||||
getsimpleswitch(savehook_new_data[exepath],'leuse'),
|
||||
QLabel(_TR("转区方法")),
|
||||
getsimplecombobox(_TRL(_methods),savehook_new_data[exepath],'localeswitcher')
|
||||
][(type!=2)*2:]))
|
||||
|
||||
editcmd=QLineEdit(savehook_new_data[exepath]['startcmd'])
|
||||
editcmd.textEdited.connect(lambda _:savehook_new_data[exepath].__setitem__('startcmd',_))
|
||||
|
||||
formLayout.addLayout(getboxlayout([
|
||||
QLabel(_TR("命令行启动")),
|
||||
getsimpleswitch(savehook_new_data[exepath],'startcmduse'),
|
||||
editcmd
|
||||
]))
|
||||
|
||||
formLayout.addLayout(getboxlayout([
|
||||
QLabel(_TR("自动切换到模式")),
|
||||
getsimplecombobox(_TRL(['不切换','HOOK','剪贴板','OCR','FridaHook']),savehook_new_data[exepath],'onloadautochangemode2')
|
||||
]))
|
||||
|
||||
formLayout.addLayout(getboxlayout([
|
||||
QLabel(_TR("自动切换源语言")),
|
||||
getsimplecombobox(_TRL(['不切换'])+_TRL(static_data['language_list_translator']),savehook_new_data[exepath],'onloadautoswitchsrclang')
|
||||
]))
|
||||
|
||||
|
||||
methodtab=QTabWidget()
|
||||
methodtab.addTab(self.gethooktab(exepath),"HOOK")
|
||||
@ -655,9 +664,7 @@ def startgame(game):
|
||||
try:
|
||||
if os.path.exists(game):
|
||||
mode=savehook_new_data[game]['onloadautochangemode2']
|
||||
if mode==0:
|
||||
pass
|
||||
else:
|
||||
if mode>0:
|
||||
_={
|
||||
1:'texthook',
|
||||
2:'copy',
|
||||
@ -672,14 +679,20 @@ def startgame(game):
|
||||
if globalconfig['sourcestatus2']['fridahook']['use'] and savehook_new_data[game]['fridahook'].get('loadmethod')==1:
|
||||
gobject.baseobject.textsource=fridahook(1,savehook_new_data[game]['fridahook'].get('js'),game)
|
||||
return
|
||||
|
||||
dirpath=os.path.dirname(game)
|
||||
|
||||
if savehook_new_data[game]['startcmduse']:
|
||||
usearg=savehook_new_data[game]['startcmd'].format(exepath=game)
|
||||
windows.CreateProcess(None,usearg, None,None,False,0,None, dirpath, windows.STARTUPINFO() )
|
||||
return
|
||||
if savehook_new_data[game]['leuse']==False or (game.lower()[-4:] not in ['.lnk','.exe']):
|
||||
#对于其他文件,需要AssocQueryStringW获取命令行才能正确le,太麻烦,放弃。
|
||||
windows.ShellExecute(None, "open", game, "", os.path.dirname(game), windows.SW_SHOW)
|
||||
windows.ShellExecute(None, "open", game, "", dirpath, windows.SW_SHOW)
|
||||
return
|
||||
|
||||
execheck3264=game
|
||||
usearg='"{}"'.format(game)
|
||||
dirpath=os.path.dirname(game)
|
||||
if game.lower()[-4:]=='.lnk':
|
||||
exepath,args,iconpath,dirp=(winsharedutils.GetLnkTargetPath(game))
|
||||
|
||||
|
@ -15,7 +15,7 @@ from gui.settingpage_xianshishezhi import setTabThree ,setTabThree_direct
|
||||
from gui.settingpage_tts import setTab5 ,setTab5_direct
|
||||
from gui.settingpage_cishu import setTabcishu
|
||||
from gui.settingpage_quick import setTab_quick,setTab_quick_direct
|
||||
from gui.setting_lang import setTablang
|
||||
from gui.setting_lang import setTablang,setTablangd
|
||||
from gui.setting_proxy import setTab_proxy
|
||||
from gui.settingpage7 import setTab7 ,settab7direct
|
||||
from gui.settingpage_about import setTab_about,setTab_about_dicrect
|
||||
@ -111,7 +111,7 @@ class Settin(closeashidewindow) :
|
||||
setTabThree_direct(self)
|
||||
setTab5_direct(self)
|
||||
setTab_quick_direct(self)
|
||||
|
||||
setTablangd(self)
|
||||
setTab_about_dicrect(self)
|
||||
|
||||
self.setstylesheet()
|
||||
|
@ -4,11 +4,14 @@ from myutils.config import globalconfig ,_TR,_TRL ,static_data
|
||||
from gui.usefulwidget import getsimplecombobox,getcolorbutton
|
||||
def setTablang(self) :
|
||||
self.tabadd_lazy(self.tab_widget, ('语言设置'), lambda :setTablanglz(self))
|
||||
def setTablangd(self):
|
||||
self.srclangswitcher=getsimplecombobox(_TRL(static_data['language_list_translator']),globalconfig,'srclang3')
|
||||
|
||||
def setTablanglz(self) :
|
||||
grids=[
|
||||
[('翻译及OCR语言',15)],
|
||||
[
|
||||
("源语言",5),(getsimplecombobox(_TRL(static_data['language_list_translator'] ),globalconfig,'srclang3'),5),],
|
||||
("源语言",5),(self.srclangswitcher,5),],
|
||||
[
|
||||
("目标语言",5),(getsimplecombobox(_TRL(static_data['language_list_translator'] ),globalconfig,'tgtlang3'),5) ,
|
||||
],
|
||||
|
@ -50,6 +50,7 @@ def getdefaultsavehook(gamepath,title=None):
|
||||
default={
|
||||
'localeswitcher':0,
|
||||
'onloadautochangemode2':0,
|
||||
'onloadautoswitchsrclang':0,
|
||||
'needinserthookcode':[],
|
||||
'embedablehook':[],
|
||||
'imagepath':None,
|
||||
@ -59,6 +60,8 @@ def getdefaultsavehook(gamepath,title=None):
|
||||
'statistic_wordcount':0,
|
||||
'statistic_wordcount_nodump':0,
|
||||
'leuse':True,
|
||||
'startcmd':'"{exepath}"',
|
||||
'startcmduse':False,
|
||||
'hook':[],
|
||||
'inserthooktimeout':0,
|
||||
'needinserthookcode':[],
|
||||
|
@ -711,5 +711,7 @@
|
||||
"多重区域模式": "وضع منطقة متعددة",
|
||||
"记忆选定区域": "اختيار الذاكرة",
|
||||
"关闭": "غلق",
|
||||
"TGW语言模型": "TGW نموذج اللغة"
|
||||
"TGW语言模型": "TGW نموذج اللغة",
|
||||
"自动切换源语言": "التبديل التلقائي لغة المصدر",
|
||||
"命令行启动": "بدء تشغيل سطر الأوامر"
|
||||
}
|
@ -711,5 +711,7 @@
|
||||
"多重区域模式": "多重區域模式",
|
||||
"记忆选定区域": "記憶選定區域",
|
||||
"关闭": "關閉",
|
||||
"TGW语言模型": "TGW語言模型"
|
||||
"TGW语言模型": "TGW語言模型",
|
||||
"自动切换源语言": "自動切換源語言",
|
||||
"命令行启动": "命令列啟動"
|
||||
}
|
@ -711,5 +711,7 @@
|
||||
"多重区域模式": "Multi region mode",
|
||||
"记忆选定区域": "Memory selection area",
|
||||
"关闭": "close",
|
||||
"TGW语言模型": "TGW language model"
|
||||
"TGW语言模型": "TGW language model",
|
||||
"自动切换源语言": "Automatically switch source language",
|
||||
"命令行启动": "Command line startup"
|
||||
}
|
@ -711,5 +711,7 @@
|
||||
"多重区域模式": "Modelo multiregional",
|
||||
"记忆选定区域": "Área seleccionada de memoria",
|
||||
"关闭": "Cierre",
|
||||
"TGW语言模型": "Modelo lingüístico tgw"
|
||||
"TGW语言模型": "Modelo lingüístico tgw",
|
||||
"自动切换源语言": "Cambiar automáticamente el lenguaje fuente",
|
||||
"命令行启动": "Se inicia la línea de órdenes"
|
||||
}
|
@ -711,5 +711,7 @@
|
||||
"多重区域模式": "Mode Multi - zones",
|
||||
"记忆选定区域": "Mémoriser la zone sélectionnée",
|
||||
"关闭": "Fermé",
|
||||
"TGW语言模型": "Modèle de langage tgw"
|
||||
"TGW语言模型": "Modèle de langage tgw",
|
||||
"自动切换源语言": "Changement automatique de langue source",
|
||||
"命令行启动": "Démarrage de la ligne de commande"
|
||||
}
|
@ -711,5 +711,7 @@
|
||||
"多重区域模式": "Modalità multi regione",
|
||||
"记忆选定区域": "Area di selezione della memoria",
|
||||
"关闭": "chiudi",
|
||||
"TGW语言模型": "Modello linguistico TGW"
|
||||
"TGW语言模型": "Modello linguistico TGW",
|
||||
"自动切换源语言": "Cambia automaticamente la lingua sorgente",
|
||||
"命令行启动": "Avvio della riga di comando"
|
||||
}
|
@ -711,5 +711,7 @@
|
||||
"多重区域模式": "複数領域モード",
|
||||
"记忆选定区域": "メモリ選択領域",
|
||||
"关闭": "閉じる",
|
||||
"TGW语言模型": "TGW言語モデル"
|
||||
"TGW语言模型": "TGW言語モデル",
|
||||
"自动切换源语言": "ソース言語の自動切り替え",
|
||||
"命令行启动": "コマンドライン起動"
|
||||
}
|
@ -711,5 +711,7 @@
|
||||
"多重区域模式": "다중 영역 모드",
|
||||
"记忆选定区域": "선택한 영역 기억하기",
|
||||
"关闭": "닫기",
|
||||
"TGW语言模型": "TGW 언어 모델"
|
||||
"TGW语言模型": "TGW 언어 모델",
|
||||
"自动切换源语言": "소스 언어 자동 전환",
|
||||
"命令行启动": "명령줄 시작"
|
||||
}
|
@ -711,5 +711,7 @@
|
||||
"多重区域模式": "Tryb wielu regionów",
|
||||
"记忆选定区域": "Obszar wyboru pamięci",
|
||||
"关闭": "zamknij",
|
||||
"TGW语言模型": "Model językowy TGW"
|
||||
"TGW语言模型": "Model językowy TGW",
|
||||
"自动切换源语言": "Automatycznie przełączaj język źródłowy",
|
||||
"命令行启动": "Uruchamianie wiersza poleceń"
|
||||
}
|
@ -711,5 +711,7 @@
|
||||
"多重区域模式": "Многорегиональная модель",
|
||||
"记忆选定区域": "Запоминание выбранной области",
|
||||
"关闭": "Закрыть",
|
||||
"TGW语言模型": "Языковая модель TGW"
|
||||
"TGW语言模型": "Языковая модель TGW",
|
||||
"自动切换源语言": "Автоматическое переключение исходного языка",
|
||||
"命令行启动": "Запуск командной строки"
|
||||
}
|
@ -711,5 +711,7 @@
|
||||
"多重区域模式": "โหมดหลายโซน",
|
||||
"记忆选定区域": "หน่วยความจำพื้นที่ที่เลือก",
|
||||
"关闭": "ปิด",
|
||||
"TGW语言模型": "รูปแบบภาษา TGW"
|
||||
"TGW语言模型": "รูปแบบภาษา TGW",
|
||||
"自动切换源语言": "สลับภาษาต้นทางโดยอัตโนมัติ",
|
||||
"命令行启动": "เริ่มบรรทัดคำสั่ง"
|
||||
}
|
@ -711,5 +711,7 @@
|
||||
"多重区域模式": "Çok bölge modu",
|
||||
"记忆选定区域": "Hafıza seçim alanı",
|
||||
"关闭": "kapat",
|
||||
"TGW语言模型": "TGW dil modeli"
|
||||
"TGW语言模型": "TGW dil modeli",
|
||||
"自动切换源语言": "Avtomatik kaynak dilini değiştir",
|
||||
"命令行启动": "Komut satırı başlatma"
|
||||
}
|
@ -711,5 +711,7 @@
|
||||
"多重区域模式": "Режим декількох регіонів",
|
||||
"记忆选定区域": "Область вибору пам' яті",
|
||||
"关闭": "закрити",
|
||||
"TGW语言模型": "Модель мови TGW"
|
||||
"TGW语言模型": "Модель мови TGW",
|
||||
"自动切换源语言": "Автоматично перемикати мову джерела",
|
||||
"命令行启动": "Запуск командного рядка"
|
||||
}
|
@ -711,5 +711,7 @@
|
||||
"多重区域模式": "Chế độ đa vùng",
|
||||
"记忆选定区域": "Ghi nhớ vùng chọn",
|
||||
"关闭": "Đóng cửa",
|
||||
"TGW语言模型": "Mô hình ngôn ngữ TGW"
|
||||
"TGW语言模型": "Mô hình ngôn ngữ TGW",
|
||||
"自动切换源语言": "Tự động chuyển đổi ngôn ngữ nguồn",
|
||||
"命令行启动": "Chạy dòng lệnh"
|
||||
}
|
@ -711,5 +711,7 @@
|
||||
"多重区域模式": "",
|
||||
"记忆选定区域": "",
|
||||
"关闭": "",
|
||||
"TGW语言模型": ""
|
||||
"TGW语言模型": "",
|
||||
"自动切换源语言": "",
|
||||
"命令行启动": ""
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
import sys,time
|
||||
sys.path.append('./LunaTranslator')
|
||||
from translator.baiduapi import TS
|
||||
from translator.baidu import TS
|
||||
class TS1(TS):
|
||||
|
||||
@property
|
||||
|
@ -1,2 +1,3 @@
|
||||
cmake ../CMakeLists.txt -G "Visual Studio 17 2022" -A win32 -T host=x86 -B ../build/x86
|
||||
cmake --build ../build/x86 --config Release --target ALL_BUILD -j 14
|
||||
python copytarget.py 1
|
@ -1,2 +1,3 @@
|
||||
cmake ../CMakeLists.txt -G "Visual Studio 17 2022" -A x64 -T host=x64 -B ../build/x64
|
||||
cmake --build ../build/x64 --config Release --target ALL_BUILD -j 14
|
||||
python copytarget.py 0
|
11
plugins/scripts/copytarget.py
Normal file
11
plugins/scripts/copytarget.py
Normal file
@ -0,0 +1,11 @@
|
||||
import shutil,sys
|
||||
x86=int(sys.argv[1])
|
||||
if x86:
|
||||
shutil.copy('../builds/_x86/shareddllproxy32.exe','../../LunaTranslator/files/plugins')
|
||||
shutil.copy('../builds/_x86/winrtutils32.dll','../../LunaTranslator/files/plugins/DLL32')
|
||||
shutil.copy('../builds/_x86/winsharedutils32.dll','../../LunaTranslator/files/plugins/DLL32')
|
||||
else:
|
||||
shutil.copy('../builds/_x64/shareddllproxy64.exe','../../LunaTranslator/files/plugins')
|
||||
shutil.copy('../builds/_x64/hookmagpie.dll','../../LunaTranslator/files/plugins')
|
||||
shutil.copy('../builds/_x64/winrtutils64.dll','../../LunaTranslator/files/plugins/DLL64')
|
||||
shutil.copy('../builds/_x64/winsharedutils64.dll','../../LunaTranslator/files/plugins/DLL64')
|
Loading…
x
Reference in New Issue
Block a user