I had a different templates folder for each app. And then I called makemessages
and compilemessages
inside, and it worked.
Now I decided to move my HTML files into global templates folder (by global I mean inside the project directory). How to manage translations in that case?
I tried this: switch to the templates directory, then create locale
dir, and then call makemessages
and compilemessages
. But it seems not to work.
Okay, through some reading and experiment I arrived at this question:
Can Django have a global locale
directory just as global templates
directory?
1 Like
Oh, no, sorry. I figured it out. Hope this will be helping for others.
Yes, Django can have a global locale
directory.
The workflow should be like this:
- Create
locale
directory in the project root.
- In the
settings.py
of your project make a variable LOCALE_PATHS
with value [BASE_DIR / "locale"]
(for details refer to the documentation Translation | Django documentation | Django). Be very careful with the name of this variable, I had a problem because I wrote it as LOCALE_PATH
(without s
).
- Then you can call
makemessages
and compilemessages
from the project folder.
1 Like