KeyError when generating translations

Step-by-step guide

Localizable strings often include placeholder variable names that must be included precisely in each translation. If by mistake a placeholder name is misspelled, then you will see an error something like this:

Traceback (most recent call last):
 File "/edx/app/edxapp/edx-platform/common/djangoapps/util/", line 87, in inner
   return func(request, *args, **kwargs)
 File "/edx/app/edxapp/edx-platform/lms/djangoapps/certificates/views/", line 574, in render_html_view
   _update_certificate_context(context, user_certificate, platform_name)
 File "/edx/app/edxapp/edx-platform/lms/djangoapps/certificates/views/", line 111, in _update_certificate_context
KeyError: u'username'

In this example, the code was expecting to provide a variable called ``user_name`` but the translation accidentally switched it to ``username``. Unfortunately the error message does not make clear what the problem is, but the solution is to correct the translation that has the incorrect placeholder.

See the following for more details: