diff --git a/src/LunaTranslator/cishu/cishubase.py b/src/LunaTranslator/cishu/cishubase.py
index bcf44e51..5ab3be77 100644
--- a/src/LunaTranslator/cishu/cishubase.py
+++ b/src/LunaTranslator/cishu/cishubase.py
@@ -4,6 +4,11 @@ from traceback import print_exc
from myutils.proxy import getproxy
+class DictTree:
+ def text(self) -> str: ...
+ def childrens(self) -> list: ...
+
+
class cishubase:
typename = None
diff --git a/src/LunaTranslator/cishu/edict.py b/src/LunaTranslator/cishu/edict.py
index 3a780a64..5c0ecfbf 100644
--- a/src/LunaTranslator/cishu/edict.py
+++ b/src/LunaTranslator/cishu/edict.py
@@ -1,7 +1,7 @@
import sqlite3, os
import winsharedutils, re
from myutils.utils import argsort, autosql
-from cishu.cishubase import cishubase
+from cishu.cishubase import cishubase, DictTree
class edict(cishubase):
@@ -41,3 +41,19 @@ class edict(cishubase):
saveres.append(x[0] + "
" + re.sub("/EntL.*/", "", x[1][1:]))
return "
".join(saveres)
+
+ def tree(self):
+ if not self.sql:
+ return
+
+ class DictTreeRoot(DictTree):
+ def __init__(self, ref) -> None:
+ self.ref = ref
+
+ def childrens(self):
+ c = []
+ for _ in self.ref.sql.execute("select text from surface").fetchall():
+ c.append(_[0])
+ return c
+
+ return DictTreeRoot(self)
diff --git a/src/LunaTranslator/cishu/edict2.py b/src/LunaTranslator/cishu/edict2.py
index 817bf243..dfbf14d0 100644
--- a/src/LunaTranslator/cishu/edict2.py
+++ b/src/LunaTranslator/cishu/edict2.py
@@ -2,7 +2,7 @@ import winsharedutils, os
import re
from myutils.utils import argsort
from traceback import print_exc
-from cishu.cishubase import cishubase
+from cishu.cishubase import cishubase, DictTree
class edict2(cishubase):
@@ -43,3 +43,16 @@ class edict2(cishubase):
savew[ii] + "
" + re.sub("/EntL.*/", "", self.save[savew[ii]][1:])
)
return "
".join(saveres)
+
+ def tree(self):
+ if not self.save:
+ return
+
+ class DictTreeRoot(DictTree):
+ def __init__(self, ref) -> None:
+ self.ref = ref
+
+ def childrens(self):
+ return list(self.ref.save.keys())
+
+ return DictTreeRoot(self)
diff --git a/src/LunaTranslator/cishu/linggesi.py b/src/LunaTranslator/cishu/linggesi.py
index 044eacbc..a0485b42 100644
--- a/src/LunaTranslator/cishu/linggesi.py
+++ b/src/LunaTranslator/cishu/linggesi.py
@@ -2,7 +2,7 @@ from myutils.utils import autosql
import sqlite3
import winsharedutils
import os
-from cishu.cishubase import cishubase
+from cishu.cishubase import cishubase, DictTree
class linggesi(cishubase):
@@ -48,3 +48,21 @@ class linggesi(cishubase):
x = sorted(list(mp.keys()), key=lambda x: mp[x][1])[: self.config["max_num"]]
save = [w + "
" + mp[w][0] for w in x]
return "
".join(save)
+
+ def tree(self):
+ if not self.sql:
+ return
+
+ class DictTreeRoot(DictTree):
+ def __init__(self, ref) -> None:
+ self.ref = ref
+
+ def childrens(self):
+ c = []
+ for _ in self.ref.sql.execute(
+ "select word from entry"
+ ).fetchall():
+ c.append(_[0])
+ return c
+
+ return DictTreeRoot(self)
diff --git a/src/LunaTranslator/cishu/mdict.py b/src/LunaTranslator/cishu/mdict.py
index 4e94088a..fa7cefa1 100644
--- a/src/LunaTranslator/cishu/mdict.py
+++ b/src/LunaTranslator/cishu/mdict.py
@@ -1,5 +1,5 @@
import math, base64, uuid, gobject
-import threading, time
+from cishu.cishubase import DictTree
class FlexBuffer:
@@ -2032,11 +2032,11 @@ class mdict(cishubase):
distance = self.config["distance"]
return distance
- def gettitle(self, f, index):
+ def gettitle(self, f, index: IndexBuilder):
_ = self.extraconf[f]
title = _["title"]
if title is None:
- t = os.path.basename(f)[:-4]
+ t: str = os.path.basename(f)[:-4]
if index._title.strip() != "":
t1 = index._title.strip()
if (t1.isascii()) and (t.isascii()):
@@ -2086,7 +2086,6 @@ class mdict(cishubase):
self.extraconf = json.loads(ff.read())
except:
self.extraconf = {}
- self.sql = None
paths = self.config["paths"]
self.builders = []
@@ -2629,3 +2628,37 @@ if (content.style.display === 'block') {
return self.generatehtml_tabswitch(allres)
elif self.config["stylehv"] == 1:
return self.generatehtml_flow(allres)
+
+ def tree(self):
+ if len(self.builders) == 0:
+ return
+
+ class everydict(DictTree):
+ def __init__(self, ref, f, index: IndexBuilder) -> None:
+ self.f = f
+ self.index = index
+ self.ref = ref
+
+ def text(self):
+ return self.ref.gettitle(self.f, self.index)
+
+ def childrens(self) -> list:
+ return self.index.get_mdx_keys("*")
+
+ class DictTreeRoot(DictTree):
+ def __init__(self, ref) -> None:
+ self.ref = ref
+
+ def childrens(self):
+ saves = []
+ for f, index in self.ref.builders:
+ saves.append(
+ (self.ref.getpriority(f), everydict(self.ref, f, index))
+ )
+ saves.sort(key=lambda x: x[0])
+ i = []
+ for _, _i in saves:
+ i.append(_i)
+ return i
+
+ return DictTreeRoot(self)
diff --git a/src/LunaTranslator/cishu/xiaoxueguan.py b/src/LunaTranslator/cishu/xiaoxueguan.py
index de672c4d..0db2385c 100644
--- a/src/LunaTranslator/cishu/xiaoxueguan.py
+++ b/src/LunaTranslator/cishu/xiaoxueguan.py
@@ -1,8 +1,7 @@
import sqlite3, os, re
import winsharedutils
from myutils.utils import argsort, autosql
-
-from cishu.cishubase import cishubase
+from cishu.cishubase import cishubase, DictTree
class xiaoxueguan(cishubase):
@@ -48,3 +47,21 @@ class xiaoxueguan(cishubase):
srt = argsort(dis)[: self.config["max_num"]]
save = ["" + exp[i][1].replace("\\n", "") for i in srt]
return "
".join(save)
+
+ def tree(self):
+ if not self.sql:
+ return
+
+ class DictTreeRoot(DictTree):
+ def __init__(self, ref) -> None:
+ self.ref = ref
+
+ def childrens(self):
+ c = []
+ for _ in self.ref.sql.execute(
+ "select word from xiaoxueguanrizhong"
+ ).fetchall():
+ c.append(_[0])
+ return c
+
+ return DictTreeRoot(self)
diff --git a/src/LunaTranslator/gui/dialog_savedgame_v3.py b/src/LunaTranslator/gui/dialog_savedgame_v3.py
index 192b9a92..3ae54c4b 100644
--- a/src/LunaTranslator/gui/dialog_savedgame_v3.py
+++ b/src/LunaTranslator/gui/dialog_savedgame_v3.py
@@ -1,5 +1,3 @@
-from PyQt5.QtCore import Qt
-from PyQt5.QtWidgets import QWidget
from qtsymbols import *
import os, functools, uuid, threading, shutil, time
from traceback import print_exc
diff --git a/src/LunaTranslator/gui/setting_cishu.py b/src/LunaTranslator/gui/setting_cishu.py
index 08476684..04c04686 100644
--- a/src/LunaTranslator/gui/setting_cishu.py
+++ b/src/LunaTranslator/gui/setting_cishu.py
@@ -13,6 +13,7 @@ from gui.usefulwidget import (
auto_select_webview,
)
from gui.setting_display_text import on_not_find_qweb
+from gui.showword import showdiction
def setTabcishu(self, basel):
@@ -220,6 +221,10 @@ def setTabcishu_l(self):
lambda: gobject.baseobject.searchwordW.showsignal.emit(),
"fa.search",
),
+ D_getIconButton(
+ lambda: showdiction(self).show(),
+ "fa.book",
+ ),
"",
"辞书显示顺序",
D_getIconButton(
@@ -235,12 +240,14 @@ def setTabcishu_l(self):
1,
),
"",
+ "",
("点击单词复制"),
(
D_getsimpleswitch(globalconfig, "usecopyword"),
1,
),
"",
+ "",
("使用原型查询"),
(
D_getsimpleswitch(globalconfig, "usewordorigin"),
diff --git a/src/LunaTranslator/gui/showword.py b/src/LunaTranslator/gui/showword.py
index dc453e31..07421d05 100644
--- a/src/LunaTranslator/gui/showword.py
+++ b/src/LunaTranslator/gui/showword.py
@@ -30,7 +30,15 @@ from gui.usefulwidget import (
saveposwindow,
tabadd_lazy,
)
-from gui.dynalang import LPushButton, LLabel, LTabWidget, LTabBar, LFormLayout, LLabel
+from gui.dynalang import (
+ LPushButton,
+ LLabel,
+ LTabWidget,
+ LTabBar,
+ LFormLayout,
+ LLabel,
+ LMainWindow,
+)
def getimageformatlist():
@@ -750,6 +758,92 @@ class CustomTabBar(LTabBar):
return self.savesizehint
+from cishu.cishubase import DictTree
+
+DictNodeRole = Qt.ItemDataRole.UserRole + 1
+DeterminedhasChildren = DictNodeRole + 1
+isWordNode = DeterminedhasChildren + 1
+
+
+class DynamicTreeModel(QStandardItemModel):
+ def __init__(self):
+ super().__init__()
+
+ def hasChildren(self, index):
+ if self.data(index, isWordNode):
+ return False
+ _DeterminedhasChildren = self.data(index, DeterminedhasChildren)
+ if _DeterminedhasChildren is not None:
+ return _DeterminedhasChildren
+ return self.data(index, DictNodeRole) is not None
+
+ def loadChildren(self, index: QModelIndex):
+ if not index.isValid():
+ return
+ if self.data(index, isWordNode):
+ return
+ if self.data(index, DeterminedhasChildren) is not None:
+ return
+ node: DictTree = self.data(index, DictNodeRole)
+ if not node:
+ return
+ childs = node.childrens()
+ self.setData(index, len(childs) > 0, DeterminedhasChildren)
+ thisitem = self.itemFromIndex(index)
+ for c in childs:
+ if isinstance(c, str):
+ t = c
+ has = False
+ else:
+ t = c.text()
+ has = True
+ item = QStandardItem(t)
+ if has:
+ item.setData(c, DictNodeRole)
+ else:
+ item.setData(True, isWordNode)
+ thisitem.appendRow([item])
+
+ def onDoubleClicked(self, index: QModelIndex):
+ if not self.data(index, isWordNode):
+ return
+ gobject.baseobject.searchwordW.search_word.emit(self.itemFromIndex(index).text(), False)
+
+class showdiction(LMainWindow):
+ def __init__(self, parent):
+ super(showdiction, self).__init__(parent)
+ self.resize(400, parent.height())
+ self.setWindowTitle("查看")
+ self.tree = QTreeView(self)
+ self.tree.setHeaderHidden(True)
+ self.tree.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
+ self.setCentralWidget(self.tree)
+
+ self.model = DynamicTreeModel()
+ self.tree.setModel(self.model)
+ self.tree.expanded.connect(self.model.loadChildren)
+ root = self.model.invisibleRootItem()
+ self.tree.doubleClicked.connect(self.model.onDoubleClicked)
+ good = False
+ for k in globalconfig["cishuvisrank"]:
+ cishu = gobject.baseobject.cishus[k]
+
+ if not hasattr(cishu, "tree"):
+ continue
+ try:
+ tree = cishu.tree()
+ except:
+ continue
+ if not tree:
+ continue
+
+ item = QStandardItem(globalconfig["cishu"][k]["name"])
+ item.setData(tree, DictNodeRole)
+ root.appendRow([item])
+ good = True
+ root.setData(good, DeterminedhasChildren)
+
+
class searchwordW(closeashidewindow):
search_word = pyqtSignal(str, bool)
show_dict_result = pyqtSignal(float, str, str)
diff --git a/src/LunaTranslator/qtsymbols.py b/src/LunaTranslator/qtsymbols.py
index bbfec424..db7ddc96 100644
--- a/src/LunaTranslator/qtsymbols.py
+++ b/src/LunaTranslator/qtsymbols.py
@@ -1,6 +1,6 @@
try:
from PyQt5 import QtSvg
- from PyQt5.QtWidgets import QFrame,QListView,QCheckBox,QAbstractItemView,QTextEdit,QTableView,QHeaderView,QColorDialog,QSpinBox,QDoubleSpinBox,QComboBox,QDialogButtonBox,QMainWindow,QMessageBox,QDialog,QGridLayout,QTextBrowser,QGraphicsDropShadowEffect,QWidget,QSizePolicy,QScrollArea,QApplication,QPushButton,QSystemTrayIcon,QPlainTextEdit,QAction,QMenu,QFileDialog,QKeySequenceEdit,QLabel,QSpacerItem,QWidgetItem,QLayout,QTextBrowser,QLineEdit,QFormLayout,QSizePolicy,QTabWidget,QTabBar,QSplitter,QListWidget,QListWidgetItem,QHBoxLayout,QVBoxLayout,QSizeGrip,QFontComboBox,QProgressBar,QRadioButton,QButtonGroup,QSlider,QToolTip,QGroupBox,QGraphicsOpacityEffect,QStackedWidget,QStyledItemDelegate,QStyleOptionViewItem,QFontDialog
+ from PyQt5.QtWidgets import QFrame,QListView,QCheckBox,QAbstractItemView,QTextEdit,QTableView,QHeaderView,QColorDialog,QSpinBox,QDoubleSpinBox,QComboBox,QDialogButtonBox,QMainWindow,QMessageBox,QDialog,QGridLayout,QTextBrowser,QGraphicsDropShadowEffect,QWidget,QSizePolicy,QScrollArea,QApplication,QPushButton,QSystemTrayIcon,QPlainTextEdit,QAction,QMenu,QFileDialog,QKeySequenceEdit,QLabel,QSpacerItem,QWidgetItem,QLayout,QTextBrowser,QLineEdit,QFormLayout,QSizePolicy,QTabWidget,QTabBar,QSplitter,QListWidget,QListWidgetItem,QHBoxLayout,QVBoxLayout,QSizeGrip,QFontComboBox,QProgressBar,QRadioButton,QButtonGroup,QSlider,QToolTip,QGroupBox,QGraphicsOpacityEffect,QStackedWidget,QStyledItemDelegate,QStyleOptionViewItem,QFontDialog,QTreeView
from PyQt5.QtGui import QIconEngine,QIntValidator,QStandardItem,QStandardItemModel,QImageWriter,QIcon,QTextCharFormat,QTextBlockFormat,QResizeEvent,QTextCursor,QFontMetricsF,QMouseEvent,QImage,QPainter,QRegion,QCloseEvent,QFontDatabase,QKeySequence,QPixmap,QCursor,QColor,QFont,QPen,QPainterPath,QBrush,QFontMetrics,QShowEvent,QWheelEvent,QPaintEvent,QTextLayout, QTextOption,QDragEnterEvent, QDropEvent,QTransform
from PyQt5.QtCore import QObject,pyqtSignal,Qt,QSize,QByteArray,QBuffer,QPointF,QPoint,QRect,QEvent,QModelIndex,QTimer,QRectF,QVariantAnimation,QUrl,QPropertyAnimation,QLocale,QSignalBlocker
isqt5 = True
@@ -11,7 +11,7 @@ except:
#from traceback import print_exc
#print_exc()
from PyQt6 import QtSvg
- from PyQt6.QtWidgets import QFrame,QListView,QCheckBox,QAbstractItemView,QTextEdit,QTableView,QHeaderView,QColorDialog,QSpinBox,QDoubleSpinBox,QComboBox,QDialogButtonBox,QMainWindow,QMessageBox,QDialog,QGridLayout,QTextBrowser,QGraphicsDropShadowEffect,QWidget,QSizePolicy,QScrollArea,QApplication,QPushButton,QSystemTrayIcon,QPlainTextEdit,QMenu,QFileDialog,QKeySequenceEdit,QLabel,QSpacerItem,QWidgetItem,QLayout,QTextBrowser,QLineEdit,QFormLayout,QSizePolicy,QTabWidget,QTabBar,QSplitter,QListWidget,QListWidgetItem,QHBoxLayout,QVBoxLayout,QSizeGrip,QFontComboBox,QProgressBar,QRadioButton,QButtonGroup,QSlider,QToolTip,QGroupBox,QGraphicsOpacityEffect,QStackedWidget
+ from PyQt6.QtWidgets import QFrame,QListView,QCheckBox,QAbstractItemView,QTextEdit,QTableView,QHeaderView,QColorDialog,QSpinBox,QDoubleSpinBox,QComboBox,QDialogButtonBox,QMainWindow,QMessageBox,QDialog,QGridLayout,QTextBrowser,QGraphicsDropShadowEffect,QWidget,QSizePolicy,QScrollArea,QApplication,QPushButton,QSystemTrayIcon,QPlainTextEdit,QMenu,QFileDialog,QKeySequenceEdit,QLabel,QSpacerItem,QWidgetItem,QLayout,QTextBrowser,QLineEdit,QFormLayout,QSizePolicy,QTabWidget,QTabBar,QSplitter,QListWidget,QListWidgetItem,QHBoxLayout,QVBoxLayout,QSizeGrip,QFontComboBox,QProgressBar,QRadioButton,QButtonGroup,QSlider,QToolTip,QGroupBox,QGraphicsOpacityEffect,QStackedWidget,QTreeView
from PyQt6.QtGui import QIconEngine,QIntValidator,QAction,QStandardItem,QStandardItemModel,QImageWriter,QIcon,QTextCharFormat,QTextBlockFormat,QResizeEvent,QTextCursor,QFontMetricsF,QMouseEvent,QImage,QPainter,QRegion,QCloseEvent,QFontDatabase,QKeySequence,QPixmap,QCursor,QColor,QFont,QPen,QPainterPath,QBrush,QFontMetrics,QShowEvent,QWheelEvent,QPaintEvent,QTextLayout, QTextOption
from PyQt6.QtCore import QObject,pyqtSignal,Qt,QSize,QByteArray,QBuffer,QPointF,QPoint,QRect,QEvent,QModelIndex,QTimer,QRectF,QVariantAnimation,QUrl,QPropertyAnimation,QLocale
isqt5 = False
diff --git a/src/files/lang/ar.json b/src/files/lang/ar.json
index d35303eb..cb3be965 100644
--- a/src/files/lang/ar.json
+++ b/src/files/lang/ar.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "بايدو ترجمة منصة مفتوحة",
"百度智能云": "بايدو سحابة ذكية",
"(支持gpt词典)": "( دعم قاموس GPT )",
- "日志": "سجل ."
+ "日志": "سجل .",
+ "查看": "عرض ."
}
\ No newline at end of file
diff --git a/src/files/lang/cht.json b/src/files/lang/cht.json
index 937642ef..1c9f8bd7 100644
--- a/src/files/lang/cht.json
+++ b/src/files/lang/cht.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "百度翻譯開放平台",
"百度智能云": "百度智慧雲",
"(支持gpt词典)": "(支援 GPT 詞典)",
- "日志": "日誌"
+ "日志": "日誌",
+ "查看": "查看"
}
\ No newline at end of file
diff --git a/src/files/lang/cs.json b/src/files/lang/cs.json
index 911c24fb..e74fdac5 100644
--- a/src/files/lang/cs.json
+++ b/src/files/lang/cs.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "Baidu Translation Open Platform",
"百度智能云": "Cloud AI Baidu",
"(支持gpt词典)": "(Podporuje GPT slovník)",
- "日志": "deník"
+ "日志": "deník",
+ "查看": "viz"
}
\ No newline at end of file
diff --git a/src/files/lang/de.json b/src/files/lang/de.json
index 20a64df3..c475ae4b 100644
--- a/src/files/lang/de.json
+++ b/src/files/lang/de.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "Baidu Translation Open Platform",
"百度智能云": "Baidu AI Cloud",
"(支持gpt词典)": "(Unterstützt GPT Wörterbuch)",
- "日志": "Journal"
+ "日志": "Journal",
+ "查看": "siehe"
}
\ No newline at end of file
diff --git a/src/files/lang/en.json b/src/files/lang/en.json
index 799ebfcd..aa6c36c1 100644
--- a/src/files/lang/en.json
+++ b/src/files/lang/en.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "Baidu Translation Open Platform",
"百度智能云": "Baidu AI Cloud",
"(支持gpt词典)": "(Supports GPT dictionary)",
- "日志": "journal"
+ "日志": "journal",
+ "查看": "see"
}
\ No newline at end of file
diff --git a/src/files/lang/es.json b/src/files/lang/es.json
index b1e63d5c..6b45a8ac 100644
--- a/src/files/lang/es.json
+++ b/src/files/lang/es.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "Baidu Translation Open Platform",
"百度智能云": "Baidu SMART Cloud",
"(支持gpt词典)": "(admite diccionarios gpt)",
- "日志": "Diario"
+ "日志": "Diario",
+ "查看": "Ver"
}
\ No newline at end of file
diff --git a/src/files/lang/fr.json b/src/files/lang/fr.json
index ad62c8a9..b5a80396 100644
--- a/src/files/lang/fr.json
+++ b/src/files/lang/fr.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "Baidu traduction plateforme ouverte",
"百度智能云": "Baidu intelligent Cloud",
"(支持gpt词典)": "(support du dictionnaire GPT)",
- "日志": "Logs"
+ "日志": "Logs",
+ "查看": "Voir"
}
\ No newline at end of file
diff --git a/src/files/lang/it.json b/src/files/lang/it.json
index 8aaf07ba..0116f81f 100644
--- a/src/files/lang/it.json
+++ b/src/files/lang/it.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "Piattaforma aperta di traduzione Baidu",
"百度智能云": "Baidu AI Cloud",
"(支持gpt词典)": "(Supporta il dizionario GPT)",
- "日志": "diario"
+ "日志": "diario",
+ "查看": "vedi"
}
\ No newline at end of file
diff --git a/src/files/lang/ja.json b/src/files/lang/ja.json
index e26ae6f9..b583fed8 100644
--- a/src/files/lang/ja.json
+++ b/src/files/lang/ja.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "百度翻訳オープンプラットフォーム",
"百度智能云": "百度知能クラウド",
"(支持gpt词典)": "(gpt辞書対応)",
- "日志": "ログ#ログ#"
+ "日志": "ログ#ログ#",
+ "查看": "表示#ヒョウジ#"
}
\ No newline at end of file
diff --git a/src/files/lang/ko.json b/src/files/lang/ko.json
index a2b75517..56f27f57 100644
--- a/src/files/lang/ko.json
+++ b/src/files/lang/ko.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "바이두 번역 오픈 플랫폼",
"百度智能云": "바이두 스마트 클라우드",
"(支持gpt词典)": "(gpt 사전 지원)",
- "日志": "로그"
+ "日志": "로그",
+ "查看": "보기"
}
\ No newline at end of file
diff --git a/src/files/lang/nl.json b/src/files/lang/nl.json
index e4334636..5ea626b8 100644
--- a/src/files/lang/nl.json
+++ b/src/files/lang/nl.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "Baidu Translation Open Platform",
"百度智能云": "Baidu AI Cloud",
"(支持gpt词典)": "(Ondersteunt GPT woordenboek)",
- "日志": "dagboek"
+ "日志": "dagboek",
+ "查看": "zie"
}
\ No newline at end of file
diff --git a/src/files/lang/pl.json b/src/files/lang/pl.json
index 3b6fe6c0..b7310eff 100644
--- a/src/files/lang/pl.json
+++ b/src/files/lang/pl.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "Otwarta platforma tłumaczeń Baidu",
"百度智能云": "Chmura AI Baidu",
"(支持gpt词典)": "(Obsługuje słownik GPT)",
- "日志": "dziennik"
+ "日志": "dziennik",
+ "查看": "zobacz"
}
\ No newline at end of file
diff --git a/src/files/lang/pt.json b/src/files/lang/pt.json
index 88b82f81..44a22247 100644
--- a/src/files/lang/pt.json
+++ b/src/files/lang/pt.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "Plataforma Aberta de Tradução Baidu",
"百度智能云": "Nuvem AI Baidu",
"(支持gpt词典)": "(Suporta dicionário GPT)",
- "日志": "diário"
+ "日志": "diário",
+ "查看": "ver"
}
\ No newline at end of file
diff --git a/src/files/lang/ru.json b/src/files/lang/ru.json
index 074dc0d3..af46fce9 100644
--- a/src/files/lang/ru.json
+++ b/src/files/lang/ru.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "Открытая платформа для перевода.",
"百度智能云": "Сто умных облаков",
"(支持gpt词典)": "(Поддержка словаря GPT)",
- "日志": "Журнал"
+ "日志": "Журнал",
+ "查看": "Посмотреть"
}
\ No newline at end of file
diff --git a/src/files/lang/sv.json b/src/files/lang/sv.json
index 696497c6..824c13cf 100644
--- a/src/files/lang/sv.json
+++ b/src/files/lang/sv.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "Öppen plattform för översättning av Baidu",
"百度智能云": "Baidu AI- molnName",
"(支持gpt词典)": "(Stöder GPT-ordlista)",
- "日志": "journal"
+ "日志": "journal",
+ "查看": "se"
}
\ No newline at end of file
diff --git a/src/files/lang/th.json b/src/files/lang/th.json
index f4e7ddcc..74555e63 100644
--- a/src/files/lang/th.json
+++ b/src/files/lang/th.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "แพลตฟอร์มเปิด Baidu Translation",
"百度智能云": "Baidu สมาร์ทคลาวด์",
"(支持gpt词典)": "(รองรับพจนานุกรม gpt)",
- "日志": "บันทึกประจำวัน"
+ "日志": "บันทึกประจำวัน",
+ "查看": "ดู"
}
\ No newline at end of file
diff --git a/src/files/lang/tr.json b/src/files/lang/tr.json
index 01c3d92f..b6f2224b 100644
--- a/src/files/lang/tr.json
+++ b/src/files/lang/tr.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "Baidu Çeviri Açık Platformu",
"百度智能云": "Baidu AI Bulud",
"(支持gpt词典)": "(GPT sözlük destekliyor)",
- "日志": "Günlük"
+ "日志": "Günlük",
+ "查看": "Gördün mü?"
}
\ No newline at end of file
diff --git a/src/files/lang/uk.json b/src/files/lang/uk.json
index cb51664d..a9edee78 100644
--- a/src/files/lang/uk.json
+++ b/src/files/lang/uk.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "Відкрита платформа перекладу Baidu",
"百度智能云": "Хмари Baidu AIweather condition",
"(支持gpt词典)": "(Підтримує словник GPT)",
- "日志": "журнал"
+ "日志": "журнал",
+ "查看": "див."
}
\ No newline at end of file
diff --git a/src/files/lang/vi.json b/src/files/lang/vi.json
index b0f0b069..8d0eaed2 100644
--- a/src/files/lang/vi.json
+++ b/src/files/lang/vi.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "100 phiên dịch mở",
"百度智能云": "100 đám mây thông minh",
"(支持gpt词典)": "(Hỗ trợ GPT Dictionary)",
- "日志": "Đăng nhập"
+ "日志": "Đăng nhập",
+ "查看": "Xem thêm"
}
\ No newline at end of file
diff --git a/src/files/lang/zh.json b/src/files/lang/zh.json
index f41c4817..1ff05080 100644
--- a/src/files/lang/zh.json
+++ b/src/files/lang/zh.json
@@ -810,5 +810,6 @@
"百度翻译开放平台": "",
"百度智能云": "",
"(支持gpt词典)": "",
- "日志": ""
+ "日志": "",
+ "查看": ""
}
\ No newline at end of file
diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt
index 9b223522..0d68dfea 100644
--- a/src/plugins/CMakeLists.txt
+++ b/src/plugins/CMakeLists.txt
@@ -28,8 +28,8 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/version)
include(generate_product_version)
set(VERSION_MAJOR 5)
-set(VERSION_MINOR 45)
-set(VERSION_PATCH 7)
+set(VERSION_MINOR 46)
+set(VERSION_PATCH 0)
add_library(pch pch.cpp)
target_precompile_headers(pch PUBLIC pch.h)