This commit is contained in:
恍兮惚兮 2024-09-15 10:58:06 +08:00
parent 4772048f51
commit 0a21c403b7
29 changed files with 167 additions and 116 deletions

View File

@ -1,9 +1,13 @@
blank_issues_enabled: true blank_issues_enabled: true
contact_links: contact_links:
- name: Specific Game Related 特定游戏相关 - name: Game Compatibility 游戏适配
url: https://github.com/HIllya51/LunaHook/issues/new?assignees=&labels=enhancement&projects=&template=01_game_request.yaml url: https://github.com/HIllya51/LunaHook/issues/new?assignees=&labels=enhancement&projects=&template=01_game_request.yaml
about: Request for an unsupported game, or hooked text is incorrect 请求支持尚未支持的游戏,或提取的文本不正确 about: Request for an unsupported game, or hooked text is incorrect 请求支持尚未支持的游戏,或提取的文本不正确
- name: Discord - name: Discord
url: https://discord.com/invite/ErtDwVeAbB url: https://discord.com/invite/ErtDwVeAbB
about: Discord about: Discord
- name: QQ群
url: https://qm.qq.com/q/I5rr3uEpi2
about: QQ群

View File

@ -410,6 +410,8 @@ class dialog_savedgame_new(QWidget):
) )
def callback(t): def callback(t):
if not t:
return
if t in globalconfig["labelset"]: if t in globalconfig["labelset"]:
tp = tagitem.TYPE_USERTAG tp = tagitem.TYPE_USERTAG
else: else:

View File

