This commit is contained in:
恍兮惚兮 2024-08-01 17:49:46 +08:00
parent 9028f7fbaa
commit 4b2cb0e2e4
30 changed files with 187 additions and 86 deletions

View File

@ -1169,6 +1169,10 @@ class dialog_setting_game_internal(QWidget):
icon="fa.gear",
),
QLabel(),
getsimpleswitch(
savehook_new_data[gameuid], name + "_merge"
),
LLabel("继承默认"),
],
makewidget=True,
margin0=True,

View File

@ -12,7 +12,12 @@ from myutils.config import (
)
from myutils.subproc import endsubprocs
from myutils.ocrutil import ocr_run, imageCut
from myutils.utils import loadpostsettingwindowmethod, str2rgba, makehtml
from myutils.utils import (
loadpostsettingwindowmethod,
str2rgba,
makehtml,
loadpostsettingwindowmethod_maybe,
)
from myutils.hwnd import mouseselectwindow, grabwindow, getExeIcon, getpidexe
from gui.setting_about import doupdate
from gui.dialog_memory import dialog_memory
@ -335,12 +340,36 @@ class QUnFrameWindow(resizableframeless):
gobject.baseobject.settin_ui
),
),
(
"noundict_2",
lambda: loadpostsettingwindowmethod_maybe(
"noundict", gobject.baseobject.settin_ui
),
),
(
"noundict_direct",
lambda: loadpostsettingwindowmethod_maybe(
"vndbnamemap", gobject.baseobject.settin_ui
),
),
(
"noundict_sakura",
lambda: loadpostsettingwindowmethod_maybe(
"gptpromptdict", gobject.baseobject.settin_ui
),
),
(
"fix",
lambda: loadpostsettingwindowmethod("transerrorfix")(
gobject.baseobject.settin_ui
),
),
(
"fix_2",
lambda: loadpostsettingwindowmethod_maybe(
"transerrorfix", gobject.baseobject.settin_ui
),
),
("langdu", lambda: gobject.baseobject.readcurrent(force=True)),
("mousetransbutton", lambda: self.changemousetransparentstate(0)),
("backtransbutton", lambda: self.changemousetransparentstate(1)),
@ -1035,7 +1064,6 @@ class QUnFrameWindow(resizableframeless):
button.clicked.connect(functools.partial(self.callwrap, clickfunc))
else:
button = LIconLabel(self._TitleLabel)
if tips:

View File

@ -158,10 +158,14 @@ def getdefaultsavehook(title=None):
"currentmainimage": "",
"noundictconfig": [],
"noundict_use": False,
"noundict_merge": False,
"vndbnamemap_use": True,
"vndbnamemap_merge": False,
"transerrorfix_use": False,
"transerrorfix_merge": False,
"transerrorfix": [],
"gptpromptdict_use": False,
"gptpromptdict_merge": False,
"gptpromptdict": [],
"vndbnamemap_modified": False,
# 元数据

View File

@ -542,19 +542,7 @@ def parsemayberegexreplace(dic: dict, res: str):
res,
)
else:
if (
res.isascii()
and item["key"].isascii()
and item["value"].isascii()
and (" " not in item["key"])
): # 目标可能有空格
resx = res.split(" ")
for i in range(len(resx)):
if resx[i] == item["key"]:
resx[i] = item["value"]
res = " ".join(resx)
else:
res = res.replace(item["key"], item["value"])
res = res.replace(item["key"], item["value"])
return res
@ -577,7 +565,9 @@ def checkpostusing(name):
return use and checkpostlangmatch(name)
def postusewhich(name1, name2):
def postusewhich(name1):
name2 = name1 + "_use"
merge = name1 + "_merge"
for _ in (0,):
try:
if not gobject.baseobject.textsource:
@ -588,6 +578,8 @@ def postusewhich(name1, name2):
if savehook_new_data[gameuid]["transoptimi_followdefault"]:
break
if savehook_new_data[gameuid][name2]:
if savehook_new_data[gameuid][merge]:
return 3
return 2
else:
return 0
@ -623,6 +615,21 @@ loadpostsettingwindowmethod_private = functools.partial(
)
def loadpostsettingwindowmethod_maybe(name, parent):
for _ in (0,):
try:
if not gobject.baseobject.textsource:
break
gameuid = gobject.baseobject.textsource.gameuid
if not gameuid:
break
return loadpostsettingwindowmethod_private(name)(parent, gameuid)
except:
print_exc()
break
loadpostsettingwindowmethod(name)(parent)
class unsupportkey(Exception):
pass

