import deepl from .common import CommonTranslator, MissingAPIKeyException from .keys import DEEPL_AUTH_KEY class DeeplTranslator(CommonTranslator): _LANGUAGE_CODE_MAP = { 'CHS': 'ZH', 'CHT': 'ZH', 'JPN': 'JA', 'ENG': 'EN-US', 'CSY': 'CS', 'NLD': 'NL', 'FRA': 'FR', 'DEU': 'DE', 'HUN': 'HU', 'ITA': 'IT', 'PLK': 'PL', 'PTB': 'PT-BR', 'ROM': 'RO', 'RUS': 'RU', 'ESP': 'ES', 'IND': 'ID' } def __init__(self): super().__init__() if not DEEPL_AUTH_KEY: raise MissingAPIKeyException('Please set the DEEPL_AUTH_KEY environment variable before using the deepl translator.') self.translator = deepl.Translator(DEEPL_AUTH_KEY) async def _translate(self, from_lang, to_lang, queries): return self.translator.translate_text('\n'.join(queries), target_lang = to_lang).text.split('\n')