def translate(request, unit_id): """ AJAX handler for translating. """ unit = get_object_or_404(Unit, pk=int(unit_id)) unit.check_acl(request) if not can_use_mt(request.user, unit.translation): raise PermissionDenied() service_name = request.GET.get("service", "INVALID") if service_name not in MACHINE_TRANSLATION_SERVICES: return HttpResponseBadRequest("Invalid service specified") translation_service = MACHINE_TRANSLATION_SERVICES[service_name] # Error response response = { "responseStatus": 500, "service": translation_service.name, "responseDetails": "", "translations": [], "lang": unit.translation.language.code, "dir": unit.translation.language.direction, } try: response["translations"] = translation_service.translate( unit.translation.language.code, unit.get_source_plurals()[0], unit, request.user ) response["responseStatus"] = 200 except Exception as exc: response["responseDetails"] = "%s: %s" % (exc.__class__.__name__, str(exc)) return HttpResponse(json.dumps(response), content_type="application/json")
def translate(request, unit_id): ''' AJAX handler for translating. ''' unit = get_object_or_404(Unit, pk=int(unit_id)) unit.check_acl(request) if not can_use_mt(request.user, unit.translation): raise PermissionDenied() service_name = request.GET.get('service', 'INVALID') if service_name not in MACHINE_TRANSLATION_SERVICES: return HttpResponseBadRequest('Invalid service specified') translation_service = MACHINE_TRANSLATION_SERVICES[service_name] # Error response response = { 'responseStatus': 500, 'service': translation_service.name, 'responseDetails': '', 'translations': [], 'lang': unit.translation.language.code, 'dir': unit.translation.language.direction, } try: response['translations'] = translation_service.translate( unit.translation.language.code, unit.get_source_plurals()[0], unit, request.user ) response['responseStatus'] = 200 except Exception as exc: response['responseDetails'] = '%s: %s' % ( exc.__class__.__name__, str(exc) ) return HttpResponse( json.dumps(response), content_type='application/json' )
def translate(request, unit_id): ''' AJAX handler for translating. ''' unit = get_object_or_404(Unit, pk=int(unit_id)) unit.check_acl(request) if not can_use_mt(request.user, unit.translation): raise PermissionDenied() service_name = request.GET.get('service', 'INVALID') if service_name not in MACHINE_TRANSLATION_SERVICES: return HttpResponseBadRequest('Invalid service specified') translation_service = MACHINE_TRANSLATION_SERVICES[service_name] # Error response response = { 'responseStatus': 500, 'service': translation_service.name, 'responseDetails': '', 'translations': [], 'lang': unit.translation.language.code, 'dir': unit.translation.language.direction, } try: response['translations'] = translation_service.translate( unit.translation.language.code, unit.get_source_plurals()[0], unit, request.user ) response['responseStatus'] = 200 except Exception as exc: response['responseDetails'] = '%s: %s' % ( exc.__class__.__name__, str(exc) ) return JsonResponse( data=response, )