File size: 824 Bytes
287c28c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class GoogleTranslator:
  def __init__(self):
    from translators.server import google, _google
    self._translate = google

    google("Testing...")
    self.supported_languages = set(_google.language_map['en'])
    self.custom_lang_map = {
        "mni": "mni-Mtei",
        "raj": "hi",
    }

  def translate(self, text, from_lang, to_lang):
    if from_lang in self.custom_lang_map:
      from_lang = self.custom_lang_map[from_lang]
    elif from_lang not in self.supported_languages:
      return text
    
    if to_lang in self.custom_lang_map:
      to_lang = self.custom_lang_map[to_lang]
    elif to_lang not in self.supported_languages:
      return text
    
    return self._translate(text, from_language=from_lang, to_language=to_lang)
  
  def __call__(self, **kwargs):
    return self.translate(**kwargs)