Skip to content

Commit 47f4efa

Browse files
torcelliteSharoon Thomas
authored and
Sharoon Thomas
committed
Add detect and get_language capability
1 parent 40a78e8 commit 47f4efa

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

__init__.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,3 +214,18 @@ def translate_array(self, texts, to_lang, from_lang=None, **options):
214214
params['from'] = from_lang
215215

216216
return self.call("TranslateArray", params)
217+
218+
def get_languages(self):
219+
"""Fetches the languages supported by Microsoft Translator
220+
Returns list of languages
221+
"""
222+
return self.call('GetLanguagesForTranslate', '')
223+
224+
def detect_language(self, text):
225+
"""Detects language of given string
226+
Returns two letter language - Example : fr
227+
"""
228+
params = {
229+
'text': text.encode('utf8')
230+
}
231+
return self.call('Detect', params)

test.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
client_id = "translaterpythonapi"
1414
client_secret = "FLghnwW4LJmNgEG+EZkL8uE+wb7+6tkOS8eejHg3AaI="
1515

16+
default_languages = [u'en', u'fr', u'de']
17+
1618

1719
class TestTranslator(unittest.TestCase):
1820

@@ -25,6 +27,16 @@ def test_invalid_client_id(self):
2527
with self.assertRaises(TranslateApiException):
2628
client.translate("hello", "pt")
2729

30+
def test_get_languages(self):
31+
client = Translator(client_id, client_secret, debug=True)
32+
languages = client.get_languages()
33+
self.assertEqual(type(languages), list)
34+
self.assertTrue(set(default_languages).issubset(set(languages)))
35+
36+
def test_detect_language(self):
37+
client = Translator(client_id, client_secret, debug=True)
38+
self.assertEqual(client.detect_language('hello'), u'en')
39+
2840

2941
def test_all():
3042
loader = unittest.TestLoader()

0 commit comments

Comments
 (0)