diff --git a/install.bat b/install.bat index f312bf4d..036f6a51 100644 --- a/install.bat +++ b/install.bat @@ -1,5 +1,4 @@ python.exe -m pip install --upgrade pip pip install -r requirements.txt pip install git+https://github.com/misyaguziya/translators -pip install git+https://github.com/misyaguziya/deepl-translate pip install git+https://github.com/misyaguziya/custom_speech_recognition \ No newline at end of file diff --git a/model.py b/model.py index 36de1262..f7fa4642 100644 --- a/model.py +++ b/model.py @@ -163,7 +163,14 @@ class Model: elif target_language in ["Portuguese European", "Portuguese Brazilian"]: target_language = "Portuguese" - translation = self.translator.translate_ctranslate2( + # translation = self.translator.translate_ctranslate2( + # translator_name=translator_name, + # source_language=source_language, + # target_language=target_language, + # message=message + # ) + + translation = self.translator.translate( translator_name=translator_name, source_language=source_language, target_language=target_language, @@ -194,7 +201,13 @@ class Model: elif target_language in ["Portuguese European", "Portuguese Brazilian"]: target_language = "Portuguese" - translation = self.translator.translate_ctranslate2( + # translation = self.translator.translate_ctranslate2( + # translator_name=translator_name, + # source_language=source_language, + # target_language=target_language, + # message=message + # ) + translation = self.translator.translate( translator_name=translator_name, source_language=source_language, target_language=target_language, diff --git a/models/translation/translation_translator.py b/models/translation/translation_translator.py index aa9c6d5c..496a9b44 100644 --- a/models/translation/translation_translator.py +++ b/models/translation/translation_translator.py @@ -1,6 +1,5 @@ import os from deepl import Translator as deepl_Translator -from deepl_translate import translate as deepl_web_Translator from translators import translate_text as other_web_Translator from .translation_languages import translation_lang @@ -40,10 +39,11 @@ class Translator(): target_language=translation_lang[translator_name]["target"][target_language] match translator_name: case "DeepL": - result = deepl_web_Translator( - source_language=source_language, - target_language=target_language, - text=message + result = other_web_Translator( + query_text=message, + translator="deepl", + from_language=source_language, + to_language=target_language, ) case "DeepL_API": result = self.deepl_client.translate_text( @@ -65,6 +65,20 @@ class Translator(): from_language=source_language, to_language=target_language, ) + case "Papago": + result = other_web_Translator( + query_text=message, + translator="papago", + from_language=source_language, + to_language=target_language, + ) + case "CTranslate2": + self.tokenizer.src_lang = source_language + source = self.tokenizer.convert_ids_to_tokens(self.tokenizer.encode(message)) + target_prefix = [self.tokenizer.lang_code_to_token[target_language]] + results = self.translator.translate_batch([source], target_prefix=[target_prefix]) + target = results[0].hypotheses[0][1:] + result = self.tokenizer.decode(self.tokenizer.convert_tokens_to_ids(target)) except Exception: import traceback with open('error.log', 'a') as f: @@ -72,16 +86,16 @@ class Translator(): result = False return result - def translate_ctranslate2(self, translator_name, source_language, target_language, message): + # def translate_ctranslate2(self, translator_name, source_language, target_language, message): - source_language=translation_lang["ctranslate2"]["source"][source_language] - target_language=translation_lang["ctranslate2"]["target"][target_language] + # source_language=translation_lang["ctranslate2"]["source"][source_language] + # target_language=translation_lang["ctranslate2"]["target"][target_language] - self.tokenizer.src_lang = source_language - source = self.tokenizer.convert_ids_to_tokens(self.tokenizer.encode(message)) - target_prefix = [self.tokenizer.lang_code_to_token[target_language]] - results = self.translator.translate_batch([source], target_prefix=[target_prefix]) - target = results[0].hypotheses[0][1:] + # self.tokenizer.src_lang = source_language + # source = self.tokenizer.convert_ids_to_tokens(self.tokenizer.encode(message)) + # target_prefix = [self.tokenizer.lang_code_to_token[target_language]] + # results = self.translator.translate_batch([source], target_prefix=[target_prefix]) + # target = results[0].hypotheses[0][1:] - result = self.tokenizer.decode(self.tokenizer.convert_tokens_to_ids(target)) - return result \ No newline at end of file + # result = self.tokenizer.decode(self.tokenizer.convert_tokens_to_ids(target)) + # return result \ No newline at end of file