View File

@ -28,8 +28,12 @@ class Process:
def process_before(self, japanese):
gpt_dict = []
srcs = set()
for gpt in self.usewhich():
src = gpt["src"]
if src in srcs:
continue
srcs.add(src)
if src not in japanese:
continue
gpt_dict.append(gpt)
@ -37,12 +41,18 @@ class Process:
@property
def using_X(self):
return postusewhich("gptpromptdict", "gptpromptdict_use") != 0
return postusewhich("gptpromptdict") != 0
def usewhich(self) -> dict:
which = postusewhich("gptpromptdict", "gptpromptdict_use")
which = postusewhich("gptpromptdict")
if which == 1:
return globalconfig["gptpromptdict"]
elif which == 2:
gameuid = gobject.baseobject.textsource.gameuid
return savehook_new_data[gameuid]["gptpromptdict_use"]
elif which == 3:
gameuid = gobject.baseobject.textsource.gameuid
return (
savehook_new_data[gameuid]["gptpromptdict_use"]
+ globalconfig["gptpromptdict"]
)

View File

@ -383,15 +383,21 @@ class Process:
@property
def using_X(self):
return postusewhich("noundict", "noundict_use") != 0
return postusewhich("noundict") != 0
def usewhich(self) -> dict:
which = postusewhich("noundict", "noundict_use")
which = postusewhich("noundict")
if which == 1:
return 1, noundictconfig["dict"]
elif which == 2:
gameuid = gobject.baseobject.textsource.gameuid
return 2, savehook_new_data[gameuid]["noundictconfig"]
elif which == 3:
gameuid = gobject.baseobject.textsource.gameuid
return 3, [
savehook_new_data[gameuid]["noundictconfig"],
noundictconfig["dict"],
]
def process_before(self, content):
def __createfake():
@ -434,6 +440,32 @@ class Process:
content = content.replace(k, xx)
mp1[xx] = v
return content, mp1
elif _type == 3:
dic1, dic = dic
for k, v in dic1:
xx = __createfake()
content = content.replace(k, xx)
mp1[xx] = v
for key in dic:
v = None
if type(dic[key]) == str:
v = dic[mp1[key]]
else:
for i in range(len(dic[key]) // 2):
if dic[key][i * 2] in [
"0",
gobject.baseobject.currentmd5,
]:
v = dic[key][i * 2 + 1]
break
if v is not None and key in content:
xx = __createfake()
content = content.replace(key, xx)
mp1[xx] = v
return content, mp1
def process_after(self, res, mp1):
for key in mp1:

View File

@ -30,12 +30,18 @@ class Process:
@property
def using_X(self):
return postusewhich("transerrorfix", "transerrorfix_use") != 0
return postusewhich("transerrorfix") != 0
def usewhich(self) -> dict:
which = postusewhich("transerrorfix", "transerrorfix_use")
which = postusewhich("transerrorfix")
if which == 1:
return transerrorfixdictconfig["dict_v2"]
elif which == 2:
gameuid = gobject.baseobject.textsource.gameuid
return savehook_new_data[gameuid]["transerrorfix"]
elif which == 3:
gameuid = gobject.baseobject.textsource.gameuid
return (
savehook_new_data[gameuid]["transerrorfix"]
+ transerrorfixdictconfig["dict_v2"]
)

View File

@ -37,15 +37,21 @@ class Process:
@property
def using_X(self):
return postusewhich("vndbnamemap", "vndbnamemap_use") != 0
return postusewhich("vndbnamemap") != 0
def usewhich(self) -> dict:
which = postusewhich("vndbnamemap", "vndbnamemap_use")
which = postusewhich("vndbnamemap")
if which == 1:
return globalconfig["global_namemap"]
elif which == 2:
gameuid = gobject.baseobject.textsource.gameuid
return savehook_new_data[gameuid]["namemap"]
elif which == 3:
_ = {}
_.update(globalconfig["global_namemap"])
gameuid = gobject.baseobject.textsource.gameuid
_.update(savehook_new_data[gameuid]["namemap"])
return _
def process_before(self, s):

View File

@ -681,9 +681,33 @@
"icon": "fa.won",
"align": 0
},
"fix_2": {
"use": false,
"tip": "翻译结果修正_2",
"icon": "fa.won",
"align": 0
},
"noundict": {
"use": false,
"tip": "专有名词翻译设置",
"tip": "专有名词翻译_占位符",
"icon": "fa.book",
"align": 0
},
"noundict_2": {
"use": false,
"tip": "专有名词翻译_占位符_2",
"icon": "fa.book",
"align": 0
},
"noundict_direct": {
"use": false,
"tip": "专有名词翻译_直接替换",
"icon": "fa.book",
"align": 0
},
"noundict_sakura": {
"use": false,
"tip": "专有名词翻译_sakura_gpt_词典",
"icon": "fa.book",
"align": 0
},