@ -617,7 +617,7 @@ class hookselect(closeashidewindow):
self.searchtextlayout = QHBoxLayout() self.searchtextlayout = QHBoxLayout()
self.vboxlayout.addLayout(self.searchtextlayout) self.vboxlayout.addLayout(self.searchtextlayout)
self.searchtext = QLineEdit() self.searchtext = QLineEdit()
__ = LPushButton("!?_找不到文本_!?") __ = LPushButton("游戏适配")
__.clicked.connect( __.clicked.connect(
lambda: gobject.baseobject.openlink( lambda: gobject.baseobject.openlink(
dynamiclink("{main_server}/Resource/game_support") dynamiclink("{main_server}/Resource/game_support")

View File

@ -482,12 +482,14 @@ def setTabTwo_lazy(self, basel):
type="grid", type="grid",
grid=( grid=(
[ [
"预翻译采用模糊匹配", "模糊匹配",
D_getsimpleswitch(globalconfig, "premtsimiuse"), D_getsimpleswitch(globalconfig, "premtsimiuse"),
"", "",
"模糊匹配_相似度_%", "模糊匹配_相似度_%",
D_getspinbox(0, 100, globalconfig, "premtsimi2"), D_getspinbox(0, 100, globalconfig, "premtsimi2"),
"", "",
"逐行匹配",
D_getsimpleswitch(globalconfig, "premtmatcheveryline"),
], ],
[ [
(functools.partial(createbtnexport, self), 0), (functools.partial(createbtnexport, self), 0),

View File

@ -8,19 +8,26 @@ import gobject
class TS(basetrans): class TS(basetrans):
def checkfilechanged(self, p1, p): def checkfilechanged(self, p1, p):
if self.paths != (p1, p): if self.paths == (p1, p):
self.jsons = [] return
if p: self.paths = (p1, p)
for pp in p: self.json = {}
if os.path.exists(pp): self.lines = None
with open(pp, "r", encoding="utf8") as f: if p:
self.jsons.append(json.load(f)) for pp in p:
if p1: self.safeload(pp)
for pp in p1: if p1:
if os.path.exists(pp): for pp in p1:
with open(pp, "r", encoding="utf8") as f: self.safeload(pp)
self.jsons.append(json.load(f))
self.paths = (p1, p) def safeload(self, pp):
if not os.path.exists(pp):
return
with open(pp, "r", encoding="utf8") as f:
try:
self.json.update(json.load(f))
except:
pass
def unsafegetcurrentgameconfig(self): def unsafegetcurrentgameconfig(self):
try: try:
@ -38,48 +45,83 @@ class TS(basetrans):
self.unsafegetcurrentgameconfig(), tuple(self.config["jsonfile"]) self.unsafegetcurrentgameconfig(), tuple(self.config["jsonfile"])
) )
def translate(self, content): def analyze_result(self, obj):
self.checkfilechanged( if type(obj) == str:
self.unsafegetcurrentgameconfig(), tuple(self.config["jsonfile"]) return obj
) if type(obj) != dict:
collect = [] return None
savet = obj.get("userTrans")
if savet:
return savet
savet = obj.get("machineTrans")
if savet:
return savet
return None
def delayloadlines(self):
if self.lines is not None:
return
self.lines = {}
for k, v in self.json.items():
if "\n" not in k:
continue
v = self.analyze_result(v)
if not v:
continue
ks = k.split("\n")
vs = v.split("\n")
if len(ks) != len(vs):
continue
for i in range(len(ks)):
self.lines[ks[i]] = vs[i]
def tryfindtranslate(self, content: str, _js: dict, _js2: dict = None):
if globalconfig["premtsimiuse"]: if globalconfig["premtsimiuse"]:
for _js in self.jsons:
maxsim = 0 maxsim = 0
savet = None savet = None
for jc in _js: for jx in (_js, _js2):
if not jx:
continue
for jc in jx:
dis = winsharedutils.distance_ratio(content, jc) dis = winsharedutils.distance_ratio(content, jc)
if dis > maxsim: if dis > maxsim:
maxsim = dis maxsim = dis
if maxsim * 100 >= globalconfig["premtsimi2"]: if maxsim * 100 >= globalconfig["premtsimi2"]:
if type(_js[jc]) == str: savet = self.analyze_result(jx[jc])
savet = _js[jc] return savet
elif _js[jc]["userTrans"] and _js[jc]["userTrans"] != "":
savet = _js[jc]["userTrans"]
elif (
_js[jc]["machineTrans"]
and _js[jc]["machineTrans"] != ""
):
savet = _js[jc]["machineTrans"]
if savet is None:
continue
else:
collect.append(savet)
else: else:
for _js in self.jsons: if content in _js:
if content not in _js: return self.analyze_result(_js[content])
continue if _js2 and (content in _js2):
if type(_js[content]) == str: return self.analyze_result(_js2[content])
collect.append(_js[content]) return None
elif _js[content]["userTrans"] and _js[content]["userTrans"] != "":
collect.append(_js[content]["userTrans"])
elif ( def tryfindtranslate_single(self, content: str):
_js[content]["machineTrans"] and _js[content]["machineTrans"] != "" self.delayloadlines()
): if "\n" not in content:
collect.append(_js[content]["machineTrans"]) return self.tryfindtranslate(content, self.json, self.lines)
if len(collect) == 0:
raise Exception(f"can't find: {content}") collect = []
for line in content.split("\n"):
line = self.tryfindtranslate(line, self.json, self.lines)
if not line:
return None
collect.append(line)
return "\n".join(collect) return "\n".join(collect)
def translate(self, content: str):
self.checkfilechanged(
self.unsafegetcurrentgameconfig(), tuple(self.config["jsonfile"])
)
if globalconfig["premtmatcheveryline"]:
res = self.tryfindtranslate_single(content)
else:
res = self.tryfindtranslate(content, self.json)
if not res:
raise Exception(f"can't find: {content}")
return res

View File

@ -509,6 +509,7 @@
"accept_use_unicode_start": 0, "accept_use_unicode_start": 0,
"accept_use_unicode_end": 65535, "accept_use_unicode_end": 65535,
"premtsimiuse": false, "premtsimiuse": false,
"premtmatcheveryline": false,
"buttoncolor": "#2e2eff", "buttoncolor": "#2e2eff",
"buttoncolor2": "#FF69B4", "buttoncolor2": "#FF69B4",
"buttoncolor3": "#afafaf", "buttoncolor3": "#afafaf",

View File

@ -1132,7 +1132,7 @@
"max_new_token": 1024, "max_new_token": 1024,
"repetition_penalty": 1, "repetition_penalty": 1,
"frequency_penalty": 0, "frequency_penalty": 0,
"fix_degeneration": true, "fix_degeneration": false,
"流式输出": true, "流式输出": true,
"prompt_version": 0, "prompt_version": 0,
"s": "" "s": ""

View File

@ -28,7 +28,6 @@
"彩云": "سحابة ملونة", "彩云": "سحابة ملونة",
"非管理员": "غير مسؤول", "非管理员": "غير مسؤول",
"用户词典": "قاموس المستخدم", "用户词典": "قاموس المستخدم",
"预翻译采用模糊匹配": "غامض مطابقة",
"汉语翻译结果繁简转换": "الترجمة الصينية نتيجة التحويل", "汉语翻译结果繁简转换": "الترجمة الصينية نتيجة التحويل",
"时间间隔": "الفاصل الزمني", "时间间隔": "الفاصل الزمني",
"字数统计": "كلمة إحصائيات", "字数统计": "كلمة إحصائيات",
@ -815,7 +814,6 @@
"添加文件": "إضافة ملف", "添加文件": "إضافة ملف",
"添加文件夹": "إضافة مجلد", "添加文件夹": "إضافة مجلد",
"类型": "نوع .", "类型": "نوع .",
"找不到文本": "لا يمكن العثور على النص",
"官方网站": "الموقع الرسمي", "官方网站": "الموقع الرسمي",
"欢迎使用": "مرحبا بكم في استخدام", "欢迎使用": "مرحبا بكم في استخدام",
"显示注音": "عرض صوتي", "显示注音": "عرض صوتي",
@ -856,5 +854,7 @@
"拉丁语": "اللاتينية", "拉丁语": "اللاتينية",
"显示/隐藏翻译": "إظهار / إخفاء الترجمة", "显示/隐藏翻译": "إظهار / إخفاء الترجمة",
"不显示翻译器名称": "لا يتم عرض اسم المترجم", "不显示翻译器名称": "لا يتم عرض اسم المترجم",
"华为云": "هوا وي يون" "华为云": "هوا وي يون",
"逐行匹配": "خط مطابقة",
"游戏适配": "لعبة مباراة"
} }

View File

@ -48,7 +48,6 @@
"目标语言": "目標語言", "目标语言": "目標語言",
"最短翻译字数": "最短翻譯字數", "最短翻译字数": "最短翻譯字數",
"最长翻译字数": "最長翻譯字數", "最长翻译字数": "最長翻譯字數",
"预翻译采用模糊匹配": "預先翻譯採用模糊匹配",
"录制翻译文件": "錄製翻譯檔案", "录制翻译文件": "錄製翻譯檔案",
"导出的第一翻译源": "匯出的第一翻譯來源", "导出的第一翻译源": "匯出的第一翻譯來源",
"离线翻译": "離線翻譯", "离线翻译": "離線翻譯",
@ -815,7 +814,6 @@
"添加文件": "加入檔案", "添加文件": "加入檔案",
"添加文件夹": "加入資料夾", "添加文件夹": "加入資料夾",
"类型": "類型", "类型": "類型",
"找不到文本": "找不到文字",
"官方网站": "官方網站", "官方网站": "官方網站",
"欢迎使用": "歡迎使用", "欢迎使用": "歡迎使用",
"显示注音": "顯示注音", "显示注音": "顯示注音",
@ -856,5 +854,7 @@
"拉丁语": "拉丁語", "拉丁语": "拉丁語",
"显示/隐藏翻译": "顯示/隱藏翻譯", "显示/隐藏翻译": "顯示/隱藏翻譯",
"不显示翻译器名称": "不顯示翻譯器名稱", "不显示翻译器名称": "不顯示翻譯器名稱",
"华为云": "華為雲" "华为云": "華為雲",
"逐行匹配": "逐行匹配",
"游戏适配": "遊戲適配"
} }

View File

@ -80,7 +80,6 @@
"手动设置代理(ip:port)": "Ručně nastavit proxy (ip: port)", "手动设置代理(ip:port)": "Ručně nastavit proxy (ip: port)",
"录制翻译文件": "Záznam překladových souborů", "录制翻译文件": "Záznam překladových souborů",
"字体样式": "Styl písma", "字体样式": "Styl písma",
"预翻译采用模糊匹配": "Předpřeklad přijímá fuzzy matching",
"搜索文本过短!": "Vyhledávací text je příliš krátký!", "搜索文本过短!": "Vyhledávací text je příliš krátký!",
"的OCR模型": "Model OCR", "的OCR模型": "Model OCR",
"备忘录按钮": "Tlačítko Memo", "备忘录按钮": "Tlačítko Memo",
@ -815,7 +814,6 @@
"添加文件": "Přidat soubor", "添加文件": "Přidat soubor",
"添加文件夹": "přidat složky", "添加文件夹": "přidat složky",
"类型": "typ", "类型": "typ",
"找不到文本": "Text nebyl nalezen",
"官方网站": "Oficiální internetové stránky", "官方网站": "Oficiální internetové stránky",
"欢迎使用": "Vítejte v použití", "欢迎使用": "Vítejte v použití",
"显示注音": "Zobrazit fonetickou zápis", "显示注音": "Zobrazit fonetickou zápis",
@ -856,5 +854,7 @@
"拉丁语": "Latinský jazyk", "拉丁语": "Latinský jazyk",
"显示/隐藏翻译": "Zobrazit/skrýt překlad", "显示/隐藏翻译": "Zobrazit/skrýt překlad",
"不显示翻译器名称": "Nezobrazovat jméno překladatele", "不显示翻译器名称": "Nezobrazovat jméno překladatele",
"华为云": "Hua Weiyun." "华为云": "Hua Weiyun.",
"逐行匹配": "Shoda řádku po řádku",
"游戏适配": "Úprava hry"
} }

