Loading modules/translators/trans_deepl_api_free.py 0 → 100644 +52 −0 Original line number Diff line number Diff line from .base import * import httpx @register_translator('DeepL Free v2') class DeepLTranslatorv2(BaseTranslator): concate_text = False params: Dict = { 'api_url': 'https://dpltrnslt.bropinesd.online/', # EndPoint will be provided by the user 'delay': 0.0, } # Setup your endpoint api with https://github.com/OwO-Network/DeepLX def _setup_translator(self): self.lang_map['简体中文'] = 'zh' self.lang_map['日本語'] = 'ja' self.lang_map['English'] = 'en' self.lang_map['한국어'] = 'ko' self.lang_map['Tiếng Việt'] = 'vi' self.lang_map['čeština'] = 'cs' self.lang_map['Nederlands'] = 'nl' self.lang_map['Français'] = 'fr' self.lang_map['Deutsch'] = 'de' self.lang_map['magyar nyelv'] = 'hu' self.lang_map['Italiano'] = 'it' self.lang_map['Polski'] = 'pl' self.lang_map['Português'] = 'pt' self.lang_map['limba română'] = 'ro' self.lang_map['русский язык'] = 'ru' self.lang_map['Español'] = 'es' self.lang_map['Türk dili'] = 'tr' # Add other languages here def _translate(self, src_list: List[str]) -> List[str]: tr_list = [] for text in src_list: data = { 'text': text, 'source_lang': 'auto', # or your source language 'target_lang': self.lang_map[self.lang_target] } response = requests.post(self.params['api_url'], json=data) if response.status_code == 200: # Extract the translated text from the 'data' key translated_text = response.json().get('data', '') tr_list.append(translated_text) else: tr_list.append('') # Or error handling return tr_list modules/translators/trans_yandexfree.py 0 → 100644 +51 −0 Original line number Diff line number Diff line from .base import * @register_translator('YandexFree') class YandexTranslatorFree(BaseTranslator): concate_text = False params: Dict = { 'endpoint': 'https://translate.toil.cc/translate', # Service endpoint 'delay': 0.0, # Go to https://github.com/FOSWLY/translate-backend to setup your API backend } def _setup_translator(self): self.lang_map['简体中文'] = 'zh' self.lang_map['日本語'] = 'ja' self.lang_map['English'] = 'en' self.lang_map['한국어'] = 'ko' self.lang_map['Tiếng Việt'] = 'vi' self.lang_map['čeština'] = 'cs' self.lang_map['Nederlands'] = 'nl' self.lang_map['Français'] = 'fr' self.lang_map['Deutsch'] = 'de' self.lang_map['magyar nyelv'] = 'hu' self.lang_map['Italiano'] = 'it' self.lang_map['Polski'] = 'pl' self.lang_map['Português'] = 'pt' self.lang_map['limba română'] = 'ro' self.lang_map['русский язык'] = 'ru' self.lang_map['Español'] = 'es' self.lang_map['Türk dili'] = 'tr' def _translate(self, src_list: List[str]) -> List[str]: tr_list = [] dest_lang_code = self.lang_map[self.lang_target] # Get the language code from lang_map for text in src_list: body = { "lang": dest_lang_code, "text": text } response = requests.post(self.params['endpoint'], json=body) if response.status_code == 200: translated_text = response.json().get('text', [''])[0] tr_list.append(translated_text) else: tr_list.append('') # Or error handling return tr_list No newline at end of file modules/translators/trans_yandexv2.py 0 → 100644 +52 −0 Original line number Diff line number Diff line from .base import * @register_translator('Yandexv2') class YandexTranslatorv2(BaseTranslator): concate_text = False params: Dict = { 'api_key': '', 'delay': 0.0, } def _setup_translator(self): self.lang_map['简体中文'] = 'zh' self.lang_map['日本語'] = 'ja' self.lang_map['English'] = 'en' self.lang_map['한국어'] = 'ko' self.lang_map['Tiếng Việt'] = 'vi' self.lang_map['čeština'] = 'cs' self.lang_map['Nederlands'] = 'nl' self.lang_map['Français'] = 'fr' self.lang_map['Deutsch'] = 'de' self.lang_map['magyar nyelv'] = 'hu' self.lang_map['Italiano'] = 'it' self.lang_map['Polski'] = 'pl' self.lang_map['Português'] = 'pt' self.lang_map['limba română'] = 'ro' self.lang_map['русский язык'] = 'ru' self.lang_map['Español'] = 'es' self.lang_map['Türk dili'] = 'tr' self.api_url = "https://translate.yandex.net/api/v1.5/tr.json/translate" def _translate(self, src_list: List[str]) -> List[str]: tr_list = [] for text in src_list: params = { 'key': self.params['api_key'], 'text': text, 'lang': self.lang_map[self.lang_target], 'format': 'plain', # 'options': 1, # If additional options are needed # 'callback': 'callback_function_name', # If callback is used } response = requests.get('https://translate.yandex.net/api/v1.5/tr.json/translate', params=params) if response.status_code == 200: translated_text = response.json().get('text', [''])[0] tr_list.append(translated_text) else: tr_list.append('') # Or error handling return tr_list Loading
modules/translators/trans_deepl_api_free.py 0 → 100644 +52 −0 Original line number Diff line number Diff line from .base import * import httpx @register_translator('DeepL Free v2') class DeepLTranslatorv2(BaseTranslator): concate_text = False params: Dict = { 'api_url': 'https://dpltrnslt.bropinesd.online/', # EndPoint will be provided by the user 'delay': 0.0, } # Setup your endpoint api with https://github.com/OwO-Network/DeepLX def _setup_translator(self): self.lang_map['简体中文'] = 'zh' self.lang_map['日本語'] = 'ja' self.lang_map['English'] = 'en' self.lang_map['한국어'] = 'ko' self.lang_map['Tiếng Việt'] = 'vi' self.lang_map['čeština'] = 'cs' self.lang_map['Nederlands'] = 'nl' self.lang_map['Français'] = 'fr' self.lang_map['Deutsch'] = 'de' self.lang_map['magyar nyelv'] = 'hu' self.lang_map['Italiano'] = 'it' self.lang_map['Polski'] = 'pl' self.lang_map['Português'] = 'pt' self.lang_map['limba română'] = 'ro' self.lang_map['русский язык'] = 'ru' self.lang_map['Español'] = 'es' self.lang_map['Türk dili'] = 'tr' # Add other languages here def _translate(self, src_list: List[str]) -> List[str]: tr_list = [] for text in src_list: data = { 'text': text, 'source_lang': 'auto', # or your source language 'target_lang': self.lang_map[self.lang_target] } response = requests.post(self.params['api_url'], json=data) if response.status_code == 200: # Extract the translated text from the 'data' key translated_text = response.json().get('data', '') tr_list.append(translated_text) else: tr_list.append('') # Or error handling return tr_list
modules/translators/trans_yandexfree.py 0 → 100644 +51 −0 Original line number Diff line number Diff line from .base import * @register_translator('YandexFree') class YandexTranslatorFree(BaseTranslator): concate_text = False params: Dict = { 'endpoint': 'https://translate.toil.cc/translate', # Service endpoint 'delay': 0.0, # Go to https://github.com/FOSWLY/translate-backend to setup your API backend } def _setup_translator(self): self.lang_map['简体中文'] = 'zh' self.lang_map['日本語'] = 'ja' self.lang_map['English'] = 'en' self.lang_map['한국어'] = 'ko' self.lang_map['Tiếng Việt'] = 'vi' self.lang_map['čeština'] = 'cs' self.lang_map['Nederlands'] = 'nl' self.lang_map['Français'] = 'fr' self.lang_map['Deutsch'] = 'de' self.lang_map['magyar nyelv'] = 'hu' self.lang_map['Italiano'] = 'it' self.lang_map['Polski'] = 'pl' self.lang_map['Português'] = 'pt' self.lang_map['limba română'] = 'ro' self.lang_map['русский язык'] = 'ru' self.lang_map['Español'] = 'es' self.lang_map['Türk dili'] = 'tr' def _translate(self, src_list: List[str]) -> List[str]: tr_list = [] dest_lang_code = self.lang_map[self.lang_target] # Get the language code from lang_map for text in src_list: body = { "lang": dest_lang_code, "text": text } response = requests.post(self.params['endpoint'], json=body) if response.status_code == 200: translated_text = response.json().get('text', [''])[0] tr_list.append(translated_text) else: tr_list.append('') # Or error handling return tr_list No newline at end of file
modules/translators/trans_yandexv2.py 0 → 100644 +52 −0 Original line number Diff line number Diff line from .base import * @register_translator('Yandexv2') class YandexTranslatorv2(BaseTranslator): concate_text = False params: Dict = { 'api_key': '', 'delay': 0.0, } def _setup_translator(self): self.lang_map['简体中文'] = 'zh' self.lang_map['日本語'] = 'ja' self.lang_map['English'] = 'en' self.lang_map['한국어'] = 'ko' self.lang_map['Tiếng Việt'] = 'vi' self.lang_map['čeština'] = 'cs' self.lang_map['Nederlands'] = 'nl' self.lang_map['Français'] = 'fr' self.lang_map['Deutsch'] = 'de' self.lang_map['magyar nyelv'] = 'hu' self.lang_map['Italiano'] = 'it' self.lang_map['Polski'] = 'pl' self.lang_map['Português'] = 'pt' self.lang_map['limba română'] = 'ro' self.lang_map['русский язык'] = 'ru' self.lang_map['Español'] = 'es' self.lang_map['Türk dili'] = 'tr' self.api_url = "https://translate.yandex.net/api/v1.5/tr.json/translate" def _translate(self, src_list: List[str]) -> List[str]: tr_list = [] for text in src_list: params = { 'key': self.params['api_key'], 'text': text, 'lang': self.lang_map[self.lang_target], 'format': 'plain', # 'options': 1, # If additional options are needed # 'callback': 'callback_function_name', # If callback is used } response = requests.get('https://translate.yandex.net/api/v1.5/tr.json/translate', params=params) if response.status_code == 200: translated_text = response.json().get('text', [''])[0] tr_list.append(translated_text) else: tr_list.append('') # Or error handling return tr_list