Есть ли хорошее соглашение о сокращении для ugettext_noop в python/django?
При поддержке i18n для приложений django иногда приходится использовать ugettext
а также ugettext_noop
в том же файле. Это общее соглашение для импорта ugettext
как _
что является хорошим соглашением в коде. Мне интересно, существует ли такая конвенция для ugettext_noop
? Может быть __
?
Я предполагаю что-то вроде этого:
from django.utils.translation import ugettext as _, ugettext_noop as ?
MY_CONSTANT = ?('translate me later')
def my_function():
return _('translate me now')
Заполните ?
,
1 ответ
Решение
Исходя из ответа answer, функции ugettext и ugettext_lazy, не распознаваемые make-сообщениями в Python Django, дают краткий ответ:
- вы можете использовать псевдоним ugettext_noop для чего-то другого, но gettext не распознает, если псевдоним не является псевдонимом ключевого слова gettext.
Резюме: только один короткий псевдоним (_
), для других функций gettext вы не должны использовать псевдонимы.