View File

@ -80,7 +80,6 @@
"手动设置代理(ip:port)": "Proxy manuell einstellen (IP: Port)", "手动设置代理(ip:port)": "Proxy manuell einstellen (IP: Port)",
"录制翻译文件": "Übersetzungsdateien aufzeichnen", "录制翻译文件": "Übersetzungsdateien aufzeichnen",
"字体样式": "Schriftart", "字体样式": "Schriftart",
"预翻译采用模糊匹配": "Vorübersetzung verwendet Fuzzy Matching",
"搜索文本过短!": "Der Suchtext ist zu kurz!", "搜索文本过短!": "Der Suchtext ist zu kurz!",
"的OCR模型": "Das OCR-Modell", "的OCR模型": "Das OCR-Modell",
"备忘录按钮": "Memo-Taste", "备忘录按钮": "Memo-Taste",
@ -815,7 +814,6 @@
"添加文件": "Datei hinzufügen", "添加文件": "Datei hinzufügen",
"添加文件夹": "Ordner hinzufügen", "添加文件夹": "Ordner hinzufügen",
"类型": "Typ", "类型": "Typ",
"找不到文本": "Text nicht gefunden",
"官方网站": "Offizielle Website", "官方网站": "Offizielle Website",
"欢迎使用": "Willkommen zur Nutzung", "欢迎使用": "Willkommen zur Nutzung",
"显示注音": "Phonetische Notation anzeigen", "显示注音": "Phonetische Notation anzeigen",
@ -856,5 +854,7 @@
"拉丁语": "Lateinische Sprache", "拉丁语": "Lateinische Sprache",
"显示/隐藏翻译": "Übersetzung ein-/ausblenden", "显示/隐藏翻译": "Übersetzung ein-/ausblenden",
"不显示翻译器名称": "Übersetzername nicht anzeigen", "不显示翻译器名称": "Übersetzername nicht anzeigen",
"华为云": "Hua Weiyun" "华为云": "Hua Weiyun",
"逐行匹配": "Zeile für Zeile übereinstimmen",
"游戏适配": "Anpassung des Spiels"
} }

View File

@ -147,7 +147,6 @@
"简单替换内容(若替换为空则直接过滤)": "Replace Text (Deleted if Replacement is Blank)", "简单替换内容(若替换为空则直接过滤)": "Replace Text (Deleted if Replacement is Blank)",
"次数统计": "Count Statistics", "次数统计": "Count Statistics",
"代名詞": "Pronouns", "代名詞": "Pronouns",
"预翻译采用模糊匹配": "Pre-translation Uses Fuzzy Matching",
"必应": "Bing", "必应": "Bing",
"判定詞": "Copulas", "判定詞": "Copulas",
"翻译器字体类型": "Translator Font Type", "翻译器字体类型": "Translator Font Type",
@ -815,7 +814,6 @@
"添加文件": "Add file", "添加文件": "Add file",
"添加文件夹": "add folders", "添加文件夹": "add folders",
"类型": "type", "类型": "type",
"找不到文本": "Text not found",
"官方网站": "Official website", "官方网站": "Official website",
"欢迎使用": "Welcome to use", "欢迎使用": "Welcome to use",
"显示注音": "Display phonetic notation", "显示注音": "Display phonetic notation",
@ -856,5 +854,7 @@
"拉丁语": "Latin language", "拉丁语": "Latin language",
"显示/隐藏翻译": "Show/Hide Translation", "显示/隐藏翻译": "Show/Hide Translation",
"不显示翻译器名称": "Do not display translator name", "不显示翻译器名称": "Do not display translator name",
"华为云": "Hua Weiyun" "华为云": "Hua Weiyun",
"逐行匹配": "Match line by line",
"游戏适配": "Game adaptation"
} }

View File

