Пример #1
0
class Bing(Translator):
    """
    Bing translator using mstranslator_module

    """
    def __init__(self, client_id, client_secret, more_translations=False, max_translations=10, verbose=False):
        """
        :param client_id: Client ID
        :type client_id: string
        :param client_secret: Password
        :type client_secret: string
        :param more_translations: If True, translations done by the users are allowed,
                                  otherwise, only the Bing translation is obtained
        :type more_translations: bool
        :param max_translations: Maximum number of requested translations to the server
        :type max_translations: int
        :param verbose: Shows information
        :type verbose: bool

        """
        super(Bing, self).__init__(verbose)
        self.translator = MSTranslator(client_id, client_secret)
        self.more_translations = more_translations
        self.max_translations = max_translations

    def get_language_names(self):
        return self.translator.get_lang_names(self.translator.get_langs(), 'en')

    def get_language_codes(self):
        return self.translator.get_langs()

    def get_translation(self, term, source_language, target_language):
        try:
            if not self.more_translations:
                translation = self.translator.translate(term, source_language, target_language)
                return [translation], OK
            else:
                content = self.translator.get_translations(term, source_language, target_language)
                print content
                return list(set([elem["TranslatedText"] for elem in content["Translations"]])), OK
        except:
            return [], TIMEOUT

    def get_languages(self):
        return set(["en", "es", "it", "fr", "ru", "de", "pt", "nl", "ar", "zh"])

    def get_name(self):
        return "Bing"

    def translate(self, translatorTask):
        return super(Bing, self).translate(translatorTask)
Пример #2
0
    def __init__(self, client_id, client_secret, more_translations=False, max_translations=10, verbose=False):
        """
        :param client_id: Client ID
        :type client_id: string
        :param client_secret: Password
        :type client_secret: string
        :param more_translations: If True, translations done by the users are allowed,
                                  otherwise, only the Bing translation is obtained
        :type more_translations: bool
        :param max_translations: Maximum number of requested translations to the server
        :type max_translations: int
        :param verbose: Shows information
        :type verbose: bool

        """
        super(Bing, self).__init__(verbose)
        self.translator = MSTranslator(client_id, client_secret)
        self.more_translations = more_translations
        self.max_translations = max_translations