View File

@ -132,13 +132,11 @@
"开始游戏": "بدء اللعبة",
"离线翻译": "الترجمة غير متصل",
"调整执行顺序": "ضبط تسلسل التنفيذ",
"专有名词翻译设置按钮": "اسم الترجمة وضع زر",
"不绘制光标": "لا رسم المؤشر",
"文本处理": "معالجة النصوص",
"修改": "عدل",
"系统": "نظم",
"乌克兰语": "اللغة الأوكرانية",
"专有名词翻译设置": "وضع ترجمة الأسماء الصحيحة",
"接頭辞": "الكلمات المشتركة",
"缩放模式": "وضع التكبير",
"描边宽度": "عرض السكتة الدماغية",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "جاهزة للتحديث",
"自定义": "عرف",
"其他参数": "معايير أخرى",
"延迟注入(ms)": "تأخر حقن ( ماجستير )"
"延迟注入(ms)": "تأخر حقن ( ماجستير )",
"继承默认": "الميراث الافتراضي"
}

View File

@ -241,7 +241,6 @@
"移动": "移動",
"显示移动按钮": "顯示移動按鈕",
"编辑专有名词": "編輯專有名詞",
"专有名词翻译设置": "專有名詞翻譯設定",
"设置Token": "設定 Token",
"内置": "內建",
"token设置": "Token 設定",
@ -284,7 +283,6 @@
"说明": "說明",
"分析图像更新+周期执行": "分析影像更新 + 週期執行",
"翻译器字体": "翻譯器字體",
"专有名词翻译设置按钮": "專有名詞翻譯設定按鈕",
"调整游戏窗口按钮": "調整遊戲視窗按鈕",
"内嵌的翻译器": "內嵌的翻譯器",
"使用最快翻译而非指定翻译器": "使用最快翻譯而非指定翻譯器",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "準備完畢,等待更新",
"自定义": "自訂",
"其他参数": "其他參數",
"延迟注入(ms)": "延遲注入ms"
"延迟注入(ms)": "延遲注入ms",
"继承默认": "繼承默認"
}

View File

@ -126,7 +126,6 @@
"不切换": "Nepřepínejte",
"自动更新": "Automatická aktualizace",
"缩放时模拟独占全屏": "Simulujte exkluzivní celou obrazovku při přiblížení a odstupu",
"专有名词翻译设置按钮": "Tlačítko pro nastavení exkluzivního překladu podstatného jména",
"越南语": "Vietnamština",
"代码页": "kódová stránka",
"点击此按钮后点击游戏窗口": "Po kliknutí na toto tlačítko klikněte na okno hry",
@ -465,7 +464,6 @@
"替换": "nahradit",
"绘制光标": "Nakreslit kurzor",
"颜色设置": "nastavení barev",
"专有名词翻译设置": "Nastavení překladu vlastních termínů",
"简体中文(GBK)": "Zjednodušená čínština (GBK)",
"到进程": "K procesu",
"调整游戏窗口按钮": "Nastavit tlačítko herního okna",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "Připraveni, čekáme na novinky.",
"自定义": "vlastní",
"其他参数": "Další parametry",
"延迟注入(ms)": "Zpožděná injekce (ms)"
"延迟注入(ms)": "Zpožděná injekce (ms)",
"继承默认": "Zdědit výchozí"
}

