This commit is contained in:
恍兮惚兮 2024-07-30 19:32:59 +08:00
parent 0aed67ebc3
commit ad22ef9cad
32 changed files with 367 additions and 220 deletions

View File

@ -465,13 +465,26 @@ class autoinitdialog(LDialog):
hasrank.append(line)
hasrank.sort(key=lambda line: line.get("rank", None))
lines = hasrank + hasnorank
refname2line = {}
for line in lines:
refswitch = line.get("refswitch", None)
if refswitch:
refname2line[refswitch] = None
oklines = []
for line in lines:
k = line.get("k", None)
if k in refname2line:
refname2line[k] = line
continue
oklines.append(line)
lines = oklines
for line in lines:
if "d" in line:
dd = line["d"]
if "k" in line:
key = line["k"]
if line["type"] == "switch_ref":
continue
if line["type"] == "label":
if "islink" in line and line["islink"]:
@ -571,11 +584,7 @@ class autoinitdialog(LDialog):
refswitch = line.get("refswitch", None)
if refswitch:
hbox = QHBoxLayout()
line_ref = None
for __ in lines:
if __.get("k", None) == refswitch:
line_ref = __
break
line_ref = refname2line.get(refswitch, None)
if line_ref:
if "d" in line_ref:
dd = line_ref["d"]

View File

@ -46,7 +46,6 @@ class mecabwrap:
if not os.path.exists(mecabpath):
mecabpath = r"C:\Program Files (x86)\MeCab\dic\ipadic"
self.codec = self.testcodec(mecabpath)
print(self.codec)
self.kks = winsharedutils.mecab_init(
mecabpath.encode("utf8"), gobject.GetDllpath("libmecab.dll")
)

View File

