From 3f40a77b02fa39d6cf65139597eeab6c30b06c93 Mon Sep 17 00:00:00 2001 From: misyaguziya Date: Sun, 28 Jan 2024 05:54:08 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B[bugfix]=20Model=20:=20DeepL=5FAPI?= =?UTF-8?q?=E3=81=AE=E5=A0=B4=E5=90=88=E3=81=AETarget=E3=81=AE=E8=A8=80?= =?UTF-8?q?=E8=AA=9E=E3=82=B3=E3=83=BC=E3=83=89=E3=81=AE=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E5=87=A6=E7=90=86=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/translation/translation_translator.py | 33 +++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/models/translation/translation_translator.py b/models/translation/translation_translator.py index fbe6cf3f..f3d3c99e 100644 --- a/models/translation/translation_translator.py +++ b/models/translation/translation_translator.py @@ -38,11 +38,30 @@ class Translator(): ) 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): try: result = "" - source_language=translation_lang[translator_name]["source"][source_language] - target_language=translation_lang[translator_name]["target"][target_language] + source_language, target_language = self.getLanguageCode(translator_name, target_country, source_language, target_language) match translator_name: case "DeepL": result = other_web_Translator( @@ -55,16 +74,6 @@ class Translator(): if self.deepl_client is None: result = False 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( message, source_lang=source_language,