View File

@ -126,7 +126,6 @@
"不切换": "Nicht schalten",
"自动更新": "Automatische Aktualisierung",
"缩放时模拟独占全屏": "Simulieren Sie exklusiven Vollbildmodus beim Ein- und Auszoomen",
"专有名词翻译设置按钮": "Schaltfläche zur Einstellung der exklusiven Substantivübersetzung",
"越南语": "Vietnamesisch",
"代码页": "Codeseite",
"点击此按钮后点击游戏窗口": "Nach dem Klicken auf diese Schaltfläche, klicke auf das Spielfenster",
@ -465,7 +464,6 @@
"替换": "ersetzen",
"绘制光标": "Cursor zeichnen",
"颜色设置": "Farbeinstellung",
"专有名词翻译设置": "Übersetzungseinstellungen für proprietäre Begriffe",
"简体中文(GBK)": "Vereinfachtes Chinesisch (GBK)",
"到进程": "Zum Prozess",
"调整游戏窗口按钮": "Schaltfläche Spielfenster anpassen",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "Bereit, warten auf Updates",
"自定义": "kundenspezifisch",
"其他参数": "Weitere Parameter",
"延迟注入(ms)": "Verspätete Injektion (ms)"
"延迟注入(ms)": "Verspätete Injektion (ms)",
"继承默认": "Standard vererben"
}

View File

@ -241,7 +241,6 @@
"移动": "Move",
"显示移动按钮": "Show Move Button",
"编辑专有名词": "Edit Proper Nouns",
"专有名词翻译设置": "Proper noun translation settings",
"设置Token": "Set Token",
"内置": "Built-in",
"token设置": "Token Settings",
@ -284,7 +283,6 @@
"说明": "Description",
"分析图像更新+周期执行": "Analyze Image Update + Periodic Execution",
"翻译器字体": "Translator Font",
"专有名词翻译设置按钮": "Proper Noun Translation Settings Button",
"调整游戏窗口按钮": "Adjust Game Window Button",
"内嵌的翻译器": "Embedded Translator",
"使用最快翻译而非指定翻译器": "Use Fastest Translation Engine Available",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "Ready, waiting for updates",
"自定义": "custom",
"其他参数": "Other parameters",
"延迟注入(ms)": "Delayed injection (ms)"
"延迟注入(ms)": "Delayed injection (ms)",
"继承默认": "Inherit default"
}

View File

@ -241,7 +241,6 @@
"移动": "Mover",
"显示移动按钮": "Muestra el botón mover",
"编辑专有名词": "Editar términos propios",
"专有名词翻译设置": "Configuración de traducción de términos propios",
"设置Token": "Establecer Token",
"内置": "Incorporado",
"token设置": "Configuración Token",
@ -284,7 +283,6 @@
"说明": "Explicación",
"分析图像更新+周期执行": "Actualización de la imagen de análisis + Ejecución del ciclo",
"翻译器字体": "Fuente del traductor",
"专有名词翻译设置按钮": "Botón de configuración de traducción de términos propios",
"调整游戏窗口按钮": "Ajustar el botón de la ventana del juego",
"内嵌的翻译器": "Traductor incorporado",
"使用最快翻译而非指定翻译器": "Use la traducción más rápida en lugar del traductor especificado",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "Listo, esperando la actualización",
"自定义": "Personalizado",
"其他参数": "Otros parámetros",
"延迟注入(ms)": "Inyección de retraso (ms)"
"延迟注入(ms)": "Inyección de retraso (ms)",
"继承默认": "Heredar predeterminado"
}

View File

