示例#1
0
    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'))
示例#2
0
 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
示例#4
0
 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
示例#5
0
    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)
示例#6
0
    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')
示例#7
0
 def setUp(self):
     self.translator = WordnikTranslator(source_language='es',
                                         target_language='en',
                                         key=get_key_from_config('WORDNIK_API_KEY'))