@ -48,7 +48,6 @@
"目标语言": "Idioma objetivo", "目标语言": "Idioma objetivo",
"最短翻译字数": "Número mínimo de palabras traducidas", "最短翻译字数": "Número mínimo de palabras traducidas",
"最长翻译字数": "Número máximo de palabras traducidas", "最长翻译字数": "Número máximo de palabras traducidas",
"预翻译采用模糊匹配": "La traducción previa adopta una coincidencia inútil",
"录制翻译文件": "Grabar archivos traducidos", "录制翻译文件": "Grabar archivos traducidos",
"导出的第一翻译源": "La primera fuente de traducción exportada", "导出的第一翻译源": "La primera fuente de traducción exportada",
"离线翻译": "Traducción fuera de línea", "离线翻译": "Traducción fuera de línea",
@ -815,7 +814,6 @@
"添加文件": "Añadir archivo", "添加文件": "Añadir archivo",
"添加文件夹": "Añadir carpetas", "添加文件夹": "Añadir carpetas",
"类型": "Tipo", "类型": "Tipo",
"找不到文本": "No se puede encontrar el texto",
"官方网站": "Sitio web oficial", "官方网站": "Sitio web oficial",
"欢迎使用": "Bienvenido a usar", "欢迎使用": "Bienvenido a usar",
"显示注音": "Muestra la nota de sonido", "显示注音": "Muestra la nota de sonido",
@ -856,5 +854,7 @@
"拉丁语": "Latín", "拉丁语": "Latín",
"显示/隐藏翻译": "Mostrar / ocultar traducción", "显示/隐藏翻译": "Mostrar / ocultar traducción",
"不显示翻译器名称": "No se muestra el nombre del traductor", "不显示翻译器名称": "No se muestra el nombre del traductor",
"华为云": "Hua weiyun" "华为云": "Hua weiyun",
"逐行匹配": "Coincidencia línea a línea",
"游戏适配": "Adaptación del juego"
} }

View File

@ -48,7 +48,6 @@
"目标语言": "Langue cible", "目标语言": "Langue cible",
"最短翻译字数": "Nombre minimum de mots traduits", "最短翻译字数": "Nombre minimum de mots traduits",
"最长翻译字数": "Nombre maximum de mots traduits", "最长翻译字数": "Nombre maximum de mots traduits",
"预翻译采用模糊匹配": "Correspondance floue utilisée dans la pré - traduction",
"录制翻译文件": "Enregistrer le fichier de traduction", "录制翻译文件": "Enregistrer le fichier de traduction",
"导出的第一翻译源": "Première source de traduction exportée", "导出的第一翻译源": "Première source de traduction exportée",
"离线翻译": "Traduction hors ligne", "离线翻译": "Traduction hors ligne",
@ -815,7 +814,6 @@
"添加文件": "Ajouter un fichier", "添加文件": "Ajouter un fichier",
"添加文件夹": "Ajouter un dossier", "添加文件夹": "Ajouter un dossier",
"类型": "Type", "类型": "Type",
"找不到文本": "Aucun texte trouvé",
"官方网站": "Site officiel", "官方网站": "Site officiel",
"欢迎使用": "Bienvenue à utiliser", "欢迎使用": "Bienvenue à utiliser",
"显示注音": "Afficher les notes", "显示注音": "Afficher les notes",
@ -856,5 +854,7 @@
"拉丁语": "Latin", "拉丁语": "Latin",
"显示/隐藏翻译": "Afficher / masquer la traduction", "显示/隐藏翻译": "Afficher / masquer la traduction",
"不显示翻译器名称": "Ne pas afficher le nom du traducteur", "不显示翻译器名称": "Ne pas afficher le nom du traducteur",
"华为云": "Huawei Cloud" "华为云": "Huawei Cloud",
"逐行匹配": "Correspondance ligne par ligne",
"游戏适配": "Adaptation du jeu"
} }

View File

@ -48,7 +48,6 @@
"目标语言": "lingua di destinazione", "目标语言": "lingua di destinazione",
"最短翻译字数": "Numero minimo di parole tradotte", "最短翻译字数": "Numero minimo di parole tradotte",
"最长翻译字数": "Numero massimo di parole tradotte", "最长翻译字数": "Numero massimo di parole tradotte",
"预翻译采用模糊匹配": "Pre-traduzione usando corrispondenza sfocata",
"录制翻译文件": "Registrazione dei file di traduzione", "录制翻译文件": "Registrazione dei file di traduzione",
"导出的第一翻译源": "Prima fonte di traduzione esportata", "导出的第一翻译源": "Prima fonte di traduzione esportata",
"离线翻译": "Traduzione offline", "离线翻译": "Traduzione offline",
@ -815,7 +814,6 @@
"添加文件": "Aggiungi file", "添加文件": "Aggiungi file",
"添加文件夹": "aggiungi cartelle", "添加文件夹": "aggiungi cartelle",
"类型": "tipo", "类型": "tipo",
"找不到文本": "Testo non trovato",
"官方网站": "Sito ufficiale", "官方网站": "Sito ufficiale",
"欢迎使用": "Benvenuti all'uso", "欢迎使用": "Benvenuti all'uso",
"显示注音": "Mostra notazione fonetica", "显示注音": "Mostra notazione fonetica",
@ -856,5 +854,7 @@
"拉丁语": "Lingua latina", "拉丁语": "Lingua latina",
"显示/隐藏翻译": "Mostra/Nascondi traduzione", "显示/隐藏翻译": "Mostra/Nascondi traduzione",
"不显示翻译器名称": "Non visualizzare il nome del traduttore", "不显示翻译器名称": "Non visualizzare il nome del traduttore",
"华为云": "Hua Weiyun" "华为云": "Hua Weiyun",
"逐行匹配": "Corrisponda linea per linea",
"游戏适配": "Adattamento del gioco"
} }

View File