@ -241,7 +241,6 @@
"移动": "Mobile",
"显示移动按钮": "Afficher le bouton mobile",
"编辑专有名词": "Modifier un nom propre",
"专有名词翻译设置": "Paramètres de traduction des noms propriétaires",
"设置Token": "Configurer token",
"内置": "Intégré",
"token设置": "Paramètres token",
@ -284,7 +283,6 @@
"说明": "Description",
"分析图像更新+周期执行": "Mise à jour de l'image analytique + exécution du cycle",
"翻译器字体": "Police du traducteur",
"专有名词翻译设置按钮": "Bouton de configuration de traduction nom propre",
"调整游戏窗口按钮": "Ajuster le bouton de la fenêtre de jeu",
"内嵌的翻译器": "Traducteur intégré",
"使用最快翻译而非指定翻译器": "Utiliser la traduction la plus rapide au lieu du traducteur spécifié",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "Prêt, en attente de mise à jour",
"自定义": "Personnalisation",
"其他参数": "Autres paramètres",
"延迟注入(ms)": "Injection retardée (MS)"
"延迟注入(ms)": "Injection retardée (MS)",
"继承默认": "Héritage par défaut"
}

View File

@ -233,7 +233,6 @@
"编辑": "modifica",
"移动": "Sposta",
"编辑专有名词": "Modifica nome proprio",
"专有名词翻译设置": "Impostazioni di traduzione del sostantivo corrette",
"设置Token": "Imposta gettone",
"内置": "integrato",
"token设置": "Impostazioni token",
@ -378,7 +377,6 @@
"显示复制原文按钮": "Mostra pulsante Copia originale",
"显示朗读按钮": "Mostra pulsante Parla",
"显示移动按钮": "Mostra pulsante Sposta",
"专有名词翻译设置按钮": "Pulsante di impostazione della traduzione del sostantivo appropriato",
"翻译结果修正按钮": "Pulsante di correzione dei risultati della traduzione",
"显示翻译历史按钮": "Mostra pulsante Cronologia delle traduzioni",
"显示编辑按钮": "Mostra pulsante Modifica",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "Pronto, in attesa di aggiornamenti",
"自定义": "personalizzato",
"其他参数": "Altri parametri",
"延迟注入(ms)": "Iniezione ritardata (ms)"
"延迟注入(ms)": "Iniezione ritardata (ms)",
"继承默认": "Eredi default"
}

View File

@ -241,7 +241,6 @@
"移动": "移動",
"显示移动按钮": "移動ボタンを表示",
"编辑专有名词": "固有名詞の編集",
"专有名词翻译设置": "固有名詞の翻訳設定",
"设置Token": "トークンの設定",
"内置": "組み込み",
"token设置": "token設定",
@ -284,7 +283,6 @@
"说明": "説明",
"分析图像更新+周期执行": "解析画像更新+周期実行",
"翻译器字体": "翻訳機フォント",
"专有名词翻译设置按钮": "固有名詞翻訳設定ボタン",
"调整游戏窗口按钮": "ゲームウィンドウボタンを調整する",
"内嵌的翻译器": "インライントランスレータ",
"使用最快翻译而非指定翻译器": "指定された翻訳器ではなく最速の翻訳を使用する",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "準備完了、更新待ち",
"自定义": "カスタム#カスタム#",
"其他参数": "その他のパラメータ",
"延迟注入(ms)": "遅延注入ms"
"延迟注入(ms)": "遅延注入ms",
"继承默认": "デフォルトの継承"
}

View File

@ -241,7 +241,6 @@
"移动": "이동",
"显示移动按钮": "이동 버튼 표시",
"编辑专有名词": "고유 명사 편집",
"专有名词翻译设置": "고유 명사 번역 설정",
"设置Token": "Token 설정",
"内置": "내장형",
"token设置": "token 설정",
@ -284,7 +283,6 @@
"说明": "설명",
"分析图像更新+周期执行": "분석 이미지 업데이트 + 주기 실행",
"翻译器字体": "번역기 글꼴",
"专有名词翻译设置按钮": "고유명사 번역 설정 버튼",
"调整游戏窗口按钮": "게임 창 버튼 조정",
"内嵌的翻译器": "내장된 번역기",
"使用最快翻译而非指定翻译器": "지정된 번역기가 아닌 가장 빠른 번역기 사용",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "준비 완료, 업데이트 대기 중",
"自定义": "사용자 지정",
"其他参数": "기타 매개변수",
"延迟注入(ms)": "주입 지연 (ms)"
"延迟注入(ms)": "주입 지연 (ms)",
"继承默认": "기본 상속"
}

