在 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 问题,因为这两个函数的问题是相同的。