@ -48,7 +48,6 @@
"目标语言": "ターゲット言語", "目标语言": "ターゲット言語",
"最短翻译字数": "最短翻訳文字数", "最短翻译字数": "最短翻訳文字数",
"最长翻译字数": "最長翻訳文字数", "最长翻译字数": "最長翻訳文字数",
"预翻译采用模糊匹配": "プリ翻訳にファジィマッチングを採用",
"录制翻译文件": "翻訳ファイルの記録", "录制翻译文件": "翻訳ファイルの記録",
"导出的第一翻译源": "エクスポートされた最初の翻訳ソース", "导出的第一翻译源": "エクスポートされた最初の翻訳ソース",
"离线翻译": "オフライン翻訳", "离线翻译": "オフライン翻訳",
@ -815,7 +814,6 @@
"添加文件": "ファイルを追加", "添加文件": "ファイルを追加",
"添加文件夹": "フォルダを追加", "添加文件夹": "フォルダを追加",
"类型": "を選択してオプションを設定します。", "类型": "を選択してオプションを設定します。",
"找不到文本": "テキストが見つかりません",
"官方网站": "公式サイト", "官方网站": "公式サイト",
"欢迎使用": "ようこそ", "欢迎使用": "ようこそ",
"显示注音": "ルビを表示", "显示注音": "ルビを表示",
@ -856,5 +854,7 @@
"拉丁语": "ラテン語", "拉丁语": "ラテン語",
"显示/隐藏翻译": "翻訳の表示/非表示", "显示/隐藏翻译": "翻訳の表示/非表示",
"不显示翻译器名称": "翻訳者名を表示しない", "不显示翻译器名称": "翻訳者名を表示しない",
"华为云": "華を雲と為す" "华为云": "華を雲と為す",
"逐行匹配": "プログレッシブマッチング",
"游戏适配": "ゲームアダプタ"
} }

View File

@ -48,7 +48,6 @@
"目标语言": "대상 언어", "目标语言": "대상 언어",
"最短翻译字数": "최소 번역 단어 수", "最短翻译字数": "최소 번역 단어 수",
"最长翻译字数": "최대 번역 단어 수", "最长翻译字数": "최대 번역 단어 수",
"预翻译采用模糊匹配": "사전 번역은 모호한 일치를 채택한다",
"录制翻译文件": "번역 파일 기록", "录制翻译文件": "번역 파일 기록",
"导出的第一翻译源": "내보낸 첫 번째 번역 소스", "导出的第一翻译源": "내보낸 첫 번째 번역 소스",
"离线翻译": "오프라인 번역", "离线翻译": "오프라인 번역",
@ -815,7 +814,6 @@
"添加文件": "파일 추가", "添加文件": "파일 추가",
"添加文件夹": "폴더 추가", "添加文件夹": "폴더 추가",
"类型": "유형", "类型": "유형",
"找不到文本": "텍스트를 찾을 수 없음",
"官方网站": "공식 사이트", "官方网站": "공식 사이트",
"欢迎使用": "시작", "欢迎使用": "시작",
"显示注音": "메모 표시", "显示注音": "메모 표시",
@ -856,5 +854,7 @@
"拉丁语": "라틴어", "拉丁语": "라틴어",
"显示/隐藏翻译": "번역 표시 / 숨기기", "显示/隐藏翻译": "번역 표시 / 숨기기",
"不显示翻译器名称": "번역기 이름이 표시되지 않음", "不显示翻译器名称": "번역기 이름이 표시되지 않음",
"华为云": "화위운" "华为云": "화위운",
"逐行匹配": "행별 일치",
"游戏适配": "게임 적합성"
} }

View File

@ -80,7 +80,6 @@
"手动设置代理(ip:port)": "Proxy handmatig instellen (ip: poort)", "手动设置代理(ip:port)": "Proxy handmatig instellen (ip: poort)",
"录制翻译文件": "Vertalingsbestanden opnemen", "录制翻译文件": "Vertalingsbestanden opnemen",
"字体样式": "Lettertypestijl", "字体样式": "Lettertypestijl",
"预翻译采用模糊匹配": "Voorvertaling neemt fuzzy matching aan",
"搜索文本过短!": "De zoektekst is te kort!", "搜索文本过短!": "De zoektekst is te kort!",
"的OCR模型": "Het OCR-model", "的OCR模型": "Het OCR-model",
"备忘录按钮": "Memoknop", "备忘录按钮": "Memoknop",
@ -815,7 +814,6 @@
"添加文件": "Bestand toevoegen", "添加文件": "Bestand toevoegen",
"添加文件夹": "mappen toevoegen", "添加文件夹": "mappen toevoegen",
"类型": "type", "类型": "type",
"找不到文本": "Tekst niet gevonden",
"官方网站": "Officiële website", "官方网站": "Officiële website",
"欢迎使用": "Welkom bij gebruik", "欢迎使用": "Welkom bij gebruik",
"显示注音": "Toon fonetische notatie", "显示注音": "Toon fonetische notatie",
@ -856,5 +854,7 @@
"拉丁语": "Latijnse taal", "拉丁语": "Latijnse taal",
"显示/隐藏翻译": "Vertaling tonen/verbergen", "显示/隐藏翻译": "Vertaling tonen/verbergen",
"不显示翻译器名称": "Toon de naam van de vertaler niet", "不显示翻译器名称": "Toon de naam van de vertaler niet",
"华为云": "Hua Weiyun." "华为云": "Hua Weiyun.",
"逐行匹配": "Lijn voor regel overeenkomen",
"游戏适配": "Game aanpassing"
} }

View File

