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

17
задан Iodnas 22 July 2012 в 17:53
поделиться