@ -24,10 +24,7 @@ class OCR(baseocr):
}
def createdata(self, message):
try:
temperature = float(self.config["Temperature"])
except:
temperature = 0.3
temperature = self.config["Temperature"]
data = dict(
model=self.config["model"],

View File

@ -30,10 +30,7 @@ class TS(basetrans):
super().__init__(typename)
def createdata(self, message):
try:
temperature = float(self.config["Temperature"])
except:
temperature = 0.3
temperature = self.config["Temperature"]
if self.config["use_user_prompt"]:
system = self.config["user_prompt"]
@ -109,7 +106,18 @@ class TS(basetrans):
def translate(self, query):
acss = self.checkchange()
self.contextnum = int(self.config["context_num"])
user_prompt = (
self.config.get("user_user_prompt", "")
if self.config.get("use_user_user_prompt", False)
else ""
)
try:
if "{sentence}" in user_prompt:
query = user_prompt.format(sentence=query)
else:
query = user_prompt + query
except:
pass
message = []
for _i in range(min(len(self.context) // 2, self.contextnum)):
i = (

View File

@ -42,12 +42,21 @@ class TS(basetrans):
return api_url
def translate(self, query):
self.checkempty(["API_KEY", "model"])
self.contextnum = int(self.config["附带上下文个数"])
user_prompt = (
self.config.get("user_user_prompt", "")
if self.config.get("use_user_user_prompt", False)
else ""
)
try:
temperature = float(self.config["Temperature"])
if "{sentence}" in user_prompt:
query = user_prompt.format(sentence=query)
else:
query = user_prompt + query
except:
temperature = 0.3
pass
temperature = self.config["Temperature"]
if self.config["使用自定义promt"]:
system = self.config["自定义promt"]
@ -71,13 +80,8 @@ class TS(basetrans):
"accept": "application/json",
"anthropic-version": "2023-06-01",
"content-type": "application/json",
"X-Api-Key": self.multiapikeycurrent["API_KEY"],
}
if len(self.multiapikeycurrent["API_KEY"]):
headers.update({"X-Api-Key": self.multiapikeycurrent["API_KEY"]})
# elif len(self.config["AUTH_TOKEN"]):
# headers.update({"Authorization": f'Bearer {self.config["AUTH_TOKEN"]}'})
else:
self.checkempty(["API_KEY"]) # , "AUTH_TOKEN"])
usingstream = self.config["流式输出"]
data = dict(

View File

@ -77,11 +77,19 @@ class TS(basetrans):
def translate(self, query):
self.checkempty(["SECRET_KEY", "model"])
self.contextnum = int(self.config["附带上下文个数"])
user_prompt = (
self.config.get("user_user_prompt", "")
if self.config.get("use_user_user_prompt", False)
else ""
)
try:
temperature = float(self.config["Temperature"])
if "{sentence}" in user_prompt:
query = user_prompt.format(sentence=query)
else:
query = user_prompt + query
except:
temperature = 0.3
pass
temperature = self.config["Temperature"]
if self.config["使用自定义promt"]:
message = [{"role": "system", "content": self.config["自定义promt"]}]

View File

@ -1,7 +1,6 @@
from translator.basetranslator import basetrans
class TS(basetrans):
def langmap(self):
return {
@ -21,6 +20,7 @@ class TS(basetrans):
"ar": "Arabic",
"th": "Thai",
}
def __init__(self, typename):
self.context = []
super().__init__(typename)
@ -32,64 +32,83 @@ class TS(basetrans):
self.checkempty(["SECRET_KEY", "model"])
self.contextnum = int(self.config["context"])
try:
gen_config = {"generationConfig": {"stopSequences": [" \n"], "temperature": float(self.config["Temperature"])}}
except:
gen_config = {"generationConfig": {"temperature": float(0.3)}}
try:
model= self.config["model"]
except:
model= "gemini-1.5-flash"
safety={"safety_settings": [
{"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_NONE",
},
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_NONE",
},
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_NONE",
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_NONE",
gen_config = {
"generationConfig": {
"stopSequences": [" \n"],
"temperature": self.config["Temperature"],
}
}
except:
gen_config = {"generationConfig": {"temperature": 0.3}}
try:
model = self.config["model"]
except:
model = "gemini-1.5-flash"
user_prompt = (
self.config.get("user_user_prompt", "")
if self.config.get("use_user_user_prompt", False)
else ""
)
try:
if "{sentence}" in user_prompt:
query = user_prompt.format(sentence=query)
else:
query = user_prompt + query
except:
pass
safety = {
"safety_settings": [
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_NONE",
},
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_NONE",
},
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_NONE",
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_NONE",
},
]
}
if self.config["use_custom_prompt"]:
sys_message = {"systemInstruction": {"parts": {"text":self.config["custom_prompt"]}}}
sys_message = {
"systemInstruction": {"parts": {"text": self.config["custom_prompt"]}}
}
else:
sys_message= {"systemInstruction":
{
sys_message = {
"systemInstruction": {
"parts": {
"text":"You are a translator. Please help me translate the following {} text into {}, and you should only tell me the translation.".format(
self.srclang, self.tgtlang
),
},
"text": "You are a translator. Please help me translate the following {} text into {}, and you should only tell me the translation.".format(
self.srclang, self.tgtlang
),
},
},
}
message=[]
message = []
for _i in range(min(len(self.context) // 2, self.contextnum)):
i = (
len(self.context) // 2
- min(len(self.context) // 2, self.contextnum)
+ _i
len(self.context) // 2
- min(len(self.context) // 2, self.contextnum)
+ _i
)
message.append(self.context[i * 2])
message.append(self.context[i * 2 + 1])
message.append({"role": "user", "parts":[{"text":query}]})
contents=dict(contents=message)
message.append({"role": "user", "parts": [{"text": query}]})
contents = dict(contents=message)
payload= {**contents, **safety, **sys_message, **gen_config }
payload = {**contents, **safety, **sys_message, **gen_config}
res = self.proxysession.post(
f"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",
params={"key": self.multiapikeycurrent["SECRET_KEY"]},
json=payload
json=payload,
)
try:
line = res.json()["candidates"][0]["content"]["parts"][0]["text"]
@ -98,4 +117,3 @@ class TS(basetrans):
raise Exception(res.text)
self.context.append({"role": "user", "parts": [{"text": query}]})
self.context.append({"role": "model", "parts": [{"text": line}]})

View File

@ -29,11 +29,7 @@ class gptcommon(basetrans):
super().__init__(typename)
def createdata(self, message):
try:
temperature = float(self.config["Temperature"])
except:
temperature = 0.3
temperature = self.config["Temperature"]
data = dict(
model=self.config["model"],
messages=message,
@ -46,6 +42,12 @@ class gptcommon(basetrans):
frequency_penalty=self.config["frequency_penalty"],
stream=self.config["流式输出"],
)
try:
if self.config["use_other_args"]:
extra = json.loads(self.config["other_args"])
data.update(extra)
except:
pass
return data
def createparam(self):
@ -112,7 +114,18 @@ class gptcommon(basetrans):
def translate(self, query):
self.contextnum = int(self.config["附带上下文个数"])
user_prompt = (
self.config.get("user_user_prompt", "")
if self.config.get("use_user_user_prompt", False)
else ""
)
try:
if "{sentence}" in user_prompt:
query = user_prompt.format(sentence=query)
else:
query = user_prompt + query
except:
pass
if self.config["使用自定义promt"]:
message = [{"role": "system", "content": self.config["自定义promt"]}]
else:

View File

@ -131,10 +131,8 @@ class TS(basetrans):
temperature=float(self.config["temperature"]),
top_p=float(self.config["top_p"]),
max_tokens=1 if is_test else int(self.config["max_new_token"]),
frequency_penalty=(
float(kwargs["frequency_penalty"])
if "frequency_penalty" in kwargs.keys()
else float(self.config["frequency_penalty"])
frequency_penalty=float(
kwargs.get("frequency_penalty", self.config["frequency_penalty"])
),
seed=-1,
extra_query=extra_query,
@ -169,10 +167,8 @@ class TS(basetrans):
temperature=float(self.config["temperature"]),
top_p=float(self.config["top_p"]),
max_tokens=1 if is_test else int(self.config["max_new_token"]),
frequency_penalty=(
float(kwargs["frequency_penalty"])
if "frequency_penalty" in kwargs.keys()
else float(self.config["frequency_penalty"])
frequency_penalty=float(
kwargs.get("frequency_penalty", self.config["frequency_penalty"])
),
seed=-1,
extra_query=extra_query,

View File

@ -115,7 +115,19 @@ class TS(basetrans):
def translate(self, query):
self.checkempty(["secret_id", "secret_key"])
self.contextnum = int(self.config["context_num"])
user_prompt = (
self.config.get("user_user_prompt", "")
if self.config.get("use_user_user_prompt", False)
else ""
)
try:
if "{sentence}" in user_prompt:
query = user_prompt.format(sentence=query)
else:
query = user_prompt + query
except:
pass
print(query)
if self.config["use_user_prompt"]:
message = [{"Role": "system", "Content": self.config["user_prompt"]}]
else:

View File

@ -205,9 +205,23 @@
"自定义promt": "",
"api_type": 0,
"流式输出": false,
"user_user_prompt": "{sentence}",
"use_user_user_prompt": false,
"other_args": "{}",
"use_other_args": false,
"s": ""
},
"argstype": {
"other_args": {
"type": "multiline",
"refswitch": "use_other_args",
"name": "其他参数"
},
"user_user_prompt": {
"name": "user prompt",
"refswitch": "use_user_user_prompt",
"rank": 5.1
},
"s": {
"type": "split",
"rank": 2.5
@ -234,8 +248,10 @@
"step": 0.05
},
"自定义promt": {
"name": "自定义_system promt",
"type": "multiline",
"refswitch": "使用自定义promt"
"refswitch": "使用自定义promt",
"rank": 5
},
"max_tokens": {
"type": "intspin",
@ -259,14 +275,12 @@
"SECRET_KEY": {
"rank": 1.6
},
"使用自定义promt": {
"type": "switch_ref"
},
"附带上下文个数": {
"type": "intspin",
"min": 0,
"max": 10,
"step": 1
"step": 1,
"rank": 4.9
},
"Temperature": {
"type": "spin",
@ -286,10 +300,19 @@
"context_num": 0,
"use_user_prompt": false,
"user_prompt": "",
"user_user_prompt": "{sentence}",
"use_user_user_prompt": false,
"usingstream": false,
"other_args": "{}",
"use_other_args": false,
"s": ""
},
"argstype": {
"other_args": {
"type": "multiline",
"refswitch": "use_other_args",
"name": "其他参数"
},
"s": {
"type": "split",
"rank": 2.5
@ -315,20 +338,23 @@
"rank": 3
},
"user_prompt": {
"name": "自定义promt",
"name": "自定义_system promt",
"type": "multiline",
"refswitch": "use_user_prompt"
"refswitch": "use_user_prompt",
"rank": 5
},
"use_user_prompt": {
"name": "使用自定义promt",
"type": "switch_ref"
"user_user_prompt": {
"name": "user prompt",
"refswitch": "use_user_user_prompt",
"rank": 5.1
},
"context_num": {
"name": "附带上下文个数",
"type": "intspin",
"min": 0,
"max": 10,
"step": 1
"step": 1,
"rank": 4.9
},
"Temperature": {
"type": "spin",
@ -349,9 +375,23 @@
"使用自定义promt": false,
"自定义promt": "",
"流式输出": false,
"user_user_prompt": "{sentence}",
"use_user_user_prompt": false,
"other_args": "{}",
"use_other_args": false,
"s": ""
},
"argstype": {
"other_args": {
"type": "multiline",
"refswitch": "use_other_args",
"name": "其他参数"
},
"user_user_prompt": {
"name": "user prompt",
"refswitch": "use_user_user_prompt",
"rank": 5.1
},
"s": {
"type": "split",
"rank": 2.5
@ -371,10 +411,9 @@
},
"自定义promt": {
"type": "multiline",
"refswitch": "使用自定义promt"
},
"使用自定义promt": {
"type": "switch_ref"
"refswitch": "使用自定义promt",
"name": "自定义_system promt",
"rank": 5
},
"max_tokens": {
"type": "intspin",
@ -386,7 +425,8 @@
"type": "intspin",
"min": 0,
"max": 10,
"step": 1
"step": 1,
"rank": 4.9
},
"Temperature": {
"type": "spin",
@ -409,9 +449,23 @@
"top_p": 0.3,
"max_tokens": 128,
"frequency_penalty": 0,
"user_user_prompt": "{sentence}",
"use_user_user_prompt": false,
"other_args": "{}",
"use_other_args": false,
"s": ""
},
"argstype": {
"other_args": {
"type": "multiline",
"refswitch": "use_other_args",
"name": "其他参数"
},
"user_user_prompt": {
"name": "user prompt",
"refswitch": "use_user_user_prompt",
"rank": 5.1
},
"s": {
"type": "split",
"rank": 2.5
@ -447,18 +501,18 @@
"type": "switch",
"rank": 3
},
"使用自定义promt": {
"type": "switch_ref"
},
"自定义promt": {
"type": "multiline",
"refswitch": "使用自定义promt"
"refswitch": "使用自定义promt",
"name": "自定义_system promt",
"rank": 5
},
"附带上下文个数": {
"type": "intspin",
"min": 0,
"max": 10,
"step": 1
"step": 1,
"rank": 4.9
},
"Temperature": {
"type": "spin",
@ -481,9 +535,23 @@
"top_p": 0.3,
"max_tokens": 128,
"frequency_penalty": 0,
"user_user_prompt": "{sentence}",
"use_user_user_prompt": false,
"other_args": "{}",
"use_other_args": false,
"s": ""
},
"argstype": {
"other_args": {
"type": "multiline",
"refswitch": "use_other_args",
"name": "其他参数"
},
"user_user_prompt": {
"name": "user prompt",
"refswitch": "use_user_user_prompt",
"rank": 5.1
},
"s": {
"type": "split",
"rank": 2.5
@ -517,24 +585,22 @@
},
"user_prompt": {
"type": "multiline",
"name": "自定义promt",
"refswitch": "use_user_prompt"
"name": "自定义_system promt",
"refswitch": "use_user_prompt",
"rank": 5
},
"usingstream": {
"name": "流式输出",
"type": "switch",
"rank": 3
},
"use_user_prompt": {
"name": "使用自定义promt",
"type": "switch_ref"
},
"context_num": {
"name": "附带上下文个数",
"type": "intspin",
"min": 0,
"max": 10,
"step": 1
"step": 1,
"rank": 4.9
},
"Temperature": {
"type": "spin",
@ -553,9 +619,23 @@
"使用自定义promt": false,
"自定义promt": "",
"流式输出": false,
"use_user_user_prompt": false,
"user_user_prompt": "{sentence}",
"other_args": "{}",
"use_other_args": false,
"s": ""
},
"argstype": {
"other_args": {
"type": "multiline",
"refswitch": "use_other_args",
"name": "其他参数"
},
"user_user_prompt": {
"name": "user prompt",
"refswitch": "use_user_user_prompt",
"rank": 5.1
},
"s": {
"type": "split",
"rank": 1.5
@ -568,20 +648,20 @@
},
"自定义promt": {
"type": "multiline",
"refswitch": "使用自定义promt"
"refswitch": "使用自定义promt",
"name": "自定义_system promt",
"rank": 5
},
"流式输出": {
"type": "switch",
"rank": 2
},
"使用自定义promt": {
"type": "switch_ref"
},
"附带上下文个数": {
"type": "intspin",
"min": 0,
"max": 10,
"step": 1
"step": 1,
"rank": 4.9
},
"Temperature": {
"type": "spin",
@ -744,13 +824,9 @@
"type": "switch"
},
"custom_prompt": {
"name": "自定义promt",
"name": "自定义_system promt",
"type": "multiline",
"refswitch": "use_custom_prompt"
},
"use_custom_prompt": {
"type": "switch_ref",
"name": "使用自定义promt"
}
}
},
@ -766,13 +842,9 @@
"type": "switch"
},
"custom_prompt": {
"name": "自定义promt",
"name": "自定义_system promt",
"type": "multiline",
"refswitch": "use_custom_prompt"
},
"use_custom_prompt": {
"type": "switch_ref",
"name": "使用自定义promt"
}
}
},
@ -788,13 +860,9 @@
"type": "switch"
},
"custom_prompt": {
"name": "自定义promt",
"name": "自定义_system promt",
"type": "multiline",
"refswitch": "use_custom_prompt"
},
"use_custom_prompt": {
"type": "switch_ref",
"name": "使用自定义promt"
}
}
},
@ -810,13 +878,9 @@
"type": "switch"
},
"custom_prompt": {
"name": "自定义promt",
"name": "自定义_system promt",
"type": "multiline",
"refswitch": "use_custom_prompt"
},
"use_custom_prompt": {
"type": "switch_ref",
"name": "使用自定义promt"
}
}
},
@ -832,13 +896,9 @@
"type": "switch"
},
"custom_prompt": {
"name": "自定义promt",
"name": "自定义_system promt",
"type": "multiline",
"refswitch": "use_custom_prompt"
},
"use_custom_prompt": {
"type": "switch_ref",
"name": "使用自定义promt"
}
}
},
@ -852,28 +912,40 @@
"context": 0,
"use_custom_prompt": false,
"custom_prompt": "",
"user_user_prompt": "{sentence}",
"use_user_user_prompt": false,
"other_args": "{}",
"use_other_args": false,
"s": ""
},
"argstype": {
"other_args": {
"type": "multiline",
"refswitch": "use_other_args",
"name": "其他参数"
},
"user_user_prompt": {
"name": "user prompt",
"refswitch": "use_user_user_prompt",
"rank": 5.1
},
"s": {
"type": "split",
"rank": 3.5
},
"custom_prompt": {
"name": "自定义promt",
"name": "自定义_system promt",
"type": "multiline",
"refswitch": "use_custom_prompt"
},
"use_custom_prompt": {
"type": "switch_ref",
"name": "使用自定义promt"
"refswitch": "use_custom_prompt",
"rank": 5
},
"context": {
"type": "intspin",
"min": 0,
"max": 10,
"step": 1,
"name": "附带上下文个数"
"name": "附带上下文个数",
"rank": 4.9
},
"SECRET_KEY": {
"rank": 2
@ -1003,9 +1075,6 @@
"islink": true,
"rank": -1
},
"use_context": {
"type": "switch_ref"
},
"append_context_num": {
"type": "intspin",
"min": 1,
@ -1071,9 +1140,23 @@
"top_p": 0.3,
"max_tokens": 128,
"frequency_penalty": 0,
"user_user_prompt": "{sentence}",
"use_user_user_prompt": false,
"other_args": "{}",
"use_other_args": false,
"s": ""
},
"argstype": {
"other_args": {
"type": "multiline",
"refswitch": "use_other_args",
"name": "其他参数"
},
"user_user_prompt": {
"name": "user prompt",
"refswitch": "use_user_user_prompt",
"rank": 5.1
},
"SECRET_KEY": {
"rank": 3
},
@ -1111,16 +1194,16 @@
},
"自定义promt": {
"type": "multiline",
"refswitch": "使用自定义promt"
},
"使用自定义promt": {
"type": "switch_ref"
"refswitch": "使用自定义promt",
"name": "自定义_system promt",
"rank": 5
},
"附带上下文个数": {
"type": "intspin",
"min": 0,
"max": 10,
"step": 1
"step": 1,
"rank": 4.9
},
"Temperature": {
"type": "spin",

View File

@ -490,8 +490,6 @@
"朗读的翻译": "قراءة الترجمة",
"模拟按键Ctrl": "مفتاح التحكم التناظرية",
"模拟按键Enter": "التناظرية مفتاح الإدخال",
"自定义promt": "عرف برومت",
"使用自定义promt": "استخدام مخصص برومت",
"项目地址": "عنوان المشروع",
"使用说明": "تعليمات الاستخدام",
"注册地址": "العنوان المسجل",
@ -838,5 +836,7 @@
"葡萄牙语": "البرتغالية",
"正在解压": "فك الضغط",
"自动更新失败,请手动更新": "التحديث التلقائي فشل التحديث اليدوي",
"准备完毕,等待更新": "جاهزة للتحديث"
"准备完毕,等待更新": "جاهزة للتحديث",
"自定义": "عرف",
"其他参数": "معايير أخرى"
}

View File

@ -490,8 +490,6 @@
"朗读的翻译": "朗讀的翻譯",
"模拟按键Ctrl": "類比按鍵 Ctrl",
"模拟按键Enter": "類比按鍵 Enter",
"自定义promt": "自訂 Promt",
"使用自定义promt": "使用自訂 Promt",
"项目地址": "專案位址",
"使用说明": "使用說明",
"注册地址": "註冊位址",
@ -838,5 +836,7 @@
"葡萄牙语": "葡萄牙語",
"正在解压": "正在解壓",
"自动更新失败,请手动更新": "自動更新失敗,請手動更新",
"准备完毕,等待更新": "準備完畢,等待更新"
"准备完毕,等待更新": "準備完畢,等待更新",
"自定义": "自定義",
"其他参数": "其他參數"
}

View File

@ -148,7 +148,6 @@
"高级": "senior",
"查词": "Hledat slova",
"繁体中文(CP950,BIG5)": "Tradiční čínština (CP950, BIG5)",
"使用自定义promt": "Použití vlastních výzv",
"翻译结果修正": "Oprava výsledků překladu",
"显示": "displej",
"选择文本输入源": "Vybrat vstupní zdroj textu",
@ -165,7 +164,6 @@
"代名詞": "Synonym",
"绑定截图窗口": "Vázat okno snímku obrazovky",
"执行周期": "Cyklus provádění",
"自定义promt": "Vlastní dotaz",
"希腊语(CP1253)": "Řečtina (CP1253)",
"打开保存的游戏": "Otevřít uloženou hru",
"删除特殊码": "Smazat zvláštní kód",
@ -838,5 +836,7 @@
"葡萄牙语": "Portugalština",
"正在解压": "Probíhá dekomprese",
"自动更新失败,请手动更新": "Automatická aktualizace selhala, aktualizace prosím ručně",
"准备完毕,等待更新": "Připraveni, čekáme na novinky."
"准备完毕,等待更新": "Připraveni, čekáme na novinky.",
"自定义": "vlastní",
"其他参数": "Další parametry"
}