@ -48,7 +48,6 @@
"目标语言": "język docelowy", "目标语言": "język docelowy",
"最短翻译字数": "Minimalna liczba przetłumaczonych słów", "最短翻译字数": "Minimalna liczba przetłumaczonych słów",
"最长翻译字数": "Maksymalna liczba przetłumaczonych słów", "最长翻译字数": "Maksymalna liczba przetłumaczonych słów",
"预翻译采用模糊匹配": "Tłumaczenie wstępne przy użyciu dopasowania rozmytego",
"录制翻译文件": "Nagrywanie plików tłumaczeniowych", "录制翻译文件": "Nagrywanie plików tłumaczeniowych",
"导出的第一翻译源": "Pierwsze wyeksportowane źródło tłumaczenia", "导出的第一翻译源": "Pierwsze wyeksportowane źródło tłumaczenia",
"离线翻译": "Tłumaczenie offline", "离线翻译": "Tłumaczenie offline",
@ -815,7 +814,6 @@
"添加文件": "Dodaj plik", "添加文件": "Dodaj plik",
"添加文件夹": "dodaj foldery", "添加文件夹": "dodaj foldery",
"类型": "typ", "类型": "typ",
"找不到文本": "Tekst nie znaleziony",
"官方网站": "Oficjalna strona internetowa", "官方网站": "Oficjalna strona internetowa",
"欢迎使用": "Witamy w użyciu", "欢迎使用": "Witamy w użyciu",
"显示注音": "Wyświetla notację fonetyczną", "显示注音": "Wyświetla notację fonetyczną",
@ -856,5 +854,7 @@
"拉丁语": "Język łaciński", "拉丁语": "Język łaciński",
"显示/隐藏翻译": "Pokaż/ukryj tłumaczenie", "显示/隐藏翻译": "Pokaż/ukryj tłumaczenie",
"不显示翻译器名称": "Nie wyświetlaj nazwy tłumacza", "不显示翻译器名称": "Nie wyświetlaj nazwy tłumacza",
"华为云": "Hua Weiyun." "华为云": "Hua Weiyun.",
"逐行匹配": "Dopasuj linię po linii",
"游戏适配": "Adaptacja gry"
} }

View File

@ -80,7 +80,6 @@
"手动设置代理(ip:port)": "Configurar manualmente o 'proxy' (ip: port)", "手动设置代理(ip:port)": "Configurar manualmente o 'proxy' (ip: port)",
"录制翻译文件": "Gravar ficheiros de tradução", "录制翻译文件": "Gravar ficheiros de tradução",
"字体样式": "Estilo do Tipo de Letra", "字体样式": "Estilo do Tipo de Letra",
"预翻译采用模糊匹配": "A pré-tradução adota correspondência difusa",
"搜索文本过短!": "O texto de pesquisa é muito curto!", "搜索文本过短!": "O texto de pesquisa é muito curto!",
"的OCR模型": "O modelo OCR", "的OCR模型": "O modelo OCR",
"备忘录按钮": "Botão de memória", "备忘录按钮": "Botão de memória",
@ -815,7 +814,6 @@
"添加文件": "Adicionar um ficheiro", "添加文件": "Adicionar um ficheiro",
"添加文件夹": "adicionar pastas", "添加文件夹": "adicionar pastas",
"类型": "tipo", "类型": "tipo",
"找不到文本": "Texto não encontrado",
"官方网站": "Sítio Web oficial", "官方网站": "Sítio Web oficial",
"欢迎使用": "Bem- vindo ao uso", "欢迎使用": "Bem- vindo ao uso",
"显示注音": "Mostrar a notação fonética", "显示注音": "Mostrar a notação fonética",
@ -856,5 +854,7 @@
"拉丁语": "Língua latina", "拉丁语": "Língua latina",
"显示/隐藏翻译": "Mostrar/ Esconder a Tradução", "显示/隐藏翻译": "Mostrar/ Esconder a Tradução",
"不显示翻译器名称": "Não mostrar o nome do tradutor", "不显示翻译器名称": "Não mostrar o nome do tradutor",
"华为云": "Hua Weiyun" "华为云": "Hua Weiyun",
"逐行匹配": "Corresponder linha por linha",
"游戏适配": "Adaptação do jogo"
} }

View File

@ -48,7 +48,6 @@
"目标语言": "Целевой язык", "目标语言": "Целевой язык",
"最短翻译字数": "Min слов для перевода", "最短翻译字数": "Min слов для перевода",
"最长翻译字数": "Max слов для перевода", "最长翻译字数": "Max слов для перевода",
"预翻译采用模糊匹配": "Нечеткое совпадение",
"录制翻译文件": "Запись переводов в файл", "录制翻译文件": "Запись переводов в файл",
"导出的第一翻译源": "Экспорт источника перевода", "导出的第一翻译源": "Экспорт источника перевода",
"离线翻译": "Автономный перевод", "离线翻译": "Автономный перевод",
@ -815,7 +814,6 @@
"添加文件": "Добавить файл", "添加文件": "Добавить файл",
"添加文件夹": "Добавить папку", "添加文件夹": "Добавить папку",
"类型": "Тип", "类型": "Тип",
"找不到文本": "Текст не найден",
"官方网站": "Официальный сайт", "官方网站": "Официальный сайт",
"欢迎使用": "Добро пожаловать в использование", "欢迎使用": "Добро пожаловать в использование",
"显示注音": "Показать звук", "显示注音": "Показать звук",
@ -856,5 +854,7 @@
"拉丁语": "Латинский язык", "拉丁语": "Латинский язык",
"显示/隐藏翻译": "Показать / скрыть перевод", "显示/隐藏翻译": "Показать / скрыть перевод",
"不显示翻译器名称": "Не показывать имя переводчика", "不显示翻译器名称": "Не показывать имя переводчика",
"华为云": "Хуа как облако" "华为云": "Хуа как облако",
"逐行匹配": "Постепенное согласование",
"游戏适配": "Игра подходит"
} }

View File