View File

@ -126,7 +126,6 @@
"不切换": "Niet schakelen",
"自动更新": "Automatische update",
"缩放时模拟独占全屏": "Simuleer exclusief volledig scherm bij in- en uitzoomen",
"专有名词翻译设置按钮": "Uitzonderlijke vertaalknop",
"越南语": "Vietnamees",
"代码页": "codepagina",
"点击此按钮后点击游戏窗口": "Nadat je op deze knop hebt geklikt, klik je op het spelvenster",
@ -465,7 +464,6 @@
"替换": "vervangen",
"绘制光标": "Cursor tekenen",
"颜色设置": "kleurinstelling",
"专有名词翻译设置": "Vertalingsinstellingen voor eigen termen",
"简体中文(GBK)": "Vereenvoudigd Chinees (GBK)",
"到进程": "Naar het proces",
"调整游戏窗口按钮": "De knop van het spelvenster aanpassen",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "Klaar, wachten op updates",
"自定义": "op maat",
"其他参数": "Andere parameters",
"延迟注入(ms)": "Vertraagde injectie (ms)"
"延迟注入(ms)": "Vertraagde injectie (ms)",
"继承默认": "Standaard overnemen"
}

View File

@ -241,7 +241,6 @@
"移动": "ruchy",
"显示移动按钮": "Pokaż przycisk ruchu",
"编辑专有名词": "Edytuj rzeczownik właściwy",
"专有名词翻译设置": "Ustawienia tłumaczenia właściwego rzeczownika",
"设置Token": "Ustaw token",
"内置": "wbudowany",
"token设置": "Ustawienia tokenu",
@ -284,7 +283,6 @@
"说明": "wyjaśnij",
"分析图像更新+周期执行": "Analiza aktualizacji obrazów+wykonanie cyklu",
"翻译器字体": "Czcionki tłumacza",
"专有名词翻译设置按钮": "Przycisk ustawienia tłumaczenia właściwego rzeczownika",
"调整游戏窗口按钮": "Dostosuj przyciski okna gry",
"内嵌的翻译器": "Wbudowany tłumacz",
"使用最快翻译而非指定翻译器": "Użyj najszybszego tłumaczenia zamiast określać tłumacza",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "Gotowi, czekamy na aktualizacje.",
"自定义": "niestandardowe",
"其他参数": "Inne parametry",
"延迟注入(ms)": "Opóźnione wstrzyknięcie (ms)"
"延迟注入(ms)": "Opóźnione wstrzyknięcie (ms)",
"继承默认": "Odziedziczyć domyślne"
}

View File

@ -126,7 +126,6 @@
"不切换": "Não mudar",
"自动更新": "Actualização automática",
"缩放时模拟独占全屏": "Simular tela cheia exclusiva ao ampliar e diminuir o zoom",
"专有名词翻译设置按钮": "Botão exclusivo de configuração da tradução de substantivos",
"越南语": "Vietnamita",
"代码页": "página de código",
"点击此按钮后点击游戏窗口": "Depois de clicar neste botão, clique na janela do jogo",
@ -826,7 +825,6 @@
"捷克语": "Checo",
"直接替换": "Substituir directamente",
"占位符": "espaço reservado",
"专有名词翻译设置": "Configuração da tradução para termos proprietários",
"词典": "Dicionário",
"注释": "notas",
"打开链接": "Abrir ligação",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "Pronto, à espera de actualizações.",
"自定义": "personalizado",
"其他参数": "Outros parâmetros",
"延迟注入(ms)": "Injeção retardada (ms)"
"延迟注入(ms)": "Injeção retardada (ms)",
"继承默认": "Herdar por omissão"
}

View File