View File

@ -148,7 +148,6 @@
"高级": "Senior",
"查词": "Suche nach Wörtern",
"繁体中文(CP950,BIG5)": "Traditionelles Chinesisch (CP950, BIG5)",
"使用自定义promt": "Benutzerdefinierte Eingabeaufforderungen verwenden",
"翻译结果修正": "Korrektur des Übersetzungsergebnisses",
"显示": "Anzeige",
"选择文本输入源": "Textquelle auswählen",
@ -165,7 +164,6 @@
"代名詞": "Synonym",
"绑定截图窗口": "Screenshot-Fenster binden",
"执行周期": "Ausführungszyklus",
"自定义promt": "Benutzerdefinierte Eingabeaufforderung",
"希腊语(CP1253)": "Griechisch (CP1253)",
"打开保存的游戏": "Gespeichertes Spiel öffnen",
"删除特殊码": "Sondercode löschen",
@ -838,5 +836,7 @@
"葡萄牙语": "Portugiesisch",
"正在解压": "Dekompression im Gange",
"自动更新失败,请手动更新": "Automatische Aktualisierung fehlgeschlagen, bitte manuell aktualisieren",
"准备完毕,等待更新": "Bereit, warten auf Updates"
"准备完毕,等待更新": "Bereit, warten auf Updates",
"自定义": "kundenspezifisch",
"其他参数": "Weitere Parameter"
}