@ -80,7 +80,6 @@
"手动设置代理(ip:port)": "Manuellt inställd proxy (ip: port)", "手动设置代理(ip:port)": "Manuellt inställd proxy (ip: port)",
"录制翻译文件": "Spela in översättningsfiler", "录制翻译文件": "Spela in översättningsfiler",
"字体样式": "Teckensnittsstil", "字体样式": "Teckensnittsstil",
"预翻译采用模糊匹配": "Före översättning antar suddig matchning",
"搜索文本过短!": "Söktexten är för kort!", "搜索文本过短!": "Söktexten är för kort!",
"的OCR模型": "OCR-modellen", "的OCR模型": "OCR-modellen",
"备忘录按钮": "Memoknapp", "备忘录按钮": "Memoknapp",
@ -815,7 +814,6 @@
"添加文件": "Lägg till fil", "添加文件": "Lägg till fil",
"添加文件夹": "lägg till kataloger", "添加文件夹": "lägg till kataloger",
"类型": "typ", "类型": "typ",
"找不到文本": "Text hittades inte",
"官方网站": "Officiell webbplats", "官方网站": "Officiell webbplats",
"欢迎使用": "Välkommen att använda", "欢迎使用": "Välkommen att använda",
"显示注音": "Visa fonetisk notation", "显示注音": "Visa fonetisk notation",
@ -856,5 +854,7 @@
"拉丁语": "Latinska språk", "拉丁语": "Latinska språk",
"显示/隐藏翻译": "Visa/dölj översättning", "显示/隐藏翻译": "Visa/dölj översättning",
"不显示翻译器名称": "Visa inte översättarens namn", "不显示翻译器名称": "Visa inte översättarens namn",
"华为云": "Hua Weiyun" "华为云": "Hua Weiyun",
"逐行匹配": "Matcha rad för rad",
"游戏适配": "Spelanpassning"
} }

View File

@ -80,7 +80,6 @@
"手动设置代理(ip:port)": "ตั้งค่าพร็อกซี่ด้วยตนเอง (ip: port)", "手动设置代理(ip:port)": "ตั้งค่าพร็อกซี่ด้วยตนเอง (ip: port)",
"录制翻译文件": "บันทึกไฟล์แปล", "录制翻译文件": "บันทึกไฟล์แปล",
"字体样式": "รูปแบบตัวอักษร", "字体样式": "รูปแบบตัวอักษร",
"预翻译采用模糊匹配": "การแปลก่อนใช้การจับคู่ที่คลุมเครือ",
"搜索文本过短!": "ค้นหาข้อความสั้นเกินไป!", "搜索文本过短!": "ค้นหาข้อความสั้นเกินไป!",
"的OCR模型": "รุ่น OCR", "的OCR模型": "รุ่น OCR",
"备忘录按钮": "ปุ่มบันทึก", "备忘录按钮": "ปุ่มบันทึก",
@ -815,7 +814,6 @@
"添加文件": "เพิ่มไฟล์", "添加文件": "เพิ่มไฟล์",
"添加文件夹": "เพิ่มโฟลเดอร์", "添加文件夹": "เพิ่มโฟลเดอร์",
"类型": "ประเภท", "类型": "ประเภท",
"找不到文本": "ไม่พบข้อความ",
"官方网站": "เว็บไซต์อย่างเป็นทางการ", "官方网站": "เว็บไซต์อย่างเป็นทางการ",
"欢迎使用": "ยินดีต้อนรับสู่", "欢迎使用": "ยินดีต้อนรับสู่",
"显示注音": "แสดงหมายเหตุ", "显示注音": "แสดงหมายเหตุ",
@ -856,5 +854,7 @@
"拉丁语": "ละติน", "拉丁语": "ละติน",
"显示/隐藏翻译": "แสดง/ซ่อนการแปล", "显示/隐藏翻译": "แสดง/ซ่อนการแปล",
"不显示翻译器名称": "ไม่แสดงชื่อแปล", "不显示翻译器名称": "ไม่แสดงชื่อแปล",
"华为云": "Huawei เมฆ" "华为云": "Huawei เมฆ",
"逐行匹配": "จับคู่ตามบรรทัด",
"游戏适配": "การปรับเกม"
} }

View File

@ -48,7 +48,6 @@
"目标语言": "hedef dili", "目标语言": "hedef dili",
"最短翻译字数": "Tercüme edilen kelimelerin en az sayısı", "最短翻译字数": "Tercüme edilen kelimelerin en az sayısı",
"最长翻译字数": "Tercüme edilen sözlerin en büyük sayısı", "最长翻译字数": "Tercüme edilen sözlerin en büyük sayısı",
"预翻译采用模糊匹配": "Önceki çeviri, çöplü eşleştirmeyi kabul ediyor",
"录制翻译文件": "Çeviri dosyasını kaydedin", "录制翻译文件": "Çeviri dosyasını kaydedin",
"导出的第一翻译源": "İlk çevirim kaynağı dışarı aktarıldı", "导出的第一翻译源": "İlk çevirim kaynağı dışarı aktarıldı",
"离线翻译": "Devre dışı çeviri", "离线翻译": "Devre dışı çeviri",
@ -815,7 +814,6 @@
"添加文件": "Dosya ekle", "添加文件": "Dosya ekle",
"添加文件夹": "Dosyaları ekle", "添加文件夹": "Dosyaları ekle",
"类型": "tür", "类型": "tür",
"找不到文本": "Metin bulunamadı",
"官方网站": "Resmi web sitesi", "官方网站": "Resmi web sitesi",
"欢迎使用": "Kullanmaya hoş geldiniz.", "欢迎使用": "Kullanmaya hoş geldiniz.",
"显示注音": "Fonetik notasyonu göster", "显示注音": "Fonetik notasyonu göster",
@ -856,5 +854,7 @@
"拉丁语": "Latin dili", "拉丁语": "Latin dili",
"显示/隐藏翻译": "Çeviri Göster/Gizle", "显示/隐藏翻译": "Çeviri Göster/Gizle",
"不显示翻译器名称": "Tercüme ismini gösterme", "不显示翻译器名称": "Tercüme ismini gösterme",
"华为云": "Hua Weiyun" "华为云": "Hua Weiyun",
"逐行匹配": "Satırla eşleştir",
"游戏适配": "Oyun uygulaması"
} }

