<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def edit(request, translation):
 	""" 	Edit a translation. 	@param request: Django HttpRequest object. 	@param translation: Translation id 	@return Django HttpResponse object with the view or a redirection. 	"""

	translation = get_object_or_404(FieldTranslation, id=translation)
	if request.method == 'POST':
		if "cancel" in request.POST:
			return HttpResponseRedirect(reverse("modeltranslation:view_all_url",args=(translation.lang,"all")))
		elif "save" in request.POST:
			form = FieldTranslationForm(request.POST, instance=translation)
			valid_form = form.is_valid()
			if valid_form:
				translation = form.save(commit=False)
				translation.context = u"Admin. Traducciones"
				translation.save()
				return HttpResponseRedirect(reverse("modeltranslation:view_all_url",args=(translation.lang,"all")))
		else:
			form = FieldTranslationForm(instance=translation)
	else:
		form = FieldTranslationForm(instance=translation)

	LANGUAGES = dict(lang for lang in settings.LANGUAGES)
	language = LANGUAGES[translation.lang]
	
	return render_to_response('modeltranslation/admin/edit_translation.html',{"translation":translation, "form":form, "lang":translation.lang, "language":language}, RequestContext(request))