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