This appears to have been improved. The following works in Django 1.3:
return json_response({
'success': False,
'errors': dict(form.errors.items()),
})
No need for __unicode__ or lazy translation any more. This also gives a full array of errors for each field.