in scripts/translate.py [0:0]
def translate_text(text_to_translate, languages):
if args.verbose:
print('DEBUG: translating text "{0}" on {1}...'.format(text_to_translate, translator_url))
# If a single languages specified, convert to array
if not type(languages) == list:
languages = [languages]
# Azure Translator parameters
translator_params = {
'api-version': '3.0',
'from': 'en',
'to': languages
}
translator_headers = {
'Ocp-Apim-Subscription-Key': translator_key,
'Ocp-Apim-Subscription-Region': translator_region,
'Content-type': 'application/json',
'Accept': 'application/json',
'X-ClientTraceId': str(uuid.uuid4())
}
translator_body = [{
'text': text_to_translate
}]
if args.verbose:
print ("DEBUG: sending body", str(translator_body))
print ("DEBUG: sending HTTP headers", str(translator_headers))
print ("DEBUG: sending parameters", str(translator_params))
try:
request = requests.post(translator_url, params=translator_params, headers=translator_headers, json=translator_body)
response = request.json()
if args.verbose:
print("DEBUG: translator response:")
print(json.dumps(response, sort_keys=True, ensure_ascii=False, indent=4, separators=(',', ': ')))
return str(response[0]['translations'][0]['text'])
except Exception as e:
print("ERROR: Error in translation:", str(e))