def __init__(self, source_language: str, target_language: str): super(BestEffortTranslator, self).__init__(source_language=source_language, target_language=target_language) lang_config = dict(source_language=source_language, target_language=target_language) if source_language == target_language == 'en': lang_config['key'] = get_key_from_config('WORDNIK_API_KEY') t = WordnikTranslator(**lang_config) t.quality = 90 self.add_translator(t) else: google_translator_key = get_key_from_config( 'GOOGLE_TRANSLATE_API_KEY') microsoft_translator_key = get_key_from_config( 'MICROSOFT_TRANSLATE_API_KEY') if google_translator_key != "": # Google Translator WITH context t = GoogleTranslatorFactory.build_with_context(**lang_config) t.quality = 95 self.add_translator(t) # Google Translator WITHOUT context t = GoogleTranslatorFactory.build_contextless(**lang_config) t.quality = 70 self.add_translator(t) if microsoft_translator_key != "": # Microsoft Translator WITH context t = MicrosoftTranslatorFactory.build_with_context( **lang_config) t.quality = 80 self.add_translator(t) # Microsoft Translator without context t = MicrosoftTranslatorFactory.build_contextless(**lang_config) t.quality = 60 self.add_translator(t) self.set_cache(MemoryCache(translator_type='best_effort_translator'))
def get_result(self, data): lang_config = dict(source_language=data["source_language"], target_language=data["target_language"]) lang_config['key'] = get_key_from_config(self._key_envvar_name) self._translator = WordnikTranslator(**lang_config) self._translator.quality = 90 response = self._translator.translate(data["query"]) if len(response.translations) == 0: return None return response
def __init__(self, source_language: str, target_language: str, key=None): super(CollinsTranslator, self).__init__(source_language, target_language) CollinsTranslator.assert_languages_are_supported( self.source_language, self.target_language) if not key: key = get_key_from_config('COLLINS_TRANSLATE_API_KEY') self.key = key
def get_result(self, data): lang_config = dict( source_language=data["source_language"], target_language=data["target_language"] ) lang_config['key'] = get_key_from_config(self._key_envvar_name) self._translator = WordnikTranslator(**lang_config) self._translator.quality = 90 response = self._translator.translate(data["query"]) if len(response.translations) == 0: return None return response
def build_clean(source_language, target_language, key=None): """ Builds a clean Google translator. This means that it has no context processors attached. :param source_language: :param target_language: :param key: :return: """ if key is None: key = get_key_from_config('MICROSOFT_TRANSLATE_API_KEY') return MicrosoftTranslator(source_language, target_language, key)
def build_clean(source_language, target_language, key=None): """ Builds a clean Google translator. This means that it has no context processors attached. :param source_language: :param target_language: :param key: :return: """ if key is None: key = get_key_from_config('GOOGLE_TRANSLATE_API_KEY') return GoogleTranslator(source_language=source_language, target_language=target_language, key=key, service_name='Google', translator_name='Google')
def setUp(self): self.translator = WordnikTranslator(source_language='es', target_language='en', key=get_key_from_config('WORDNIK_API_KEY'))