@ -241,7 +241,6 @@
"移动": "Переместить",
"显示移动按钮": "Показать кнопку перемещения",
"编辑专有名词": "Редактирование собственных терминов",
"专有名词翻译设置": "Параметры перевода собственных терминов",
"设置Token": "Настройка Token",
"内置": "Встроенные",
"token设置": "Настройка Token",
@ -284,7 +283,6 @@
"说明": "Примечания",
"分析图像更新+周期执行": "Анализ обновлений изображений + цикл выполнения",
"翻译器字体": "Шрифт переводчика",
"专有名词翻译设置按钮": "Кнопка настройки перевода",
"调整游戏窗口按钮": "Настройка кнопки окна игры",
"内嵌的翻译器": "Встроенный переводчик",
"使用最快翻译而非指定翻译器": "Используйте самый быстрый перевод вместо указанного переводчика",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "Готовы, ждем обновления",
"自定义": "Настройка",
"其他参数": "Другие параметры",
"延迟注入(ms)": "Задержка инъекции (ms)"
"延迟注入(ms)": "Задержка инъекции (ms)",
"继承默认": "Наследование по умолчанию"
}

View File

@ -126,7 +126,6 @@
"不切换": "Byt inte",
"自动更新": "Automatisk uppdatering",
"缩放时模拟独占全屏": "Simulera exklusiv helskärm när du zoomar in och ut",
"专有名词翻译设置按钮": "Inställningsknapp för exklusiv substantiv",
"越南语": "Vietnamesiska",
"代码页": "kodsida",
"点击此按钮后点击游戏窗口": "När du har klickat på den här knappen klickar du på spelfönstret",
@ -465,7 +464,6 @@
"替换": "ersätt",
"绘制光标": "Rita markör",
"颜色设置": "färginställning",
"专有名词翻译设置": "Översättningsinställningar för egenutvecklade termer",
"简体中文(GBK)": "Förenklad kinesiska (GBK)",
"到进程": "Till processen",
"调整游戏窗口按钮": "Justera spelfönsterknappen",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "Redo, väntar på uppdateringar",
"自定义": "anpassad",
"其他参数": "Andra parametrar",
"延迟注入(ms)": "Fördröjd injektion (ms)"
"延迟注入(ms)": "Fördröjd injektion (ms)",
"继承默认": "Arv förval"
}

View File

@ -126,7 +126,6 @@
"不切换": "ไม่มีการสลับ",
"自动更新": "อัปเดตอัตโนมัติ",
"缩放时模拟独占全屏": "จำลองการแสดงผลแบบเต็มหน้าจอเมื่อซูม",
"专有名词翻译设置按钮": "ปุ่มตั้งค่าการแปลคำนามที่เป็นกรรมสิทธิ์",
"越南语": "เวียดนาม",
"代码页": "หน้ารหัส",
"点击此按钮后点击游戏窗口": "แตะที่หน้าต่างเกมหลังจากคลิกที่ปุ่มนี้",
@ -465,7 +464,6 @@
"替换": "แทนที่",
"绘制光标": "วาดเคอร์เซอร์",
"颜色设置": "การตั้งค่าสี",
"专有名词翻译设置": "การตั้งค่าการแปลคำนามที่เป็นกรรมสิทธิ์",
"简体中文(GBK)": "ภาษาจีนตัวย่อ (GBK)",
"到进程": "ไปยังกระบวนการ",
"调整游戏窗口按钮": "ปรับปุ่มหน้าต่างเกม",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "เตรียมพร้อมรอการปรับปรุง",
"自定义": "การปรับแต่ง",
"其他参数": "พารามิเตอร์อื่น ๆ",
"延迟注入(ms)": "การฉีดล่าช้า (ms)"
"延迟注入(ms)": "การฉีดล่าช้า (ms)",
"继承默认": "สืบทอดปริยาย"
}

View File

