nidhal baccouri commited on
Commit
d120ba4
·
1 Parent(s): 40861f1

added support for free deepl api

Browse files
deep_translator/constants.py CHANGED
@@ -8,6 +8,7 @@ BASE_URLS = {
8
  "MYMEMORY": "http://api.mymemory.translated.net/get",
9
  "QCRI": "https://mt.qcri.org/api/v1/{endpoint}?",
10
  "DEEPL": "https://api.deepl.com/{version}/",
 
11
  "MICROSOFT_TRANSLATE": "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0"
12
  }
13
 
 
8
  "MYMEMORY": "http://api.mymemory.translated.net/get",
9
  "QCRI": "https://mt.qcri.org/api/v1/{endpoint}?",
10
  "DEEPL": "https://api.deepl.com/{version}/",
11
+ "DEEPL_FREE": "https://api-free.deepl.com",
12
  "MICROSOFT_TRANSLATE": "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0"
13
  }
14
 
deep_translator/deepl.py CHANGED
@@ -12,7 +12,7 @@ class DeepL(object):
12
  """
13
  _languages = DEEPL_LANGUAGE_TO_CODE
14
 
15
- def __init__(self, api_key=None, source="en", target="en"):
16
  """
17
  @param api_key: your DeepL api key.
18
  Get one here: https://www.deepl.com/docs-api/accessing-the-api/
@@ -25,7 +25,10 @@ class DeepL(object):
25
  self.api_key = api_key
26
  self.source = self._map_language_to_code(source)
27
  self.target = self._map_language_to_code(target)
28
- self.__base_url = BASE_URLS.get("DEEPL").format(version=self.version)
 
 
 
29
 
30
  def translate(self, text):
31
  """
@@ -74,3 +77,9 @@ class DeepL(object):
74
  elif lang in self._languages.values():
75
  return lang
76
  raise LanguageNotSupportedException(lang)
 
 
 
 
 
 
 
12
  """
13
  _languages = DEEPL_LANGUAGE_TO_CODE
14
 
15
+ def __init__(self, api_key=None, source="en", target="en", use_free_api=True):
16
  """
17
  @param api_key: your DeepL api key.
18
  Get one here: https://www.deepl.com/docs-api/accessing-the-api/
 
25
  self.api_key = api_key
26
  self.source = self._map_language_to_code(source)
27
  self.target = self._map_language_to_code(target)
28
+ if use_free_api:
29
+ self.__base_url = BASE_URLS.get("DEEPL_FREE").format(version=self.version)
30
+ else:
31
+ self.__base_url = BASE_URLS.get("DEEPL").format(version=self.version)
32
 
33
  def translate(self, text):
34
  """
 
77
  elif lang in self._languages.values():
78
  return lang
79
  raise LanguageNotSupportedException(lang)
80
+
81
+
82
+ if __name__ == '__main__':
83
+ d = DeepL(target="de")
84
+ t = d.translate("I have no idea")
85
+ print("text: ", t)