View File

@ -490,8 +490,6 @@
"朗读的翻译": "Translation of TTS Text",
"模拟按键Ctrl": "Simulate Ctrl Key",
"模拟按键Enter": "Simulate Enter Key",
"自定义promt": "Custom Prompt",
"使用自定义promt": "Use Custom Prompt",
"项目地址": "Project Address",
"使用说明": "User Guide",
"注册地址": "Registration Address",
@ -838,5 +836,7 @@
"葡萄牙语": "Portuguese",
"正在解压": "Decompression in progress",
"自动更新失败,请手动更新": "Automatic update failed, please update manually",
"准备完毕,等待更新": "Ready, waiting for updates"
"准备完毕,等待更新": "Ready, waiting for updates",
"自定义": "custom",
"其他参数": "Other parameters"
}

View File

@ -490,8 +490,6 @@
"朗读的翻译": "Traducción de la lectura en voz alta",
"模拟按键Ctrl": "Tecla de simulación Ctrl",
"模拟按键Enter": "Botón de simulación entrar",
"自定义promt": "Personalizado promt",
"使用自定义promt": "Usar promt personalizado",
"项目地址": "Dirección del proyecto",
"使用说明": "Instrucciones de uso",
"注册地址": "Dirección registrada",
@ -838,5 +836,7 @@
"葡萄牙语": "Portugués",
"正在解压": "Se está descomprimiendo",
"自动更新失败,请手动更新": "Falló la actualización automática, actualice manualmente",
"准备完毕,等待更新": "Listo, esperando la actualización"
"准备完毕,等待更新": "Listo, esperando la actualización",
"自定义": "Personalizado",
"其他参数": "Otros parámetros"
}

