mirror of
https://github.com/HIllya51/LunaTranslator.git
synced 2024-12-28 08:04:13 +08:00
issues/504
This commit is contained in:
parent
a5c83efd7c
commit
1fde4aca87
@ -1,7 +1,7 @@
|
|||||||
import functools
|
import functools
|
||||||
from PyQt5.QtWidgets import QDialogButtonBox,QDialog,QHeaderView,QComboBox,QFormLayout,QDoubleSpinBox,QSpinBox,QHBoxLayout,QLineEdit,QFileDialog,QPushButton,QLabel,QTableView,QVBoxLayout
|
from PyQt5.QtWidgets import QDialogButtonBox,QDialog,QHeaderView,QComboBox,QFormLayout,QDoubleSpinBox,QSpinBox,QHBoxLayout,QLineEdit,QFileDialog,QPushButton,QLabel,QTableView,QVBoxLayout
|
||||||
from PyQt5.QtCore import Qt,QSize
|
from PyQt5.QtCore import Qt,QSize
|
||||||
from PyQt5.QtGui import QStandardItem, QStandardItemModel
|
from PyQt5.QtGui import QCloseEvent, QStandardItem, QStandardItemModel
|
||||||
|
|
||||||
from PyQt5.QtGui import QColor
|
from PyQt5.QtGui import QColor
|
||||||
import qtawesome,importlib
|
import qtawesome,importlib
|
||||||
@ -11,18 +11,18 @@ from myutils.utils import makehtml
|
|||||||
from myutils.wrapper import Singleton
|
from myutils.wrapper import Singleton
|
||||||
@Singleton
|
@Singleton
|
||||||
class autoinitdialog(QDialog):
|
class autoinitdialog(QDialog):
|
||||||
def __init__(dialog, parent,title,width,lines,_=None ) -> None:
|
def __init__(self, parent,title,width,lines,_=None ) -> None:
|
||||||
super().__init__(parent, Qt.WindowCloseButtonHint)
|
super().__init__(parent, Qt.WindowCloseButtonHint)
|
||||||
|
|
||||||
dialog.setWindowTitle(_TR(title))
|
self.setWindowTitle(_TR(title))
|
||||||
dialog.resize(QSize(width,10))
|
self.resize(QSize(width,10))
|
||||||
formLayout = QFormLayout()
|
formLayout = QFormLayout()
|
||||||
dialog.setLayout(formLayout)
|
self.setLayout(formLayout)
|
||||||
regist=[]
|
regist=[]
|
||||||
def save(callback=None):
|
def save(callback=None):
|
||||||
for l in regist:
|
for l in regist:
|
||||||
l[0][l[1]]=l[2]()
|
l[0][l[1]]=l[2]()
|
||||||
dialog.close()
|
self.close()
|
||||||
if callback:
|
if callback:
|
||||||
callback()
|
callback()
|
||||||
def openfiledirectory(multi,edit,isdir,filter1='*.*'):
|
def openfiledirectory(multi,edit,isdir,filter1='*.*'):
|
||||||
@ -68,7 +68,7 @@ class autoinitdialog(QDialog):
|
|||||||
lineW.currentIndexChanged.connect(functools.partial(dd.__setitem__,key))
|
lineW.currentIndexChanged.connect(functools.partial(dd.__setitem__,key))
|
||||||
elif line['t']=='okcancel':
|
elif line['t']=='okcancel':
|
||||||
lineW = QDialogButtonBox(QDialogButtonBox.Ok|QDialogButtonBox.Cancel)
|
lineW = QDialogButtonBox(QDialogButtonBox.Ok|QDialogButtonBox.Cancel)
|
||||||
lineW.rejected.connect(dialog.close)
|
lineW.rejected.connect(self.close)
|
||||||
lineW.accepted.connect(functools.partial(save,None if 'callback' not in line else line['callback']))
|
lineW.accepted.connect(functools.partial(save,None if 'callback' not in line else line['callback']))
|
||||||
|
|
||||||
lineW.button(QDialogButtonBox.Ok).setText(_TR('确定'))
|
lineW.button(QDialogButtonBox.Ok).setText(_TR('确定'))
|
||||||
@ -106,7 +106,7 @@ class autoinitdialog(QDialog):
|
|||||||
formLayout.addRow(_TR(line['l']),lineW)
|
formLayout.addRow(_TR(line['l']),lineW)
|
||||||
else:
|
else:
|
||||||
formLayout.addRow( lineW)
|
formLayout.addRow( lineW)
|
||||||
dialog.show()
|
self.show()
|
||||||
|
|
||||||
def getsomepath1(parent,title,d,k,label,callback=None,isdir=False,filter1="*.db"):
|
def getsomepath1(parent,title,d,k,label,callback=None,isdir=False,filter1="*.db"):
|
||||||
autoinitdialog(parent,title,800,[
|
autoinitdialog(parent,title,800,[
|
||||||
@ -161,34 +161,44 @@ class multicolorset(QDialog):
|
|||||||
self.show()
|
self.show()
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
class postconfigdialog(QDialog):
|
class postconfigdialog_(QDialog):
|
||||||
def __init__(dialog, parent,configdict,title,_=None) -> None:
|
def closeEvent(self, a0: QCloseEvent) -> None:
|
||||||
|
if self.closeevent:
|
||||||
|
self.button.setFocus()
|
||||||
|
rows=self.model.rowCount()
|
||||||
|
newdict={}
|
||||||
|
for row in range(rows):
|
||||||
|
if self.model.item(row,0).text()=="":
|
||||||
|
continue
|
||||||
|
newdict[(self.model.item(row,0).text())]=(self.model.item(row,1).text())
|
||||||
|
self.configdict[self.key]=newdict
|
||||||
|
def __init__(self, parent,configdict,title) -> None:
|
||||||
super().__init__(parent,Qt.WindowCloseButtonHint)
|
super().__init__(parent,Qt.WindowCloseButtonHint)
|
||||||
|
print(title)
|
||||||
dialog.setWindowTitle(_TR(title))
|
self.setWindowTitle(_TR(title))
|
||||||
#dialog.setWindowModality(Qt.ApplicationModal)
|
#self.setWindowModality(Qt.ApplicationModal)
|
||||||
|
self.closeevent=False
|
||||||
formLayout = QVBoxLayout(dialog) # 配置layout
|
formLayout = QVBoxLayout(self) # 配置layout
|
||||||
|
|
||||||
key=list(configdict.keys())[0]
|
key=list(configdict.keys())[0]
|
||||||
lb=QLabel(dialog)
|
lb=QLabel(self)
|
||||||
lb.setText(_TR(key) )
|
lb.setText(_TR(key) )
|
||||||
formLayout.addWidget(lb)
|
formLayout.addWidget(lb)
|
||||||
if type(configdict[key]) in (float,int):
|
if type(configdict[key]) in (float,int):
|
||||||
spin=QSpinBox(dialog)
|
spin=QSpinBox(self)
|
||||||
spin.setMinimum(1)
|
spin.setMinimum(1)
|
||||||
spin.setMaximum(100)
|
spin.setMaximum(100)
|
||||||
spin.setValue(configdict[key])
|
spin.setValue(configdict[key])
|
||||||
spin.valueChanged.connect(lambda x:configdict.__setitem__(key,x))
|
spin.valueChanged.connect(lambda x:configdict.__setitem__(key,x))
|
||||||
formLayout.addWidget(spin)
|
formLayout.addWidget(spin)
|
||||||
dialog.resize(QSize(600,1))
|
self.resize(QSize(600,1))
|
||||||
|
|
||||||
elif type(configdict[key])==type({}):
|
elif type(configdict[key])==type({}):
|
||||||
# lines=QTextEdit(dialog)
|
# lines=QTextEdit(self)
|
||||||
# lines.setPlainText('\n'.join(configdict[key]))
|
# lines.setPlainText('\n'.join(configdict[key]))
|
||||||
# lines.textChanged.connect(lambda :configdict.__setitem__(key,lines.toPlainText().split('\n')))
|
# lines.textChanged.connect(lambda :configdict.__setitem__(key,lines.toPlainText().split('\n')))
|
||||||
# formLayout.addWidget(lines)
|
# formLayout.addWidget(lines)
|
||||||
model=QStandardItemModel(len(configdict[key]),1 , dialog)
|
model=QStandardItemModel(len(configdict[key]),1 , self)
|
||||||
row=0
|
row=0
|
||||||
|
|
||||||
for key1 in ( (configdict[key])): # 2
|
for key1 in ( (configdict[key])): # 2
|
||||||
@ -200,37 +210,33 @@ class postconfigdialog(QDialog):
|
|||||||
model.setItem(row, 1, item)
|
model.setItem(row, 1, item)
|
||||||
row+=1
|
row+=1
|
||||||
model.setHorizontalHeaderLabels(_TRL([ '原文内容','替换为']))
|
model.setHorizontalHeaderLabels(_TRL([ '原文内容','替换为']))
|
||||||
table = QTableView(dialog)
|
table = QTableView(self)
|
||||||
table.setModel(model)
|
table.setModel(model)
|
||||||
table.setWordWrap(False)
|
table.setWordWrap(False)
|
||||||
table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
|
table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
|
||||||
#table.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
#table.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
||||||
#table.clicked.connect(self.show_info)
|
#table.clicked.connect(self.show_info)
|
||||||
button=QPushButton(dialog)
|
button=QPushButton(self)
|
||||||
button.setText(_TR('添加行'))
|
button.setText(_TR('添加行'))
|
||||||
def clicked1():
|
def clicked1():
|
||||||
model.insertRow(0,[QStandardItem(''),QStandardItem('')])
|
model.insertRow(0,[QStandardItem(''),QStandardItem('')])
|
||||||
button.clicked.connect(clicked1)
|
button.clicked.connect(clicked1)
|
||||||
button2=QPushButton(dialog)
|
button2=QPushButton(self)
|
||||||
button2.setText(_TR('删除选中行'))
|
button2.setText(_TR('删除选中行'))
|
||||||
def clicked2():
|
def clicked2():
|
||||||
|
|
||||||
model.removeRow(table.currentIndex().row())
|
model.removeRow(table.currentIndex().row())
|
||||||
button2.clicked.connect(clicked2)
|
button2.clicked.connect(clicked2)
|
||||||
|
self.button=button
|
||||||
def clicked3(_):
|
self.model=model
|
||||||
button.setFocus()
|
self.key=key
|
||||||
rows=model.rowCount()
|
self.configdict=configdict
|
||||||
newdict={}
|
self.closeevent=True
|
||||||
for row in range(rows):
|
|
||||||
if model.item(row,0).text()=="":
|
|
||||||
continue
|
|
||||||
newdict[(model.item(row,0).text())]=(model.item(row,1).text())
|
|
||||||
configdict[key]=newdict
|
|
||||||
dialog.closeEvent=(clicked3)
|
|
||||||
formLayout.addWidget(table)
|
formLayout.addWidget(table)
|
||||||
formLayout.addWidget(button)
|
formLayout.addWidget(button)
|
||||||
formLayout.addWidget(button2)
|
formLayout.addWidget(button2)
|
||||||
dialog.resize(QSize(600,400))
|
self.resize(QSize(600,400))
|
||||||
dialog.show()
|
self.show()
|
||||||
|
|
||||||
|
def postconfigdialog(parent,configdict,title):
|
||||||
|
postconfigdialog_(parent,configdict,title)
|
@ -3,7 +3,7 @@ import functools
|
|||||||
|
|
||||||
from PyQt5.QtWidgets import QDialog,QLabel ,QLineEdit,QSpinBox,QPushButton ,QTableView, QVBoxLayout,QHBoxLayout,QHeaderView ,QTextEdit,QHBoxLayout,QWidget,QMenu,QAction
|
from PyQt5.QtWidgets import QDialog,QLabel ,QLineEdit,QSpinBox,QPushButton ,QTableView, QVBoxLayout,QHBoxLayout,QHeaderView ,QTextEdit,QHBoxLayout,QWidget,QMenu,QAction
|
||||||
from PyQt5.QtCore import QSize,Qt,pyqtSignal,QPoint
|
from PyQt5.QtCore import QSize,Qt,pyqtSignal,QPoint
|
||||||
from PyQt5.QtGui import QStandardItem, QStandardItemModel
|
from PyQt5.QtGui import QCloseEvent, QStandardItem, QStandardItemModel
|
||||||
from traceback import print_exc
|
from traceback import print_exc
|
||||||
from myutils.config import globalconfig ,postprocessconfig,noundictconfig,transerrorfixdictconfig,_TR,_TRL,defaultglobalconfig
|
from myutils.config import globalconfig ,postprocessconfig,noundictconfig,transerrorfixdictconfig,_TR,_TRL,defaultglobalconfig
|
||||||
import functools ,gobject
|
import functools ,gobject
|
||||||
@ -162,15 +162,15 @@ def setTab7_lazy(self) :
|
|||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
class noundictconfigdialog1(QDialog):
|
class noundictconfigdialog1(QDialog):
|
||||||
def __init__(dialog,parent,configdict,title,label=[ '原文','翻译'] ,_=None) -> None:
|
def __init__(self,parent,configdict,title,label=[ '原文','翻译'] ,_=None) -> None:
|
||||||
super().__init__(parent,Qt.WindowCloseButtonHint)
|
super().__init__(parent,Qt.WindowCloseButtonHint)
|
||||||
|
|
||||||
dialog.setWindowTitle(_TR(title))
|
self.setWindowTitle(_TR(title))
|
||||||
#dialog.setWindowModality(Qt.ApplicationModal)
|
#self.setWindowModality(Qt.ApplicationModal)
|
||||||
|
|
||||||
formLayout = QVBoxLayout(dialog) # 配置layout
|
formLayout = QVBoxLayout(self) # 配置layout
|
||||||
|
|
||||||
model=QStandardItemModel(len(list(configdict['dict'].keys())),1 , dialog)
|
model=QStandardItemModel(len(list(configdict['dict'].keys())),1 , self)
|
||||||
row=0
|
row=0
|
||||||
for key in (configdict['dict']): # 2
|
for key in (configdict['dict']): # 2
|
||||||
|
|
||||||
@ -180,7 +180,7 @@ class noundictconfigdialog1(QDialog):
|
|||||||
model.setItem(row, 1, item)
|
model.setItem(row, 1, item)
|
||||||
row+=1
|
row+=1
|
||||||
model.setHorizontalHeaderLabels(_TRL(label))
|
model.setHorizontalHeaderLabels(_TRL(label))
|
||||||
table = QTableView(dialog)
|
table = QTableView(self)
|
||||||
table.setModel(model)
|
table.setModel(model)
|
||||||
table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
|
table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
|
||||||
#table.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
#table.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
||||||
@ -209,46 +209,58 @@ class noundictconfigdialog1(QDialog):
|
|||||||
search.addWidget(button4)
|
search.addWidget(button4)
|
||||||
|
|
||||||
|
|
||||||
button=QPushButton(dialog)
|
button=QPushButton(self)
|
||||||
button.setText(_TR('添加行'))
|
button.setText(_TR('添加行'))
|
||||||
def clicked1():
|
def clicked1():
|
||||||
model.insertRow(0,[ QStandardItem(''),QStandardItem('')])
|
model.insertRow(0,[ QStandardItem(''),QStandardItem('')])
|
||||||
button.clicked.connect(clicked1)
|
button.clicked.connect(clicked1)
|
||||||
button2=QPushButton(dialog)
|
button2=QPushButton(self)
|
||||||
button2.setText(_TR('删除选中行'))
|
button2.setText(_TR('删除选中行'))
|
||||||
def clicked2():
|
def clicked2():
|
||||||
|
|
||||||
model.removeRow(table.currentIndex().row())
|
model.removeRow(table.currentIndex().row())
|
||||||
button2.clicked.connect(clicked2)
|
button2.clicked.connect(clicked2)
|
||||||
|
self.button=button
|
||||||
def clicked3(_):
|
self.model=model
|
||||||
button.setFocus()
|
self.configdict=configdict
|
||||||
rows=model.rowCount()
|
|
||||||
newdict={}
|
|
||||||
for row in range(rows):
|
|
||||||
if model.item(row,0).text()=="":
|
|
||||||
continue
|
|
||||||
newdict[model.item(row,0).text()]=model.item(row,1).text()
|
|
||||||
configdict['dict']=newdict
|
|
||||||
|
|
||||||
dialog.closeEvent=clicked3
|
|
||||||
formLayout.addWidget(table)
|
formLayout.addWidget(table)
|
||||||
formLayout.addLayout(search)
|
formLayout.addLayout(search)
|
||||||
formLayout.addWidget(button)
|
formLayout.addWidget(button)
|
||||||
formLayout.addWidget(button2)
|
formLayout.addWidget(button2)
|
||||||
dialog.resize(QSize(600,400))
|
self.resize(QSize(600,400))
|
||||||
dialog.show()
|
self.show()
|
||||||
|
def closeEvent(self, a0: QCloseEvent) -> None:
|
||||||
|
self.button.setFocus()
|
||||||
|
rows=self.model.rowCount()
|
||||||
|
newdict={}
|
||||||
|
for row in range(rows):
|
||||||
|
if self.model.item(row,0).text()=="":
|
||||||
|
continue
|
||||||
|
newdict[self.model.item(row,0).text()]=self.model.item(row,1).text()
|
||||||
|
self.configdict['dict']=newdict
|
||||||
@Singleton
|
@Singleton
|
||||||
class noundictconfigdialog(QDialog):
|
class noundictconfigdialog(QDialog):
|
||||||
def __init__(dialog,parent,configdict,title,label=['游戏ID MD5' ,'原文','翻译'] ,_=None) -> None:
|
def closeEvent(self, a0: QCloseEvent) -> None:
|
||||||
|
self.button.setFocus()
|
||||||
|
rows=self.model.rowCount()
|
||||||
|
newdict={}
|
||||||
|
for row in range(rows):
|
||||||
|
if self.model.item(row,1).text()=="":
|
||||||
|
continue
|
||||||
|
if self.model.item(row,1).text() not in newdict:
|
||||||
|
newdict[self.model.item(row,1).text()]=[self.model.item(row,0).text(),self.model.item(row,2).text()]
|
||||||
|
else:
|
||||||
|
newdict[self.model.item(row,1).text()]+=[self.model.item(row,0).text(),self.model.item(row,2).text()]
|
||||||
|
self.configdict['dict']=newdict
|
||||||
|
def __init__(self,parent,configdict,title,label=['游戏ID MD5' ,'原文','翻译'] ,_=None) -> None:
|
||||||
super().__init__(parent,Qt.WindowCloseButtonHint)
|
super().__init__(parent,Qt.WindowCloseButtonHint)
|
||||||
|
|
||||||
dialog.setWindowTitle(_TR(title))
|
self.setWindowTitle(_TR(title))
|
||||||
#dialog.setWindowModality(Qt.ApplicationModal)
|
#self.setWindowModality(Qt.ApplicationModal)
|
||||||
|
|
||||||
formLayout = QVBoxLayout(dialog) # 配置layout
|
formLayout = QVBoxLayout(self) # 配置layout
|
||||||
|
|
||||||
model=QStandardItemModel(len(list(configdict['dict'].keys())),1 , dialog)
|
model=QStandardItemModel(len(list(configdict['dict'].keys())),1 , self)
|
||||||
row=0
|
row=0
|
||||||
for key in (configdict['dict']): # 2
|
for key in (configdict['dict']): # 2
|
||||||
if type(configdict['dict'][key])==str:
|
if type(configdict['dict'][key])==str:
|
||||||
@ -263,12 +275,12 @@ class noundictconfigdialog(QDialog):
|
|||||||
model.setItem(row, 2, item)
|
model.setItem(row, 2, item)
|
||||||
row+=1
|
row+=1
|
||||||
model.setHorizontalHeaderLabels(_TRL(label))
|
model.setHorizontalHeaderLabels(_TRL(label))
|
||||||
table = QTableView(dialog)
|
table = QTableView(self)
|
||||||
table.setModel(model)
|
table.setModel(model)
|
||||||
table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
|
table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
|
||||||
#table.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
#table.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
||||||
#table.clicked.connect(self.show_info)
|
#table.clicked.connect(self.show_info)
|
||||||
button=QPushButton(dialog)
|
button=QPushButton(self)
|
||||||
button.setText(_TR('添加行'))
|
button.setText(_TR('添加行'))
|
||||||
def clicked1():
|
def clicked1():
|
||||||
try:
|
try:
|
||||||
@ -278,13 +290,13 @@ class noundictconfigdialog(QDialog):
|
|||||||
print_exc()
|
print_exc()
|
||||||
model.insertRow(0,[QStandardItem('0'),QStandardItem(''),QStandardItem('')])
|
model.insertRow(0,[QStandardItem('0'),QStandardItem(''),QStandardItem('')])
|
||||||
button.clicked.connect(clicked1)
|
button.clicked.connect(clicked1)
|
||||||
button2=QPushButton(dialog)
|
button2=QPushButton(self)
|
||||||
button2.setText(_TR('删除选中行'))
|
button2.setText(_TR('删除选中行'))
|
||||||
def clicked2():
|
def clicked2():
|
||||||
|
|
||||||
model.removeRow(table.currentIndex().row())
|
model.removeRow(table.currentIndex().row())
|
||||||
button2.clicked.connect(clicked2)
|
button2.clicked.connect(clicked2)
|
||||||
button5=QPushButton(dialog)
|
button5=QPushButton(self)
|
||||||
button5.setText(_TR('设置所有词条为全局词条'))
|
button5.setText(_TR('设置所有词条为全局词条'))
|
||||||
def clicked5():
|
def clicked5():
|
||||||
rows=model.rowCount()
|
rows=model.rowCount()
|
||||||
@ -292,20 +304,6 @@ class noundictconfigdialog(QDialog):
|
|||||||
model.item(row,0).setText('0')
|
model.item(row,0).setText('0')
|
||||||
button5.clicked.connect(clicked5)
|
button5.clicked.connect(clicked5)
|
||||||
|
|
||||||
def clicked3(_):
|
|
||||||
button.setFocus()
|
|
||||||
rows=model.rowCount()
|
|
||||||
newdict={}
|
|
||||||
for row in range(rows):
|
|
||||||
if model.item(row,1).text()=="":
|
|
||||||
continue
|
|
||||||
if model.item(row,1).text() not in newdict:
|
|
||||||
newdict[model.item(row,1).text()]=[model.item(row,0).text(),model.item(row,2).text()]
|
|
||||||
else:
|
|
||||||
newdict[model.item(row,1).text()]+=[model.item(row,0).text(),model.item(row,2).text()]
|
|
||||||
configdict['dict']=newdict
|
|
||||||
|
|
||||||
dialog.closeEvent=clicked3
|
|
||||||
search=QHBoxLayout()
|
search=QHBoxLayout()
|
||||||
searchcontent=QLineEdit()
|
searchcontent=QLineEdit()
|
||||||
search.addWidget(searchcontent)
|
search.addWidget(searchcontent)
|
||||||
@ -341,7 +339,9 @@ class noundictconfigdialog(QDialog):
|
|||||||
button5.clicked.connect(lambda x:gobject.baseobject.__setattr__('currentmd5',md5content.text()))
|
button5.clicked.connect(lambda x:gobject.baseobject.__setattr__('currentmd5',md5content.text()))
|
||||||
button5.setText(_TR('修改'))
|
button5.setText(_TR('修改'))
|
||||||
setmd5layout.addWidget(button5)
|
setmd5layout.addWidget(button5)
|
||||||
|
self.button=button
|
||||||
|
self.model=model
|
||||||
|
self.configdict=configdict
|
||||||
formLayout.addLayout(setmd5layout)
|
formLayout.addLayout(setmd5layout)
|
||||||
dialog.resize(QSize(600,400))
|
self.resize(QSize(600,400))
|
||||||
dialog.show()
|
self.show()
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version":"v2.36.1",
|
"version":"v2.36.2",
|
||||||
"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"],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user