View File

@ -48,7 +48,6 @@
"目标语言": "мова призначення", "目标语言": "мова призначення",
"最短翻译字数": "Мінімальна кількість перекладених слів", "最短翻译字数": "Мінімальна кількість перекладених слів",
"最长翻译字数": "Максимальна кількість перекладених слів", "最长翻译字数": "Максимальна кількість перекладених слів",
"预翻译采用模糊匹配": "Попередній переклад за допомогою неприємного збігання",
"录制翻译文件": "Запис файлів перекладу", "录制翻译文件": "Запис файлів перекладу",
"导出的第一翻译源": "First translation source exported", "导出的第一翻译源": "First translation source exported",
"离线翻译": "Офлайн переклад", "离线翻译": "Офлайн переклад",
@ -815,7 +814,6 @@
"添加文件": "Додати файл", "添加文件": "Додати файл",
"添加文件夹": "додати теки", "添加文件夹": "додати теки",
"类型": "тип", "类型": "тип",
"找不到文本": "Текст не знайдено",
"官方网站": "Офіційна веб-сайт", "官方网站": "Офіційна веб-сайт",
"欢迎使用": "Ласкаво просимо використовувати", "欢迎使用": "Ласкаво просимо використовувати",
"显示注音": "Показувати фонетичну нотацію", "显示注音": "Показувати фонетичну нотацію",
@ -856,5 +854,7 @@
"拉丁语": "Латинська мова", "拉丁语": "Латинська мова",
"显示/隐藏翻译": "Показувати/сховати переклад", "显示/隐藏翻译": "Показувати/сховати переклад",
"不显示翻译器名称": "Не показувати назву перекладача", "不显示翻译器名称": "Не показувати назву перекладача",
"华为云": "Hua Weiyun" "华为云": "Hua Weiyun",
"逐行匹配": "Порівнювати рядок за рядком",
"游戏适配": "Адаптація гри"
} }

View File

@ -48,7 +48,6 @@
"目标语言": "Ngôn ngữ đích", "目标语言": "Ngôn ngữ đích",
"最短翻译字数": "Số lượng từ phiên dịch ngắn nhất", "最短翻译字数": "Số lượng từ phiên dịch ngắn nhất",
"最长翻译字数": "Số lượng từ phiên dịch dài nhất", "最长翻译字数": "Số lượng từ phiên dịch dài nhất",
"预翻译采用模糊匹配": "Sử dụng Blur Match",
"录制翻译文件": "Ghi lại tập tin dịch", "录制翻译文件": "Ghi lại tập tin dịch",
"导出的第一翻译源": "Nguồn dịch đầu tiên xuất khẩu", "导出的第一翻译源": "Nguồn dịch đầu tiên xuất khẩu",
"离线翻译": "Dịch ngoại tuyến", "离线翻译": "Dịch ngoại tuyến",
@ -815,7 +814,6 @@
"添加文件": "Thêm tập tin", "添加文件": "Thêm tập tin",
"添加文件夹": "Thêm thư mục", "添加文件夹": "Thêm thư mục",
"类型": "Loại", "类型": "Loại",
"找不到文本": "Không tìm thấy văn bản",
"官方网站": "Trang web chính thức", "官方网站": "Trang web chính thức",
"欢迎使用": "Chào mừng đến với", "欢迎使用": "Chào mừng đến với",
"显示注音": "Hiện chú thích", "显示注音": "Hiện chú thích",
@ -856,5 +854,7 @@
"拉丁语": "Tiếng Việt", "拉丁语": "Tiếng Việt",
"显示/隐藏翻译": "Hiện/ẩn bản dịch", "显示/隐藏翻译": "Hiện/ẩn bản dịch",
"不显示翻译器名称": "Name", "不显示翻译器名称": "Name",
"华为云": "Hoa Vi Vân" "华为云": "Hoa Vi Vân",
"逐行匹配": "Khớp từng dòng",
"游戏适配": "Trò chơi phù hợp"
} }

View File

@ -80,7 +80,6 @@
"手动设置代理(ip:port)": "", "手动设置代理(ip:port)": "",
"录制翻译文件": "", "录制翻译文件": "",
"字体样式": "", "字体样式": "",
"预翻译采用模糊匹配": "",
"搜索文本过短!": "", "搜索文本过短!": "",
"的OCR模型": "", "的OCR模型": "",
"备忘录按钮": "", "备忘录按钮": "",
@ -703,7 +702,7 @@
"按钮颜色": "", "按钮颜色": "",
"按钮大小": "", "按钮大小": "",
"软件显示语言": "", "软件显示语言": "",
"找不到文本": "", "游戏适配": "",
"填充颜色": "", "填充颜色": "",
"阴影强度": "", "阴影强度": "",
"阴影半径": "", "阴影半径": "",
@ -856,5 +855,6 @@
"设为图标": "", "设为图标": "",
"还原图标": "", "还原图标": "",
"拉丁语": "", "拉丁语": "",
"华为云": "" "华为云": "",
"逐行匹配": ""
} }

View File

@ -34,7 +34,7 @@
### **飞桨Ai Studio** ### **飞桨Ai Studio**
* 免费额度为每日登录领取4小时或可累加 * 免费额度为每日登录领取4小时并且可以通过一些积分任务获取更多时长
<details> <details>
<summary>1. 在<a href="https://aistudio.baidu.com/my/project/private" target="_blank">飞桨Ai Studio</a>中创建项目,注意<strong>项目框架</strong>必须为<strong>PaddlePaddle 3.0.0beta1</strong></summary> <summary>1. 在<a href="https://aistudio.baidu.com/my/project/private" target="_blank">飞桨Ai Studio</a>中创建项目,注意<strong>项目框架</strong>必须为<strong>PaddlePaddle 3.0.0beta1</strong></summary>

View File

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