【发布时间】:2017-03-29 04:52:57
【问题描述】:
正如this section of Translation | Django documentation 中提到的,函数ugettext_noop 是一个用于国际化的实用函数:
ugettext_noop(消息)¶
标记要翻译的字符串,但现在不翻译。这个可以 用于将字符串存储在应该保留在 基础语言(因为它们可能在外部使用)并且将是 稍后翻译。
另外,this answer 提供了一个使用示例:
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)稍后翻译的目的是什么?
【问题讨论】:
标签: python django internationalization translation django-i18n