Создает ли новый и рекомендуемый способ форматирования строк, доступных в 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, так как проблема одинакова для обеих функций.