View File

@ -490,8 +490,6 @@
"朗读的翻译": "Traduction lue à haute voix",
"模拟按键Ctrl": "Simulation de la touche Ctrl",
"模拟按键Enter": "Touche analogique entrée",
"自定义promt": "Promt personnalisé",
"使用自定义promt": "Utiliser un promt personnalisé",
"项目地址": "Adresse du projet",
"使用说明": "Instructions d'utilisation",
"注册地址": "Adresse enregistrée",
@ -838,5 +836,7 @@
"葡萄牙语": "Portugais",
"正在解压": "Décompression en cours",
"自动更新失败,请手动更新": "La mise à jour automatique a échoué, veuillez la mettre à jour manuellement",
"准备完毕,等待更新": "Prêt, en attente de mise à jour"
"准备完毕,等待更新": "Prêt, en attente de mise à jour",
"自定义": "Personnalisation",
"其他参数": "Autres paramètres"
}

View File

@ -490,8 +490,6 @@
"朗读的翻译": "Traduzione di lettura ad alta voce",
"模拟按键Ctrl": "Simula tasto Ctrl",
"模拟按键Enter": "Simula Premere Invio",
"自定义promt": "Promt personalizzato",
"使用自定义promt": "Usa promt personalizzato",
"项目地址": "Indirizzo del progetto",
"使用说明": "Istruzioni per l'uso",
"注册地址": "Indirizzo di registrazione della società",
@ -838,5 +836,7 @@
"葡萄牙语": "Portoghese",
"正在解压": "Decompressione in corso",
"自动更新失败,请手动更新": "Aggiornamento automatico fallito, aggiornare manualmente",
"准备完毕,等待更新": "Pronto, in attesa di aggiornamenti"
"准备完毕,等待更新": "Pronto, in attesa di aggiornamenti",
"自定义": "personalizzato",
"其他参数": "Altri parametri"
}

