This commit is contained in:
恍兮惚兮 2024-12-04 17:03:33 +08:00
parent 5db5643d34
commit 6e8ef2bd0d
45 changed files with 449 additions and 887 deletions

View File

@ -1,7 +1,7 @@
set(VERSION_MAJOR 6)
set(VERSION_MINOR 9)
set(VERSION_PATCH 7)
set(VERSION_MINOR 10)
set(VERSION_PATCH 0)
set(VERSION_REVISION 0)
set(LUNA_VERSION "{${VERSION_MAJOR},${VERSION_MINOR},${VERSION_PATCH},${VERSION_REVISION}}")
add_library(VERSION_DEF ${CMAKE_CURRENT_LIST_DIR}/version_def.cpp)

View File

@ -19,6 +19,7 @@ from gui.usefulwidget import (
getspinbox,
SplitLine,
getIconButton,
VisLFormLayout,
)
from gui.dynalang import (
LFormLayout,
@ -464,7 +465,7 @@ class autoinitdialog__(LDialog):
print_exc()
self.show()
return
formLayout = LFormLayout()
formLayout = VisLFormLayout()
self.setLayout(formLayout)
regist = {}
@ -596,6 +597,9 @@ class autoinitdialog__(LDialog):
)
)
lineW.addWidget(combo)
_w = QWidget()
_w.setLayout(lineW)
lineW = _w
elif line["type"] == "okcancel":
lineW = QDialogButtonBox(
QDialogButtonBox.StandardButton.Ok
@ -631,7 +635,9 @@ class autoinitdialog__(LDialog):
)
regist[key] = functools.partial(__temp.__getitem__, "k")
_ = QWidget()
_.setLayout(lineW)
lineW = _
elif line["type"] == "switch":
lineW = MySwitch(sign=dd[key])
regist[key] = lineW.isChecked
@ -639,7 +645,9 @@ class autoinitdialog__(LDialog):
_.addStretch()
_.addWidget(lineW)
_.addStretch()
lineW = _
_w = QWidget()
_w.setLayout(_)
lineW = _w
elif line["type"] in ["spin", "intspin"]:
__temp = {"k": dd[key]}
@ -654,13 +662,6 @@ class autoinitdialog__(LDialog):
regist[key] = lineW.value
elif line["type"] == "split":
lineW = SplitLine()
formLayout.addRow(lineW)
continue
refcombo = line.get("refcombo")
if refcombo:
if refcombo not in cachehasref:
cachehasref[refcombo] = []
cachehasref[refcombo].append((lineW, line))
refswitch = line.get("refswitch", None)
if refswitch:
@ -675,12 +676,19 @@ class autoinitdialog__(LDialog):
lineW.setEnabled(dd[key])
hbox.addWidget(switch)
hbox.addWidget(lineW)
lineW = hbox
if "name" in line:
formLayout.addRow(line["name"], lineW)
else:
_ = QWidget()
_.setLayout(hbox)
lineW = _
if ("name" not in line) or (line["type"] == "split"):
formLayout.addRow(lineW)
else:
formLayout.addRow(line["name"], lineW)
refcombo = line.get("refcombo")
if refcombo:
if refcombo not in cachehasref:
cachehasref[refcombo] = []
cachehasref[refcombo].append((lineW, line))
for comboname, refitems in cachehasref.items():
def refcombofunction(refitems, _i):
@ -692,10 +700,7 @@ class autoinitdialog__(LDialog):
vis = linwinfo.get("refcombo_i_r") != _i
elif linwinfo.get("refcombo_l") is not None:
vis = _i in linwinfo.get("refcombo_l")
w.setVisible(vis)
formLayout.itemAt(formLayout.indexOf(w) - 1).widget().setVisible(
vis
)
formLayout.setRowVisible(w, vis)
cachecombo[comboname].currentIndexChanged.connect(
functools.partial(refcombofunction, refitems)
@ -703,6 +708,7 @@ class autoinitdialog__(LDialog):
cachecombo[comboname].currentIndexChanged.emit(
cachecombo[comboname].currentIndex()
)
self.show()

View File

@ -82,7 +82,7 @@ def changerank(item, up, sortlist, savelist, savelay):
def createbuttonwidget(self, lay):
# return table
grids = [["显示", "", "", "对齐", "", "图标", "", "图标2", "", "说明"]]
grids = [["显示", "", "", "对齐", "", "图标", "", "图标_2", "", "说明"]]
sortlist = globalconfig["toolbutton"]["rank2"]
savelist = []
savelay = []

View File

@ -63,8 +63,6 @@ def loadvisinternal(btnplus, copy):
is_gpt_likes, not_is_gpt_like = splitapillm(shoufei)
elif btnplus == "offline":
is_gpt_likes, not_is_gpt_like = splitapillm(lixians)
elif btnplus == "dev":
is_gpt_likes, not_is_gpt_like = splitapillm(develop)
for _ in is_gpt_likes:
if copy:
@ -332,12 +330,6 @@ def createmanybtn(self, countnum, btnplus):
dynamiclink("{docs_server}/#/zh/guochandamoxing")
)
)
elif btnplus == "dev":
btn.clicked.connect(
lambda: gobject.baseobject.openlink(
dynamiclink("{docs_server}/#/zh/tiaoshiliulanqi")
)
)
hbox.addWidget(btn)
setattr(self, "btnmany" + btnplus, w)
return w
@ -442,18 +434,6 @@ def initsome2(self, l, label=None, btnplus=None):
return grids
def statuslabelsettext(self, text):
try:
self.statuslabel.setText(text)
except:
pass
def createstatuslabel(self):
self.statuslabel = LLabel()
return self.statuslabel
def createbtnexport(self):
@ -543,56 +523,21 @@ def setTabTwo_lazy(self, basel: QVBoxLayout):
{"type": "okcancel"},
]
developgrid = [
[
(
dict(
title="Chromium_设置",
type="grid",
grid=(
[
"路径",
D_getIconButton(
callback=functools.partial(
autoinitdialog,
self,
globalconfig,
"Chromium_路径",
800,
_items,
),
icon="fa.gear",
),
"",
"端口号",
D_getspinbox(0, 65535, globalconfig, "debugport"),
"",
],
[(functools.partial(createstatuslabel, self), 0)],
),
),
0,
"group",
)
],
]
lixians, pre, mianfei, develop, shoufei = splittranslatortypes()
offlinegrid = initsome2(self, lixians, btnplus="offline")
onlinegrid = initsome11(self, mianfei)
developgrid += initsome2(self, develop, btnplus="dev")
online_reg_grid += initsome2(self, shoufei, btnplus="api")
pretransgrid += initsome11(self, pre)
gridlayoutwidget, do = makegrid(grids, delay=True)
basel.addWidget(gridlayoutwidget)
tab, dotab = makesubtab_lazy(
["在线翻译", "注册在线翻译", "离线翻译", "调试浏览器", "预翻译"],
["在线翻译", "注册在线翻译", "离线翻译", "预翻译"],
[
functools.partial(makescrollgrid, onlinegrid),
functools.partial(makescrollgrid, online_reg_grid),
functools.partial(makescrollgrid, offlinegrid),
functools.partial(makescrollgrid, developgrid),
functools.partial(makescrollgrid, pretransgrid),
],
delay=True,

View File

@ -2493,3 +2493,50 @@ class LRButton(LPushButton):
if ev.button() == Qt.MouseButton.RightButton:
self.rightclick.emit()
return super().mouseReleaseEvent(ev)
class VisLFormLayout(LFormLayout):
# 简易实现
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self._row_widgets = {}
self._reverse = {}
self._row_vis = {}
def addRow(self, label_or_field, field=None):
row_index = self.rowCount()
if field is None:
super().addRow(label_or_field)
field = label_or_field
label_or_field = None
else:
super().addRow(label_or_field, field)
self._row_widgets[row_index] = (label_or_field, field)
self._row_vis[row_index] = True
self._reverse[field] = row_index
return row_index
def setRowVisible(self, row_index, visible):
if isinstance(row_index, int):
pass
elif isinstance(row_index, QWidget):
row_index = self._reverse[row_index]
if self._row_vis[row_index] == visible:
return
insert_position = sum(1 for i in range(row_index) if self._row_vis[i])
if visible:
label, field = self._row_widgets[row_index]
if label is not None:
super().insertRow(insert_position, label, field)
else:
super().insertRow(insert_position, field)
if not field.isVisible():
field.setVisible(True)
else:
tres = self.takeRow(insert_position)
label = tres.labelItem
if label is not None:
self.removeItem(label)
label.widget().deleteLater()
tres.fieldItem.widget().hide()
self._row_vis[row_index] = visible

View File

@ -586,14 +586,14 @@ def loadlanguage():
def _TR(k: str):
if not k:
return ""
if isascii(k):
return k
loadlanguage()
if "_" in k:
splits = k.split("_")
return " ".join([_TR(_) for _ in splits])
if k.startswith("(") and k.endswith(")"):
return "(" + _TR(k[1:-1]) + ")"
if isascii(k):
return k
loadlanguage()
__ = languageshow.get(k)
if __:
return __

View File

@ -359,7 +359,7 @@ def splittranslatortypes():
pre, offline, free, dev, api = [], [], [], [], []
for k in globalconfig["fanyi"]:
try:
{"pre": pre, "offline": offline, "free": free, "dev": dev, "api": api}[
{"pre": pre, "offline": offline, "free": free, "api": api}[
globalconfig["fanyi"][k].get("type", "free")
].append(k)
except:
@ -1041,7 +1041,6 @@ def getannotatedapiname(x):
+ {
"free": "在线翻译",
"api": "注册在线翻译",
"dev": "调试浏览器",
"pre": "预翻译",
"offline": "离线翻译",
}.get(tp, "unknown type")

View File

@ -1,31 +0,0 @@
from translator.basetranslator_dev import basetransdev
class TS(basetransdev):
target_url = "https://fanyi.baidu.com/mtpe-individual/multimodal"
def langmap(self):
return {
"es": "spa",
"ko": "kor",
"fr": "fra",
"ja": "jp",
"cht": "cht",
"vi": "vie",
"uk": "ukr",
"ar": "ara",
"sv": "swe",
"la": "lat",
}
def translate(self, content):
self.Runtime_evaluate(
"""document.querySelector("#editor-text > div.AZLVLJHb > div.Ssl84aLh > span").click()"""
)
self.Runtime_evaluate(
"""document.querySelector("#editor-text > div.AZLVLJHb > div.Ssl84aLh > div.NNh5PamB.GEptIbSX > div > div").click()"""
)
self.send_keys(content)
return self.wait_for_result(
"""document.querySelector("#trans-selection").innerText"""
)

View File

@ -1,16 +0,0 @@
from translator.basetranslator_dev import basetransdev
class TS(basetransdev):
target_url = "https://www.bing.com/translator/"
def check_url_is_translator_url(self, url):
return ".bing.com/translator/" in url
def translate(self, content):
self.Runtime_evaluate('document.getElementById("tta_clear").click();')
self.Runtime_evaluate('document.querySelector("#tta_input_ta").click();')
self.send_keys(content)
return self.wait_for_result(
"document.getElementById('tta_output_ta').value", " ..."
)

View File

@ -0,0 +1,62 @@
from translator.basetranslator import basetrans
from translator.cdp_helper import cdp_helperllm
from myutils.utils import createenglishlangmap
class chatgpt(cdp_helperllm):
target_url = "https://chatgpt.com/"
jsfile = "commonhookfetchstream.js"
function1 = 'url.includes("conversation")'
function2 = r"""thistext += typeof(chunk.v)=='string'?chunk.v:(chunk.v[0]?(chunk.v[0].o=='append'?chunk.v[0].v:''):'')"""
textarea_selector = "#prompt-textarea"
button_selector = 'button[data-testid="send-button"]'
class chatgpt_mirror(cdp_helperllm):
@property
def target_url(self):
return self.config["target_url"]
@property
def jsfile(self):
return ["commonhookfetchstream.js", "commonhookxhrstream"][
self.config["request_method"]
]
@property
def function1(self):
return self.config["checkneturlfunction"]
@property
def function2(self):
return self.config["extracttextfunction"]
@property
def button_selector(self):
return self.config["button_selector"]
@property
def textarea_selector(self):
return self.config["textarea_selector"]
class TS(basetrans):
def langmap(self):
return createenglishlangmap()
def inittranslator(self):
self.devtool = None
self.checkinterface()
def checkinterface(self):
if (self.config["usewhich"] == 0) and (not isinstance(self.devtool, chatgpt)):
self.devtool = chatgpt(self)
elif (self.config["usewhich"] == 1) and (
not isinstance(self.devtool, chatgpt_mirror)
):
self.devtool = chatgpt_mirror(self)
def translate(self, content):
self.checkinterface()
return self.devtool.translate(content)

View File

@ -5,7 +5,6 @@ from myutils.wrapper import threader
from myutils.utils import checkportavailable
from myutils.subproc import subproc_w
import websocket, time, queue, os
from gui.setting_translate import statuslabelsettext
class Commonloadchromium:
@ -32,18 +31,18 @@ class Commonloadchromium:
port = globalconfig["debugport"]
_path = self.getpath()
if not _path:
statuslabelsettext(self, "No Chromium Found")
print("No Chromium Found")
return
try:
requests.get("http://127.0.0.1:{}/json/list".format(port)).json()
statuslabelsettext(self, "连接成功")
print("连接成功")
except:
if checkportavailable(port):
statuslabelsettext(self, "连接失败")
print("连接失败")
call = self.gencmd(_path, port)
self.engine = subproc_w(call)
else:
statuslabelsettext(self, "端口冲突")
print("端口冲突")
def gencmd(self, path, port):
hash_ = hashlib.md5(path.encode("utf8")).hexdigest()
@ -63,11 +62,14 @@ class Commonloadchromium:
return None
class basetransdev(basetrans):
class cdp_helper:
target_url = None
commonloadchromium = Commonloadchromium()
def check_url_is_translator_url(self, url):
@property
def using(self):
return True
def check_url_is_translator_url(self, url: str):
return url.startswith(self.target_url)
def Page_navigate(self, url):
@ -95,12 +97,11 @@ class basetransdev(basetrans):
time.sleep(0.1)
#########################################
def _private_init(self):
self.commonloadchromium.maybeload()
def __init__(self):
cdp_helper.commonloadchromium.maybeload()
self._id = 1
self.sendrecvlock = threading.Lock()
self._createtarget()
super()._private_init()
def _SendRequest(self, method, params, ws=None):
if self.using == False:
@ -116,7 +117,7 @@ class basetransdev(basetrans):
)
res = ws.recv()
except requests.RequestException:
self.commonloadchromium.maybeload()
cdp_helper.commonloadchromium.maybeload()
raise Exception(_TR("连接失败"))
res = json.loads(res)
@ -243,3 +244,87 @@ class basetransdev(basetrans):
# self._SendRequest('Input.dispatchKeyEvent', {'type': 'keyUp', 'modifiers': 0, 'timestamp': 0, 'text': '', 'unmodifiedText': '', 'keyIdentifier': '', 'code': f'Key{char.upper()}', 'key': char, 'windowsVirtualKeyCode': code, 'nativeVirtualKeyCode': code, 'autoRepeat': False, 'isKeypad': False, 'isSystemKey': False, 'location': 0})
# self._SendRequest("Input.setIgnoreInputEvents", {"ignore": True})
commonloadchromium = Commonloadchromium()
class cdp_helperllm(cdp_helper):
jsfile = ...
textarea_selector = ...
button_selector = ...
function1 = ...
function2 = ...
def __init__(self, ref: basetrans) -> None:
self.ref = ref
super().__init__()
@property
def config(self):
return self.ref.config
@property
def using(self):
return self.ref.using
def injectjs(self):
with open(
os.path.join(os.path.dirname(__file__), self.jsfile),
"r",
encoding="utf8",
) as ff:
js = ff.read() % (
self.function1,
self.function2,
)
self.Runtime_evaluate(js)
def translate(self, content):
self.injectjs()
prompt = self.ref._gptlike_createsys("use_custom_prompt", "custom_prompt")
content = prompt + content
self.Runtime_evaluate(
"document.querySelector(`{}`).foucs()".format(repr(self.textarea_selector))
)
self.clear_input()
self.send_keys(content)
# chatgpt网站没有焦点时用这个也可以。
self.Runtime_evaluate(
'textarea=document.querySelector({});textarea.value="";event = new Event("input", {{bubbles: true, cancelable: true }});textarea.dispatchEvent(event);textarea.value=`{}`;event = new Event("input", {{bubbles: true, cancelable: true }});textarea.dispatchEvent(event);'.format(
repr(self.textarea_selector), content
)
)
try:
# 月之暗面
while self.Runtime_evaluate(
"document.querySelector({}).disabled".format(repr(self.button_selector))
)["result"]["value"]:
time.sleep(0.1)
except:
pass
self.Runtime_evaluate(
"document.querySelector({}).click()".format(repr(self.button_selector))
)
if self.ref.config["usingstream"]:
__ = [""]
def ___(__):
time.sleep(0.1)
thistext = self.Runtime_evaluate("thistext")["result"]["value"]
if thistext.startswith(__[0]):
yield thistext[len(__[0]) :]
else:
yield "\0"
yield thistext
__[0] = thistext
while not self.Runtime_evaluate("hasdone")["result"]["value"]:
yield from ___(__)
yield from ___(__)
else:
while not self.Runtime_evaluate("hasdone")["result"]["value"]:
time.sleep(0.1)
continue
yield self.Runtime_evaluate("thistext")["result"]["value"]

View File

@ -1,7 +1,8 @@
from myutils.config import static_data
from translator.basetranslator import basetrans
from translator.cdp_helper import cdp_helper
import random
import time, json
from urllib.parse import quote
def getRandomNumber():
@ -54,7 +55,83 @@ def initDeepLXData(sourceLang: str, targetLang: str):
)
class cdp_deepl(cdp_helper):
target_url = "https://www.deepl.com/en/translator"
def __init__(self, ref: basetrans) -> None:
self.ref = ref
super().__init__()
@property
def using(self):
return self.ref.using and self.ref.config["usewhich"] == 2
@property
def srclang(self):
if self.ref.srclang_1 == "cht":
return "zh"
return self.ref.srclang_1
@property
def tgtlang(self):
if self.ref.tgtlang_1 == "cht":
return "zh-hant"
return self.ref.tgtlang_1
def translate(self, content):
if self.srclang == "auto":
self.Runtime_evaluate(
'document.querySelector("#translator-source-clear-button").click()'
)
self.Runtime_evaluate(
"document.getElementsByTagName('d-textarea')[0].focus()"
)
self.send_keys(content)
result = self.wait_for_result(
'document.getElementsByTagName("d-textarea")[1].textContent',
("complete", ""),
multi=True,
)
while True:
href: str = self.wait_for_result("window.location.href")
try:
src, tgt = href.split("#")[1].split("/")[:2]
break
except:
time.sleep(0.1)
if tgt != self.tgtlang:
self.Page_navigate(
"https://www.deepl.com/en/translator#{}/{}/{}".format(
src, self.tgtlang, quote(content)
)
)
return self.wait_for_result(
'document.getElementsByTagName("d-textarea")[1].textContent',
("complete", ""),
multi=True,
)
else:
return result
else:
self.Page_navigate(
"https://www.deepl.com/en/translator#{}/{}/{}".format(
self.srclang, self.tgtlang, quote(content)
)
)
return self.wait_for_result(
'document.getElementsByTagName("d-textarea")[1].textContent',
("complete", ""),
multi=True,
)
class TS(basetrans):
def inittranslator(self):
self.devtool = None
if self.config["usewhich"] == 2:
self.devtool = cdp_deepl(self)
@property
def srclang(self):
if self.srclang_1 == "cht":
@ -73,6 +150,10 @@ class TS(basetrans):
elif self.config["usewhich"] == 1:
return self.translate_via_deeplx(translateText)
elif self.config["usewhich"] == 2:
if not self.devtool:
self.devtool = cdp_deepl(self)
return self.devtool.translate(translateText)
def translate_via_deeplx(self, query):
self.checkempty(["api"])

View File

@ -1,66 +0,0 @@
from urllib.parse import quote
import time
from translator.basetranslator_dev import basetransdev
class TS(basetransdev):
target_url = "https://www.deepl.com/en/translator"
@property
def srclang(self):
if self.srclang_1 == "cht":
return "zh"
return self.srclang_1
@property
def tgtlang(self):
if self.tgtlang_1 == "cht":
return "zh-hant"
return self.tgtlang_1
def translate(self, content):
if self.srclang == "auto":
self.Runtime_evaluate(
'document.querySelector("#translator-source-clear-button").click()'
)
self.Runtime_evaluate(
"document.getElementsByTagName('d-textarea')[0].focus()"
)
self.send_keys(content)
result = self.wait_for_result(
'document.getElementsByTagName("d-textarea")[1].textContent',
("complete", ""),
multi=True,
)
while True:
href: str = self.wait_for_result("window.location.href")
try:
src, tgt = href.split("#")[1].split("/")[:2]
break
except:
time.sleep(0.1)
if tgt != self.tgtlang:
self.Page_navigate(
"https://www.deepl.com/en/translator#{}/{}/{}".format(
src, self.tgtlang, quote(content)
)
)
return self.wait_for_result(
'document.getElementsByTagName("d-textarea")[1].textContent',
("complete", ""),
multi=True,
)
else:
return result
else:
self.Page_navigate(
"https://www.deepl.com/en/translator#{}/{}/{}".format(
self.srclang, self.tgtlang, quote(content)
)
)
return self.wait_for_result(
'document.getElementsByTagName("d-textarea")[1].textContent',
("complete", ""),
multi=True,
)

View File

@ -1,14 +0,0 @@
from translator.basetranslator_dev import basetransdev
class TS(basetransdev):
target_url = "https://translate.alibaba.com/"
def translate(self, content):
self.Runtime_evaluate('document.querySelector("#pre").innerText=""')
self.Runtime_evaluate(
'i=document.querySelector("#source");i.value=``;event = new Event("input", {{bubbles: true, cancelable: true }});i.dispatchEvent(event);i.value=`{}`;event = new Event("input", {{bubbles: true, cancelable: true }});i.dispatchEvent(event);'.format(
content
)
)
return self.wait_for_result('document.querySelector("#pre").innerText')

View File

@ -1,28 +0,0 @@
from translator.basetranslator_dev import basetransdev
import time
class TS(basetransdev):
target_url = "https://fanyi.caiyunapp.com"
def translate(self, content):
self.Runtime_evaluate(
'document.querySelector("#app > div > div.fanyi-containers.router > div.scrollable-content > div:nth-child(1) > div.lang-middle > div.choose-box > div.two-column-layout > div:nth-child(1) > div > div.column-choose-langBox > img.closeImg").click()'
)
self.Runtime_evaluate(
'i=document.querySelector("#textarea");i.value=``;event = new Event("input", {{bubbles: true, cancelable: true }});i.dispatchEvent(event);i.value=`{}`;event = new Event("input", {{bubbles: true, cancelable: true }});i.dispatchEvent(event);'.format(
content
)
)
return self.wait_for_result(
r"""childs=document.querySelector("#texttarget > div").children;
t=""
for(i=0;i<childs.length;i++){
x="#texttarget > div > div:nth-child("+(i+1)+") > span"
if(document.querySelector(x)){
if(t.length)t+="\n"
t+=document.querySelector(x).innerText
}
}
t
"""
)

View File

@ -1,10 +0,0 @@
from translator.dev_llm_common import commonllmdev
class TS(commonllmdev):
target_url = "https://chatgpt.com/"
jsfile = "commonhookfetchstream.js"
function1 = 'url.includes("conversation")'
function2 = r"""thistext += typeof(chunk.v)=='string'?chunk.v:(chunk.v[0]?(chunk.v[0].o=='append'?chunk.v[0].v:''):'')"""
textarea_selector = "#prompt-textarea"
button_selector = 'button[data-testid="send-button"]'

View File

@ -1,30 +0,0 @@
from translator.dev_llm_common import commonllmdev
class TS(commonllmdev):
@property
def target_url(self):
return self.config["target_url"]
@property
def jsfile(self):
return ["commonhookfetchstream.js", "commonhookxhrstream"][
self.config["request_method"]
]
@property
def function1(self):
return self.config["checkneturlfunction"]
@property
def function2(self):
return self.config["extracttextfunction"]
@property
def button_selector(self):
return self.config["button_selector"]
@property
def textarea_selector(self):
return self.config["textarea_selector"]

View File

@ -1,78 +0,0 @@
from translator.basetranslator_dev import basetransdev
import time, os
from myutils.utils import createenglishlangmap
class commonllmdev(basetransdev):
jsfile = ...
textarea_selector = ...
button_selector = ...
function1 = ...
function2 = ...
def langmap(self):
return createenglishlangmap()
def injectjs(self):
with open(
os.path.join(os.path.dirname(__file__), self.jsfile),
"r",
encoding="utf8",
) as ff:
js = ff.read() % (
self.function1,
self.function2,
)
self.Runtime_evaluate(js)
def dotranslate(self, content): ...
def translate(self, content):
self.injectjs()
prompt = self._gptlike_createsys("use_custom_prompt", "custom_prompt")
content = prompt + content
self.Runtime_evaluate(
"document.querySelector(`{}`).foucs()".format(repr(self.textarea_selector))
)
self.clear_input()
self.send_keys(content)
# chatgpt网站没有焦点时用这个也可以。
self.Runtime_evaluate(
'textarea=document.querySelector({});textarea.value="";event = new Event("input", {{bubbles: true, cancelable: true }});textarea.dispatchEvent(event);textarea.value=`{}`;event = new Event("input", {{bubbles: true, cancelable: true }});textarea.dispatchEvent(event);'.format(
repr(self.textarea_selector), content
)
)
try:
# 月之暗面
while self.Runtime_evaluate(
"document.querySelector({}).disabled".format(repr(self.button_selector))
)["result"]["value"]:
time.sleep(0.1)
except:
pass
self.Runtime_evaluate(
"document.querySelector({}).click()".format(repr(self.button_selector))
)
if self.config["usingstream"]:
__ = [""]
def ___(__):
time.sleep(0.1)
thistext = self.Runtime_evaluate("thistext")["result"]["value"]
if thistext.startswith(__[0]):
yield thistext[len(__[0]) :]
else:
yield "\0"
yield thistext
__[0] = thistext
while not self.Runtime_evaluate("hasdone")["result"]["value"]:
yield from ___(__)
yield from ___(__)
else:
while not self.Runtime_evaluate("hasdone")["result"]["value"]:
time.sleep(0.1)
continue
yield self.Runtime_evaluate("thistext")["result"]["value"]

View File

@ -1,15 +0,0 @@
from translator.basetranslator_dev import basetransdev
class TS(basetransdev):
target_url = "https://niutrans.com/trans?type=text"
def translate(self, content):
self.Runtime_evaluate(
'(a=document.querySelector("#textTrans > div.translation-box > div > div:nth-child(1) > div > i"))?a.click():"";i=document.querySelector("#textarea");i.value=`{}`;event = new Event("input", {{bubbles: true, cancelable: true }});i.dispatchEvent(event);'.format(
content
)
)
return self.wait_for_result(
"document.getElementsByClassName('results-container')[0].innerText"
)

View File

@ -1,28 +0,0 @@
from translator.basetranslator_dev import basetransdev
class TS(basetransdev):
target_url = "https://fanyi.sogou.com/"
def translate(self, content):
if "lastlang" not in dir(self) or self.lastlang != (self.srclang, self.tgtlang):
self.Page_navigate(
"https://fanyi.sogou.com/text?keyword=&transfrom={}&transto={}&model=general".format(
self.srclang, self.tgtlang
)
)
self.lastlang = (self.srclang, self.tgtlang)
self.Runtime_evaluate(
r"""
document.querySelector("#J-container > div.translate-pc-main.text-translate > div.content-wrap > div > div.trans-box > div.trans-from > div > span").click()
textarea=document.querySelector("#trans-input");
event = new Event("input", {{bubbles: true, cancelable: true }});
textarea.dispatchEvent(event);
textarea=document.querySelector("textarea");
textarea.value=`{}`;event = new Event("input", {{bubbles: true, cancelable: true }});
textarea.dispatchEvent(event);
""".format(
content
)
)
return self.wait_for_result('document.querySelector("#trans-result").innerText')

View File

@ -1,16 +0,0 @@
from translator.basetranslator_dev import basetransdev
class TS(basetransdev):
target_url = "https://translate.yandex.com/"
def translate(self, content):
self.Runtime_evaluate(
'document.querySelector("#translation > span").innerText=""'
)
self.Runtime_evaluate('document.querySelector("#fakeArea").innerText=""')
self.Runtime_evaluate('document.querySelector("#fakeArea").click()')
self.send_keys(content)
return self.wait_for_result(
'document.querySelector("#translation > span").innerText'
)

View File

@ -1,18 +0,0 @@
from translator.basetranslator_dev import basetransdev
class TS(basetransdev):
target_url = "https://fanyi.youdao.com/#/TextTranslate"
def translate(self, content):
self.Runtime_evaluate(
'document.querySelector("#TextTranslate > div.source > div.text-translate-top-right > a").click()'
)
self.Runtime_evaluate(
'i=document.querySelector("#js_fanyi_input");i.innerText=`{}`;event = new Event("input", {{bubbles: true, cancelable: true }});i.dispatchEvent(event);'.format(
content
)
)
return self.wait_for_result(
'(o=document.querySelector("#js_fanyi_output_resultOutput"))?o.textContent:""'
)

View File

@ -1,28 +0,0 @@
from translator.basetranslator_dev import basetransdev
class TS(basetransdev):
def langmap(self):
return {"zh": "zh-CN", "cht": "zh-TW"}
target_url = "https://translate.google.com/"
def translate(self, content):
self.Runtime_evaluate(
'document.querySelector("#yDmH0d > c-wiz > div > div.ToWKne > c-wiz > div.OlSOob > c-wiz > div.ccvoYb > div.AxqVh > div.OPPzxe > c-wiz.sciAJc > div > div.usGWQd > div > div.lRu31").innerText=""'
)
if "lastlang" not in dir(self) or self.lastlang != (self.srclang, self.tgtlang):
self.Page_navigate(
"https://translate.google.com/?sl={}&tl={}".format(
self.srclang, self.tgtlang
)
)
self.lastlang = (self.srclang, self.tgtlang)
self.Runtime_evaluate(
'textarea=document.querySelector("textarea");textarea.value="";event = new Event("input", {{bubbles: true, cancelable: true }});textarea.dispatchEvent(event);textarea=document.querySelector("textarea");textarea.value=`{}`;event = new Event("input", {{bubbles: true, cancelable: true }});textarea.dispatchEvent(event);'.format(
content
)
)
return self.wait_for_result(
'document.querySelector("#yDmH0d > c-wiz > div > div.ToWKne > c-wiz > div.OlSOob > c-wiz > div.ccvoYb > div.AxqVh > div.OPPzxe > c-wiz.sciAJc > div > div.usGWQd > div > div.lRu31").innerText'
)

View File

