Merge branch 'develop'

This commit is contained in:
misyaguziya
2024-01-28 23:03:21 +09:00
4 changed files with 23 additions and 17 deletions

1
.gitignore vendored
View File

@@ -9,3 +9,4 @@ logs/
weight/ weight/
.vscode .vscode
error.log error.log
*.exe

View File

@@ -731,7 +731,7 @@ class Config:
def init_config(self): def init_config(self):
# Read Only # Read Only
self._VERSION = "2.1.0" self._VERSION = "2.1.1"
self._ENABLE_SPEAKER2CHATBOX = False # Speaker2Chatbox self._ENABLE_SPEAKER2CHATBOX = False # Speaker2Chatbox
self._PATH_LOCAL = os_path.dirname(sys.argv[0]) self._PATH_LOCAL = os_path.dirname(sys.argv[0])
self._PATH_CONFIG = os_path.join(self._PATH_LOCAL, "config.json") self._PATH_CONFIG = os_path.join(self._PATH_LOCAL, "config.json")

View File

@@ -12,7 +12,6 @@ from threading import Thread, Event
from requests import get as requests_get from requests import get as requests_get
import webbrowser import webbrowser
from tqdm import tqdm
from typing import Callable from typing import Callable
from flashtext import KeywordProcessor from flashtext import KeywordProcessor
from models.translation.translation_translator import Translator from models.translation.translation_translator import Translator
@@ -267,16 +266,13 @@ class Model:
with tempfile.TemporaryDirectory() as tmp_path: with tempfile.TemporaryDirectory() as tmp_path:
res = requests_get(url, stream=True) res = requests_get(url, stream=True)
file_size = int(res.headers.get('content-length', 0)) file_size = int(res.headers.get('content-length', 0))
pbar = tqdm(total=file_size, unit="B", unit_scale=True)
total_chunk = 0 total_chunk = 0
with open(os_path.join(tmp_path, filename), 'wb') as file: with open(os_path.join(tmp_path, filename), 'wb') as file:
for chunk in res.iter_content(chunk_size=1024*5): for chunk in res.iter_content(chunk_size=1024*5):
file.write(chunk) file.write(chunk)
pbar.update(len(chunk))
if isinstance(func, Callable): if isinstance(func, Callable):
total_chunk += len(chunk) total_chunk += len(chunk)
func(total_chunk/file_size) func(total_chunk/file_size)
pbar.close()
with ZipFile(os_path.join(tmp_path, filename)) as zf: with ZipFile(os_path.join(tmp_path, filename)) as zf:
zf.extractall(os_path.join(current_directory, tmp_directory_name)) zf.extractall(os_path.join(current_directory, tmp_directory_name))

View File

@@ -38,11 +38,30 @@ class Translator():
) )
self.ctranslate2_tokenizer = transformers.AutoTokenizer.from_pretrained(tokenizer) self.ctranslate2_tokenizer = transformers.AutoTokenizer.from_pretrained(tokenizer)
@staticmethod
def getLanguageCode(translator_name, target_country, source_language, target_language):
match translator_name:
case "DeepL_API":
if target_language == "English":
if target_country in ["United States", "Canada", "Philippines"]:
target_language = "English American"
else:
target_language = "English British"
elif target_language == "Portuguese":
if target_country in ["Portugal"]:
target_language = "Portuguese European"
else:
target_language = "Portuguese Brazilian"
case _:
pass
source_language=translation_lang[translator_name]["source"][source_language]
target_language=translation_lang[translator_name]["target"][target_language]
return source_language, target_language
def translate(self, translator_name, source_language, target_language, target_country, message): def translate(self, translator_name, source_language, target_language, target_country, message):
try: try:
result = "" result = ""
source_language=translation_lang[translator_name]["source"][source_language] source_language, target_language = self.getLanguageCode(translator_name, target_country, source_language, target_language)
target_language=translation_lang[translator_name]["target"][target_language]
match translator_name: match translator_name:
case "DeepL": case "DeepL":
result = other_web_Translator( result = other_web_Translator(
@@ -55,16 +74,6 @@ class Translator():
if self.deepl_client is None: if self.deepl_client is None:
result = False result = False
else: else:
if target_language == "English":
if target_country in ["United States", "Canada", "Philippines"]:
target_language = "English American"
else:
target_language = "English British"
elif target_language == "Portuguese":
if target_country in ["Portugal"]:
target_language = "Portuguese European"
else:
target_language = "Portuguese Brazilian"
result = self.deepl_client.translate_text( result = self.deepl_client.translate_text(
message, message,
source_lang=source_language, source_lang=source_language,