View File

@ -490,8 +490,6 @@
"朗读的翻译": "朗読の翻訳",
"模拟按键Ctrl": "アナログキーCtrl",
"模拟按键Enter": "アナログキーEnter",
"自定义promt": "カスタムpromt",
"使用自定义promt": "カスタムpromtの使用",
"项目地址": "プロジェクトアドレス",
"使用说明": "使用方法",
"注册地址": "登録アドレス",
@ -838,5 +836,7 @@
"葡萄牙语": "ポルトガル語",
"正在解压": "解凍中",
"自动更新失败,请手动更新": "自動更新に失敗しました。手動で更新してください",
"准备完毕,等待更新": "準備完了、更新待ち"
"准备完毕,等待更新": "準備完了、更新待ち",
"自定义": "カスタム#カスタム#",
"其他参数": "その他のパラメータ"
}

View File

@ -490,8 +490,6 @@
"朗读的翻译": "낭독의 번역",
"模拟按键Ctrl": "아날로그 키 Ctrl",
"模拟按键Enter": "아날로그 키 Enter",
"自定义promt": "사용자 정의 promt",
"使用自定义promt": "사용자 정의 promt 사용",
"项目地址": "프로젝트 주소",
"使用说明": "사용 설명",
"注册地址": "등록 주소",
@ -838,5 +836,7 @@
"葡萄牙语": "포르투갈어",
"正在解压": "압축 푸는 중",
"自动更新失败,请手动更新": "자동 업데이트 실패, 수동으로 업데이트",
"准备完毕,等待更新": "준비 완료, 업데이트 대기 중"
"准备完毕,等待更新": "준비 완료, 업데이트 대기 중",
"自定义": "사용자 지정",
"其他参数": "기타 매개변수"
}

View File

