Checking form_valid_message and form_invalid_message type is incompatible with i18n framework when using ugettext_lazy.
The example below will raise an error because the type of form_valid_message is not either string or unicode. However the code is correct. Moreover, it is the most appropriate (and fastest) way to handle translation in that place.
from django.utils.translation import ugettext_lazy as _
class my_view(FormValidMessageMixin, TemplateView):
form_valid_message = _("The form is valid")