@ -241,7 +241,6 @@
"移动": "hareket et",
"显示移动按钮": "Taşıma Düğmesini Göster",
"编辑专有名词": "Doğru isimleri düzenle",
"专有名词翻译设置": "Özel isim çeviri ayarları",
"设置Token": "Token ayarlayın",
"内置": "in şa edilmiş",
"token设置": "Token ayarları",
@ -284,7 +283,6 @@
"说明": "açıklayın",
"分析图像更新+周期执行": "Görüntü güncellemesi",
"翻译器字体": "Çevirme yazıtipi",
"专有名词翻译设置按钮": "Özel isim tercüme düğmesi",
"调整游戏窗口按钮": "Oyun pencere düğmelerini ayarla",
"内嵌的翻译器": "İçeri yatırılmış çevirici",
"使用最快翻译而非指定翻译器": "Tercümanı belirlemek yerine en hızlı tercüme kullanın",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "Hazır, güncelleştirmeleri bekliyor.",
"自定义": "Özel",
"其他参数": "Diğer parametreler",
"延迟注入(ms)": "Uzak injeksiyon (ms)"
"延迟注入(ms)": "Uzak injeksiyon (ms)",
"继承默认": "Ög- belgilengeni miras edin"
}

View File

@ -233,7 +233,6 @@
"编辑": "редагувати",
"移动": "пересунути",
"编辑专有名词": "Змінити правильну назву",
"专有名词翻译设置": "Власні параметри перекладу назв",
"设置Token": "Встановити позначку",
"内置": "вбудований",
"token设置": "Параметри символів",
@ -378,7 +377,6 @@
"显示复制原文按钮": "Показати початкову кнопку копіювання",
"显示朗读按钮": "Показати кнопку вимови",
"显示移动按钮": "Показати кнопку пересування",
"专有名词翻译设置按钮": "Власна кнопка встановлення перекладу назв",
"翻译结果修正按钮": "Кнопка виправлення результатів перекладу",
"显示翻译历史按钮": "Показати кнопку історії перекладів",
"显示编辑按钮": "Показати кнопку редагування",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "Готовий, чекаючи на оновлення",
"自定义": "нетиповий",
"其他参数": "Інші параметри",
"延迟注入(ms)": "Затримка інструкції (мс)"
"延迟注入(ms)": "Затримка інструкції (мс)",
"继承默认": "Типовий спадковий"
}

View File

@ -241,7 +241,6 @@
"移动": "Di chuyển",
"显示移动按钮": "Hiện nút di chuyển",
"编辑专有名词": "Danh từ độc quyền biên tập",
"专有名词翻译设置": "Thiết lập dịch danh từ độc quyền",
"设置Token": "Thiết lập Token",
"内置": "Được xây dựng trong",
"token设置": "Thiết lập Token",
@ -284,7 +283,6 @@
"说明": "Mô tả",
"分析图像更新+周期执行": "Phân tích cập nhật hình ảnh+thực hiện chu kỳ",
"翻译器字体": "Bộ dịch",
"专有名词翻译设置按钮": "Nút cài đặt danh từ độc quyền",
"调整游戏窗口按钮": "Điều chỉnh nút cửa sổ trò chơi",
"内嵌的翻译器": "Trình dịch nội tuyến",
"使用最快翻译而非指定翻译器": "Sử dụng bản dịch nhanh nhất thay vì chỉ định",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "Sẵn sàng chờ update",
"自定义": "Tùy chỉnh",
"其他参数": "Tham số khác",
"延迟注入(ms)": "Tiêm chậm (ms)"
"延迟注入(ms)": "Tiêm chậm (ms)",
"继承默认": "Thừa kế mặc định"
}

View File

@ -126,7 +126,6 @@
"不切换": "",
"自动更新": "",
"缩放时模拟独占全屏": "",
"专有名词翻译设置按钮": "",
"越南语": "",
"代码页": "",
"点击此按钮后点击游戏窗口": "",
@ -826,7 +825,6 @@
"捷克语": "",
"直接替换": "",
"占位符": "",
"专有名词翻译设置": "",
"词典": "",
"注释": "",
"打开链接": "",
@ -838,5 +836,6 @@
"准备完毕,等待更新": "",
"自定义": "",
"其他参数": "",
"延迟注入(ms)": ""
"延迟注入(ms)": "",
"继承默认": ""
}

View File

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