django - i18n - создать перевод, но использовать его позже?

Я хочу использовать строку, которая еще не используется. так что нет никакого {% trans 'word_I_want_to_use' %} ни в шаблоне, ни во взглядах / моделях пока.

я могу просто создать его в views.py?

from django.utils.translation import ugettext as _
_("word_I_want_to_use")

а также makemessages а также compilemessages,

и позже я поставлю {% trans 'word_I_want_to_use' %} в шаблоне.

это будет работать?

1 ответ

Решение

Да. Это будет работать. Вы также можете использовать отложенный перевод, чтобы не влиять на производительность неиспользованного перевода:

from django.utils.translation import ugettext_lazy as _
_("word_I_want_to_use")

Кроме того, вы можете использовать ugettext_noop только для перевода, но никогда напрямую не используя строку. Это зависит от ваших планов и варианта использования.

Другие вопросы по тегам