Как указано в этом разделе перевода | документация по Django, функция ugettext_noop — вспомогательная функция для интернационализации:
ugettext_noop(сообщение) ¶сильный>
Помечает строки для перевода, но не переводит их сейчас. Это можно использовать для хранения строк в глобальных переменных, которые должны оставаться в базовом языке (поскольку они могут использоваться извне) и будут переведены позже.
Кроме того, этот ответ содержит пример его использования:
import logging
from django.http import HttpResponse
from django.utils.translation import ugettext as _, ugettext_noop as _noop
def view(request):
msg = _noop("An error has occurred")
logging.error(msg)
return HttpResponse(_(msg))
Несмотря на эти документы, я до сих пор не понимаю, почему я должен помечать строку как извлекаемую для перевода. Мне кажется, что ugettext_noop
это не что иное, как напоминание, и даже в этом случае, какой смысл напоминать программистам, что некоторые строки (в данном случае msg
) должны быть переведены позже?