@ -148,7 +148,6 @@
"高级": "senior",
"查词": "Zoeken naar woorden",
"繁体中文(CP950,BIG5)": "Traditioneel Chinees (CP950, BIG5)",
"使用自定义promt": "Aangepaste prompts gebruiken",
"翻译结果修正": "Correctie van vertaalresultaten",
"显示": "display",
"选择文本输入源": "Tekst-invoerbron selecteren",
@ -165,7 +164,6 @@
"代名詞": "Synoniem",
"绑定截图窗口": "Schermafdruk binden",
"执行周期": "Uitvoeringscyclus",
"自定义promt": "Aangepaste promt",
"希腊语(CP1253)": "Grieks (CP1253)",
"打开保存的游戏": "Het opgeslagen spel openen",
"删除特殊码": "Speciale code schrappen",
@ -838,5 +836,7 @@
"葡萄牙语": "Portugees",
"正在解压": "Decompressie in uitvoering",
"自动更新失败,请手动更新": "Automatische update mislukt, update handmatig",
"准备完毕,等待更新": "Klaar, wachten op updates"
"准备完毕,等待更新": "Klaar, wachten op updates",
"自定义": "op maat",
"其他参数": "Andere parameters"
}

View File

@ -490,8 +490,6 @@
"朗读的翻译": "Tłumaczenie czytania na głos",
"模拟按键Ctrl": "Symuluj klawisz Ctrl",
"模拟按键Enter": "Symulować naciśnij Enter",
"自定义promt": "Niestandardowy promt",
"使用自定义promt": "Użyj niestandardowego promta",
"项目地址": "Adres projektu",
"使用说明": "Instrukcja użytkowania",
"注册地址": "Adres zarejestrowany w firmie",
@ -838,5 +836,7 @@
"葡萄牙语": "Portugalski",
"正在解压": "Dekompresja w toku",
"自动更新失败,请手动更新": "Automatyczna aktualizacja nie powiodła się, proszę aktualizować ręcznie",
"准备完毕,等待更新": "Gotowi, czekamy na aktualizacje."
"准备完毕,等待更新": "Gotowi, czekamy na aktualizacje.",
"自定义": "niestandardowe",
"其他参数": "Inne parametry"
}

View File

@ -148,7 +148,6 @@
"高级": "sénior",
"查词": "Procurar por palavras",
"繁体中文(CP950,BIG5)": "Chinês tradicional (CP950, BIG5)",
"使用自定义promt": "Usar comandos personalizados",
"翻译结果修正": "Correcção do resultado da tradução",
"显示": "display",
"选择文本输入源": "Seleccionar a fonte de entrada de texto",
@ -165,7 +164,6 @@
"代名詞": "Sinónimo",
"绑定截图窗口": "Vincular a janela da captura de ecrã",
"执行周期": "Ciclo de execução",
"自定义promt": "Promt Personalizada",
"希腊语(CP1253)": "Grego (CP1253)",
"打开保存的游戏": "Abrir o jogo gravado",
"删除特殊码": "Apagar o código especial",
@ -838,5 +836,7 @@
"葡萄牙语": "Português",
"正在解压": "Descompressão em curso",
"自动更新失败,请手动更新": "A actualização automática falhou, actualizar manualmente",
"准备完毕,等待更新": "Pronto, à espera de actualizações."
"准备完毕,等待更新": "Pronto, à espera de actualizações.",
"自定义": "personalizado",
"其他参数": "Outros parâmetros"
}

View File

@ -490,8 +490,6 @@
"朗读的翻译": "Читать перевод",
"模拟按键Ctrl": "Симулятор клавиш Ctrl",
"模拟按键Enter": "Имитационные клавиши Enter",
"自定义promt": "Настройка promt",
"使用自定义promt": "Использование настраиваемого promt",
"项目地址": "Адрес проекта",
"使用说明": "Описание использования",
"注册地址": "Адрес регистрации",
@ -838,5 +836,7 @@
"葡萄牙语": "Португальский язык",
"正在解压": "Распаковывается.",
"自动更新失败,请手动更新": "Ошибка автоматического обновления, обновите вручную",
"准备完毕,等待更新": "Готовы, ждем обновления"
"准备完毕,等待更新": "Готовы, ждем обновления",
"自定义": "Настройка",
"其他参数": "Другие параметры"
}

View File

@ -148,7 +148,6 @@
"高级": "senior",
"查词": "Sök efter ord",
"繁体中文(CP950,BIG5)": "Traditionellt kinesiskt (CP950, BIG5)",
"使用自定义promt": "Använda anpassade uppmaningar",
"翻译结果修正": "Korrigering av översättningsresultat",
"显示": "visa",
"选择文本输入源": "Välj textinmatningskälla",
@ -165,7 +164,6 @@
"代名詞": "Synonym",
"绑定截图窗口": "Bind skärmdumpfönster",
"执行周期": "Körcykel",
"自定义promt": "Anpassad prompt",
"希腊语(CP1253)": "Grekiska (CP1253)",
"打开保存的游戏": "Öppna det sparade spelet",
"删除特殊码": "Ta bort särskild kod",
@ -838,5 +836,7 @@
"葡萄牙语": "Portugisiska",
"正在解压": "Nedtryckning pågår",
"自动更新失败,请手动更新": "Automatisk uppdatering misslyckades, uppdatera manuellt",
"准备完毕,等待更新": "Redo, väntar på uppdateringar"
"准备完毕,等待更新": "Redo, väntar på uppdateringar",
"自定义": "anpassad",
"其他参数": "Andra parametrar"
}

View File

