django - i18n - 创建翻译但稍后使用它?

时间:2015-05-04 10:53:43

标签: python django django-rosetta

我想使用尚未使用的字符串。所以模板和视图/模型中都没有{% 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 个答案:

答案 0 :(得分:3)

是。那可行。您还可以使用lazy translation,这样就不会对未使用的翻译产生性能影响:

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

或者,您可以使用ugettext_noop仅进行翻译,但不能直接使用字符串。这取决于你的计划和用例。