Django удаляет перевод в po файл, строка в mark_safe - PullRequest
1 голос
/ 24 октября 2011

Я пытаюсь перевести строку, которая есть в функции mark_safe ():

from django.utils.translation import ugettext as ug
...   
mark_safe('<div style="text-align:center"><a href="/calendar/" target="_blank" onclick="return open_popup(this); return false">%s</a></div>' % ug(u'show full calendar'))

К сожалению, когда я запускаю команду django-admin.py makemessages -l pl, эта строка не включается в файл .po. Я должен отредактировать его вручную, написать эту строку, и тогда она работает нормально (строка переведена). Это происходит каждый раз, когда я запускаю makemessages.

Ответы [ 2 ]

1 голос
/ 26 сентября 2012

Я думаю, что проблема была с mark_safe и ug:

from django.utils.translation import ugettext as ug
...   
mark_safe('<div style="text-align:center"><a href="/calendar/" target="_blank" onclick="return open_popup(this); return false">%s</a></div>' % ug(u'show full calendar'))

должно быть:

from django.utils.translation import ugettext as ug
...   
mark_safe('<div style="text-align:center"><a href="/calendar/" target="_blank" onclick="return open_popup(this); return false">%s</a></div>') % ug(u'show full calendar')

Обратите внимание на скобки.

1 голос
/ 24 октября 2011

Импортируйте его и используйте вместо него подчеркивание:

from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ugettext_lazy as ug
_('this is seen')
ug('this is not')
...