Приводит ли новый рекомендуемый способ форматирования строк, доступный в Python 2.7, с использованием format
к непереведенной строке в Django?
Строки находятся в файле .po
, переведены, но не будут переведены на сайте. Например:
from django.utils.translation import ugettext as _
website_name = "Stackoverflow"
title = _(u"{sitename} is a good website".format(sitename=website_name))
Файл .po
после перевода строки выглядит так:
#: path/to/file.py:4
msgid "{sitename} is a good website"
msgstr "{sitename} ist eine gute Website"
После запуска django-admin.py compilemessages
и перезапуска веб-сервера на обработанной HTML-странице он по-прежнему отображается на английском языке, в то время как все остальные строки переводятся. Кроме того, хотя все строки, использующие format
, не переводятся, строки, отформатированные с помощью оператора %
, переводятся должным образом. Это также не проблема gettext/ugettext, так как проблема одинакова с обеими функциями.