Saminul
initial setup
1d42175
raw
history blame
2.08 kB
"""
LibreTranslate API
"""
from requests.models import Response
from .parent import BaseTranslator
import requests
from bs4 import BeautifulSoup
from .constants import LIBRE_LANGUAGES_TO_CODES, LIBRE_CODES_TO_LANGUAGES
class LibreTranslator(BaseTranslator):
"""
class that wraps functions, which use libre translator under the hood to translate text(s)
"""
def __init__(self, base_url, api_key, source="auto", target="en", proxies=None, **kwargs):
"""
@param source: source language to translate from
@param target: target language to translate to
"""
_languages = LIBRE_LANGUAGES_TO_CODES
supported_languages = list(_languages.keys())
return None
@staticmethod
def get_supported_languages(as_dict=False, **kwargs):
"""
return the supported languages by the libre translator
@param as_dict: if True, the languages will be returned as a dictionary mapping languages to their abbreviations
@return: list or dict
"""
return None
def _map_language_to_code(self, *languages):
"""
map language to its corresponding code (abbreviation) if the language was passed by its full name by the user
@param languages: list of languages
@return: mapped value of the language or raise an exception if the language is not supported
"""
return None
def is_language_supported(self, language, **kwargs):
"""
check if the language is supported by the translator
@param language: a string (if 1 lang) or a list (if multiple langs)
@return: bool or raise an Exception
"""
def translate(self, text, **kwargs):
"""
function that uses microsoft translate to translate a text
@param text: desired text to translate
@return: str: translated text
"""
return None
response = requests.post("https://libretranslate.de/detect",data={'q': 'bonjour'})
soup = BeautifulSoup(response.text, 'html.parser')
print(soup)