Does the new and recommended way to format strings available in Python 2.7 using format
result in a non translated string in Django?
The strings are in the .po
file, translated, but it won't be translated on the website. For example:
from django.utils.translation import ugettext as _
website_name = "Stackoverflow"
title = _(u"{sitename} is a good website".format(sitename=website_name))
The .po
file after translating the string looks like this:
#: path/to/file.py:4
msgid "{sitename} is a good website"
msgstr "{sitename} ist eine gute Website"
After running django-admin.py compilemessages
and restarting the webserver, on the processed HTML page it is still in english, while all the other strings are being translated. Furthermore, while all strings using format
are not translated, strings formatted using the %
operator are translated as expected. It is also not a gettext/ugettext issue, as the problem is the same with both functions.