Only fallback when there is no value for a given translation or the value is the field's default.
For CharField(null=True) the default is None, so empty string becomes a proper value (it's sometimes useful to treat it differently than None).
Test for the nullable CharField case.
Added a fallback_undefined option to allow customizing the value that triggers falling back.
Flake8, overindented continuation line.
Implemented a widget that shows a clear checkbox for any non-required form field.
Overriden admin widgets of CharFields and TextFields and patched forms.CharField for nullable fields, so undefined translations don't get filled with empty strings when an admin form is saved (thus becoming defined in the case of a nullable field).
Replaced format_html with mark_safe/conditional_escape for Django < 1.5 compatibility.
Made the widget template for nullable fields unicode, so the widget renders with non-ascii characters in input value.
Merge branch 'master' into feature/no-empty-string-fallback-for-nullable

Conflicts:
	modeltranslation/admin.py
	modeltranslation/fields.py
	modeltranslation/translator.py
Reworked the solution by replacing clearable widgets with a widget wrapper. This makes it possible to wrap only widgets of nullable fields, and thus not add the clear checkbox when it's not needed.
The implementation is loosely based on RelatedFieldWidgetWrapper from contrib.admin, but uses a bit more Python magic; tested only with TextInput and Textarea widgets and their admin counterparts, but with a bit of luck should work with other widgets too.
Added a small script unchecking the clear box after a wrapped input is edited.
Note: Starting global declaration, and the somewhat ugly jQuery call are for JSLint.
Also written a class comment for the widget wrapper and cleaned up some Flake8 errors.
Set self to something in the replace_orig_field doctest, so PyFlakes doesn't complain.
Python 3 compatiblity: no unicode literals for 3.2 and safeguard against loop during copy operation.
Merge pull request #163 from wrwrwr/feature/no-empty-string-fallback-for-nullable

Fallback on field default rather than the empty string