Django Makeallmessages allows you to set default arguments to your makemessage commands and covers all
the regular file extensions, including your JavaScript files, with one command!
❌ Don't do this
$ python manage.py makemessages --locale=en
--locale=fr
--ignore=tests/*
$ python manage.py makemessages --locale=en
--locale=fr
--ignore=node_modules/*
--ignore=tests/*
--domain=djangojs✅ Do this!
$ python manage.py makeallmessagesDjango Makeallmessages requires Django 2.2 or later.
You can get Django Makeallmessages by using pip
$ pip install django-makeallmessagesTo install it from source, clone the repository and run setup.py
$ git clone git://github.com/vonNiklasson/django-makeallmessages.git
$ cd django-makeallmessages
$ python setup.py installTo add django_makeallmessages to your project you must first add it to INSTALLED_APPS
in the projects settings.py file
INSTALLED_APPS = (
...
'django_makeallmessages',
...
)You can configure default values to be used when running makeallmessages. This is done by setting
the MAM_DEFAULTin your projects settings.py file.
Example:
MAM_DEFAULT = {
"locale": ["en", "fr"],
"extension": ["php", "twig"],
"ignore": ["node_modules/*", "tests/*"],
"no_wrap": True
}The default settings are all derived from the arguments used in the standard makemessages command.
locale(list): A list locales you want to make messages from.extension(list): A list of extensions you want to include, beyond the standard extensions (html,txt,py,js)ignore(list): A list of files or directories to ignore matching a glob-style pattern.no_wrap(bool): A boolean that decides whether to not break long message lines into several lines.
Two additional CLI arguments has been added to the makeallmessages apart from the default ones
derived from makemessages.
The makeallmessages command is derived from the default makemessages, which means that you can still use any arguments
that are valid for makemessages as well.
--no-mam-default: Will ignore any default values set in theMAM_DEFAULTsetting.--quiet, -q: Suppresses any output when running the command. Fatal errors will still be printed.