@ -1773,83 +1773,16 @@
"deepl": {
"use": false,
"color": "blue",
"name": "DeepL/DeepLX",
"name": "DeepL",
"useproxy": false,
"type": "free"
},
"dev_chatgpt": {
"cdp_chatgpt": {
"use": false,
"color": "blue",
"type": "dev",
"name": "chatgpt",
"is_gpt_like": true
},
"dev_chatgpt_mirror": {
"use": false,
"color": "blue",
"type": "dev",
"name": "chatgpt mirror",
"is_gpt_like": true
},
"deepl_dev": {
"use": false,
"color": "blue",
"type": "dev",
"name": "deepl"
},
"bing_dev": {
"use": false,
"color": "blue",
"type": "dev",
"name": "必应"
},
"baidu_dev": {
"use": false,
"color": "blue",
"type": "dev",
"name": "百度"
},
"google_dev": {
"use": false,
"color": "blue",
"type": "dev",
"name": "谷歌"
},
"dev_youdao": {
"use": false,
"color": "blue",
"type": "dev",
"name": "有道"
},
"dev_sogou": {
"use": false,
"color": "blue",
"type": "dev",
"name": "搜狗"
},
"dev_ali": {
"use": false,
"color": "blue",
"type": "dev",
"name": "阿里"
},
"dev_yandex": {
"use": false,
"color": "blue",
"type": "dev",
"name": "yandex"
},
"dev_niutrans": {
"use": false,
"color": "blue",
"type": "dev",
"name": "niutrans"
},
"dev_caiyun": {
"use": false,
"color": "blue",
"type": "dev",
"name": "彩云"
"name": "CDP_ChatGPT",
"useproxy": false,
"type": "free"
},
"gemini": {
"type": "api",

View File

@ -23,7 +23,9 @@
"args": {
"usewhich": 0,
"github": "https://github.com/OwO-Network/DeepLX",
"api": "http://127.0.0.1:1188/translate"
"api": "http://127.0.0.1:1188/translate",
"chromepath": "",
"debugport": 9222
},
"argstype": {
"github": {
@ -39,17 +41,137 @@
"refcombo_i": 1,
"type": "textlist"
},
"chromepath": {
"name": "Chromium_路径",
"refcombo": "usewhich",
"refcombo_i": 2,
"type": "file",
"dir": false
},
"debugport": {
"name": "端口号",
"refcombo": "usewhich",
"refcombo_i": 2,
"type": "intspin",
"min": 0,
"max": 1000000,
"step": 1
},
"usewhich": {
"rank": 0,
"type": "combo",
"name": "类型",
"list": [
"DeepL",
"DeepLX"
"DeepLX",
"CDP"
]
}
}
},
"cdp_chatgpt": {
"args": {
"usewhich": 0,
"chromepath": "",
"debugport": 9222,
"target_url": "https://duckduckgo.com/?t=h_&q=hi&ia=chat",
"request_method": 0,
"checkneturlfunction": "url.includes(\"v1/chat\")",
"extracttextfunction": "thistext += chunk.message?chunk.message:\"\"",
"textarea_selector": "textarea",
"button_selector": "button[type=\"submit\"]",
"S": "",
"S2": "",
"usingstream": true,
"use_custom_prompt": false,
"custom_prompt": ""
},
"argstype": {
"chromepath": {
"rank": -99,
"name": "Chromium_路径",
"type": "file",
"dir": false
},
"debugport": {
"rank": -98,
"name": "端口号",
"type": "intspin",
"min": 0,
"max": 1000000,
"step": 1
},
"usewhich": {
"rank": -100,
"type": "combo",
"name": "类型",
"list": [
"chatgpt",
"mirror"
]
},
"S2": {
"rank": -11,
"type": "split"
},
"target_url": {
"refcombo": "usewhich",
"refcombo_i": 1,
"rank": -10
},
"S": {
"refcombo": "usewhich",
"refcombo_i": 1,
"rank": 0,
"type": "split"
},
"textarea_selector": {
"refcombo": "usewhich",
"refcombo_i": 1,
"rank": -6,
"name": "CSS selector for textarea"
},
"button_selector": {
"refcombo": "usewhich",
"refcombo_i": 1,
"rank": -5,
"name": "CSS selector for button"
},
"extracttextfunction": {
"refcombo": "usewhich",
"refcombo_i": 1,
"rank": -7,
"name": "Function2 (extract text in stream chunk)"
},
"checkneturlfunction": {
"refcombo": "usewhich",
"refcombo_i": 1,
"rank": -8,
"name": "Function1 (check if url is backend url)"
},
"request_method": {
"refcombo": "usewhich",
"refcombo_i": 1,
"rank": -9,
"type": "combo",
"list": [
"fetch",
"xhr"
]
},
"usingstream": {
"rank": 1,
"name": "流式输出",
"type": "switch"
},
"custom_prompt": {
"rank": 2,
"name": "自定义_promt",
"type": "multiline",
"refswitch": "use_custom_prompt"
}
}
},
"baiduapi": {
"args": {
"API Key": "",

View File

@ -6,12 +6,10 @@
"添加行": "إضافة صف",
"图标": "أيقونات",
"首选翻译": "يفضل الترجمة",
"游戏信息": "معلومات اللعبة",
"辞书": "القواميس",
"转区": "تحويل المنطقة",
"端口号": "رقم المنفذ",
"鼠标穿透窗口": "الماوس من خلال نافذة",
"显示显示原文按钮": "عرض زر عرض النص الأصلي",
"显示设置": "إعدادات العرض",
"允许缩放最大化或全屏的窗口": "يسمح تكبير أو ملء الشاشة نافذة",
"其他设置": "إعدادات أخرى",
@ -21,7 +19,6 @@
"彩云": "سحابة ملونة",
"非管理员": "غير مسؤول",
"添加游戏": "إضافة لعبة",
"连接进程": "عملية الاتصال",
"选择游戏": "اختيار اللعبة",
"百度": "بايدو .",
"東北イタコ/东北伊达子": "شمال شرق イコ / شمال شرق عدن",
@ -30,7 +27,6 @@
"游戏时间": "وقت اللعب",
"最短翻译字数": "أقصر ترجمة الكلمات",
"接受的编码": "رمز مقبول",
"连接成功": "اتصال ناجحة",
"窗口置顶": "نافذة السقف",
"西里尔": "سيريل",
"月読アイ": "مون 読アイ",
@ -54,7 +50,6 @@
"排除复制自翻译器的文本": "استبعاد نسخ النص من المترجم",
"请重新下载并关闭杀毒软件后重试": "الرجاء إعادة تحميل وإغلاق برامج مكافحة الفيروسات وحاول مرة أخرى",
"民安ともえ": "الأمن العام",
"备忘录按钮": "زر مذكرة",
"光标": "المؤشر",
"清空": "إفراغ",
"的OCR模型": "نموذج التعرف الضوئي على الحروف",
@ -79,7 +74,6 @@
"相对特征地址的偏移": "ويقابل النسبية عنوان مميز",
"预翻译": "قبل الترجمة",
"过滤数字": "فلتر رقمي",
"显示编辑按钮": "عرض زر تحرير",
"灵格斯词典": "قاموس لينغز",
"选择文件夹": "اختيار مجلد",
"设置Token": "تعيين رمز",
@ -101,7 +95,6 @@
"颜色设置": "إعدادات الألوان",
"文字计数": "نص العد",
"简体中文": "الصينية المبسطة",
"显示朗读按钮": "عرض زر القراءة",
"北欧": "نورد",
"显示/隐藏范围框": "إظهار / إخفاء مربع مجموعة",
"游戏失去焦点时取消置顶": "إزالة سقف اللعبة عندما يفقد التركيز",
@ -115,13 +108,11 @@
"插值算法": "خوارزمية الاستيفاء",
"描边字体": "خط السكتات الدماغية",
"分析图像更新+周期执行": "تحليل صورة التحديث + دورة التنفيذ",
"翻译结果修正按钮": "زر تصحيح نتائج الترجمة",
"自动翻译": "الترجمة الآلية",
"游戏窗口移动时同步移动": "تزامن التحرك عند نافذة اللعبة يتحرك",
"灵格斯": "لينغز",
"快捷按键": "مفاتيح الاختصار",
"名詞": "اسم",
"显示游戏静音按钮": "عرض لعبة زر كتم الصوت",
"选择": "مختار",
"意大利语": "الايطالية",
"退出": "سحب",
@ -225,7 +216,6 @@
"不切换": "لا تبديل",
"将汉字转换成繁体/日式汉字": "تحويل الأحرف الصينية إلى الأحرف الصينية التقليدية / اليابانية",
"选择文本": "اختيار النص",
"发现": "اكتشف",
"连接超时": "اتصال مهلة",
"开始搜索": "بدء البحث",
"选择进程": "عملية الاختيار",
@ -247,7 +237,6 @@
"获取中": "الحصول على",
"J北京7": "ي بكين",
"缩放时模拟独占全屏": "محاكاة حصرية كامل الشاشة عند التكبير",
"连接失败": "فشل الاتصال",
"查词": "البحث عن الكلمات",
"源窗口": "نافذة المصدر",
"助詞": "كلمة مساعدة",
@ -312,14 +301,12 @@
"ついなちゃん(関西弁)": "じゃじゃ ( كانساي بنتن )",
"代名詞": "ضمير",
"形容詞": "صفة",
"调整游戏窗口按钮": "ضبط زر نافذة اللعبة",
"语音设置": "إعدادات الصوت",
"警告": "حذر",
"当前MD5": "MD5 الحالي",
"通用": "عام .",
"目标语言": "اللغة المستهدفة",
"秒": "ثانية .",
"录制翻译文件": "تسجيل ملف الترجمة",
"锁定工具栏": "قفل شريط الأدوات",
"云译": "سحابة ترجمة",
"普通字体": "الخط العادي",
@ -333,7 +320,6 @@
"副詞": "ظرف",
"显示/隐藏原文": "إظهار / إخفاء النص الأصلي",
"快译通": "ترجمة سريعة",
"显示移动按钮": "عرض زر الانتقال",
"形状詞": "شكل الكلمات",
"保存": "حفظ .",
"语音": "صوت",
@ -351,7 +337,6 @@
"快捷键冲突": "اختصارات الصراع",
"翻译设置": "إعدادات الترجمة",
"翻译": "ترجمة .",
"端口冲突": "ميناء الصراع",
"希腊语": "اللغة اليونانية",
"動詞": "فعل .",
"字体样式": "نمط الخط",
@ -373,7 +358,6 @@
"sqlite翻译记录": "SQLite سجل الترجمة",
"json翻译文件": "جسون ترجمة الملف",
"选择图标": "اختيار الرموز",
"图标2": "أيقونات",
"刷新": "منعش",
"读取剪贴板": "قراءة الحافظة",
"进行一次OCR": "التعرف الضوئي على الحروف",
@ -538,7 +522,6 @@
"最小行数": "الحد الأدنى من عدد الصفوف",
"最大行数": "أقصى عدد من الصفوف",
"兼容接口": "واجهة متوافقة",
"调试浏览器": "تصحيح المتصفح",
"手动翻译": "دليل الترجمة",
"显示引擎": "عرض المحرك",
"阴影字体": "خطوط الظل",

View File

@ -37,7 +37,6 @@
"目标语言": "目標語言",
"最短翻译字数": "最短翻譯字數",
"最长翻译字数": "最長翻譯字數",
"录制翻译文件": "錄製翻譯檔案",
"离线翻译": "離線翻譯",
"在线翻译": "線上翻譯",
"注册在线翻译": "註冊線上翻譯",
@ -57,9 +56,6 @@
"字体样式": "字體樣式",
"居中显示": "置中顯示",
"描边宽度": "描邊寬度",
"显示显示原文按钮": "顯示顯示原文按鈕",
"显示朗读按钮": "顯示朗讀按鈕",
"显示游戏静音按钮": "顯示遊戲靜音按鈕",
"游戏窗口移动时同步移动": "遊戲視窗移動時同步移動",
"语音设置": "語音設定",
"火山TTS": "火山 TTS",
@ -175,9 +171,7 @@
"字体": "字體",
"飞书": "飛書",
"编辑": "編輯",
"显示编辑按钮": "顯示編輯按鈕",
"移动": "移動",
"显示移动按钮": "顯示移動按鈕",
"设置Token": "設定 Token",
"该功能可能会导致游戏崩溃!": "該功能可能會導致遊戲崩潰!",
"警告": "警告",
@ -201,7 +195,6 @@
"自定义翻译": "自訂翻譯",
"说明": "說明",
"分析图像更新+周期执行": "分析影像更新+週期執行",
"调整游戏窗口按钮": "調整遊戲視窗按鈕",
"内嵌的翻译器": "內嵌的翻譯器",
"代理设置": "代理設定",
"自动更新": "自動更新",
@ -211,7 +204,6 @@
"语音合成": "語音合成",
"文本处理": "文字處理",
"预处理方法": "前處理方法",
"连接进程": "連接處理程序",
"设置代码页": "設定字碼頁",
"设置刷新延迟": "設定重新整理延遲",
"将汉字转换成繁体/日式汉字": "將漢字轉換成繁體/日式漢字",
@ -246,7 +238,6 @@
"当前MD5": "目前 MD5",
"修改": "修改",
"翻译结果修正": "翻譯結果修正",
"翻译结果修正按钮": "翻譯結果修正按鈕",
"过滤文本中的非日语字符集字符": "過濾文字中的非日語字元集字元",
"过滤其他乱码": "過濾其他亂碼",
"过滤乱码文本": "過濾亂碼文字",
@ -257,7 +248,6 @@
"问题反馈": "問題回饋",
"附带上下文个数": "附帶上下文個數",
"备忘录": "備忘錄",
"备忘录按钮": "備忘錄按鈕",
"插入图片": "插入圖片",
"当前权限": "目前權限",
"非管理员": "非管理員",
@ -266,7 +256,6 @@
"所选文件格式错误!": "所選檔案格式錯誤!",
"进程号": "處理程序編號",
"进程": "處理程序",
"发现": "發現",
"失败": "失敗",
"仅使用激活的翻译": "僅使用已啟用的翻譯",
"云译": "雲譯",
@ -334,12 +323,8 @@
"音街ウナ": "音街ウナ",
"鷹の爪吉田": "鷹の爪吉田",
"ギャラ子": "ギャラ子",
"游戏信息": "遊戲資訊",
"意大利语": "義大利語",
"端口号": "連接埠編號",
"连接失败": "連接失敗",
"连接成功": "連接成功",
"端口冲突": "連接埠衝突",
"缩放模式": "縮放模式",
"捕获模式": "擷取模式",
"捕获标题栏": "擷取標題列",
@ -373,7 +358,6 @@
"sqlite翻译记录": "SQLite 翻譯紀錄",
"json翻译文件": "JSON 翻譯檔案",
"选择图标": "選擇圖示",
"图标2": "圖示 2",
"刷新": "重新整理",
"读取剪贴板": "讀取剪貼簿",
"进行一次OCR": "進行一次 OCR",
@ -538,7 +522,6 @@
"最小行数": "最小行數",
"最大行数": "最大行數",
"兼容接口": "相容介面",
"调试浏览器": "除錯瀏覽器",
"手动翻译": "手動翻譯",
"显示引擎": "顯示引擎",
"阴影字体": "陰影字體",

View File

@ -2,7 +2,6 @@
"使用代理": "Použití proxy",
"进程": "proces",
"sqlite翻译记录": "Překladový záznam SQLite",
"显示编辑按钮": "Zobrazit tlačítko pro editaci",
"过滤换行符": "Konce filtru",
"文本设置": "Nastavení textu",
"过滤数字": "Čísla filtru",
@ -48,26 +47,19 @@
"显示帧率": "Zobrazit snímkovou frekvenci",
"最新版本": "Nejnovější verze",
"搜索": "hledání",
"游戏信息": "Informace o hře",
"特殊码": "specifický kód",
"端口冲突": "Konflikt přístavu",
"连接进程": "Proces připojení",
"发现": "najít",
"取消": "zrušit",
"合并多行识别结果": "Sloučit více řádků výsledků rozpoznání",
"附加音源": "Další zdroj zvuku",
"图标2": "Ikona 2",
"如果你感觉该软件对你有帮助,欢迎微信扫码赞助,谢谢~": "Pokud máte pocit, že tento software je pro vás užitečný, naskenujte prosím QR kód na WeChat, abyste sponzorovali.",
"窗口截图": "Snímek obrazovky okna",
"自动获取系统代理": "Automaticky získat systémový proxy",
"是否使用快捷键": "Zda použít klávesové zkratky",
"最小化到托盘": "Minimalizovat do zásobníku",
"打开目录": "Otevřít adresář",
"录制翻译文件": "Záznam překladových souborů",
"字体样式": "Styl písma",
"搜索文本过短!": "Vyhledávací text je příliš krátký!",
"的OCR模型": "Model OCR",
"备忘录按钮": "Tlačítko Memo",
"小学馆": "Sál základní školy",
"光标": "kurzor",
"项目网站": "Webové stránky projektu",
@ -225,7 +217,6 @@
"OCR设置": "Nastavení OCR",
"文本输入": "Zadání textu",
"语音": "hlas",
"连接失败": "připojení selhalo",
"居中显示": "Středový displej",
"翻译及OCR语言": "Překlady a OCR jazyk",
"管理员": "správci",
@ -233,11 +224,9 @@
"描边字体": "Písmo tahu",
"默认设置": "výchozí nastavení",
"意大利语": "Italština",
"显示显示原文按钮": "Zobrazit tlačítko původního textu",
"去除花括号{}": "Odstraňte kudrnaté rovnátka.",
"保留原文": "Zachovat původní text",
"朗读原文": "Přečtěte si původní text nahlas",
"连接成功": "Připojení úspěšné",
"修改游戏字体": "Upravit písmo hry",
"选择文本": "Vybrat text",
"json文件": "Soubor JSON",
@ -255,7 +244,6 @@
"显示分词结果": "Zobrazit výsledky segmentace",
"退出": "odhlásit se",
"自定义翻译": "Vlastní překlad",
"显示朗读按钮": "Zobrazit tlačítko čtení",
"显示/隐藏原文": "Zobrazit/skrýt původní text",
"清空": "prázdné",
"刷新": "Obnovit",
@ -289,7 +277,6 @@
"東北ずん子/东北俊子": "Dongbei Kunzi/Dongbei Junzi",
"波兰语": "Polský jazyk",
"接口": "Rozhraní",
"翻译结果修正按钮": "Tlačítko pro opravu výsledků překladu",
"警告": "varování",
"俄语": "ruština",
"文字更新分析": "Analýza aktualizace textu",
@ -354,7 +341,6 @@
"替换": "nahradit",
"绘制光标": "Nakreslit kurzor",
"颜色设置": "nastavení barev",
"调整游戏窗口按钮": "Nastavit tlačítko herního okna",
"HOOK设置": "Nastavení HOOK",
"結月ゆかり": "Konec měsíce",
"空白": "prázdné",
@ -367,7 +353,6 @@
"选择文件": "Vybrat soubor",
"自动翻译": "Automatický překlad",
"接続詞": "Přijímání slov",
"显示游戏静音按钮": "Zobrazit tlačítko ztlumení hry",
"東北ずん子": "Severovýchodní Kunzi",
"目标语言": "cílový jazyk",
"乌克兰语": "Ukrajinský jazyk",
@ -375,7 +360,6 @@
"云译": "Překlad do cloudu",
"秒": "druhá",
"所选文件格式错误!": "Vybraný formát souboru je nesprávný!",
"显示移动按钮": "Zobrazit tlačítko přesunout",
"过滤英文字母": "Filtrovat anglická písmena",
"进行一次OCR": "Provést OCR jednou",
"选取OCR范围——立即": "Vybrat rozsah OCR a okamžitě",
@ -545,7 +529,6 @@
"最大字数": "Maximální počet slov",
"最小行数": "Minimální počet řádků",
"最大行数": "Maximální počet řádků",
"调试浏览器": "Ladění prohlížeče",
"显示引擎": "Zobrazovací motor",
"阴影字体": "Stínové písmo",
"额外的html": "Další HTML",

View File

@ -2,7 +2,6 @@
"使用代理": "Verwendung eines Proxy",
"进程": "Prozess",
"sqlite翻译记录": "SQLite Translation Record",
"显示编辑按钮": "Schaltfläche Bearbeiten anzeigen",
"过滤换行符": "Zeilenumbrüche filtern",
"文本设置": "Texteinstellungen",
"过滤数字": "Filternummern",
@ -48,26 +47,19 @@
"显示帧率": "Framerate anzeigen",
"最新版本": "Neueste Version",
"搜索": "Suche",
"游戏信息": "Spielinformationen",
"特殊码": "spezifischer Code",
"端口冲突": "Hafenkonflikt",
"连接进程": "Verbindungsprozess",
"发现": "finden",
"取消": "Abbrechen",
"合并多行识别结果": "Mehrere Zeilen von Erkennungsergebnissen zusammenführen",
"附加音源": "Zusätzliche Audioquelle",
"图标2": "Symbol 2",
"如果你感觉该软件对你有帮助,欢迎微信扫码赞助,谢谢~": "Wenn Sie der Meinung sind, dass diese Software für Sie hilfreich ist, scannen Sie bitte den QR-Code auf WeChat, um zu sponsern.",
"窗口截图": "Fensterbildschirm",
"自动获取系统代理": "System-Proxy automatisch abrufen",
"是否使用快捷键": "Ob Tastenkombinationen verwendet werden sollen",
"最小化到托盘": "Auf Ablage minimieren",
"打开目录": "Verzeichnis öffnen",
"录制翻译文件": "Übersetzungsdateien aufzeichnen",
"字体样式": "Schriftart",
"搜索文本过短!": "Der Suchtext ist zu kurz!",
"的OCR模型": "Das OCR-Modell",
"备忘录按钮": "Memo-Taste",
"小学馆": "Grundschulsaal",
"光标": "Cursor",
"项目网站": "Website des Projekts",
@ -225,7 +217,6 @@
"OCR设置": "OCR-Einstellungen",
"文本输入": "Texteingabe",
"语音": "Stimme",
"连接失败": "Verbindung fehlgeschlagen",
"居中显示": "Zentralanzeige",
"翻译及OCR语言": "Übersetzung und OCR Sprache",
"管理员": "Administratoren",
@ -233,11 +224,9 @@
"描边字体": "Strichschrift",
"默认设置": "Standardeinstellung",
"意大利语": "Italienisch",
"显示显示原文按钮": "Schaltfläche Originaltext anzeigen",
"去除花括号{}": "Lockige Klammern entfernen {}",
"保留原文": "Den Originaltext beibehalten",
"朗读原文": "Lesen Sie den Originaltext laut vor",
"连接成功": "Verbindung erfolgreich",
"修改游戏字体": "Spiel-Schriftart ändern",
"选择文本": "Text auswählen",
"json文件": "JSON-Datei",
@ -255,7 +244,6 @@
"显示分词结果": "Segmentierungsergebnisse anzeigen",
"退出": "abmelden",
"自定义翻译": "Benutzerdefinierte Übersetzung",
"显示朗读按钮": "Lesetaste anzeigen",
"显示/隐藏原文": "Originaltext ein-/ausblenden",
"清空": "leer",
"刷新": "Aktualisieren",
@ -289,7 +277,6 @@
"東北ずん子/东北俊子": "Dongbei Kunzi/Dongbei Junzi",
"波兰语": "Polnische Sprache",
"接口": "Schnittstelle",
"翻译结果修正按钮": "Schaltfläche zur Korrektur von Übersetzungsergebnissen",
"警告": "Warnung",
"俄语": "Russisch",
"文字更新分析": "Analyse der Textaktualisierung",
@ -354,7 +341,6 @@
"替换": "ersetzen",
"绘制光标": "Cursor zeichnen",
"颜色设置": "Farbeinstellung",
"调整游戏窗口按钮": "Schaltfläche Spielfenster anpassen",
"HOOK设置": "HOOK-Einstellungen",
"結月ゆかり": "Ende des Monats",
"空白": "blank",
@ -367,7 +353,6 @@
"选择文件": "Datei auswählen",
"自动翻译": "Automatische Übersetzung",
"接続詞": "Wörter empfangen",
"显示游戏静音按钮": "Spielstummschaltfläche anzeigen",
"東北ずん子": "Nordost Kunzi",
"目标语言": "Zielsprache",
"乌克兰语": "Ukrainische Sprache",
@ -375,7 +360,6 @@
"云译": "Cloud-Übersetzung",
"秒": "zweite",
"所选文件格式错误!": "Das gewählte Dateiformat ist falsch!",
"显示移动按钮": "Verschieben-Taste anzeigen",
"过滤英文字母": "Englische Buchstaben filtern",
"进行一次OCR": "OCR einmal ausführen",
"选取OCR范围——立即": "OCR-Bereich sofort auswählen",
@ -545,7 +529,6 @@
"最大字数": "Maximale Wortanzahl",
"最小行数": "Mindestanzahl Zeilen",
"最大行数": "Maximale Anzahl von Zeilen",
"调试浏览器": "Debugging-Browser",
"显示引擎": "Anzeigemotor",
"阴影字体": "Schattenschrift",
"额外的html": "Zusätzliches HTML",

View File

@ -30,7 +30,6 @@
"图标": "Icon",
"指示詞": "Demonstratives",
"搜索": "Search",
"显示游戏静音按钮": "Show Mute Game Button",
"動詞": "Verbs",
"显示帧率": "Display FPS",
"自动翻译": "Auto Translate",
@ -44,8 +43,6 @@
"有道": "Youdao",
"打开设置": "Open Settings",
"注册在线翻译": "Online Translation (Requires API Key)",
"录制翻译文件": "Record Translation File",
"显示显示原文按钮": "Show Original Text Button",
"接尾辞": "Suffixes",
"描边宽度": "Stroke Width",
"插值算法": "Interpolation Algorithm",
@ -77,7 +74,6 @@
"3D游戏模式": "3D Game Mode",
"普通字体": "Normal Font",
"朗读": "Text-to-Speech",
"显示朗读按钮": "Show Text-to-Speech Button",
"接続詞": "Conjunctions",
"小学馆": "Shogakukan Dictionary",
"缩放时调整光标速度": "Adjust Cursor Zoom Speed",
@ -175,9 +171,7 @@
"字体": "Font",
"飞书": "Feishu",
"编辑": "Edit",
"显示编辑按钮": "Show Edit Button",
"移动": "Move",
"显示移动按钮": "Show Move Button",
"设置Token": "Set Token",
"该功能可能会导致游戏崩溃!": "This feature may cause the game to crash!",
"警告": "Warning",
@ -201,7 +195,6 @@
"自定义翻译": "Custom Translation",
"说明": "Description",
"分析图像更新+周期执行": "Analyze Image Update + Periodic Execution",
"调整游戏窗口按钮": "Adjust Game Window Button",
"内嵌的翻译器": "Embedded Translator",
"代理设置": "Proxy Settings",
"自动更新": "Auto Update",
@ -211,7 +204,6 @@
"语音合成": "Speech Synthesis",
"文本处理": "Text Processing",
"预处理方法": "Preprocessing Method",
"连接进程": "Connection Process",
"设置代码页": "Set Character Encoding",
"设置刷新延迟": "Set Refresh Delay",
"将汉字转换成繁体/日式汉字": "Convert Simplified Chinese to Traditional/Kanji",
@ -246,7 +238,6 @@
"当前MD5": "Current MD5",
"修改": "Modify",
"翻译结果修正": "Translation Result Correction",
"翻译结果修正按钮": "Translation Result Correction Button",
"过滤文本中的非日语字符集字符": "Filter Non-Japanese Character Characters in Text",
"过滤其他乱码": "Filter Other Garbled Characters",
"过滤乱码文本": "Filter Garbled Text",
@ -257,7 +248,6 @@
"问题反馈": "Report a Problem",
"附带上下文个数": "Number of Context Lines to Include",
"备忘录": "Memo",
"备忘录按钮": "Memo Button",
"插入图片": "Insert Image",
"当前权限": "Current Privileges",
"非管理员": "Non-administrator",
@ -266,7 +256,6 @@
"所选文件格式错误!": "Invalid File Format Selected!",
"进程号": "Process ID",
"进程": "Process",
"发现": "Found",
"失败": "Failed",
"仅使用激活的翻译": "Only Use Active Translations",
"云译": "Cloud translation",
@ -334,12 +323,8 @@
"音街ウナ": "Otomachi Una",
"鷹の爪吉田": "Takanotsume Yoshida",
"ギャラ子": "Galaco",
"游戏信息": "Game Information",
"意大利语": "Italian",
"端口号": "Port Number",
"连接失败": "Connection failed",
"连接成功": "Connection successful",
"端口冲突": "Port Conflict",
"缩放模式": "Zoom Mode",
"捕获模式": "Capture Mode",
"捕获标题栏": "Capture Title Bar",
@ -373,7 +358,6 @@
"sqlite翻译记录": "SQLite Translation Records",
"json翻译文件": "JSON Translation Reords",
"选择图标": "Select Icon",
"图标2": "Icon 2",
"刷新": "Refresh",
"读取剪贴板": "Read Clipboard",
"进行一次OCR": "Perform OCR",
@ -537,7 +521,6 @@
"最小行数": "Minimum Number of Lines",
"最大行数": "Maximum Number of Lines",
"兼容接口": "Compatible Interface",
"调试浏览器": "Browser Debug",
"手动翻译": "Retranslate",
"显示引擎": "Display Engine",
"阴影字体": "Shadow Font",

View File

@ -37,7 +37,6 @@
"目标语言": "Idioma objetivo",
"最短翻译字数": "Número mínimo de palabras traducidas",
"最长翻译字数": "Número máximo de palabras traducidas",
"录制翻译文件": "Grabar archivos traducidos",
"离线翻译": "Traducción fuera de línea",
"在线翻译": "Traducción en línea",
"注册在线翻译": "Registro de traductores en línea",
@ -57,9 +56,6 @@
"字体样式": "Estilo de fuente",
"居中显示": "Mostrar en el Centro",
"描边宽度": "Ancho de dibujo",
"显示显示原文按钮": "Mostrar el botón mostrar texto original",
"显示朗读按钮": "Muestra el botón de lectura en voz alta",
"显示游戏静音按钮": "Muestra el botón de silencio del juego",
"游戏窗口移动时同步移动": "La ventana del juego se mueve simultáneamente cuando se mueve",
"语音设置": "Configuración de voz",
"火山TTS": "Volcán TTS",
@ -175,9 +171,7 @@
"字体": "Fuente",
"飞书": "Libro volador",
"编辑": "Edición",
"显示编辑按钮": "Mostrar el botón de edición",
"移动": "Mover",
"显示移动按钮": "Muestra el botón mover",
"设置Token": "Establecer Token",
"该功能可能会导致游戏崩溃!": "¡¡ esta función puede causar un colapso del juego!",
"警告": "Aviso",
@ -201,7 +195,6 @@
"自定义翻译": "Traducción personalizada",
"说明": "Explicación",
"分析图像更新+周期执行": "Actualización de la imagen de análisis + Ejecución del ciclo",
"调整游戏窗口按钮": "Ajustar el botón de la ventana del juego",
"内嵌的翻译器": "Traductor incorporado",
"代理设置": "Configuración del agente",
"自动更新": "Actualización automática",
@ -211,7 +204,6 @@
"语音合成": "Síntesis de voz",
"文本处理": "Procesamiento de textos",
"预处理方法": "Método de preprocesamiento",
"连接进程": "Proceso de conexión",
"设置代码页": "Establecer página de código",
"设置刷新延迟": "Establecer el retraso de actualización",
"将汉字转换成繁体/日式汉字": "Convertir caracteres chinos en caracteres chinos tradicionales / japoneses",
@ -246,7 +238,6 @@
"当前MD5": "MD5 actual",
"修改": "Modificación",
"翻译结果修正": "Corrección de los resultados de la traducción",
"翻译结果修正按钮": "Botón de corrección de resultados de traducción",
"过滤文本中的非日语字符集字符": "Filtrar los caracteres del conjunto de caracteres no japoneses en el texto",
"过滤其他乱码": "Filtrar otros códigos desordenados",
"过滤乱码文本": "Filtrar texto desordenado",
@ -257,7 +248,6 @@
"问题反馈": "Retroalimentación del problema",
"附带上下文个数": "Número de contextos adjuntos",
"备忘录": "Memorando",
"备忘录按钮": "Botón de memorando",
"插入图片": "Insertar imagen",
"当前权限": "Permisos actuales",
"非管理员": "No Administrador",
@ -266,7 +256,6 @@
"所选文件格式错误!": "¡¡ el archivo seleccionado tiene un formato incorrecto!",
"进程号": "Número de proceso",
"进程": "Proceso",
"发现": "Hallazgo",
"失败": "Fracaso",
"仅使用激活的翻译": "Solo se utilizan traducciones activadas",
"云译": "Traducción en la nube",
@ -334,12 +323,8 @@
"音街ウナ": "Calle Yin",
"鷹の爪吉田": "Yoshida, garra del águila",
"ギャラ子": "Hijo",
"游戏信息": "Información del juego",
"意大利语": "Italiano",
"端口号": "Número de Puerto",
"连接失败": "Conexión fallida",
"连接成功": "Conexión exitosa",
"端口冲突": "Conflicto de Puertos",
"缩放模式": "Modo de escala",
"捕获模式": "Modo de captura",
"捕获标题栏": "Captura la barra de título",
@ -373,7 +358,6 @@
"sqlite翻译记录": "Registro de traducción de squlite",
"json翻译文件": "Documento de traducción json",
"选择图标": "Seleccionar icono",
"图标2": "Icono 2",
"刷新": "Refrescar",
"读取剪贴板": "Leer el portapapeles",
"进行一次OCR": "Realizar un OCR",
@ -538,7 +522,6 @@
"最小行数": "Número mínimo de líneas",
"最大行数": "Número máximo de líneas",
"兼容接口": "Interfaz compatible",
"调试浏览器": "Depurar el navegador",
"手动翻译": "Traducción manual",
"显示引擎": "Motor de visualización",
"阴影字体": "Fuente de sombra",

View File

@ -37,7 +37,6 @@
"目标语言": "Langue cible",
"最短翻译字数": "Nombre minimum de mots traduits",
"最长翻译字数": "Nombre maximum de mots traduits",
"录制翻译文件": "Enregistrer le fichier de traduction",
"离线翻译": "Traduction hors ligne",
"在线翻译": "Traduction en ligne",
"注册在线翻译": "Inscription à la traduction en ligne",
@ -57,9 +56,6 @@
"字体样式": "Style de police",
"居中显示": "Affichage Central",
"描边宽度": "Largeur de la bordure",
"显示显示原文按钮": "Afficher le bouton afficher le texte original",
"显示朗读按钮": "Afficher le bouton lecture",
"显示游戏静音按钮": "Afficher le bouton mute du jeu",
"游戏窗口移动时同步移动": "Synchroniser le mouvement lorsque la fenêtre de jeu se déplace",
"语音设置": "Paramètres vocaux",
"火山TTS": "Volcan tts",
@ -175,9 +171,7 @@
"字体": "Les polices",
"飞书": "Le livre volant",
"编辑": "Modifier",
"显示编辑按钮": "Afficher le bouton Modifier",
"移动": "Mobile",
"显示移动按钮": "Afficher le bouton mobile",
"设置Token": "Configurer token",
"该功能可能会导致游戏崩溃!": "Cette fonctionnalité peut provoquer un crash du jeu!",
"警告": "Avertissement",
@ -201,7 +195,6 @@
"自定义翻译": "Traduction personnalisée",
"说明": "Description",
"分析图像更新+周期执行": "Mise à jour de l'image analytique + exécution du cycle",
"调整游戏窗口按钮": "Ajuster le bouton de la fenêtre de jeu",
"内嵌的翻译器": "Traducteur intégré",
"代理设置": "Paramètres de l'agent",
"自动更新": "Mise à jour automatique",
@ -211,7 +204,6 @@
"语音合成": "Synthèse vocale",
"文本处理": "Traitement de texte",
"预处理方法": "Méthode de prétraitement",
"连接进程": "Processus de connexion",
"设置代码页": "Configurer une page de code",
"设置刷新延迟": "Définir le délai de rafraîchissement",
"将汉字转换成繁体/日式汉字": "Convertir des caractères chinois en caractères traditionnels / japonais",
@ -246,7 +238,6 @@
"当前MD5": "Le MD5 actuel",
"修改": "Modifier",
"翻译结果修正": "Correction des résultats de traduction",
"翻译结果修正按钮": "Bouton de correction des résultats de traduction",
"过滤文本中的非日语字符集字符": "Filtrer les caractères du jeu de caractères non japonais dans le texte",
"过滤其他乱码": "Filtrer les autres codes brouillés",
"过滤乱码文本": "Filtrer le texte brouillé",
@ -257,7 +248,6 @@
"问题反馈": "Feedback sur les questions",
"附带上下文个数": "Nombre de contextes attachés",
"备忘录": "Memorandum",
"备忘录按钮": "Bouton memo",
"插入图片": "Insérer une image",
"当前权限": "Autorisations actuelles",
"非管理员": "Non - Administrateur",
@ -266,7 +256,6 @@
"所选文件格式错误!": "Mauvais format de fichier sélectionné!",
"进程号": "Numéro de processus",
"进程": "Processus",
"发现": "Découvrir",
"失败": "L'échec",
"仅使用激活的翻译": "Utiliser uniquement les traductions activées",
"云译": "Traduction Cloud",
@ -334,12 +323,8 @@
"音街ウナ": "Rue du son 54 | 90 |",
"鷹の爪吉田": "Aigle のjita",
"ギャラ子": "ギャラ",
"游戏信息": "Informations sur le jeu",
"意大利语": "Italien",
"端口号": "Numéro de port",
"连接失败": "La connexion a échoué",
"连接成功": "Connexion réussie",
"端口冲突": "Conflit de port",
"缩放模式": "Mode zoom",
"捕获模式": "Mode de capture",
"捕获标题栏": "Capturer la barre de titre",
@ -373,7 +358,6 @@
"sqlite翻译记录": "Sqlite enregistrement de traduction",
"json翻译文件": "Json traduire le fichier",
"选择图标": "Sélectionner une icône",
"图标2": "Icône 2",
"刷新": "Rafraîchir",
"读取剪贴板": "Lire le presse - papiers",
"进行一次OCR": "Faites une ocr",
@ -538,7 +522,6 @@
"最小行数": "Nombre minimum de lignes",
"最大行数": "Nombre maximal de lignes",
"兼容接口": "Interface compatible",
"调试浏览器": "Déboguer le Navigateur",
"手动翻译": "Traduction manuelle",
"显示引擎": "Moteur d'affichage",
"阴影字体": "Shadow font",

View File

@ -37,7 +37,6 @@
"目标语言": "lingua di destinazione",
"最短翻译字数": "Numero minimo di parole tradotte",
"最长翻译字数": "Numero massimo di parole tradotte",
"录制翻译文件": "Registrazione dei file di traduzione",
"离线翻译": "Traduzione offline",
"在线翻译": "Traduzione online",
"注册在线翻译": "Registrati per la traduzione online",
@ -205,7 +204,6 @@
"语音合成": "sintesi vocale",
"文本处理": "elaborazione del testo",
"预处理方法": "Metodo di prelucrazione",
"连接进程": "Processo di connessione",
"设置代码页": "Imposta pagina codice",
"设置刷新延迟": "Imposta ritardo di aggiornamento",
"将汉字转换成繁体/日式汉字": "Converti caratteri cinesi in caratteri tradizionali/giapponesi",
@ -258,7 +256,6 @@
"所选文件格式错误!": "Il formato del file selezionato non è corretto!",
"进程号": "Numero del processo",
"进程": "processo",
"发现": "trova",
"失败": "fail",
"仅使用激活的翻译": "Usa solo traduzioni attive",
"云译": "Traduzione cloud",
@ -267,14 +264,6 @@
"处理": "maniglia",
"波兰语": "Polacco",
"窗口置顶": "Finestra in alto",
"显示显示原文按钮": "Mostra pulsante originale",
"显示朗读按钮": "Mostra pulsante Parla",
"显示移动按钮": "Mostra pulsante Sposta",
"翻译结果修正按钮": "Pulsante di correzione dei risultati della traduzione",
"显示编辑按钮": "Mostra pulsante Modifica",
"调整游戏窗口按钮": "Regola i pulsanti della finestra di gioco",
"显示游戏静音按钮": "Mostra pulsante muto gioco",
"备忘录按钮": "Pulsante Memo",
"仅": "Solo",
"任务栏中显示": "Mostra nella barra delle applicazioni",
"移除": "rimuovere",
@ -334,12 +323,8 @@
"音街ウナ": "Roast Yin Street",
"鷹の爪吉田": "Artiglio d'aquila Yoshida",
"ギャラ子": "ギャララギャララ",
"游戏信息": "Informazioni sul gioco",
"意大利语": "Italiano",
"端口号": "Numero porta",
"连接失败": "connessione non riuscita",
"连接成功": "Connessione riuscita",
"端口冲突": "Conflitto porto",
"缩放模式": "Modalità zoom",
"捕获模式": "Modalità cattura",
"捕获标题栏": "Cattura barra del titolo",
@ -373,7 +358,6 @@
"sqlite翻译记录": "Record di traduzione Sqlite",
"json翻译文件": "File di traduzione JSON",
"选择图标": "Seleziona icona",
"图标2": "Icona 2",
"刷新": "Aggiorna",
"读取剪贴板": "Leggi gli appunti",
"进行一次OCR": "Condurre un OCR",
@ -538,7 +522,6 @@
"最小行数": "Numero minimo di righe",
"最大行数": "Numero massimo di righe",
"兼容接口": "Interfaccia compatibile",
"调试浏览器": "Browser di debug",
"手动翻译": "Traduzione manuale",
"显示引擎": "Motore di visualizzazione",
"阴影字体": "Carattere ombra",

View File

@ -37,7 +37,6 @@
"目标语言": "ターゲット言語",
"最短翻译字数": "最短翻訳文字数",
"最长翻译字数": "最長翻訳文字数",
"录制翻译文件": "翻訳ファイルの記録",
"离线翻译": "オフライン翻訳",
"在线翻译": "オンライン翻訳",
"注册在线翻译": "オンライン翻訳の登録",
@ -57,9 +56,6 @@
"字体样式": "フォントスタイル",
"居中显示": "中央揃え",
"描边宽度": "線の幅",
"显示显示原文按钮": "テキスト表示ボタンを表示",
"显示朗读按钮": "読み上げボタンを表示",
"显示游戏静音按钮": "ゲームミュートボタンを表示",
"游戏窗口移动时同步移动": "ゲームウィンドウ移動時に同期移動",
"语音设置": "音声設定",
"火山TTS": "火山TTS",
@ -175,9 +171,7 @@
"字体": "フォント",
"飞书": "飛書",
"编辑": "編集",
"显示编辑按钮": "編集ボタンを表示",
"移动": "移動",
"显示移动按钮": "移動ボタンを表示",
"设置Token": "トークンの設定",
"该功能可能会导致游戏崩溃!": "この機能はゲームをクラッシュさせる可能性があります!",
"警告": "に警告",
@ -201,7 +195,6 @@
"自定义翻译": "カスタム翻訳",
"说明": "説明",
"分析图像更新+周期执行": "解析画像更新+周期実行",
"调整游戏窗口按钮": "ゲームウィンドウボタンを調整する",
"内嵌的翻译器": "インライントランスレータ",
"代理设置": "プロキシ設定",
"自动更新": "自動更新",
@ -211,7 +204,6 @@
"语音合成": "音声合成",
"文本处理": "テキスト処理",
"预处理方法": "前処理方法",
"连接进程": "接続プロセス",
"设置代码页": "コードページの設定",
"设置刷新延迟": "リフレッシュ遅延の設定",
"将汉字转换成繁体/日式汉字": "漢字を繁体字/和字に変換する",
@ -246,7 +238,6 @@
"当前MD5": "現在のMD 5",
"修改": "変更",
"翻译结果修正": "翻訳結果の修正",
"翻译结果修正按钮": "翻訳結果修正ボタン",
"过滤文本中的非日语字符集字符": "テキスト内の非日本語文字セット文字をフィルタする",
"过滤其他乱码": "その他の文字化けをフィルタする",
"过滤乱码文本": "文字化け文字化け文字化け文字化け",
@ -257,7 +248,6 @@
"问题反馈": "もんだいフィードバック",
"附带上下文个数": "付随コンテキスト数",
"备忘录": "メモ",
"备忘录按钮": "メモボタン",
"插入图片": "画像を挿入",
"当前权限": "現在の権限",
"非管理员": "管理者以外",
@ -266,7 +256,6 @@
"所选文件格式错误!": "選択したファイルフォーマットが間違っています!",
"进程号": "プロセス番号",
"进程": "プロセス",
"发现": "検出",
"失败": "に失敗",
"仅使用激活的翻译": "アクティブな翻訳のみを使用",
"云译": "クラウド翻訳",
@ -334,12 +323,8 @@
"音街ウナ": "音街ウナ",
"鷹の爪吉田": "鷹の爪吉田",
"ギャラ子": "ギャラ",
"游戏信息": "ゲーム情報",
"意大利语": "イタリア語",
"端口号": "ポート番号",
"连接失败": "接続に失敗しました",
"连接成功": "接続成功",
"端口冲突": "ポートの競合",
"缩放模式": "スケールモード",
"捕获模式": "キャプチャモード",
"捕获标题栏": "キャプチャタイトルバー",
@ -373,7 +358,6 @@
"sqlite翻译记录": "sqlite翻訳履歴",
"json翻译文件": "json翻訳ファイル",
"选择图标": "アイコンを選択",
"图标2": "アイコン2",
"刷新": "リフレッシュ",
"读取剪贴板": "クリップボードを読み込む",
"进行一次OCR": "OCRを1回実行する",
@ -538,7 +522,6 @@
"最小行数": "最小行数",
"最大行数": "最大行数",
"兼容接口": "互換インタフェース",
"调试浏览器": "デバッグブラウザ",
"手动翻译": "手動翻訳",
"显示引擎": "ディスプレイエンジン",
"阴影字体": "シャドウフォント",

View File

@ -37,7 +37,6 @@
"目标语言": "대상 언어",
"最短翻译字数": "최소 번역 단어 수",
"最长翻译字数": "최대 번역 단어 수",
"录制翻译文件": "번역 파일 기록",
"离线翻译": "오프라인 번역",
"在线翻译": "온라인 번역",
"注册在线翻译": "온라인 번역 등록",
@ -57,9 +56,6 @@
"字体样式": "글꼴 스타일",
"居中显示": "가운데 표시",
"描边宽度": "테두리 너비",
"显示显示原文按钮": "원본 보기 단추 보이기",
"显示朗读按钮": "말하기 단추 보이기",
"显示游戏静音按钮": "게임 무음 버튼 보이기",
"游戏窗口移动时同步移动": "게임 창 이동 시 동기화",
"语音设置": "음성 설정",
"火山TTS": "화산 TTS",
@ -175,9 +171,7 @@
"字体": "글꼴",
"飞书": "비서",
"编辑": "편집",
"显示编辑按钮": "편집 버튼 표시",
"移动": "이동",
"显示移动按钮": "이동 버튼 표시",
"设置Token": "Token 설정",
"该功能可能会导致游戏崩溃!": "이 기능은 게임 충돌을 일으킬 수 있습니다!",
"警告": "경고",
@ -201,7 +195,6 @@
"自定义翻译": "사용자 정의 번역",
"说明": "설명",
"分析图像更新+周期执行": "분석 이미지 업데이트 + 주기 실행",
"调整游戏窗口按钮": "게임 창 버튼 조정",
"内嵌的翻译器": "내장된 번역기",
"代理设置": "프록시 설정",
"自动更新": "자동 업데이트",
@ -211,7 +204,6 @@
"语音合成": "음성 합성",
"文本处理": "텍스트 처리",
"预处理方法": "사전 처리 방법",
"连接进程": "연결 프로세스",
"设置代码页": "코드 페이지 설정",
"设置刷新延迟": "새로 고침 지연 설정",
"将汉字转换成繁体/日式汉字": "한자를 번체/일본식 한자로 변환",
@ -246,7 +238,6 @@
"当前MD5": "현재 MD5",
"修改": "수정",
"翻译结果修正": "번역 결과 수정",
"翻译结果修正按钮": "번역 결과 수정 버튼",
"过滤文本中的非日语字符集字符": "텍스트의 비일본어 문자 세트 문자 필터링",
"过滤其他乱码": "기타 무분별한 코드 필터링",
"过滤乱码文本": "잘못된 텍스트 필터링",
@ -257,7 +248,6 @@
"问题反馈": "질문 피드백",
"附带上下文个数": "첨부된 컨텍스트 개수",
"备忘录": "메모",
"备忘录按钮": "메모 단추",
"插入图片": "그림 삽입",
"当前权限": "현재 권한",
"非管理员": "비관리자",
@ -266,7 +256,6 @@
"所选文件格式错误!": "선택한 파일의 형식이 잘못되었습니다!",
"进程号": "프로세스 번호",
"进程": "프로세스",
"发现": "발견",
"失败": "실패",
"仅使用激活的翻译": "활성화된 번역만 사용",
"云译": "클라우드 번역",
@ -334,12 +323,8 @@
"音街ウナ": "음가",
"鷹の爪吉田": "매의 발톱 요시다",
"ギャラ子": "밤낮",
"游戏信息": "게임 정보",
"意大利语": "이탈리아어",
"端口号": "포트 번호",
"连接失败": "연결 실패",
"连接成功": "연결 성공",
"端口冲突": "포트 충돌",
"缩放模式": "줌 모드",
"捕获模式": "캡처 모드",
"捕获标题栏": "제목 표시줄 캡처",
@ -373,7 +358,6 @@
"sqlite翻译记录": "sqlite 번역 기록",
"json翻译文件": "json 번역 파일",
"选择图标": "아이콘 선택",
"图标2": "아이콘 2",
"刷新": "새로 고침",
"读取剪贴板": "클립보드 읽기",
"进行一次OCR": "OCR을 한번 진행해보도록 하겠습니다.",
@ -538,7 +522,6 @@
"最小行数": "최소 행 수",
"最大行数": "최대 행 수",
"兼容接口": "호환 인터페이스",
"调试浏览器": "디버그 브라우저",
"手动翻译": "수동 번역",
"显示引擎": "디스플레이 엔진",
"阴影字体": "그림자 글꼴",

View File

@ -2,7 +2,6 @@
"使用代理": "Een proxy gebruiken",
"进程": "proces",
"sqlite翻译记录": "SQLite vertaalrecord",
"显示编辑按钮": "Bewerken-knop weergeven",
"过滤换行符": "Regeleinden filteren",
"文本设置": "Tekstinstellingen",
"过滤数字": "Filternummers",
@ -48,26 +47,19 @@
"显示帧率": "Framesnelheid weergeven",
"最新版本": "Laatste versie",
"搜索": "zoeken",
"游戏信息": "Spelinformatie",
"特殊码": "specifieke code",
"端口冲突": "Port conflict",
"连接进程": "Verbindingsproces",
"发现": "vinden",
"取消": "annuleren",
"合并多行识别结果": "Meerdere rijen herkenningsresultaten samenvoegen",
"附加音源": "Extra audiobron",
"图标2": "Pictogram 2",
"如果你感觉该软件对你有帮助,欢迎微信扫码赞助,谢谢~": "Als u denkt dat deze software nuttig voor u is, scan dan de QR-code op WeChat om te sponsoren.",
"窗口截图": "Vensterschermafbeelding",
"自动获取系统代理": "Systeemproxy automatisch verkrijgen",
"是否使用快捷键": "Of sneltoetsen worden gebruikt",
"最小化到托盘": "Minimaliseren naar lade",
"打开目录": "Map openen",
"录制翻译文件": "Vertalingsbestanden opnemen",
"字体样式": "Lettertypestijl",
"搜索文本过短!": "De zoektekst is te kort!",
"的OCR模型": "Het OCR-model",
"备忘录按钮": "Memoknop",
"小学馆": "Hal van de basisschool",
"光标": "cursor",
"项目网站": "Website van het project",
@ -225,7 +217,6 @@
"OCR设置": "OCR-instellingen",
"文本输入": "Tekstinvoer",
"语音": "stem",
"连接失败": "verbinding mislukt",
"居中显示": "Centrale weergave",
"翻译及OCR语言": "Vertaling en OCR taal",
"管理员": "beheerders",
@ -233,11 +224,9 @@
"描边字体": "Strijklettertype",
"默认设置": "standaardinstelling",
"意大利语": "Italiaans",
"显示显示原文按钮": "Originele tekstknop weergeven",
"去除花括号{}": "Krullende beugels verwijderen.",
"保留原文": "De oorspronkelijke tekst behouden",
"朗读原文": "Lees de oorspronkelijke tekst hardop voor",
"连接成功": "Verbinding succesvol",
"修改游戏字体": "Spellettertype wijzigen",
"选择文本": "Tekst selecteren",
"json文件": "JSON-bestand",
@ -255,7 +244,6 @@
"显示分词结果": "Segmenteringsresultaten weergeven",
"退出": "afmelden",
"自定义翻译": "Aangepaste vertaling",
"显示朗读按钮": "De leesknop tonen",
"显示/隐藏原文": "Originele tekst tonen/verbergen",
"清空": "leeg",
"刷新": "Vernieuwen",
@ -289,7 +277,6 @@
"東北ずん子/东北俊子": "Dongbei Kunzi/Dongbei Junzi",
"波兰语": "Poolse taal",
"接口": "Interface",
"翻译结果修正按钮": "Knop voor correctie van vertaalresultaten",
"警告": "waarschuwing",
"俄语": "Russisch",
"文字更新分析": "Analyse van tekstupdates",
@ -354,7 +341,6 @@
"替换": "vervangen",
"绘制光标": "Cursor tekenen",
"颜色设置": "kleurinstelling",
"调整游戏窗口按钮": "De knop van het spelvenster aanpassen",
"HOOK设置": "HOOK-instellingen",
"結月ゆかり": "Het einde van de maand",
"空白": "blanco",
@ -367,7 +353,6 @@
"选择文件": "Bestand selecteren",
"自动翻译": "Automatische vertaling",
"接続詞": "Woorden ontvangen",
"显示游戏静音按钮": "Spelmute knop tonen",
"東北ずん子": "Noordoost Kunzi",
"目标语言": "doeltaal",
"乌克兰语": "Oekraïense taal",
@ -375,7 +360,6 @@
"云译": "Cloud vertaling",
"秒": "tweede",
"所选文件格式错误!": "Het geselecteerde bestandsformaat is onjuist!",
"显示移动按钮": "De verplaatsingsknop tonen",
"过滤英文字母": "Engelse letters filteren",
"进行一次OCR": "Eenmaal OCR uitvoeren",
"选取OCR范围——立即": "OCR-bereik direct selecteren",
@ -545,7 +529,6 @@
"最大字数": "Maximaal aantal woorden",
"最小行数": "Minimumaantal rijen",
"最大行数": "Maximaal aantal rijen",
"调试浏览器": "Debugging-browser",
"显示引擎": "Weergavemotor",
"阴影字体": "Schaduwlettertype",
"额外的html": "Extra HTML",

View File

@ -37,7 +37,6 @@
"目标语言": "język docelowy",
"最短翻译字数": "Minimalna liczba przetłumaczonych słów",
"最长翻译字数": "Maksymalna liczba przetłumaczonych słów",
"录制翻译文件": "Nagrywanie plików tłumaczeniowych",
"离线翻译": "Tłumaczenie offline",
"在线翻译": "tłumaczenie online",
"注册在线翻译": "Zarejestruj się do tłumaczenia online",
@ -57,9 +56,6 @@
"字体样式": "Styl czcionki",
"居中显示": "Środkowy wyświetlacz",
"描边宽度": "Szerokość skoku",
"显示显示原文按钮": "Pokaż przycisk Pokaż oryginalny",
"显示朗读按钮": "Pokaż przycisk Mów",
"显示游戏静音按钮": "Pokaż przycisk wyciszenia gry",
"游戏窗口移动时同步移动": "Synchronizuj ruch podczas poruszania się okna gry",
"语音设置": "Ustawienia głosu",
"火山TTS": "Wulkan TTS",
@ -175,9 +171,7 @@
"字体": "pisma",
"飞书": "list anonimowy",
"编辑": "edytuj",
"显示编辑按钮": "Pokaż przycisk edycji",
"移动": "ruchy",
"显示移动按钮": "Pokaż przycisk ruchu",
"设置Token": "Ustaw token",
"该功能可能会导致游戏崩溃!": "Ta funkcja może spowodować awarię gry!",
"警告": "ostrzeżenie",
@ -201,7 +195,6 @@
"自定义翻译": "Tłumaczenie niestandardowe",
"说明": "wyjaśnij",
"分析图像更新+周期执行": "Analiza aktualizacji obrazów+wykonanie cyklu",
"调整游戏窗口按钮": "Dostosuj przyciski okna gry",
"内嵌的翻译器": "Wbudowany tłumacz",
"代理设置": "Ustawienia proxy",
"自动更新": "Automatyczna aktualizacja",
@ -211,7 +204,6 @@
"语音合成": "synteza mowy",
"文本处理": "Przetwarzanie tekstu",
"预处理方法": "Metoda wstępnego przetwarzania",
"连接进程": "Proces połączenia",
"设置代码页": "Ustaw stronę kodu",
"设置刷新延迟": "Ustaw opóźnienie odświeżania",
"将汉字转换成繁体/日式汉字": "Konwersja znaków chińskich na znaki tradycyjne/japońskie",
@ -245,7 +237,6 @@
"当前MD5": "Aktualny MD5",
"修改": "modyfikuj",
"翻译结果修正": "Korekta wyników tłumaczenia",
"翻译结果修正按钮": "Przycisk korekcji wyników tłumaczenia",
"过滤文本中的非日语字符集字符": "Filtruj znaki niejapońskiego zestawu znaków w tekście",
"过滤其他乱码": "Filtruj inne zniekształcone kody",
"过滤乱码文本": "Filtruj zniekształcony tekst",
@ -257,7 +248,6 @@
"问题反馈": "Informacje zwrotne dotyczące problemu",
"附带上下文个数": "Liczba kontekstów towarzyszących",
"备忘录": "memorandum",
"备忘录按钮": "Przycisk Memo",
"插入图片": "Wstaw obrazek",
"当前权限": "Aktualne uprawnienia",
"非管理员": "Nieadministrator",
@ -266,7 +256,6 @@
"所选文件格式错误!": "Wybrany format pliku jest niepoprawny!",
"进程号": "Numer procesu",
"进程": "proces",
"发现": "znaleźć",
"失败": "niepowodzenie",
"仅使用激活的翻译": "Używaj tylko aktywnych tłumaczeń",
"云译": "Tłumaczenie chmury",
@ -334,12 +323,8 @@
"音街ウナ": "Yin Street Roast",
"鷹の爪吉田": "Orły Pazur Yoshida",
"ギャラ子": "ギャララギャララ",
"游戏信息": "Informacje o grze",
"意大利语": "Włoski",
"端口号": "Numer portu",
"连接失败": "Połączenie nie powiodło się",
"连接成功": "Powodzenie połączenia",
"端口冲突": "Konflikt portu",
"缩放模式": "Tryb powiększania",
"捕获模式": "Tryb przechwytywania",
"捕获标题栏": "Przechwytywanie paska tytułu",
@ -373,7 +358,6 @@
"sqlite翻译记录": "Zapisy tłumaczeń Sqlite",
"json翻译文件": "Plik tłumaczenia JSON",
"选择图标": "Wybierz ikonę",
"图标2": "Ikona 2",
"刷新": "Odśwież",
"读取剪贴板": "Odczytaj schowek",
"进行一次OCR": "Przeprowadzenie OCR",
@ -538,7 +522,6 @@
"最小行数": "Minimalna liczba wierszy",
"最大行数": "Maksymalna liczba wierszy",
"兼容接口": "Kompatybilny interfejs",
"调试浏览器": "Debugowanie przeglądarki",
"手动翻译": "Tłumaczenie ręczne",
"显示引擎": "Silnik wyświetlania",
"阴影字体": "Czcionka cienia",

View File

@ -2,7 +2,6 @@
"使用代理": "Usar um 'proxy'",
"进程": "processo",
"sqlite翻译记录": "Registo de Tradução do SQLite",
"显示编辑按钮": "Mostrar o botão de edição",
"过滤换行符": "Quebras de linha do filtro",
"文本设置": "Configuração do texto",
"过滤数字": "Números do filtro",
@ -48,26 +47,19 @@
"显示帧率": "Mostrar a taxa de quadros",
"最新版本": "Versão mais recente",
"搜索": "pesquisa",
"游戏信息": "Informação do jogo",
"特殊码": "código específico",
"端口冲突": "Conflito portuário",
"连接进程": "Processo de ligação",
"发现": "encontrar",
"取消": "cancelar",
"合并多行识别结果": "Juntar várias linhas de resultados de reconhecimento",
"附加音源": "Fonte de áudio adicional",
"图标2": "Ícone 2",
"如果你感觉该软件对你有帮助,欢迎微信扫码赞助,谢谢~": "Se você acha que este software é útil para você, por favor, digitalize o código QR no WeChat para patrocinar.",
"窗口截图": "Imagem da janela",
"自动获取系统代理": "Obter automaticamente o 'proxy' do sistema",
"是否使用快捷键": "Se usar as teclas de atalho",
"最小化到托盘": "Minimizar para a bandeja",
"打开目录": "Abrir a pasta",
"录制翻译文件": "Gravar ficheiros de tradução",
"字体样式": "Estilo do Tipo de Letra",
"搜索文本过短!": "O texto de pesquisa é muito curto!",
"的OCR模型": "O modelo OCR",
"备忘录按钮": "Botão de memória",
"小学馆": "Sala do Ensino Fundamental",
"光标": "cursor",
"项目网站": "Sítio Web do projecto",
@ -225,7 +217,6 @@
"OCR设置": "Configuração do OCR",
"文本输入": "Entrada de texto",
"语音": "voz",
"连接失败": "a ligação falhou",
"居中显示": "Ecrã central",
"翻译及OCR语言": "Tradução e língua OCR",
"管理员": "administradores",
@ -233,11 +224,9 @@
"描边字体": "Tipo de letra do traçado",
"默认设置": "configuração predefinida",
"意大利语": "Italiano",
"显示显示原文按钮": "Mostrar o botão do texto original",
"去除花括号{}": "Remover as chaves encaracoladas {}",
"保留原文": "Manter o texto original",
"朗读原文": "Leia o texto original em voz alta",
"连接成功": "Ligação bem sucedida",
"修改游戏字体": "Modificar o tipo de letra do jogo",
"选择文本": "Seleccionar o Texto",
"json文件": "Ficheiro JSON",
@ -255,7 +244,6 @@
"显示分词结果": "Mostrar os resultados da segmentação",
"退出": "sair",
"自定义翻译": "Tradução personalizada",
"显示朗读按钮": "Mostrar o botão de leitura",
"显示/隐藏原文": "Mostrar/ Esconder o Texto Original",
"清空": "vazio",
"刷新": "Actualizar",
@ -289,7 +277,6 @@
"東北ずん子/东北俊子": "Dongbei Kunzi/Dongbei Junzi",
"波兰语": "Língua polaca",
"接口": "Interface",
"翻译结果修正按钮": "Botão de correcção do resultado da tradução",
"警告": "aviso",
"俄语": "Russo",
"文字更新分析": "Análise de actualização de texto",
@ -354,7 +341,6 @@
"替换": "substituir",
"绘制光标": "Desenhar o cursor",
"颜色设置": "configuração de cores",
"调整游戏窗口按钮": "Ajustar o botão da janela do jogo",
"HOOK设置": "Configuração do HOOK",
"結月ゆかり": "O fim do mês",
"空白": "em branco",
@ -367,7 +353,6 @@
"选择文件": "Seleccionar o ficheiro",
"自动翻译": "Tradução automática",
"接続詞": "A receber palavras",
"显示游戏静音按钮": "Mostrar o botão de mudo do jogo",
"東北ずん子": "Northeast Kunzi",
"目标语言": "língua de destino",
"乌克兰语": "Língua ucraniana",
@ -375,7 +360,6 @@
"云译": "Tradução em nuvem",
"秒": "segundo",
"所选文件格式错误!": "O formato de ficheiro seleccionado está incorrecto!",
"显示移动按钮": "Mostrar o botão mover",
"过滤英文字母": "Filtrar letras inglesas",
"进行一次OCR": "Executar OCR uma vez",
"选取OCR范围——立即": "Seleccionar o intervalo OCR - Imediatamente",
@ -545,7 +529,6 @@
"最大字数": "Número máximo de palavras",
"最小行数": "Número mínimo de linhas",
"最大行数": "Número máximo de linhas",
"调试浏览器": "Navegador de Depuração",
"显示引擎": "Motor de visualização",
"阴影字体": "Tipo de letra de sombra",
"额外的html": "HTML adicional",

View File

@ -37,7 +37,6 @@
"目标语言": "Целевой язык",
"最短翻译字数": "Min слов для перевода",
"最长翻译字数": "Max слов для перевода",
"录制翻译文件": "Запись переводов в файл",
"离线翻译": "Автономный перевод",
"在线翻译": "Онлайновый перевод",
"注册在线翻译": "С регистрацией",
@ -57,9 +56,6 @@
"字体样式": "Стиль шрифта",
"居中显示": "Центрировать",
"描边宽度": "Ширина обрезки",
"显示显示原文按钮": "Кнопка источника текста",
"显示朗读按钮": "Кнопка TTS",
"显示游戏静音按钮": "Кнопка звука в игре",
"游戏窗口移动时同步移动": "Синхронизировать перемещение окна игры",
"语音设置": "Настройка звука",
"火山TTS": "Вулканический TTS",
@ -175,9 +171,7 @@
"字体": "Шрифт",
"飞书": "Летающая книга",
"编辑": "Редактирование",
"显示编辑按钮": "Показать кнопку редактирования",
"移动": "Переместить",
"显示移动按钮": "Показать кнопку перемещения",
"设置Token": "Настройка Token",
"该功能可能会导致游戏崩溃!": "Эта функция может привести к сбою игры!",
"警告": "предупреждение",
@ -201,7 +195,6 @@
"自定义翻译": "Пользовательский перевод",
"说明": "Примечания",
"分析图像更新+周期执行": "Анализ обновлений изображений + цикл выполнения",
"调整游戏窗口按钮": "Настройка кнопки окна игры",
"内嵌的翻译器": "Встроенный переводчик",
"代理设置": "Параметры прокси",
"自动更新": "Автоматическое обновление",
@ -211,7 +204,6 @@
"语音合成": "Синтез речи",
"文本处理": "Текстовая обработка",
"预处理方法": "Метод предварительной обработки",
"连接进程": "Процесс подключения",
"设置代码页": "Настройка кодовой страницы",
"设置刷新延迟": "Задержка обновления",
"将汉字转换成繁体/日式汉字": "Преобразование китайских иероглифов в японские иероглифы",
@ -246,7 +238,6 @@
"当前MD5": "Текущий MD5",
"修改": "Изменения",
"翻译结果修正": "Результаты перевода исправлены",
"翻译结果修正按钮": "Кнопка коррекции результатов перевода",
"过滤文本中的非日语字符集字符": "Неяпонские символы в фильтрованном тексте",
"过滤其他乱码": "Отфильтровать другие коды",
"过滤乱码文本": "Фильтровать зашифрованный текст",
@ -257,7 +248,6 @@
"问题反馈": "Обратная связь",
"附带上下文个数": "Количество дополнительных контекстов",
"备忘录": "Меморандум",
"备忘录按钮": "Кнопка Памятка",
"插入图片": "Вставить изображение",
"当前权限": "Текущие полномочия",
"非管理员": "Не администратор",
@ -266,7 +256,6 @@
"所选文件格式错误!": "Ошибка формата выбранного файла!",
"进程号": "Номер процесса",
"进程": "Процесс",
"发现": "Обнаружено",
"失败": "Неудача",
"仅使用激活的翻译": "Использовать только активный перевод",
"云译": "Облачный перевод",
@ -334,12 +323,8 @@
"音街ウナ": "Ён! Ёна!",
"鷹の爪吉田": "Ястребиный коготь Йошида",
"ギャラ子": "Цзянь Цзяцзы",
"游戏信息": "Информация об игре",
"意大利语": "Итальянский язык",
"端口号": "Номер порта",
"连接失败": "Ошибка соединения",
"连接成功": "Подключение успешно",
"端口冲突": "Конфликт портов",
"缩放模式": "Режим масштабирования",
"捕获模式": "Режим захвата",
"捕获标题栏": "Захват заголовка",
@ -373,7 +358,6 @@
"sqlite翻译记录": "SQlite Перевод записей",
"json翻译文件": "JSON Перевод документов",
"选择图标": "Выберите значок",
"图标2": "Значок 2",
"刷新": "Обновить",
"读取剪贴板": "Прочитать буфер обмена",
"进行一次OCR": "Выполнить OCR",
@ -538,7 +522,6 @@
"最小行数": "Минимальное число строк",
"最大行数": "Максимальное число строк",
"兼容接口": "Совместимый интерфейс",
"调试浏览器": "Отладка браузера",
"手动翻译": "Ручной перевод",
"显示引擎": "Показать движок",
"阴影字体": "Шрифт теней",

View File

@ -2,7 +2,6 @@
"使用代理": "Använda en proxy",
"进程": "process",
"sqlite翻译记录": "SQLite översättningspost",
"显示编辑按钮": "Visa redigeringsknapp",
"过滤换行符": "Filtreringsradbrytningar",
"文本设置": "Textinställningar",
"过滤数字": "Filtreringsnummer",
@ -48,26 +47,19 @@
"显示帧率": "Visa bildhastighet",
"最新版本": "Senaste versionen",
"搜索": "söka",
"游戏信息": "Spelinformation",
"特殊码": "specifik kod",
"端口冲突": "Hamnkonflikt",
"连接进程": "Anslutningsprocess",
"发现": "hitta",
"取消": "avbryt",
"合并多行识别结果": "Sammanfoga flera rader med igenkänningsresultat",
"附加音源": "Ytterligare ljudkälla",
"图标2": "Ikon 2",
"如果你感觉该软件对你有帮助,欢迎微信扫码赞助,谢谢~": "Om du känner att denna programvara är till hjälp för dig, vänligen skanna QR-koden på WeChat för att sponsra.",
"窗口截图": "Fönsterskärmdump",
"自动获取系统代理": "Hämta automatiskt systemproxy",
"是否使用快捷键": "Om kortkommandon ska användas",
"最小化到托盘": "Minimera till bricka",
"打开目录": "Öppna katalog",
"录制翻译文件": "Spela in översättningsfiler",
"字体样式": "Teckensnittsstil",
"搜索文本过短!": "Söktexten är för kort!",
"的OCR模型": "OCR-modellen",
"备忘录按钮": "Memoknapp",
"小学馆": "Elementary School Hall",
"光标": "markör",
"项目网站": "Projektets webbplats",
@ -225,7 +217,6 @@
"OCR设置": "OCR-inställningar",
"文本输入": "Textinmatning",
"语音": "röst",
"连接失败": "Anslutning misslyckades",
"居中显示": "Centrera visningen",
"翻译及OCR语言": "Översättning och OCR-språk",
"管理员": "administratörer",
@ -233,11 +224,9 @@
"描边字体": "Teckensnitt för streck",
"默认设置": "förvald inställning",
"意大利语": "Italienska",
"显示显示原文按钮": "Visa originaltextknapp",
"去除花括号{}": "Ta bort lockiga hängslen",
"保留原文": "Behåll originaltexten",
"朗读原文": "Läs originaltexten högt",
"连接成功": "Anslutning lyckad",
"修改游戏字体": "Ändra spelteckensnitt",
"选择文本": "Markera text",
"json文件": "JSON- fil",
@ -255,7 +244,6 @@
"显示分词结果": "Visa segmenteringsresultat",
"退出": "Logga ut",
"自定义翻译": "Anpassad översättning",
"显示朗读按钮": "Visa läsknappen",
"显示/隐藏原文": "Visa/dölj originaltext",
"清空": "tom",
"刷新": "Uppdatera",
@ -289,7 +277,6 @@
"東北ずん子/东北俊子": "Dongbei Kunzi/Dongbei Junzi",
"波兰语": "Polska språket",
"接口": "Gränssnitt",
"翻译结果修正按钮": "Korrigeringsknapp för översättningsresultat",
"警告": "varning",
"俄语": "Ryska",
"文字更新分析": "Analys av textuppdatering",
@ -354,7 +341,6 @@
"替换": "ersätt",
"绘制光标": "Rita markör",
"颜色设置": "färginställning",
"调整游戏窗口按钮": "Justera spelfönsterknappen",
"HOOK设置": "HOOK-inställningar",
"結月ゆかり": "I slutet av månaden",
"空白": "tomt",
@ -367,7 +353,6 @@
"选择文件": "Välj fil",
"自动翻译": "Automatisk översättning",
"接続詞": "Mottagande ord",
"显示游戏静音按钮": "Visa spelavstängningsknapp",
"東北ずん子": "Nordöstra Kunzi",
"目标语言": "Målspråk",
"乌克兰语": "Ukrainska språket",
@ -375,7 +360,6 @@
"云译": "Molnöversättning",
"秒": "andra",
"所选文件格式错误!": "Det valda filformatet är felaktigt!",
"显示移动按钮": "Visa flyttknappen",
"过滤英文字母": "Filtrera engelska bokstäver",
"进行一次OCR": "Utför OCR en gång",
"选取OCR范围——立即": "Välj OCR-område - omedelbart",
@ -545,7 +529,6 @@
"最大字数": "Maximalt ordantal",
"最小行数": "Minsta antal rader",
"最大行数": "Maximalt antal rader",
"调试浏览器": "Felsökningsbläddrare",
"显示引擎": "Visningsmotor",
"阴影字体": "Skuggteckensnitt",
"额外的html": "Ytterligare HTML",

View File

@ -2,7 +2,6 @@
"使用代理": "ใช้พร็อกซี่",
"进程": "กระบวนการ",
"sqlite翻译记录": "บันทึกการแปล sqlite",
"显示编辑按钮": "แสดงปุ่มแก้ไข",
"过滤换行符": "กรองบรรทัดแบ่ง",
"文本设置": "การตั้งค่าข้อความ",
"过滤数字": "กรองตัวเลข",
@ -47,26 +46,19 @@
"显示帧率": "แสดงอัตราเฟรม",
"最新版本": "รุ่นล่าสุด",
"搜索": "ค้นหา",
"游戏信息": "ข้อมูลเกม",
"特殊码": "รหัสพิเศษ",
"端口冲突": "ความขัดแย้งของพอร์ต",
"连接进程": "กระบวนการเชื่อมต่อ",
"发现": "ค้นพบ",
"取消": "การยกเลิก",
"合并多行识别结果": "รวมผลการระบุหลายบรรทัด",
"附加音源": "แหล่งเสียงเพิ่มเติม",
"图标2": "ไอคอน 2",
"如果你感觉该软件对你有帮助,欢迎微信扫码赞助,谢谢~": "หากคุณรู้สึกว่าซอฟต์แวร์นี้เป็นประโยชน์สำหรับคุณยินดีต้อนรับสู่การสนับสนุนการสแกนรหัส WeChat ขอบคุณ ~",
"自动获取系统代理": "รับพร็อกซีระบบอัตโนมัติ",
"是否使用快捷键": "จะใช้ปุ่มลัดหรือไม่",
"历史翻译": "การแปลประวัติศาสตร์",
"最小化到托盘": "ลดขนาดลงในถาด",
"打开目录": "เปิดไดเรกทอรี",
"录制翻译文件": "บันทึกไฟล์แปล",
"字体样式": "รูปแบบตัวอักษร",
"搜索文本过短!": "ค้นหาข้อความสั้นเกินไป!",
"的OCR模型": "รุ่น OCR",
"备忘录按钮": "ปุ่มบันทึก",
"小学馆": "ศาลาประถมศึกษา",
"光标": "เคอร์เซอร์",
"项目网站": "เว็บไซต์โครงการ",
@ -222,7 +214,6 @@
"OCR设置": "การตั้งค่า OCR",
"文本输入": "ป้อนข้อความ",
"语音": "เสียงพูด",
"连接失败": "การเชื่อมต่อล้มเหลว",
"文本搜索": "ค้นหาข้อความ",
"居中显示": "แสดงกึ่งกลาง",
"翻译及OCR语言": "การแปลและภาษา OCR",
@ -231,11 +222,9 @@
"描边字体": "Designedge ตัวอักษร",
"默认设置": "ตั้งค่าปริยาย",
"意大利语": "อิตาลี",
"显示显示原文按钮": "แสดงปุ่มแสดงข้อความต้นฉบับ",
"去除花括号{}": "ลบวงเล็บดอกไม้ {}",
"保留原文": "เก็บต้นฉบับไว้",
"朗读原文": "อ่านต้นฉบับ",
"连接成功": "เชื่อมต่อสำเร็จ",
"修改游戏字体": "แก้ไขเกม แบบอักษร",
"选择文本": "เลือกข้อความ",
"json文件": "ไฟล์ json",
@ -253,7 +242,6 @@
"显示分词结果": "แสดงผลการแบ่งคำ",
"退出": "ออกจาก",
"自定义翻译": "การแปลที่กำหนดเอง",
"显示朗读按钮": "แสดงปุ่มอ่านออกเสียง",
"显示/隐藏原文": "แสดง/ซ่อนข้อความต้นฉบับ",
"清空": "ล้าง",
"刷新": "รีเฟรช",
@ -287,7 +275,6 @@
"東北ずん子/东北俊子": "โทโฮคุ ず家 / Tohoku Toshiko",
"波兰语": "โปแลนด์",
"接口": "อินเตอร์เฟซ",
"翻译结果修正按钮": "ปุ่มแก้ไขผลการแปล",
"警告": "คำเตือน",
"俄语": "ภาษารัสเซีย",
"文字更新分析": "การวิเคราะห์การอัปเดตคำ",
@ -352,7 +339,6 @@
"替换": "แทนที่",
"绘制光标": "วาดเคอร์เซอร์",
"颜色设置": "การตั้งค่าสี",
"调整游戏窗口按钮": "ปรับปุ่มหน้าต่างเกม",
"HOOK设置": "การตั้งค่า HOOK",
"結月ゆかり": "เน็ตมูนคะคะริ",
"空白": "ว่างเปล่า",
@ -365,7 +351,6 @@
"选择文件": "เลือกไฟล์",
"自动翻译": "การแปลอัตโนมัติ",
"接続詞": "続คำ",
"显示游戏静音按钮": "แสดงปุ่มปิดเสียงเกม",
"東北ずん子": "โทโฮคุ",
"目标语言": "ภาษาเป้าหมาย",
"乌克兰语": "ยูเครน",
@ -373,7 +358,6 @@
"云译": "การแปลคลาวด์",
"秒": "วินาที",
"所选文件格式错误!": "รูปแบบแฟ้มที่เลือกไม่ถูกต้อง!",
"显示移动按钮": "แสดงปุ่มย้าย",
"过滤英文字母": "กรองตัวอักษรภาษาอังกฤษ",
"进行一次OCR": "ทำ OCR หนึ่งครั้ง",
"选取OCR范围——立即": "เลือกช่วง OCR - ตอนนี้",
@ -538,7 +522,6 @@
"最小行数": "จำนวนแถวขั้นต่ำ",
"最大行数": "จำนวนแถวสูงสุด",
"兼容接口": "อินเตอร์เฟซที่เข้ากันได้",
"调试浏览器": "ดีบักเบราว์เซอร์",
"手动翻译": "การแปลด้วยตนเอง",
"显示引擎": "แสดงเครื่องยนต์",
"阴影字体": "Shadow ตัวอักษร",

View File

@ -37,7 +37,6 @@
"目标语言": "hedef dili",
"最短翻译字数": "Tercüme edilen kelimelerin en az sayısı",
"最长翻译字数": "Tercüme edilen sözlerin en büyük sayısı",
"录制翻译文件": "Çeviri dosyasını kaydedin",
"离线翻译": "Devre dışı çeviri",
"在线翻译": "İnternet çevirisi",
"注册在线翻译": "Çevrimindeki çeviri için kaydedin",
@ -57,9 +56,6 @@
"字体样式": "Yazıtipi stili",
"居中显示": "Orta gösterim",
"描边宽度": "stroke-method",
"显示显示原文按钮": "Metin düğmesini göster",
"显示朗读按钮": "Okuma düğmesini göster",
"显示游戏静音按钮": "Oyun sessiz düğmesini göster",
"游戏窗口移动时同步移动": "Oyun penceresi hareket ettiğinde eşzamanlı hareket et",
"语音设置": "Ses ayarları",
"火山TTS": "Volcano TTS",
@ -175,9 +171,7 @@
"字体": "typeface",
"飞书": "isimsiz mektup",
"编辑": "edit",
"显示编辑按钮": "Düzenleme düğmesini göster",
"移动": "hareket et",
"显示移动按钮": "Taşıma Düğmesini Göster",
"设置Token": "Token ayarlayın",
"该功能可能会导致游戏崩溃!": "Bu fonksiyon oyunu mahvedebilir!",
"警告": "uyarı",
@ -201,7 +195,6 @@
"自定义翻译": "Özel çevirim",
"说明": "açıklayın",
"分析图像更新+周期执行": "Görüntü güncellemesi",
"调整游戏窗口按钮": "Oyun pencere düğmelerini ayarla",
"内嵌的翻译器": "İçeri yatırılmış çevirici",
"代理设置": "Proksi Ayarları",
"自动更新": "Otomatik güncelleştirme",
@ -211,7 +204,6 @@
"语音合成": "konuşma sintezi",
"文本处理": "metin işleme",
"预处理方法": "Özellik yöntemi",
"连接进程": "Bağlantı süreci",
"设置代码页": "Kod sayfasını ayarla",
"设置刷新延迟": "Yeniden yenileme gecikmesini ayarlayın",
"将汉字转换成繁体/日式汉字": "Çin karakterlerini geleneksel/Japon karakterlerine dönüştür",
@ -246,7 +238,6 @@
"当前MD5": "Ağımdaki MD5",
"修改": "değiştir",
"翻译结果修正": "Tercüme sonuçlarının düzeltmesi",
"翻译结果修正按钮": "Çeviri sonuçları düzeltme düğmesi",
"过滤文本中的非日语字符集字符": "Japon olmayan karakter seti karakterleri metinde sil",
"过滤其他乱码": "Diğer çöplü kodları sil",
"过滤乱码文本": "Süzgülenmiş metin",
@ -257,7 +248,6 @@
"问题反馈": "Problem geri verisi",
"附带上下文个数": "Yapılan anlaşmalar sayısı",
"备忘录": "memorandum",
"备忘录按钮": "Memo düğmesi",
"插入图片": "Resim Gir",
"当前权限": "Güncel izinler",
"非管理员": "Yönetici olmayan",
@ -266,7 +256,6 @@
"所选文件格式错误!": "Seçili dosya format ı yanlış!",
"进程号": "İşlem numarası",
"进程": "işlem",
"发现": "Bul",
"失败": "başarısız",
"仅使用激活的翻译": "Sadece aktif çevirimleri kullan",
"云译": "Bulud çevirimi",
@ -334,12 +323,8 @@
"音街ウナ": "Yin Caddesi Roast",
"鷹の爪吉田": "Kartal Yushida",
"ギャラ子": "Gâララギャラ",
"游戏信息": "Oyun Bilgisi",
"意大利语": "İtalyanca",
"端口号": "Port numarası",
"连接失败": "bağlantı başarısız oldu",
"连接成功": "Başarılı bağlanmış",
"端口冲突": "Port Çatışması",
"缩放模式": "Yakınlaştırma tarzı",
"捕获模式": "Yakalama modusu",
"捕获标题栏": "Başlık Çubuğunu Yap",
@ -373,7 +358,6 @@
"sqlite翻译记录": "Sqlite çevirim kayıtları",
"json翻译文件": "JSON çevirim dosyası",
"选择图标": "İşaretçiyi seç",
"图标2": "İşaretçi 2",
"刷新": "Tazele",
"读取剪贴板": "Pano Oku",
"进行一次OCR": "OCR yap",
@ -538,7 +522,6 @@
"最小行数": "En az satır sayısı",
"最大行数": "Azamik satır sayısı",
"兼容接口": "Kompatibil arayüz",
"调试浏览器": "Hata ayıklama tarayıcısı",
"手动翻译": "Elle çevirim",
"显示引擎": "Gösterim Motoru",
"阴影字体": "Gölge yazıtipi",

View File

@ -37,7 +37,6 @@
"目标语言": "мова призначення",
"最短翻译字数": "Мінімальна кількість перекладених слів",
"最长翻译字数": "Максимальна кількість перекладених слів",
"录制翻译文件": "Запис файлів перекладу",
"离线翻译": "Офлайн переклад",
"在线翻译": "онлайн переклад",
"注册在线翻译": "Реєструватися для онлайн перекладу",
@ -205,7 +204,6 @@
"语音合成": "синтез мовлення",
"文本处理": "текстове обробка",
"预处理方法": "Метод переобробки",
"连接进程": "Процес з’ єднання",
"设置代码页": "Встановити сторінку коду",
"设置刷新延迟": "Встановити затримку оновлення",
"将汉字转换成繁体/日式汉字": "Перетворити китайські символи на традиційні/японські символи",
@ -258,7 +256,6 @@
"所选文件格式错误!": "Вибраний формат файла неправильний!",
"进程号": "Номер процесу",
"进程": "процес",
"发现": "find",
"失败": "невдачі",
"仅使用激活的翻译": "Використовувати лише активні переклади",
"云译": "Переклад хмар",
@ -267,14 +264,6 @@
"处理": "ручка",
"波兰语": ольськаName",
"窗口置顶": "Верхнє вікно",
"显示显示原文按钮": "Показати початкову кнопку",
"显示朗读按钮": "Показати кнопку вимови",
"显示移动按钮": "Показати кнопку пересування",
"翻译结果修正按钮": "Кнопка виправлення результатів перекладу",
"显示编辑按钮": "Показати кнопку редагування",
"调整游戏窗口按钮": "Налаштувати кнопки вікна гри",
"显示游戏静音按钮": "Показувати кнопку вимкнути гру",
"备忘录按钮": "Кнопка пам' яті",
"仅": "лише",
"任务栏中显示": "Show in taskbar",
"移除": "вилучити",
@ -334,12 +323,8 @@
"音街ウナ": "Вулица Йін Рост",
"鷹の爪吉田": "Орл- Клау- Йошіда",
"ギャラ子": "\\\\ 12462;\\\\ 12462;\\\\ 12462Name",
"游戏信息": "Інформація про гру",
"意大利语": "Італійська",
"端口号": "Номер порту",
"连接失败": "connection failed",
"连接成功": "Успішно з’ єднано",
"端口冲突": "Конфлікт порту",
"缩放模式": "Режим масштабу",
"捕获模式": "Режим захоплення",
"捕获标题栏": "Панель заголовка захоплення",
@ -373,7 +358,6 @@
"sqlite翻译记录": "Записи перекладу Sqlite",
"json翻译文件": "Файл перекладу JSON",
"选择图标": "Виберіть піктограму",
"图标2": "Піктограма 2",
"刷新": "Оновити",
"读取剪贴板": "Читати буфер обміну даними",
"进行一次OCR": "Виконати OCR",
@ -538,7 +522,6 @@
"最小行数": "Мінімальна кількість рядків",
"最大行数": "Максимальна кількість рядків",
"兼容接口": "Сумісний інтерфейс",
"调试浏览器": "Відладка навігатора",
"手动翻译": "Ручний переклад",
"显示引擎": "Рушій показу",
"阴影字体": "Шрифт тіні",

View File

@ -37,7 +37,6 @@
"目标语言": "Ngôn ngữ đích",
"最短翻译字数": "Số lượng từ phiên dịch ngắn nhất",
"最长翻译字数": "Số lượng từ phiên dịch dài nhất",
"录制翻译文件": "Ghi lại tập tin dịch",
"离线翻译": "Dịch ngoại tuyến",
"在线翻译": "Dịch trực tuyến",
"注册在线翻译": "Đăng ký dịch trực tuyến",
@ -57,9 +56,6 @@
"字体样式": "Kiểu phông chữ",
"居中显示": "Hiện ở giữa",
"描边宽度": "Chiều rộng viền",
"显示显示原文按钮": "Hiển thị nút hiển thị gốc",
"显示朗读按钮": "Hiện nút đọc to",
"显示游戏静音按钮": "Hiện nút tắt tiếng trò chơi",
"游戏窗口移动时同步移动": "Đồng bộ di chuyển khi cửa sổ trò chơi di chuyển",
"语音设置": "Thiết lập giọng nói",
"火山TTS": "Núi lửa TTS",
@ -175,9 +171,7 @@
"字体": "Phông chữ",
"飞书": "Sách bay",
"编辑": "Chỉnh sửa",
"显示编辑按钮": "Hiện nút chỉnh sửa",
"移动": "Di chuyển",
"显示移动按钮": "Hiện nút di chuyển",
"设置Token": "Thiết lập Token",
"该功能可能会导致游戏崩溃!": "Tính năng này có thể gây ra sự cố trò chơi!",
"警告": "Cảnh báo",
@ -201,7 +195,6 @@
"自定义翻译": "Bản dịch tùy chỉnh",
"说明": "Mô tả",
"分析图像更新+周期执行": "Phân tích cập nhật hình ảnh+thực hiện chu kỳ",
"调整游戏窗口按钮": "Điều chỉnh nút cửa sổ trò chơi",
"内嵌的翻译器": "Trình dịch nội tuyến",
"代理设置": "Thiết lập ủy nhiệm",
"自动更新": "Cập nhật tự động",
@ -211,7 +204,6 @@
"语音合成": "Tổng hợp giọng nói",
"文本处理": "Xử lý văn bản",
"预处理方法": "Phương pháp tiền xử lý",
"连接进程": "Quá trình kết nối",
"设置代码页": "Thiết lập trang mã",
"设置刷新延迟": "Đặt độ trễ làm mới",
"将汉字转换成繁体/日式汉字": "Chuyển đổi Kanji sang Kanji truyền thống/Nhật Bản",
@ -246,7 +238,6 @@
"当前MD5": "MD5 hiện tại",
"修改": "Sửa đổi",
"翻译结果修正": "Sửa kết quả dịch",
"翻译结果修正按钮": "Kết quả dịch Nút sửa chữa",
"过滤文本中的非日语字符集字符": "Bộ lọc ký tự bộ ký tự không phải tiếng Nhật trong văn bản",
"过滤其他乱码": "Lọc mã lộn xộn khác",
"过滤乱码文本": "Lọc văn bản lộn xộn",
@ -257,7 +248,6 @@
"问题反馈": "Phản hồi câu hỏi",
"附带上下文个数": "Số context",
"备忘录": "Bản ghi nhớ",
"备忘录按钮": "Nút ghi nhớ",
"插入图片": "Chèn ảnh",
"当前权限": "Quyền hiện tại",
"非管理员": "Không quản trị",
@ -266,7 +256,6 @@
"所选文件格式错误!": "Lỗi định dạng tập tin đã chọn!",
"进程号": "Số tiến trình",
"进程": "Quy trình",
"发现": "Khám phá",
"失败": "Thất bại",
"仅使用激活的翻译": "Chỉ sử dụng bản dịch kích hoạt",
"云译": "Dịch Mây",
@ -334,12 +323,8 @@
"音街ウナ": "Phố âm thanh ウナ",
"鷹の爪吉田": "Đại bàng~Claw Yoshida",
"ギャラ子": "👉👉👉👉👉👉👉👉👉👉👉👉👉👉👉",
"游戏信息": "Thông tin trò chơi",
"意大利语": "Tiếng Ý",
"端口号": "Số cổng",
"连接失败": "Lỗi kết nối",
"连接成功": "Kết nối thành công",
"端口冲突": "Xung đột cổng",
"缩放模式": "Chế độ phóng to",
"捕获模式": "Chế độ chụp",
"捕获标题栏": "Bắt thanh tiêu đề",
@ -373,7 +358,6 @@
"sqlite翻译记录": "Bản dịch sqlite",
"json翻译文件": "JSON dịch tài liệu",
"选择图标": "Chọn biểu tượng",
"图标2": "Biểu tượng 2",
"刷新": "Làm mới",
"读取剪贴板": "Đọc bảng nháp",
"进行一次OCR": "Thực hiện OCR",
@ -538,7 +522,6 @@
"最小行数": "Số dòng tối thiểu",
"最大行数": "Số dòng tối đa",
"兼容接口": "Giao diện tương thích",
"调试浏览器": "Gỡ lỗi trình duyệt",
"手动翻译": "Dịch thủ công",
"显示引擎": "Công cụ hiển thị",
"阴影字体": "Phông bóng",

View File

@ -2,7 +2,6 @@
"使用代理": "",
"进程": "",
"sqlite翻译记录": "",
"显示编辑按钮": "",
"过滤换行符": "",
"文本设置": "",
"过滤数字": "",
@ -48,15 +47,10 @@
"显示帧率": "",
"最新版本": "",
"搜索": "",
"游戏信息": "",
"特殊码": "",
"端口冲突": "",
"连接进程": "",
"发现": "",
"取消": "",
"合并多行识别结果": "",
"附加音源": "",
"图标2": "",
"如果你感觉该软件对你有帮助,欢迎微信扫码赞助,谢谢~": "",
"窗口截图": "",
"自动获取系统代理": "",
@ -64,11 +58,9 @@
"最小化到托盘": "",
"打开目录": "",
"手动设置代理": "",
"录制翻译文件": "",
"字体样式": "",
"搜索文本过短!": "",
"的OCR模型": "",
"备忘录按钮": "",
"小学馆": "",
"光标": "",
"项目网站": "",
@ -228,7 +220,6 @@
"OCR设置": "",
"文本输入": "",
"语音": "",
"连接失败": "",
"居中显示": "",
"翻译及OCR语言": "",
"管理员": "",
@ -236,11 +227,9 @@
"描边字体": "",
"默认设置": "",
"意大利语": "",
"显示显示原文按钮": "",
"去除花括号{}": "",
"保留原文": "",
"朗读原文": "",
"连接成功": "",
"修改游戏字体": "",
"选择文本": "",
"json文件": "",
@ -258,7 +247,6 @@
"显示分词结果": "",
"退出": "",
"自定义翻译": "",
"显示朗读按钮": "",
"显示/隐藏原文": "",
"清空": "",
"刷新": "",
@ -292,7 +280,6 @@
"東北ずん子/东北俊子": "",
"波兰语": "",
"接口": "",
"翻译结果修正按钮": "",
"警告": "",
"俄语": "",
"文字更新分析": "",
@ -360,7 +347,6 @@
"绘制光标": "",
"颜色设置": "",
"简体中文": "",
"调整游戏窗口按钮": "",
"HOOK设置": "",
"結月ゆかり": "",
"空白": "",
@ -374,7 +360,6 @@
"选择文件": "",
"自动翻译": "",
"接続詞": "",
"显示游戏静音按钮": "",
"拉丁": "",
"東北ずん子": "",
"目标语言": "",
@ -383,7 +368,6 @@
"云译": "",
"秒": "",
"所选文件格式错误!": "",
"显示移动按钮": "",
"过滤英文字母": "",
"进行一次OCR": "",
"选取OCR范围——立即": "",
@ -554,7 +538,6 @@
"最大字数": "",
"最小行数": "",
"最大行数": "",
"调试浏览器": "",
"显示引擎": "",
"阴影字体": "",
"额外的html": "",