@ -147,7 +147,6 @@
"高级": "ระดับพรีเมี่ยม",
"查词": "ค้นหาคำ",
"繁体中文(CP950,BIG5)": "ภาษาจีนดั้งเดิม (CP950, BIG5)",
"使用自定义promt": "ใช้ promt ที่กำหนดเอง",
"翻译结果修正": "แก้ไขผลการแปล",
"显示": "แสดง",
"选择文本输入源": "เลือกแหล่งป้อนข้อความ",
@ -164,7 +163,6 @@
"代名詞": "คำพ้องความหมาย",
"绑定截图窗口": "ผูกหน้าต่างภาพหน้าจอ",
"执行周期": "รอบการดำเนินการ",
"自定义promt": "ปรับแต่ง promt",
"希腊语(CP1253)": "กรีก (CP1253)",
"打开保存的游戏": "เปิดเกมที่บันทึกไว้",
"删除特殊码": "ลบรหัสพิเศษ",
@ -838,5 +836,7 @@
"葡萄牙语": "โปรตุเกส",
"正在解压": "กำลังเปิดเครื่อง",
"自动更新失败,请手动更新": "การอัปเดตอัตโนมัติล้มเหลวโปรดอัปเดตด้วยตนเอง",
"准备完毕,等待更新": "เตรียมพร้อมรอการปรับปรุง"
"准备完毕,等待更新": "เตรียมพร้อมรอการปรับปรุง",
"自定义": "การปรับแต่ง",
"其他参数": "พารามิเตอร์อื่น ๆ"
}

View File

@ -490,8 +490,6 @@
"朗读的翻译": "Okumanın çevirimi yüksek olarak",
"模拟按键Ctrl": "Anahtarı Ctrl'u simüle edin",
"模拟按键Enter": "Basın Enter'i Simüle Et",
"自定义promt": "Özel promt",
"使用自定义promt": "Özel promt kullan",
"项目地址": "Proje adresi",
"使用说明": "Kullanılacak talimatlar",
"注册地址": "Şirket Kayıtlı Adresi",
@ -838,5 +836,7 @@
"葡萄牙语": "Portekizce",
"正在解压": "Kıpırdama ilerliyor",
"自动更新失败,请手动更新": "Otomatik güncelleştirme başarısız oldu, lütfen kendine güncelleştir",
"准备完毕,等待更新": "Hazır, güncelleştirmeleri bekliyor."
"准备完毕,等待更新": "Hazır, güncelleştirmeleri bekliyor.",
"自定义": "Özel",
"其他参数": "Diğer parametreler"
}

View File

@ -490,8 +490,6 @@
"朗读的翻译": "Переклад читання голосно",
"模拟按键Ctrl": "Імітувати клавішу Ctrl",
"模拟按键Enter": "Імітувати натискання Enter",
"自定义promt": "Нетиповий запит",
"使用自定义promt": "Використовувати нетиповий запит",
"项目地址": "Адреса проекту",
"使用说明": "Накази використання",
"注册地址": "Реєстрована адреса компанії",
@ -838,5 +836,7 @@
"葡萄牙语": ортугальськаName",
"正在解压": "У прогресі декомпресія",
"自动更新失败,请手动更新": "Автоматичне оновлення зазнало невдачі, будь ласка, оновіть вручну",
"准备完毕,等待更新": "Готовий, чекаючи на оновлення"
"准备完毕,等待更新": "Готовий, чекаючи на оновлення",
"自定义": "нетиповий",
"其他参数": "Інші параметри"
}

View File

@ -490,8 +490,6 @@
"朗读的翻译": "Bản dịch của read to",
"模拟按键Ctrl": "Mô phỏng phím Ctrl",
"模拟按键Enter": "Mô phỏng phím Enter",
"自定义promt": "Tùy chỉnh Promt",
"使用自定义promt": "Sử dụng Custom Promt",
"项目地址": "Địa chỉ dự án",
"使用说明": "Hướng dẫn sử dụng",
"注册地址": "Địa chỉ đăng ký",
@ -838,5 +836,7 @@
"葡萄牙语": "Bồ Đào Nha",
"正在解压": "Đang giải nén",
"自动更新失败,请手动更新": "Cập nhật tự động không thành công, vui lòng cập nhật thủ công",
"准备完毕,等待更新": "Sẵn sàng chờ update"
"准备完毕,等待更新": "Sẵn sàng chờ update",
"自定义": "Tùy chỉnh",
"其他参数": "Tham số khác"
}

View File

@ -148,7 +148,6 @@
"高级": "",
"查词": "",
"繁体中文(CP950,BIG5)": "",
"使用自定义promt": "",
"翻译结果修正": "",
"显示": "",
"选择文本输入源": "",
@ -165,7 +164,6 @@
"代名詞": "",
"绑定截图窗口": "",
"执行周期": "",
"自定义promt": "",
"希腊语(CP1253)": "",
"打开保存的游戏": "",
"删除特殊码": "",
@ -838,5 +836,7 @@
"葡萄牙语": "",
"正在解压": "",
"自动更新失败,请手动更新": "",
"准备完毕,等待更新": ""
"准备完毕,等待更新": "",
"自定义": "",
"其他参数": ""
}

View File

@ -29,7 +29,7 @@ include(generate_product_version)
set(VERSION_MAJOR 5)
set(VERSION_MINOR 16)
set(VERSION_PATCH 5)
set(VERSION_PATCH 6)
add_library(pch pch.cpp)
target_precompile_headers(pch PUBLIC pch.h)