mirror of
https://github.com/HIllya51/LunaTranslator.git
synced 2024-12-29 16:44:13 +08:00
not dir
This commit is contained in:
parent
f10c785d97
commit
44a0a12cdf
@ -8,24 +8,8 @@ if __name__ == "__main__":
|
||||
windows.loadlibrary(
|
||||
"./LunaTranslator/runtime/PyQt5/Qt5/bin/Qt5Core.dll"
|
||||
) # win7 no vcredist2015
|
||||
for p in (
|
||||
"./userconfig/memory",
|
||||
"./userconfig/memory",
|
||||
"./userconfig/posts",
|
||||
"./translation_record",
|
||||
"./translation_record/cache",
|
||||
"./cache",
|
||||
"./cache/ocr",
|
||||
"./cache/update",
|
||||
"./cache/screenshot",
|
||||
"./cache/tts",
|
||||
"./cache/icon",
|
||||
"./cache/backup",
|
||||
):
|
||||
|
||||
os.makedirs(p, exist_ok=True)
|
||||
|
||||
from myutils.config import _TR, static_data, testpriv, globalconfig
|
||||
from myutils.config import _TR, static_data, globalconfig
|
||||
|
||||
sys.path.append("./userconfig")
|
||||
sys.path.insert(
|
||||
@ -81,12 +65,6 @@ if __name__ == "__main__":
|
||||
)
|
||||
os._exit(0)
|
||||
|
||||
try:
|
||||
testpriv()
|
||||
except:
|
||||
getQMessageBox(None, "错误", "当前路径读写权限不足,请使用管理员权限运行!")
|
||||
os._exit(0)
|
||||
|
||||
gobject.baseobject = MAINUI()
|
||||
gobject.baseobject.checklang()
|
||||
gobject.baseobject.aa()
|
||||
|
@ -7,6 +7,7 @@ from myutils.config import _TR, globalconfig
|
||||
from gui.usefulwidget import saveposwindow
|
||||
from myutils.wrapper import Singleton_close
|
||||
from winsharedutils import showintab
|
||||
import os
|
||||
|
||||
|
||||
@Singleton_close
|
||||
@ -36,6 +37,7 @@ class dialog_memory(saveposwindow):
|
||||
self.gamemd5 = gamemd5
|
||||
formLayout = QVBoxLayout() #
|
||||
self.showtext = QTextEdit()
|
||||
os.makedirs("./userconfig/memory", exist_ok=True)
|
||||
self.rwpath = "./userconfig/memory/{}.html".format(gamemd5)
|
||||
try:
|
||||
with open(self.rwpath, "r", encoding="utf8") as ff:
|
||||
|
@ -120,6 +120,7 @@ def sqlite2json2(self, sqlitefile, targetjson=None, existsmerge=False):
|
||||
|
||||
|
||||
def sqlite2json(self):
|
||||
os.makedirs("./translation_record", exist_ok=True)
|
||||
f = QFileDialog.getOpenFileName(directory="./translation_record", filter="*.sqlite")
|
||||
if f[0] == "":
|
||||
return
|
||||
|
@ -104,6 +104,7 @@ class QButtonGroup_switch_widegt(QWidget):
|
||||
|
||||
|
||||
def listprocessm():
|
||||
os.makedirs("./cache", exist_ok=True)
|
||||
cachefname = os.path.abspath("./cache/{}.txt".format(time.time()))
|
||||
arch = "64" if gobject.baseobject.textsource.is64bit else "32"
|
||||
exe = os.path.abspath("./files/plugins/shareddllproxy{}.exe".format(arch))
|
||||
|
@ -190,6 +190,7 @@ def exportchspatch(self):
|
||||
doexportchspatch(exe, realgame)
|
||||
md5 = getfilemd5(exe)
|
||||
name = os.path.basename(exe).replace("." + os.path.basename(exe).split(".")[-1], "")
|
||||
os.makedirs("./translation_record", exist_ok=True)
|
||||
sqlfname_all = "./translation_record/" + name + "_" + md5 + ".sqlite"
|
||||
if os.path.exists(sqlfname_all) == False:
|
||||
f = QFileDialog.getOpenFileName(
|
||||
|
@ -30,7 +30,7 @@ from myutils.utils import (
|
||||
loadpostsettingwindowmethod,
|
||||
)
|
||||
from myutils.config import savehook_new_data
|
||||
import copy
|
||||
import copy, os
|
||||
from myutils.post import POSTSOLVE
|
||||
|
||||
|
||||
@ -39,6 +39,7 @@ def savegameprocesstext():
|
||||
try:
|
||||
with open("./userconfig/mypost.py", "r", encoding="utf8") as ff:
|
||||
_mypost = ff.read()
|
||||
os.makedirs("./userconfig/posts", exist_ok=True)
|
||||
with open(
|
||||
"./userconfig/posts/{}.py".format(gobject.baseobject.textsource.uuname),
|
||||
"w",
|
||||
|
@ -387,6 +387,7 @@ class QUnFrameWindow(resizableframeless):
|
||||
def ocroncefunction(rect):
|
||||
img = imageCut(0, rect[0][0], rect[0][1], rect[1][0], rect[1][1])
|
||||
fname = "./cache/ocr/once.png"
|
||||
os.makedirs("./cache/ocr", exist_ok=True)
|
||||
img.save(fname)
|
||||
text = ocr_run(fname)
|
||||
gobject.baseobject.textgetmethod(text, False)
|
||||
|
@ -232,13 +232,6 @@ def _TRL(kk):
|
||||
return x
|
||||
|
||||
|
||||
def testpriv():
|
||||
fname = f"./userconfig/{os.getpid()}"
|
||||
with open(fname, "w") as ff:
|
||||
ff.write("")
|
||||
os.remove(fname)
|
||||
|
||||
|
||||
def saveallconfig():
|
||||
def safesave(fname, js):
|
||||
# 有时保存时意外退出,会导致config文件被清空
|
||||
@ -248,6 +241,7 @@ def saveallconfig():
|
||||
os.remove(fname)
|
||||
os.rename(fname + ".tmp", fname)
|
||||
|
||||
os.makedirs("./userconfig", exist_ok=True)
|
||||
safesave("./userconfig/config.json", globalconfig)
|
||||
safesave("./userconfig/magpie_config.json", magpie_config)
|
||||
safesave("./userconfig/postprocessconfig.json", postprocessconfig)
|
||||
|
@ -83,6 +83,7 @@ def updatemethod(_version, progresscallback):
|
||||
savep = "./cache/update/LunaTranslator{}.zip".format(bit)
|
||||
|
||||
def endcallback():
|
||||
os.makedirs("./cache/update", exist_ok=True)
|
||||
if os.path.exists("./cache/update/LunaTranslator"):
|
||||
shutil.rmtree("./cache/update/LunaTranslator")
|
||||
zipf = zipfile.ZipFile("./cache/update/LunaTranslator{}.zip".format(bit))
|
||||
|
@ -167,6 +167,7 @@ def getExeIcon(name, icon=True, cache=False):
|
||||
name = exepath
|
||||
data = winsharedutils.extracticon2data(name)
|
||||
if cache:
|
||||
os.makedirs("./cache/icon", exist_ok=True)
|
||||
fn = "./cache/icon/{}.bmp".format(hashlib.md5(name.encode("utf8")).hexdigest())
|
||||
if data:
|
||||
pixmap = QPixmap()
|
||||
|
@ -11,6 +11,7 @@ def b64string(a):
|
||||
|
||||
|
||||
def vndbdownloadimg(url, wait=True):
|
||||
os.makedirs("./cache/vndb", exist_ok=True)
|
||||
savepath = "./cache/vndb/" + b64string(url) + ".jpg"
|
||||
if os.path.exists(savepath):
|
||||
return savepath
|
||||
@ -59,6 +60,7 @@ def vndbdowloadinfo(vid):
|
||||
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.42",
|
||||
}
|
||||
url = "https://vndb.org/" + vid
|
||||
os.makedirs("./cache/vndb", exist_ok=True)
|
||||
savepath = "./cache/vndb/" + b64string(url) + ".html"
|
||||
# print(url,savepath)
|
||||
if not os.path.exists(savepath):
|
||||
@ -197,12 +199,13 @@ def safedownload():
|
||||
"https://dl.vndb.org/dump/vndb-tags-latest.json.gz",
|
||||
proxies=getproxy(),
|
||||
)
|
||||
with open("./cache/vndb-tags-latest.json.gz", "wb") as ff:
|
||||
os.makedirs("./cache/vndb", exist_ok=True)
|
||||
with open("./cache/vndb/vndb-tags-latest.json.gz", "wb") as ff:
|
||||
ff.write(resp.content)
|
||||
decompress_gzip_file(
|
||||
"./cache/vndb-tags-latest.json.gz", "./cache/vndb-tags-latest.json"
|
||||
"./cache/vndb/vndb-tags-latest.json.gz", "./cache/vndb/vndb-tags-latest.json"
|
||||
)
|
||||
with open("./cache/vndb-tags-latest.json", "r", encoding="utf8") as ff:
|
||||
with open("./cache/vndb/vndb-tags-latest.json", "r", encoding="utf8") as ff:
|
||||
js = json.load(ff)
|
||||
newjs = {}
|
||||
for item in js:
|
||||
@ -250,8 +253,7 @@ def getvntagsbyid(vid):
|
||||
|
||||
def searchforidimage(titleorid):
|
||||
print(titleorid)
|
||||
if os.path.exists("./cache/vndb") == False:
|
||||
os.mkdir("./cache/vndb")
|
||||
os.makedirs("./cache/vndb", exist_ok=True)
|
||||
if isinstance(titleorid, str):
|
||||
vid = getvidbytitle(titleorid)
|
||||
if not vid:
|
||||
|
@ -25,6 +25,7 @@ class Method(scalebase):
|
||||
|
||||
def init(self):
|
||||
self.statuslistener()
|
||||
os.makedirs("./cache", exist_ok=True)
|
||||
self.jspath = os.path.abspath("./cache/magpie.config.json")
|
||||
self.engine = subproc_w(
|
||||
'./files/plugins/Magpie/Magpie.Core.exe "{}"'.format(self.jspath),
|
||||
|
@ -3,7 +3,7 @@ from myutils.config import globalconfig
|
||||
import winsharedutils
|
||||
from gui.rangeselect import rangeadjust
|
||||
from myutils.ocrutil import imageCut, ocr_run, ocr_end
|
||||
import time, gobject
|
||||
import time, gobject, os
|
||||
from PyQt5.QtWidgets import QApplication
|
||||
from PyQt5.QtGui import QImage
|
||||
from textsource.textsourcebase import basetext
|
||||
@ -164,7 +164,7 @@ class ocrtext(basetext):
|
||||
return "\n".join(__text)
|
||||
|
||||
def ocrtest(self, img):
|
||||
|
||||
os.makedirs("./cache/ocr", exist_ok=True)
|
||||
fname = "./cache/ocr/{}.png".format(self.timestamp)
|
||||
img.save(fname)
|
||||
# print(fname)
|
||||
|
@ -16,7 +16,7 @@ class basetext:
|
||||
self.pids = []
|
||||
self.md5 = md5
|
||||
self.basename = basename
|
||||
|
||||
os.makedirs("./translation_record", exist_ok=True)
|
||||
sqlfname_all_old = (
|
||||
"./translation_record/" + md5 + "_" + basename + ".pretrans_common.sqlite"
|
||||
)
|
||||
|
@ -5,7 +5,7 @@ from myutils.config import globalconfig, translatorsetting, static_data
|
||||
from threading import Thread
|
||||
import time, types
|
||||
import zhconv, gobject
|
||||
import sqlite3
|
||||
import sqlite3, os
|
||||
from myutils.commonbase import commonbase
|
||||
import functools
|
||||
from myutils.utils import stringfyerror, autosql, PriorityQueue
|
||||
@ -109,6 +109,7 @@ class basetrans(commonbase):
|
||||
|
||||
if self.transtype != "pre":
|
||||
try:
|
||||
os.makedirs("./translation_record/cache", exist_ok=True)
|
||||
self.sqlwrite2 = autosql(
|
||||
sqlite3.connect(
|
||||
"./translation_record/cache/{}.sqlite".format(self.typename),
|
||||
|
@ -10,6 +10,7 @@ from myutils.subproc import subproc_w, autoproc
|
||||
class TTS(TTSbase):
|
||||
def checkchange(self):
|
||||
fname = str(time.time())
|
||||
os.makedirs("./cache/tts/", exist_ok=True)
|
||||
savepath = os.path.join(os.getcwd(), "cache/tts", fname)
|
||||
exepath = os.path.join(os.getcwd(), "files/plugins/shareddllproxy32.exe")
|
||||
t = time.time()
|
||||
|
@ -5,7 +5,7 @@ import websocket
|
||||
from datetime import datetime
|
||||
import time
|
||||
import re
|
||||
import uuid
|
||||
import uuid, os
|
||||
import time
|
||||
import requests
|
||||
import time
|
||||
@ -193,6 +193,7 @@ def transferMsTTSData(rate, content, voice):
|
||||
else:
|
||||
break
|
||||
ws.close()
|
||||
os.makedirs("./cache/tts/", exist_ok=True)
|
||||
outputPath = "./cache/tts/" + str(time.time()) + ".mp3"
|
||||
with open(outputPath, "wb") as audio_out:
|
||||
audio_out.write(audio_stream)
|
||||
|
@ -1,7 +1,7 @@
|
||||
from traceback import print_exc
|
||||
import requests
|
||||
import base64
|
||||
import time
|
||||
import time, os
|
||||
from tts.basettsclass import TTSbase
|
||||
|
||||
|
||||
@ -48,7 +48,7 @@ class TTS(TTSbase):
|
||||
)
|
||||
fname = str(time.time())
|
||||
b64 = base64.b64decode(response.json()["audio"]["data"])
|
||||
|
||||
os.makedirs("./cache/tts/", exist_ok=True)
|
||||
with open("./cache/tts/" + fname + ".mp3", "wb") as ff:
|
||||
ff.write(b64)
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
import requests
|
||||
import time
|
||||
import time, os
|
||||
from tts.basettsclass import TTSbase
|
||||
from urllib.parse import quote
|
||||
|
||||
@ -29,6 +29,7 @@ class TTS(TTSbase):
|
||||
f"http://127.0.0.1:23456/voice/{model}?text={encoded_content}&id={idx}&lang=ja&format=wav"
|
||||
).content
|
||||
fname = str(time.time())
|
||||
os.makedirs("./cache/tts/", exist_ok=True)
|
||||
with open("./cache/tts/" + fname + ".wav", "wb") as ff:
|
||||
ff.write(response)
|
||||
|
||||
|
@ -75,6 +75,7 @@ class TTS(TTSbase):
|
||||
self.rate = globalconfig["ttscommon"]["rate"]
|
||||
self.voice = self.config["voice"]
|
||||
fname = str(time.time())
|
||||
os.makedirs("./cache/tts/", exist_ok=True)
|
||||
savepath = os.path.join(os.getcwd(), "cache/tts", fname + ".wav")
|
||||
dllpath = os.path.join(self.path, "aitalked.dll")
|
||||
##dllpath=r'C:\Users\wcy\Downloads\zunko\aitalked.dll'
|
||||
|
@ -73,6 +73,7 @@ class TTS(TTSbase):
|
||||
self.rate = globalconfig["ttscommon"]["rate"]
|
||||
self.voice = self.config["voice"]
|
||||
fname = str(time.time())
|
||||
os.makedirs("./cache/tts/", exist_ok=True)
|
||||
savepath = os.path.join(os.getcwd(), "cache/tts", fname + ".wav")
|
||||
dllpath = os.path.join(self.path, "aitalked.dll")
|
||||
|
||||
|
@ -101,6 +101,7 @@ class TTS(TTSbase):
|
||||
headers=headers,
|
||||
data=json.dumps(response.json()),
|
||||
)
|
||||
os.makedirs("./cache/tts/", exist_ok=True)
|
||||
with open("./cache/tts/" + fname + ".wav", "wb") as ff:
|
||||
ff.write(response.content)
|
||||
return "./cache/tts/" + fname + ".wav"
|
||||
|
@ -36,7 +36,7 @@ class TTS(TTSbase):
|
||||
version = 7
|
||||
voice_idx = self._7m[voice]
|
||||
fname = str(time.time())
|
||||
|
||||
os.makedirs("./cache/tts/", exist_ok=True)
|
||||
winsharedutils.SAPI_Speak(
|
||||
content, version, voice_idx, rate, 100, "./cache/tts/" + fname + ".wav"
|
||||
)
|
||||
|
@ -1,5 +1,5 @@
|
||||
import requests
|
||||
import time
|
||||
import time, os
|
||||
from tts.basettsclass import TTSbase
|
||||
|
||||
|
||||
@ -39,6 +39,7 @@ class TTS(TTSbase):
|
||||
proxies={"http": None, "https": None},
|
||||
).content
|
||||
fname = str(time.time())
|
||||
os.makedirs("./cache/tts/", exist_ok=True)
|
||||
with open("./cache/tts/" + fname + ".mp3", "wb") as ff:
|
||||
ff.write(response)
|
||||
|
||||
|
@ -569,7 +569,6 @@
|
||||
"使用说明": "تعليمات الاستخدام",
|
||||
"注册地址": "العنوان المسجل",
|
||||
"API接口地址": "عنوان واجهة المعهد",
|
||||
"当前路径读写权限不足,请使用管理员权限运行!": "المسار الحالي لا يملك أذونات القراءة والكتابة ، يرجى استخدام أذونات المسؤول لتشغيل !",
|
||||
"通用文字识别(标准版)": "العام التعرف على الحروف ( طبعة قياسية )",
|
||||
"通用文字识别(标准含位置版)": "العام التعرف على الحروف ( بما في ذلك موقع النسخة القياسية )",
|
||||
"通用文字识别(高精度版)": "العام التعرف على الحروف ( عالية الدقة )",
|
||||
|
@ -569,7 +569,6 @@
|
||||
"使用说明": "使用說明",
|
||||
"注册地址": "註冊地址",
|
||||
"API接口地址": "API介面地址",
|
||||
"当前路径读写权限不足,请使用管理员权限运行!": "當前路徑讀寫許可權不足,請使用管理員許可權運行!",
|
||||
"通用文字识别(标准版)": "通用文字識別(標準版)",
|
||||
"通用文字识别(标准含位置版)": "通用文字識別(標準含位置版)",
|
||||
"通用文字识别(高精度版)": "通用文字識別(高精度版)",
|
||||
|
@ -569,7 +569,6 @@
|
||||
"使用说明": "Instructions for use",
|
||||
"注册地址": "Company Registered Address",
|
||||
"API接口地址": "API interface address",
|
||||
"当前路径读写权限不足,请使用管理员权限运行!": "The current path has insufficient read and write permissions. Please run with administrator privileges!",
|
||||
"通用文字识别(标准版)": "Universal Text Recognition (Standard Edition)",
|
||||
"通用文字识别(标准含位置版)": "Universal text recognition (standard with positional version)",
|
||||
"通用文字识别(高精度版)": "Universal Text Recognition (High Precision Edition)",
|
||||
|
@ -569,7 +569,6 @@
|
||||
"使用说明": "Instrucciones de uso",
|
||||
"注册地址": "Dirección registrada",
|
||||
"API接口地址": "Dirección de la interfaz API",
|
||||
"当前路径读写权限不足,请使用管理员权限运行!": "¡Los permisos de lectura y escritura de la ruta actual son insuficientes, ¡ por favor, use los permisos de Administrador para ejecutar!",
|
||||
"通用文字识别(标准版)": "Reconocimiento de texto universal (versión estándar)",
|
||||
"通用文字识别(标准含位置版)": "Reconocimiento de texto universal (estándar con versión de ubicación)",
|
||||
"通用文字识别(高精度版)": "Reconocimiento de texto universal (versión de alta precisión)",
|
||||
|
@ -569,7 +569,6 @@
|
||||
"使用说明": "Instructions d'utilisation",
|
||||
"注册地址": "Adresse enregistrée",
|
||||
"API接口地址": "Adresse de l'interface API",
|
||||
"当前路径读写权限不足,请使用管理员权限运行!": "Le chemin actuel n'a pas les droits de lecture et d'écriture suffisants, exécutez - le avec les droits d'administrateur!",
|
||||
"通用文字识别(标准版)": "Reconnaissance de texte universelle (version standard)",
|
||||
"通用文字识别(标准含位置版)": "Reconnaissance de texte universelle (version standard avec emplacement)",
|
||||
"通用文字识别(高精度版)": "Reconnaissance de texte universelle (version haute précision)",
|
||||
|
@ -569,7 +569,6 @@
|
||||
"使用说明": "Istruzioni per l'uso",
|
||||
"注册地址": "Indirizzo di registrazione della società",
|
||||
"API接口地址": "Indirizzo interfaccia API",
|
||||
"当前路径读写权限不足,请使用管理员权限运行!": "Il percorso corrente non ha permessi di lettura e scrittura sufficienti. Esegui con privilegi di amministratore!",
|
||||
"通用文字识别(标准版)": "Riconoscimento universale del testo (edizione standard)",
|
||||
"通用文字识别(标准含位置版)": "Riconoscimento universale del testo (standard con versione posizionale)",
|
||||
"通用文字识别(高精度版)": "Riconoscimento universale del testo (Edizione ad alta precisione)",
|
||||
|
@ -569,7 +569,6 @@
|
||||
"使用说明": "使用方法",
|
||||
"注册地址": "登録アドレス",
|
||||
"API接口地址": "APIインタフェースアドレス",
|
||||
"当前路径读写权限不足,请使用管理员权限运行!": "現在のパスは読み書き権限が不足しています。管理者権限を使用して実行してください!",
|
||||
"通用文字识别(标准版)": "汎用文字認識(標準版)",
|
||||
"通用文字识别(标准含位置版)": "共通文字認識(標準位置版含む)",
|
||||
"通用文字识别(高精度版)": "汎用文字認識(高精度版)",
|
||||
|
@ -569,7 +569,6 @@
|
||||
"使用说明": "사용 설명",
|
||||
"注册地址": "등록 주소",
|
||||
"API接口地址": "API 인터페이스 주소",
|
||||
"当前路径读写权限不足,请使用管理员权限运行!": "현재 경로에 읽기 및 쓰기 권한이 부족합니다. 관리자 권한으로 실행하십시오!",
|
||||
"通用文字识别(标准版)": "일반 텍스트 인식 (표준)",
|
||||
"通用文字识别(标准含位置版)": "일반 텍스트 인식 (위치 버전 표준 포함)",
|
||||
"通用文字识别(高精度版)": "일반 텍스트 인식 (고정밀 버전)",
|
||||
|
@ -569,7 +569,6 @@
|
||||
"使用说明": "Instrukcja użytkowania",
|
||||
"注册地址": "Adres zarejestrowany w firmie",
|
||||
"API接口地址": "Adres interfejsu API",
|
||||
"当前路径读写权限不足,请使用管理员权限运行!": "Bieżąca ścieżka ma niewystarczające uprawnienia do odczytu i zapisu. Proszę uruchomić z uprawnieniami administratora!",
|
||||
"通用文字识别(标准版)": "Uniwersalne rozpoznawanie tekstu (wersja standardowa)",
|
||||
"通用文字识别(标准含位置版)": "Uniwersalne rozpoznawanie tekstu (standardowo z wersją pozycyjną)",
|
||||
"通用文字识别(高精度版)": "Uniwersalne rozpoznawanie tekstu (High Precision Edition)",
|
||||
|
@ -569,7 +569,6 @@
|
||||
"使用说明": "Описание использования",
|
||||
"注册地址": "Адрес регистрации",
|
||||
"API接口地址": "Адрес интерфейса API",
|
||||
"当前路径读写权限不足,请使用管理员权限运行!": "Текущие права чтения и записи пути недостаточны, пожалуйста, используйте права администратора для запуска!",
|
||||
"通用文字识别(标准版)": "Универсальное распознавание текста (стандартная версия)",
|
||||
"通用文字识别(标准含位置版)": "Универсальное распознавание текста (стандартная версия с указанием местоположения)",
|
||||
"通用文字识别(高精度版)": "Универсальное распознавание текста (высокоточная версия)",
|
||||
|
@ -518,7 +518,6 @@
|
||||
"韩语(EUC-KR)": "เกาหลี (EUC-KR)",
|
||||
"选择路径": "เลือกเส้นทาง",
|
||||
"普通字体": "Normal ตัวอักษร",
|
||||
"当前路径读写权限不足,请使用管理员权限运行!": "การเข้าถึงการอ่านและการเขียนพาธปัจจุบันไม่เพียงพอโปรดใช้สิทธิ์ของผู้ดูแลระบบเพื่อเรียกใช้!",
|
||||
"快捷键": "ปุ่มลัด",
|
||||
"转区启动": "เริ่มการเปลี่ยนโซน",
|
||||
"快译通": "แปลด่วน",
|
||||
|
@ -569,7 +569,6 @@
|
||||
"使用说明": "Kullanılacak talimatlar",
|
||||
"注册地址": "Şirket Kayıtlı Adresi",
|
||||
"API接口地址": "API arayüz adresi",
|
||||
"当前路径读写权限不足,请使用管理员权限运行!": "Mevcut yolun okuma ve yazma izni yetersiz. Lütfen yönetici hakkınla çalışın!",
|
||||
"通用文字识别(标准版)": "Universal Text Recognition (Standard Edition)",
|
||||
"通用文字识别(标准含位置版)": "Evrensel metin tanımlaması (pozisyonel versiyonla standart)",
|
||||
"通用文字识别(高精度版)": "Universal Text Recognition (High Precision Edition)",
|
||||
|
@ -569,7 +569,6 @@
|
||||
"使用说明": "Накази використання",
|
||||
"注册地址": "Реєстрована адреса компанії",
|
||||
"API接口地址": "Адреса інтерфейсу API",
|
||||
"当前路径读写权限不足,请使用管理员权限运行!": "У поточному шляху недостатньо прав на читання і запис. Будь ласка, запускайте привілеї адміністратора!",
|
||||
"通用文字识别(标准版)": "Універсальне визнання тексту (стандартне редагування)",
|
||||
"通用文字识别(标准含位置版)": "Універсальне розпізнавання тексту (стандартне з позиційною версією)",
|
||||
"通用文字识别(高精度版)": "Universal Text Recognition (High Precision Edition)",
|
||||
|
@ -569,7 +569,6 @@
|
||||
"使用说明": "Hướng dẫn sử dụng",
|
||||
"注册地址": "Địa chỉ đăng ký",
|
||||
"API接口地址": "Địa chỉ giao diện API",
|
||||
"当前路径读写权限不足,请使用管理员权限运行!": "Đường dẫn hiện tại không đủ quyền đọc và ghi, hãy chạy với quyền quản trị viên!",
|
||||
"通用文字识别(标准版)": "Nhận dạng văn bản chung (Standard Edition)",
|
||||
"通用文字识别(标准含位置版)": "Nhận dạng văn bản chung (phiên bản tiêu chuẩn bao gồm vị trí)",
|
||||
"通用文字识别(高精度版)": "Nhận dạng văn bản chung (phiên bản chính xác cao)",
|
||||
|
@ -513,7 +513,6 @@
|
||||
"韩语(EUC-KR)": "",
|
||||
"选择路径": "",
|
||||
"普通字体": "",
|
||||
"当前路径读写权限不足,请使用管理员权限运行!": "",
|
||||
"快捷键": "",
|
||||
"转区启动": "",
|
||||
"快译通": "",
|
||||
|
Loading…
x
Reference in New Issue
Block a user