In order to make a Django project translatable, you have to add a minimal number of hooks to your Python code and templates. These hooks are called translation strings. They tell Django: This text should be translated into the end user's language, if a translation for this text is available in that language. It's your responsibility to mark translatable strings; the system can only translate strings it knows about.
Django then provides utilities to extract the translation strings into a message file. This file is a convenient way for translators to provide the equivalent of the translation strings in the target language. Once the translators have filled in the message file, it must be compiled. This process relies on the GNU gettext
toolset.
Once this is done, Django takes care of translating web apps on the fly in each available language, according to users' language preferences.
Essentially, Django does two things:
It lets developers and template authors specify which parts of...