mirror of
https://github.com/HIllya51/LunaTranslator.git
synced 2024-12-29 16:44:13 +08:00
darklight
This commit is contained in:
parent
9926236cf4
commit
62522ce915
@ -566,7 +566,7 @@ class MAINUI() :
|
|||||||
except:
|
except:
|
||||||
print_exc()
|
print_exc()
|
||||||
def mainuiloadafter(self):
|
def mainuiloadafter(self):
|
||||||
self.transhis=gui.transhist.transhist(self.translation_ui)
|
|
||||||
gobject.overridestdio()
|
gobject.overridestdio()
|
||||||
|
|
||||||
self.loadvnrshareddict()
|
self.loadvnrshareddict()
|
||||||
@ -575,11 +575,12 @@ class MAINUI() :
|
|||||||
self.starthira()
|
self.starthira()
|
||||||
|
|
||||||
self.settin_ui = Settin(self.translation_ui)
|
self.settin_ui = Settin(self.translation_ui)
|
||||||
|
self.transhis=gui.transhist.transhist(self.settin_ui)
|
||||||
gobject.baseobject.Prompt=Prompt()
|
gobject.baseobject.Prompt=Prompt()
|
||||||
self.startreader()
|
self.startreader()
|
||||||
|
|
||||||
self.edittextui=gui.edittext.edittext(self.translation_ui)
|
self.edittextui=gui.edittext.edittext(self.settin_ui)
|
||||||
self.searchwordW=searchwordW(self.translation_ui)
|
self.searchwordW=searchwordW(self.settin_ui)
|
||||||
self.hookselectdialog=gui.selecthook.hookselect(self.settin_ui)
|
self.hookselectdialog=gui.selecthook.hookselect(self.settin_ui)
|
||||||
self.showocrimage=showocrimage(self.settin_ui)
|
self.showocrimage=showocrimage(self.settin_ui)
|
||||||
self.AttachProcessDialog=AttachProcessDialog(self.settin_ui,self.selectprocess,self.hookselectdialog)
|
self.AttachProcessDialog=AttachProcessDialog(self.settin_ui,self.selectprocess,self.hookselectdialog)
|
||||||
|
79
LunaTranslator/LunaTranslator/darkdetect.py
Normal file
79
LunaTranslator/LunaTranslator/darkdetect.py
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
from winreg import HKEY_CURRENT_USER as hkey, QueryValueEx as getSubkeyValue, OpenKey as getKey
|
||||||
|
|
||||||
|
import ctypes
|
||||||
|
import ctypes.wintypes
|
||||||
|
|
||||||
|
advapi32 = ctypes.windll.advapi32
|
||||||
|
|
||||||
|
# LSTATUS RegOpenKeyExA(
|
||||||
|
# HKEY hKey,
|
||||||
|
# LPCSTR lpSubKey,
|
||||||
|
# DWORD ulOptions,
|
||||||
|
# REGSAM samDesired,
|
||||||
|
# PHKEY phkResult
|
||||||
|
# );
|
||||||
|
advapi32.RegOpenKeyExA.argtypes = (
|
||||||
|
ctypes.wintypes.HKEY,
|
||||||
|
ctypes.wintypes.LPCSTR,
|
||||||
|
ctypes.wintypes.DWORD,
|
||||||
|
ctypes.wintypes.DWORD,
|
||||||
|
ctypes.POINTER(ctypes.wintypes.HKEY),
|
||||||
|
)
|
||||||
|
advapi32.RegOpenKeyExA.restype = ctypes.wintypes.LONG
|
||||||
|
|
||||||
|
# LSTATUS RegQueryValueExA(
|
||||||
|
# HKEY hKey,
|
||||||
|
# LPCSTR lpValueName,
|
||||||
|
# LPDWORD lpReserved,
|
||||||
|
# LPDWORD lpType,
|
||||||
|
# LPBYTE lpData,
|
||||||
|
# LPDWORD lpcbData
|
||||||
|
# );
|
||||||
|
advapi32.RegQueryValueExA.argtypes = (
|
||||||
|
ctypes.wintypes.HKEY,
|
||||||
|
ctypes.wintypes.LPCSTR,
|
||||||
|
ctypes.wintypes.LPDWORD,
|
||||||
|
ctypes.wintypes.LPDWORD,
|
||||||
|
ctypes.wintypes.LPBYTE,
|
||||||
|
ctypes.wintypes.LPDWORD,
|
||||||
|
)
|
||||||
|
advapi32.RegQueryValueExA.restype = ctypes.wintypes.LONG
|
||||||
|
|
||||||
|
# LSTATUS RegNotifyChangeKeyValue(
|
||||||
|
# HKEY hKey,
|
||||||
|
# WINBOOL bWatchSubtree,
|
||||||
|
# DWORD dwNotifyFilter,
|
||||||
|
# HANDLE hEvent,
|
||||||
|
# WINBOOL fAsynchronous
|
||||||
|
# );
|
||||||
|
advapi32.RegNotifyChangeKeyValue.argtypes = (
|
||||||
|
ctypes.wintypes.HKEY,
|
||||||
|
ctypes.wintypes.BOOL,
|
||||||
|
ctypes.wintypes.DWORD,
|
||||||
|
ctypes.wintypes.HANDLE,
|
||||||
|
ctypes.wintypes.BOOL,
|
||||||
|
)
|
||||||
|
advapi32.RegNotifyChangeKeyValue.restype = ctypes.wintypes.LONG
|
||||||
|
|
||||||
|
def theme():
|
||||||
|
""" Uses the Windows Registry to detect if the user is using Dark Mode """
|
||||||
|
# Registry will return 0 if Windows is in Dark Mode and 1 if Windows is in Light Mode. This dictionary converts that output into the text that the program is expecting.
|
||||||
|
valueMeaning = {0: "Dark", 1: "Light"}
|
||||||
|
# In HKEY_CURRENT_USER, get the Personalisation Key.
|
||||||
|
try:
|
||||||
|
key = getKey(hkey, "Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize")
|
||||||
|
# In the Personalisation Key, get the AppsUseLightTheme subkey. This returns a tuple.
|
||||||
|
# The first item in the tuple is the result we want (0 or 1 indicating Dark Mode or Light Mode); the other value is the type of subkey e.g. DWORD, QWORD, String, etc.
|
||||||
|
subkey = getSubkeyValue(key, "AppsUseLightTheme")[0]
|
||||||
|
except FileNotFoundError:
|
||||||
|
# some headless Windows instances (e.g. GitHub Actions or Docker images) do not have this key
|
||||||
|
return None
|
||||||
|
return valueMeaning[subkey]
|
||||||
|
|
||||||
|
def isDark():
|
||||||
|
if theme() is not None:
|
||||||
|
return theme() == 'Dark'
|
||||||
|
|
||||||
|
def isLight():
|
||||||
|
if theme() is not None:
|
||||||
|
return theme() == 'Light'
|
@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
from PyQt5.QtCore import Qt
|
from PyQt5.QtCore import Qt
|
||||||
from PyQt5.QtWidgets import QApplication,QTextBrowser,QMainWindow,QFontDialog,QAction,QMenu,QHBoxLayout,QWidget,QPushButton,QVBoxLayout
|
from PyQt5.QtWidgets import QApplication,QTextBrowser,QAction,QMenu,QHBoxLayout,QWidget,QPushButton,QVBoxLayout
|
||||||
from PyQt5.QtGui import QFont,QFontMetrics
|
|
||||||
from PyQt5.QtCore import Qt,pyqtSignal ,QSize,QPoint
|
from PyQt5.QtCore import Qt,pyqtSignal ,QSize,QPoint
|
||||||
import qtawesome
|
import qtawesome
|
||||||
import json,threading
|
import json,threading
|
||||||
@ -21,8 +20,7 @@ class edittext(closeashidewindow):
|
|||||||
self.setWindowTitle(_TR('编辑'))
|
self.setWindowTitle(_TR('编辑'))
|
||||||
def setupUi(self):
|
def setupUi(self):
|
||||||
self.setWindowIcon(qtawesome.icon("fa.edit" ))
|
self.setWindowIcon(qtawesome.icon("fa.edit" ))
|
||||||
font = QFont()
|
|
||||||
font.fromString(globalconfig['edit_fontstring'])
|
|
||||||
|
|
||||||
self.textOutput = QTextBrowser(self)
|
self.textOutput = QTextBrowser(self)
|
||||||
|
|
||||||
@ -60,14 +58,7 @@ class edittext(closeashidewindow):
|
|||||||
|
|
||||||
|
|
||||||
self.hiding=True
|
self.hiding=True
|
||||||
self.setfonts()
|
|
||||||
def setfonts(self):
|
|
||||||
font = QFont()
|
|
||||||
font.fromString(globalconfig['sw_fontstring'])
|
|
||||||
fm=QFontMetrics(font)
|
|
||||||
self.bt1.setIconSize(QSize(fm.height(),fm.height() ))
|
|
||||||
self.bt2.setIconSize(QSize(fm.height(),fm.height() ))
|
|
||||||
self.textOutput.setFont(font)
|
|
||||||
def run(self):
|
def run(self):
|
||||||
threading.Thread(target=gobject.baseobject.textgetmethod,args=(self.textOutput.toPlainText(),False)).start()
|
threading.Thread(target=gobject.baseobject.textgetmethod,args=(self.textOutput.toPlainText(),False)).start()
|
||||||
def changestate(self):
|
def changestate(self):
|
||||||
@ -76,21 +67,11 @@ class edittext(closeashidewindow):
|
|||||||
def showmenu(self,point:QPoint):
|
def showmenu(self,point:QPoint):
|
||||||
menu=QMenu(self.textOutput )
|
menu=QMenu(self.textOutput )
|
||||||
qingkong=QAction(_TR("清空"))
|
qingkong=QAction(_TR("清空"))
|
||||||
ziti=QAction(_TR("字体") )
|
|
||||||
menu.addAction(qingkong)
|
menu.addAction(qingkong)
|
||||||
menu.addAction(ziti)
|
|
||||||
action=menu.exec(self.mapToGlobal(self.textOutput.pos())+point)
|
action=menu.exec(self.mapToGlobal(self.textOutput.pos())+point)
|
||||||
if action==qingkong:
|
if action==qingkong:
|
||||||
self.textOutput.clear()
|
self.textOutput.clear()
|
||||||
|
|
||||||
elif action==ziti :
|
|
||||||
|
|
||||||
font, ok = QFontDialog.getFont(self.textOutput.font(), parent=self)
|
|
||||||
|
|
||||||
|
|
||||||
if ok :
|
|
||||||
globalconfig['edit_fontstring']=font.toString()
|
|
||||||
self.setfonts()
|
|
||||||
def getnewsentence(self,sentence):
|
def getnewsentence(self,sentence):
|
||||||
if self.sync:
|
if self.sync:
|
||||||
self.textOutput.setCurrentCharFormat(self.charformat)
|
self.textOutput.setCurrentCharFormat(self.charformat)
|
||||||
|
@ -3,7 +3,7 @@ from PyQt5.QtCore import pyqtSignal
|
|||||||
from PyQt5.QtWidgets import QLabel,QScrollArea,QWidget,QGridLayout,QVBoxLayout
|
from PyQt5.QtWidgets import QLabel,QScrollArea,QWidget,QGridLayout,QVBoxLayout
|
||||||
from PyQt5.QtGui import QResizeEvent
|
from PyQt5.QtGui import QResizeEvent
|
||||||
from PyQt5.QtWidgets import QTabWidget
|
from PyQt5.QtWidgets import QTabWidget
|
||||||
import qtawesome
|
import qtawesome,darkdetect
|
||||||
import functools
|
import functools
|
||||||
from traceback import print_exc
|
from traceback import print_exc
|
||||||
from myutils.config import globalconfig ,_TR
|
from myutils.config import globalconfig ,_TR
|
||||||
@ -151,7 +151,24 @@ class Settin(closeashidewindow) :
|
|||||||
setTab_about(self)
|
setTab_about(self)
|
||||||
self.isfirstshow=False
|
self.isfirstshow=False
|
||||||
def setstylesheet(self):
|
def setstylesheet(self):
|
||||||
self.setStyleSheet("font: %spt '"%(globalconfig['settingfontsize'])+(globalconfig['settingfonttype'] )+"' ; " )
|
|
||||||
|
dl=globalconfig['darklight']
|
||||||
|
if dl==0:
|
||||||
|
dark=False
|
||||||
|
elif dl==1:
|
||||||
|
dark=True
|
||||||
|
elif dl==2:
|
||||||
|
dark=darkdetect.isDark()
|
||||||
|
if dark:
|
||||||
|
try:
|
||||||
|
with open('./files/dark.qss','r') as ff:
|
||||||
|
style=ff.read()
|
||||||
|
except:
|
||||||
|
style=''
|
||||||
|
else:
|
||||||
|
style=''
|
||||||
|
style+="*{font: %spt '"%(globalconfig['settingfontsize'])+(globalconfig['settingfonttype'] )+"' ; }"
|
||||||
|
self.setStyleSheet(style)
|
||||||
def makevbox(self,wids):
|
def makevbox(self,wids):
|
||||||
q=QWidget()
|
q=QWidget()
|
||||||
v=QVBoxLayout()
|
v=QVBoxLayout()
|
||||||
|
@ -164,7 +164,9 @@ 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) )]
|
[('选择文本窗口中文本框只读',6),getsimpleswitch(globalconfig,'textboxreadonly',callback=lambda x:gobject.baseobject.hookselectdialog.textOutput.setReadOnly(x) )],
|
||||||
|
[],
|
||||||
|
[('明暗',6),(getsimplecombobox(_TRL(['明亮','黑暗','跟随系统']),globalconfig,'darklight',callback=lambda _: self.setstylesheet()),5)]
|
||||||
]
|
]
|
||||||
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')
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
|
|
||||||
from re import search
|
from re import search
|
||||||
from PyQt5.QtCore import Qt
|
from PyQt5.QtCore import Qt
|
||||||
from PyQt5.QtWidgets import QWidget,QHBoxLayout,QMainWindow,QApplication,QVBoxLayout,QFontDialog,QTextBrowser,QLineEdit,QPushButton,QTabWidget,QMenu,QAction
|
from PyQt5.QtWidgets import QWidget,QHBoxLayout,QVBoxLayout,QTextBrowser,QLineEdit,QPushButton,QTabWidget
|
||||||
from PyQt5.QtGui import QFont,QTextCursor,QFontMetrics
|
|
||||||
from PyQt5.QtCore import Qt,pyqtSignal,QSize
|
from PyQt5.QtCore import Qt,pyqtSignal,QSize
|
||||||
import qtawesome,functools,json
|
import qtawesome,functools,json
|
||||||
import threading ,gobject
|
import threading ,gobject
|
||||||
@ -96,38 +95,12 @@ class searchwordW(closeashidewindow):
|
|||||||
textOutput.setContextMenuPolicy(Qt.CustomContextMenu)
|
textOutput.setContextMenuPolicy(Qt.CustomContextMenu)
|
||||||
|
|
||||||
|
|
||||||
textOutput.customContextMenuRequested.connect(functools.partial( self.showmenu ,i,textOutput) )
|
|
||||||
self.hiding=True
|
self.hiding=True
|
||||||
self.searchthreadsignal.connect(self.searchthread)
|
self.searchthreadsignal.connect(self.searchthread)
|
||||||
self.setfonts( )
|
|
||||||
def setfonts(self):
|
|
||||||
font = QFont()
|
|
||||||
font.fromString(globalconfig['sw_fontstring'])
|
|
||||||
fm=QFontMetrics(font)
|
|
||||||
self.searchbutton.setIconSize(QSize(fm.height(),fm.height() ))
|
|
||||||
self.soundbutton.setIconSize(QSize(fm.height(),fm.height() ))
|
|
||||||
self.setFont(font)
|
|
||||||
self.tab.setFont(font)
|
|
||||||
self.searchtext.setFont(font)
|
|
||||||
|
|
||||||
for _ in self.textbs:
|
|
||||||
self.textbs[_].setFont(font)
|
|
||||||
def langdu(self):
|
def langdu(self):
|
||||||
if gobject.baseobject.reader:
|
if gobject.baseobject.reader:
|
||||||
gobject.baseobject.reader.read(self.searchtext.text() )
|
gobject.baseobject.reader.read(self.searchtext.text() )
|
||||||
def showmenu(self,ii,to:QTextBrowser,p):
|
|
||||||
menu=QMenu(self )
|
|
||||||
ziti=QAction(_TR("字体") )
|
|
||||||
menu.addAction(ziti)
|
|
||||||
action=menu.exec( to.mapToGlobal(p))
|
|
||||||
if action==ziti :
|
|
||||||
|
|
||||||
font, ok = QFontDialog.getFont(self.font(), parent=self)
|
|
||||||
|
|
||||||
|
|
||||||
if ok :
|
|
||||||
globalconfig['sw_fontstring']=font.toString()
|
|
||||||
self.setfonts()
|
|
||||||
|
|
||||||
def getnewsentence(self,sentence):
|
def getnewsentence(self,sentence):
|
||||||
self.showNormal()
|
self.showNormal()
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
from PyQt5.QtCore import Qt
|
from PyQt5.QtCore import Qt
|
||||||
from PyQt5.QtWidgets import QTabWidget,QTextBrowser,QMainWindow,QFontDialog,QAction,QMenu,QFileDialog
|
from PyQt5.QtWidgets import QTabWidget,QTextBrowser,QAction,QMenu,QFileDialog
|
||||||
from PyQt5.QtGui import QFont,QTextCursor
|
|
||||||
from PyQt5.QtCore import Qt,pyqtSignal
|
from PyQt5.QtCore import Qt,pyqtSignal
|
||||||
import qtawesome,functools
|
import qtawesome,functools
|
||||||
|
|
||||||
@ -26,9 +25,6 @@ class transhist(closeashidewindow):
|
|||||||
self.setWindowTitle(_TR('历史翻译和调试输出'))
|
self.setWindowTitle(_TR('历史翻译和调试输出'))
|
||||||
def setupUi(self):
|
def setupUi(self):
|
||||||
self.setWindowIcon(qtawesome.icon("fa.rotate-left" ))
|
self.setWindowIcon(qtawesome.icon("fa.rotate-left" ))
|
||||||
font = QFont()
|
|
||||||
font.fromString(globalconfig['hist_fontstring'])
|
|
||||||
self.setFont(font)
|
|
||||||
self.tabwidget=QTabWidget()
|
self.tabwidget=QTabWidget()
|
||||||
self.tabwidget.setTabPosition(QTabWidget.East)
|
self.tabwidget.setTabPosition(QTabWidget.East)
|
||||||
self.setCentralWidget(self.tabwidget)
|
self.setCentralWidget(self.tabwidget)
|
||||||
@ -52,7 +48,6 @@ class transhist(closeashidewindow):
|
|||||||
menu=QMenu(self )
|
menu=QMenu(self )
|
||||||
qingkong=QAction(_TR("清空"))
|
qingkong=QAction(_TR("清空"))
|
||||||
baocun=QAction(_TR("保存"))
|
baocun=QAction(_TR("保存"))
|
||||||
ziti=QAction(_TR("字体") )
|
|
||||||
hideshowraw=QAction(_TR("显示原文" if self.hiderawflag else "不显示原文") )
|
hideshowraw=QAction(_TR("显示原文" if self.hiderawflag else "不显示原文") )
|
||||||
hideshowapi=QAction(_TR("显示api" if self.hideapiflag else "不显示api") )
|
hideshowapi=QAction(_TR("显示api" if self.hideapiflag else "不显示api") )
|
||||||
menu.addAction(qingkong)
|
menu.addAction(qingkong)
|
||||||
@ -60,7 +55,6 @@ class transhist(closeashidewindow):
|
|||||||
if flag==1:
|
if flag==1:
|
||||||
menu.addAction(hideshowraw)
|
menu.addAction(hideshowraw)
|
||||||
menu.addAction(hideshowapi)
|
menu.addAction(hideshowapi)
|
||||||
menu.addAction(ziti)
|
|
||||||
|
|
||||||
action=menu.exec(self.mapToGlobal(p))
|
action=menu.exec(self.mapToGlobal(p))
|
||||||
if action==qingkong:
|
if action==qingkong:
|
||||||
@ -77,13 +71,7 @@ class transhist(closeashidewindow):
|
|||||||
elif action==hideshowapi:
|
elif action==hideshowapi:
|
||||||
|
|
||||||
self.hideapiflag=not self.hideapiflag
|
self.hideapiflag=not self.hideapiflag
|
||||||
elif action==ziti :
|
|
||||||
|
|
||||||
font, ok = QFontDialog.getFont(self.font(), parent=self)
|
|
||||||
|
|
||||||
if ok :
|
|
||||||
globalconfig['hist_fontstring']=font.toString()
|
|
||||||
self.setFont(font)
|
|
||||||
def debugprint(self,idx,sentence):
|
def debugprint(self,idx,sentence):
|
||||||
textbrowappendandmovetoend(self.debugoutputs[idx],sentence,False)
|
textbrowappendandmovetoend(self.debugoutputs[idx],sentence,False)
|
||||||
def getnewsentence(self,sentence):
|
def getnewsentence(self,sentence):
|
||||||
|
2221
LunaTranslator/files/dark.qss
Normal file
2221
LunaTranslator/files/dark.qss
Normal file
File diff suppressed because it is too large
Load Diff
@ -40,9 +40,6 @@
|
|||||||
"postprocess_rank": [],
|
"postprocess_rank": [],
|
||||||
"uselongtermcache": false,
|
"uselongtermcache": false,
|
||||||
"hist_split": false,
|
"hist_split": false,
|
||||||
"hist_fontstring": "Arial,12,-1,5,50,0,0,0,0,0,Regular",
|
|
||||||
"sw_fontstring": "Arial,12,-1,5,50,0,0,0,0,0,Regular",
|
|
||||||
"edit_fontstring": "Arial,12,-1,5,50,0,0,0,0,0,Regular",
|
|
||||||
"fixedheight": false,
|
"fixedheight": false,
|
||||||
"showintab": true,
|
"showintab": true,
|
||||||
"remove_useless_hook": false,
|
"remove_useless_hook": false,
|
||||||
@ -679,6 +676,7 @@
|
|||||||
"name": "goo"
|
"name": "goo"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"darklight":0,
|
||||||
"usesearchword": false,
|
"usesearchword": false,
|
||||||
"usecopyword":false,
|
"usecopyword":false,
|
||||||
"outputtopasteboard": false,
|
"outputtopasteboard": false,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version":"v2.40.5",
|
"version":"v2.40.6",
|
||||||
"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","bo"],
|
"language_list_translator_inner":["zh", "ja", "en","ru","es","ko","fr","cht","vi","tr","pl","uk","it","ar","th","bo"],
|
||||||
|
@ -727,5 +727,9 @@
|
|||||||
"相对地址": "العنوان النسبي",
|
"相对地址": "العنوان النسبي",
|
||||||
"特征匹配": "ميزة مطابقة",
|
"特征匹配": "ميزة مطابقة",
|
||||||
"函数对齐": "وظيفة المحاذاة",
|
"函数对齐": "وظيفة المحاذاة",
|
||||||
"函数调用": "استدعاء الدالة"
|
"函数调用": "استدعاء الدالة",
|
||||||
|
"明亮": "مشرق",
|
||||||
|
"黑暗": "ظلام .",
|
||||||
|
"跟随系统": "متابعة النظام",
|
||||||
|
"明暗": "الضوء والظل"
|
||||||
}
|
}
|
@ -727,5 +727,9 @@
|
|||||||
"相对地址": "相對地址",
|
"相对地址": "相對地址",
|
||||||
"特征匹配": "特徵匹配",
|
"特征匹配": "特徵匹配",
|
||||||
"函数对齐": "函數對齊",
|
"函数对齐": "函數對齊",
|
||||||
"函数调用": "函數調用"
|
"函数调用": "函數調用",
|
||||||
|
"明亮": "明亮",
|
||||||
|
"黑暗": "黑暗",
|
||||||
|
"跟随系统": "跟隨系統",
|
||||||
|
"明暗": "明暗"
|
||||||
}
|
}
|
@ -727,5 +727,9 @@
|
|||||||
"相对地址": "Relative address",
|
"相对地址": "Relative address",
|
||||||
"特征匹配": "Feature matching",
|
"特征匹配": "Feature matching",
|
||||||
"函数对齐": "Function alignment",
|
"函数对齐": "Function alignment",
|
||||||
"函数调用": "function call"
|
"函数调用": "function call",
|
||||||
|
"明亮": "bright",
|
||||||
|
"黑暗": "dark",
|
||||||
|
"跟随系统": "Follow system",
|
||||||
|
"明暗": "Brightness and darkness"
|
||||||
}
|
}
|
@ -727,5 +727,9 @@
|
|||||||
"相对地址": "Dirección relativa",
|
"相对地址": "Dirección relativa",
|
||||||
"特征匹配": "Coincidencia de características",
|
"特征匹配": "Coincidencia de características",
|
||||||
"函数对齐": "Alineación de funciones",
|
"函数对齐": "Alineación de funciones",
|
||||||
"函数调用": "Llamada a función"
|
"函数调用": "Llamada a función",
|
||||||
|
"明亮": "Brillante",
|
||||||
|
"黑暗": "Oscuridad",
|
||||||
|
"跟随系统": "Sistema de seguimiento",
|
||||||
|
"明暗": "Luz y oscuridad"
|
||||||
}
|
}
|
@ -727,5 +727,9 @@
|
|||||||
"相对地址": "Adresse relative",
|
"相对地址": "Adresse relative",
|
||||||
"特征匹配": "Correspondance des caractéristiques",
|
"特征匹配": "Correspondance des caractéristiques",
|
||||||
"函数对齐": "Alignement des fonctions",
|
"函数对齐": "Alignement des fonctions",
|
||||||
"函数调用": "Appel de fonction"
|
"函数调用": "Appel de fonction",
|
||||||
|
"明亮": "Lumineux",
|
||||||
|
"黑暗": "L'obscurité",
|
||||||
|
"跟随系统": "Suivre le système",
|
||||||
|
"明暗": "Lumière et obscurité"
|
||||||
}
|
}
|
@ -727,5 +727,9 @@
|
|||||||
"相对地址": "Indirizzo relativo",
|
"相对地址": "Indirizzo relativo",
|
||||||
"特征匹配": "Corrispondenza delle caratteristiche",
|
"特征匹配": "Corrispondenza delle caratteristiche",
|
||||||
"函数对齐": "Allineamento delle funzioni",
|
"函数对齐": "Allineamento delle funzioni",
|
||||||
"函数调用": "chiamata funzione"
|
"函数调用": "chiamata funzione",
|
||||||
|
"明亮": "luminoso",
|
||||||
|
"黑暗": "scuro",
|
||||||
|
"跟随系统": "Sistema di monitoraggio",
|
||||||
|
"明暗": "Luminosità e oscurità"
|
||||||
}
|
}
|
@ -727,5 +727,9 @@
|
|||||||
"相对地址": "そうたいアドレス",
|
"相对地址": "そうたいアドレス",
|
||||||
"特征匹配": "フィーチャーマッチング",
|
"特征匹配": "フィーチャーマッチング",
|
||||||
"函数对齐": "関数の配置",
|
"函数对齐": "関数の配置",
|
||||||
"函数调用": "関数呼び出し"
|
"函数调用": "関数呼び出し",
|
||||||
|
"明亮": "明るい",
|
||||||
|
"黑暗": "暗い",
|
||||||
|
"跟随系统": "フォローアップシステム",
|
||||||
|
"明暗": "明暗"
|
||||||
}
|
}
|
@ -727,5 +727,9 @@
|
|||||||
"相对地址": "상대 주소",
|
"相对地址": "상대 주소",
|
||||||
"特征匹配": "피쳐 일치",
|
"特征匹配": "피쳐 일치",
|
||||||
"函数对齐": "함수 정렬",
|
"函数对齐": "함수 정렬",
|
||||||
"函数调用": "함수 호출"
|
"函数调用": "함수 호출",
|
||||||
|
"明亮": "밝기",
|
||||||
|
"黑暗": "어둠",
|
||||||
|
"跟随系统": "시스템 따르기",
|
||||||
|
"明暗": "명암"
|
||||||
}
|
}
|
@ -727,5 +727,9 @@
|
|||||||
"相对地址": "Adres względny",
|
"相对地址": "Adres względny",
|
||||||
"特征匹配": "Dopasowanie cech",
|
"特征匹配": "Dopasowanie cech",
|
||||||
"函数对齐": "Wyrównanie funkcji",
|
"函数对齐": "Wyrównanie funkcji",
|
||||||
"函数调用": "wywołanie funkcji"
|
"函数调用": "wywołanie funkcji",
|
||||||
|
"明亮": "jasne",
|
||||||
|
"黑暗": "ciemność",
|
||||||
|
"跟随系统": "System śledzenia",
|
||||||
|
"明暗": "Jasność i ciemność"
|
||||||
}
|
}
|
@ -727,5 +727,9 @@
|
|||||||
"相对地址": "Относительный адрес",
|
"相对地址": "Относительный адрес",
|
||||||
"特征匹配": "Соответствие характеристик",
|
"特征匹配": "Соответствие характеристик",
|
||||||
"函数对齐": "Выравнивание функций",
|
"函数对齐": "Выравнивание функций",
|
||||||
"函数调用": "Вызов функции"
|
"函数调用": "Вызов функции",
|
||||||
|
"明亮": "Яркий",
|
||||||
|
"黑暗": "Тьма.",
|
||||||
|
"跟随系统": "Следующая система",
|
||||||
|
"明暗": "Свет и тьма"
|
||||||
}
|
}
|
@ -727,5 +727,9 @@
|
|||||||
"相对地址": "ที่อยู่ญาติ",
|
"相对地址": "ที่อยู่ญาติ",
|
||||||
"特征匹配": "คุณสมบัติการจับคู่",
|
"特征匹配": "คุณสมบัติการจับคู่",
|
||||||
"函数对齐": "การจัดตำแหน่งฟังก์ชัน",
|
"函数对齐": "การจัดตำแหน่งฟังก์ชัน",
|
||||||
"函数调用": "เรียกฟังก์ชัน"
|
"函数调用": "เรียกฟังก์ชัน",
|
||||||
|
"明亮": "สดใส",
|
||||||
|
"黑暗": "ความมืด",
|
||||||
|
"跟随系统": "ติดตามระบบ",
|
||||||
|
"明暗": "ความสว่างและความมืด"
|
||||||
}
|
}
|
@ -727,5 +727,9 @@
|
|||||||
"相对地址": "Relatif adres",
|
"相对地址": "Relatif adres",
|
||||||
"特征匹配": "Özellik eşleştirmesi",
|
"特征匹配": "Özellik eşleştirmesi",
|
||||||
"函数对齐": "Funksiyon hizalama",
|
"函数对齐": "Funksiyon hizalama",
|
||||||
"函数调用": "fonksiyon araması"
|
"函数调用": "fonksiyon araması",
|
||||||
|
"明亮": "bright",
|
||||||
|
"黑暗": "karanlık",
|
||||||
|
"跟随系统": "Sistemi takip et",
|
||||||
|
"明暗": "Parılık ve karanlık"
|
||||||
}
|
}
|
@ -727,5 +727,9 @@
|
|||||||
"相对地址": "Відносна адреса",
|
"相对地址": "Відносна адреса",
|
||||||
"特征匹配": "Порівнювання властивостей",
|
"特征匹配": "Порівнювання властивостей",
|
||||||
"函数对齐": "Вирівнювання функцій",
|
"函数对齐": "Вирівнювання функцій",
|
||||||
"函数调用": "виклик функції"
|
"函数调用": "виклик функції",
|
||||||
|
"明亮": "яскравий",
|
||||||
|
"黑暗": "темно",
|
||||||
|
"跟随系统": "Слідкувати за системою",
|
||||||
|
"明暗": "Яскравість і темрява"
|
||||||
}
|
}
|
@ -727,5 +727,9 @@
|
|||||||
"相对地址": "Địa chỉ tương đối",
|
"相对地址": "Địa chỉ tương đối",
|
||||||
"特征匹配": "Khớp tính năng",
|
"特征匹配": "Khớp tính năng",
|
||||||
"函数对齐": "Căn chỉnh chức năng",
|
"函数对齐": "Căn chỉnh chức năng",
|
||||||
"函数调用": "Gọi hàm"
|
"函数调用": "Gọi hàm",
|
||||||
|
"明亮": "Minh Lượng",
|
||||||
|
"黑暗": "Bóng tối",
|
||||||
|
"跟随系统": "Theo dõi hệ thống",
|
||||||
|
"明暗": "Ánh sáng và bóng tối"
|
||||||
}
|
}
|
@ -727,5 +727,9 @@
|
|||||||
"相对地址": "",
|
"相对地址": "",
|
||||||
"特征匹配": "",
|
"特征匹配": "",
|
||||||
"函数对齐": "",
|
"函数对齐": "",
|
||||||
"函数调用": ""
|
"函数调用": "",
|
||||||
|
"明亮": "",
|
||||||
|
"黑暗": "",
|
||||||
|
"跟随系统": "",
|
||||||
|
"明暗": ""
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user