mirror of
https://github.com/HIllya51/LunaTranslator.git
synced 2024-12-29 00:24:13 +08:00
js
This commit is contained in:
parent
b52922542b
commit
52305c7f92
@ -9,7 +9,7 @@ from myutils.config import globalconfig ,_TR,_TRL
|
|||||||
from gui.dialog_savedgame import dialog_savedgame
|
from gui.dialog_savedgame import dialog_savedgame
|
||||||
import threading,gobject,requests,datetime,zipfile
|
import threading,gobject,requests,datetime,zipfile
|
||||||
from gui.inputdialog import autoinitdialog
|
from gui.inputdialog import autoinitdialog
|
||||||
from gui.usefulwidget import getsimplecombobox,getspinbox,getcolorbutton,yuitsu_switch,getsimpleswitch,Singleton
|
from gui.usefulwidget import getsimplecombobox,getspinbox,getcolorbutton,yuitsu_switch,getsimpleswitch,Singleton,getQMessageBox
|
||||||
from gui.codeacceptdialog import codeacceptdialog
|
from gui.codeacceptdialog import codeacceptdialog
|
||||||
from textsource.fridahook import fridahook
|
from textsource.fridahook import fridahook
|
||||||
from myutils.utils import loadfridascriptslist,checkifnewgame,makehtml
|
from myutils.utils import loadfridascriptslist,checkifnewgame,makehtml
|
||||||
@ -17,6 +17,8 @@ from myutils.proxy import getproxy
|
|||||||
def gethookgrid(self) :
|
def gethookgrid(self) :
|
||||||
|
|
||||||
grids=[
|
grids=[
|
||||||
|
[('获取最新提取器核心&错误反馈&游戏支持',8),(makehtml("https://github.com/HIllya51/LunaHook"),8,"link")],
|
||||||
|
[],
|
||||||
[('选择游戏',5),self.selectbutton,('',5)],
|
[('选择游戏',5),self.selectbutton,('',5)],
|
||||||
[('选择文本',5),self.selecthookbutton],
|
[('选择文本',5),self.selecthookbutton],
|
||||||
[],
|
[],
|
||||||
@ -31,8 +33,6 @@ def gethookgrid(self) :
|
|||||||
[],
|
[],
|
||||||
[('区分人名和文本',5),getsimpleswitch(globalconfig,'allow_set_text_name')],
|
[('区分人名和文本',5),getsimpleswitch(globalconfig,'allow_set_text_name')],
|
||||||
[('使用YAPI注入',5),getsimpleswitch(globalconfig,'use_yapi')],
|
[('使用YAPI注入',5),getsimpleswitch(globalconfig,'use_yapi')],
|
||||||
[],
|
|
||||||
[('获取最新提取器核心&错误反馈&游戏支持',8),(makehtml("https://github.com/HIllya51/LunaHook"),8,"link")]
|
|
||||||
]
|
]
|
||||||
|
|
||||||
return grids
|
return grids
|
||||||
@ -113,16 +113,15 @@ def getfridahookgrid(self) :
|
|||||||
grids=[
|
grids=[
|
||||||
|
|
||||||
[('FridaHook_路径',3),(getcolorbutton(globalconfig,'',callback=functools.partial(autoinitdialog,self, 'FridaHook_路径',800,_items),icon='fa.gear',constcolor="#FF69B4"))],
|
[('FridaHook_路径',3),(getcolorbutton(globalconfig,'',callback=functools.partial(autoinitdialog,self, 'FridaHook_路径',800,_items),icon='fa.gear',constcolor="#FF69B4"))],
|
||||||
|
[('下载',3),(makehtml("https://github.com/HIllya51/RESOURCES/releases/download/dictionary/FridaHook.zip",True),3,'link')],
|
||||||
|
[],
|
||||||
|
|
||||||
[('Scripts',3),(self.Scriptscombo,10)],
|
[('Scripts',3),(self.Scriptscombo,10)],
|
||||||
[],
|
|
||||||
[(attachbutton,3),(execbutton,3)] ,
|
[(attachbutton,3),(execbutton,3)] ,
|
||||||
[],
|
[],
|
||||||
[('show info',3),getsimpleswitch( globalconfig['fridahook'],'showinfo' ),],
|
|
||||||
[('show error',3),getsimpleswitch( globalconfig['fridahook'],'showerror' )],
|
|
||||||
[('autoupdate',3),getsimpleswitch( globalconfig['fridahook'],'autoupdate' )],
|
[('autoupdate',3),getsimpleswitch( globalconfig['fridahook'],'autoupdate' )],
|
||||||
[],
|
[],
|
||||||
[('资源下载',3),(makehtml("https://github.com/HIllya51/RESOURCES/releases/download/dictionary/FridaHook.zip",True),3,'link')],
|
|
||||||
|
|
||||||
[('latest scripts',3),(makehtml("https://github.com/0xDC00/scripts"),6,'link')],
|
[('latest scripts',3),(makehtml("https://github.com/0xDC00/scripts"),6,'link')],
|
||||||
[('capable emulator',3),(makehtml("https://github.com/koukdw/emulators/releases"),6,"link")]
|
[('capable emulator',3),(makehtml("https://github.com/koukdw/emulators/releases"),6,"link")]
|
||||||
@ -256,18 +255,58 @@ def setTabOne_direct(self) :
|
|||||||
def setTabOne(self) :
|
def setTabOne(self) :
|
||||||
self.tabadd_lazy(self.tab_widget, ('文本输入'), lambda :setTabOne_lazy(self))
|
self.tabadd_lazy(self.tab_widget, ('文本输入'), lambda :setTabOne_lazy(self))
|
||||||
|
|
||||||
|
def jspatchgrid(self) :
|
||||||
|
|
||||||
|
|
||||||
|
execbutton=QPushButton('Select RPGMakeMV/TyranoScript exe')
|
||||||
|
def findindexhtml(exe):
|
||||||
|
for f in os.walk(os.path.dirname(exe)):
|
||||||
|
director,_,fs=f
|
||||||
|
for _f in fs:
|
||||||
|
if _f=='index.html':
|
||||||
|
return os.path.join(director,_f)
|
||||||
|
return None
|
||||||
|
|
||||||
|
def execclicked():
|
||||||
|
|
||||||
|
f=QFileDialog.getOpenFileName(filter='*.exe')
|
||||||
|
pname=f[0]
|
||||||
|
if pname!='':
|
||||||
|
index=findindexhtml(pname)
|
||||||
|
if index:
|
||||||
|
with open(index,'r',encoding='utf8') as ff:
|
||||||
|
html=ff.read()
|
||||||
|
if 'lunajspatch.js' not in html:
|
||||||
|
html=html.replace('</body>','<script type="text/javascript" src="./lunajspatch.js"></script></body>')
|
||||||
|
with open(index,'w',encoding='utf8') as ff:
|
||||||
|
ff.write(html)
|
||||||
|
with open('./files/lunajspatch.js','rb') as ff:
|
||||||
|
with open(os.path.join(os.path.dirname(index),'lunajspatch.js'),'wb') as fw:
|
||||||
|
fw.write(ff.read())
|
||||||
|
getQMessageBox(self,'',_TR("success!"))
|
||||||
|
else:
|
||||||
|
getQMessageBox(self,_TR("错误"),_TR("can't find index.html!"))
|
||||||
|
execbutton.clicked.connect(execclicked)
|
||||||
|
|
||||||
|
grids=[
|
||||||
|
[],
|
||||||
|
[(execbutton,10)] ,
|
||||||
|
]
|
||||||
|
|
||||||
|
return grids
|
||||||
|
|
||||||
def setTabOne_lazy(self) :
|
def setTabOne_lazy(self) :
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
tab=self.makesubtab_lazy(['HOOK设置','OCR设置','剪贴板','内嵌翻译','FridaScripts'],
|
tab=self.makesubtab_lazy(['HOOK设置','OCR设置','剪贴板','内嵌翻译','FridaScripts','JS Patch'],
|
||||||
[
|
[
|
||||||
lambda:self.makescroll(self.makegrid(gethookgrid(self))),
|
lambda:self.makescroll(self.makegrid(gethookgrid(self))),
|
||||||
lambda:self.makescroll(self.makegrid(getocrgrid(self))),
|
lambda:self.makescroll(self.makegrid(getocrgrid(self))),
|
||||||
lambda:self.makescroll(self.makegrid(setTabclip(self))),
|
lambda:self.makescroll(self.makegrid(setTabclip(self))),
|
||||||
lambda:self.makescroll(self.makegrid(gethookembedgrid(self) )),
|
lambda:self.makescroll(self.makegrid(gethookembedgrid(self) )),
|
||||||
lambda:self.makescroll(self.makegrid(getfridahookgrid(self) )),
|
lambda:self.makescroll(self.makegrid(getfridahookgrid(self) )),
|
||||||
|
lambda:self.makescroll(self.makegrid(jspatchgrid(self) )),
|
||||||
])
|
])
|
||||||
|
|
||||||
gridlayoutwidget=self.makegrid(self.tab1grids )
|
gridlayoutwidget=self.makegrid(self.tab1grids )
|
||||||
|
@ -54,10 +54,6 @@ def buildfridaclass(copycallback,pexe):
|
|||||||
with open(e,i) as ff:
|
with open(e,i) as ff:
|
||||||
ff.write(t)
|
ff.write(t)
|
||||||
def log_handler(self,e,t):
|
def log_handler(self,e,t):
|
||||||
if e=='error' and globalconfig['fridahook']['showerror']:
|
|
||||||
gobject.baseobject.textgetmethod('<msg_error_not_refresh>'+str(e)+' '+str(t))
|
|
||||||
elif e=='info' and globalconfig['fridahook']['showinfo']:
|
|
||||||
gobject.baseobject.textgetmethod('<msg_info_not_refresh>'+str(e)+' '+str(t))
|
|
||||||
gprint(e,t)
|
gprint(e,t)
|
||||||
pass
|
pass
|
||||||
def cmd_copy(self,payload):
|
def cmd_copy(self,payload):
|
||||||
|
@ -704,8 +704,6 @@
|
|||||||
"ocrmergelines": true,
|
"ocrmergelines": true,
|
||||||
"fridahook":{
|
"fridahook":{
|
||||||
"path":"",
|
"path":"",
|
||||||
"showinfo":false,
|
|
||||||
"showerror":false,
|
|
||||||
"autoupdate":true
|
"autoupdate":true
|
||||||
},
|
},
|
||||||
"ocr": {
|
"ocr": {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version":"v2.38.5",
|
"version":"v2.39.0",
|
||||||
"language_list_show":["简体中文","日本語","English","Русский язык","Español","한국어","Français","繁體中文","Tiếng Việt","Türkçe","Polski","Українська Мова","Italiano","اللغة العربية","ภาษาไทย"] ,
|
"language_list_show":["简体中文","日本語","English","Русский язык","Español","한국어","Français","繁體中文","Tiếng Việt","Türkçe","Polski","Українська Мова","Italiano","اللغة العربية","ภาษาไทย"] ,
|
||||||
"language_list_translator":["简体中文","日文","英文","俄语","西班牙语","韩语","法语","繁体中文","越南语","土耳其语","波兰语","乌克兰语","意大利语","阿拉伯语","泰语"],
|
"language_list_translator":["简体中文","日文","英文","俄语","西班牙语","韩语","法语","繁体中文","越南语","土耳其语","波兰语","乌克兰语","意大利语","阿拉伯语","泰语"],
|
||||||
"language_list_translator_inner":["zh", "ja", "en","ru","es","ko","fr","cht","vi","tr","pl","uk","it","ar","th"],
|
"language_list_translator_inner":["zh", "ja", "en","ru","es","ko","fr","cht","vi","tr","pl","uk","it","ar","th"],
|
||||||
|
42
LunaTranslator/files/lunajspatch.js
Normal file
42
LunaTranslator/files/lunajspatch.js
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
|
||||||
|
|
||||||
|
function NWjshook(){
|
||||||
|
function NWjssend(s) {
|
||||||
|
const _clipboard = require('nw.gui').Clipboard.get();
|
||||||
|
_clipboard.set(s, 'text');
|
||||||
|
return _clipboard.get('text')
|
||||||
|
}
|
||||||
|
|
||||||
|
Window_Message.prototype.originstartMessage=Window_Message.prototype.startMessage;
|
||||||
|
Window_Message.prototype.startMessage = function()
|
||||||
|
{
|
||||||
|
gametext = $gameMessage.allText();
|
||||||
|
resp=NWjssend(gametext);
|
||||||
|
$gameMessage._texts=[resp]
|
||||||
|
this.originstartMessage();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function Electronhook() {
|
||||||
|
|
||||||
|
function Electronsend(s) {
|
||||||
|
const { clipboard } = require('electron');
|
||||||
|
clipboard.writeText(s);
|
||||||
|
return clipboard.readText();
|
||||||
|
}
|
||||||
|
const _text_showMessage = tyrano.plugin.kag.tag.text.showMessage;
|
||||||
|
tyrano.plugin.kag.tag.text.showMessage = function () {
|
||||||
|
arguments[0]=Electronsend(arguments[0]);
|
||||||
|
return _text_showMessage.apply(this, arguments);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
setTimeout(()=>{
|
||||||
|
if(window.tyrano && tyrano.plugin){
|
||||||
|
Electronhook();
|
||||||
|
}
|
||||||
|
else if(window.Utils && Utils.RPGMAKER_NAME){
|
||||||
|
NWjshook();
|
||||||
|
}
|
||||||
|
},5000);
|
Loading…
x
Reference in New Issue
Block a user