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 makeallmessages
Django Makeallmessages requires Django 2.2
or later.
You can get Django Makeallmessages by using pip
$ pip install django-makeallmessages
To 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 install
To 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_DEFAULT
in 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_DEFAULT
setting.--quiet, -q
: Suppresses any output when running the command. Fatal errors will still be printed.