dbgettext_export Management Command¶
To obtain a fresh export of your translatable strings from registered models, simply run:
python manage.py dbgettext_export
from your project’s root directory.
This will create a hierarchy of static files (stored by default in
<project_root>/locale/dbgettext, configurable using the
DBGETTEXT_ROOT settings) containing the translatable strings. E.g.:
locale/dbgettext/myapp/mymodel_1/title.py locale/dbgettext/myapp/mymodel_1/body.py locale/dbgettext/myapp/mymodel_2/title.py locale/dbgettext/myapp/mymodel_2/body.py
You can then simply run:
python manage.py makemessages (...)
as per usual, and these strings will be catalogued for you together with the rest of the translatable strings from your code and templates.
<DBGETTEXT_PATH>/<DBGETTEXT_ROOT> directory is purged each time
dbgettext_export is run to ensure that old data (e.g. from deleted objects) does not persist in the catalogue.
The paths and names of the static files are intentionally verbose to provide the translator with the context of the string they are translating. You can customise the path using the
parent attributes of the
Options class – see Registering Models.