2👍
✅
I realized that makemessages
does not create po
files if translations are not referenced in any of the templates
I was expecting makemessages
to create an empty po
file that can I continue editing, but it does not work that way. At least one of the templates must have translations for the file to be created at the first time.
{% load i18n %}
....
{% trans 'Welcome' %}
python manage.py makemessages -l en
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-08 18:58+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: .\templates\index.html:4
msgid "Welcome"
msgstr ""
I hope this will be useful to anyone encountering the same issue
0👍
You should probably add your app as ‘myapp.apps.MyappConfig’ instead of just ‘myapp’ in your settings.py INSTALLED_APPS and also include your app in LOCALE_PATHS
LOCALE_PATHS = (
os.path.join(BASE_DIR, "locale"),
os.path.join(BASE_DIR, "yourapp/locale"),
)
Source:stackexchange.com