From 0775ab295566ccb306b8ae6340d2690c3d0aa6af Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Thu, 18 Oct 2012 08:57:21 +0200 Subject: [PATCH] Fixed #19132 -- Added example for creating custom lazy function Thanks flagzeta@yahoo.it for the report and Luke Plant for his expert assistance. --- docs/topics/i18n/translation.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/topics/i18n/translation.txt b/docs/topics/i18n/translation.txt index aaf728b1af..65c6fe2445 100644 --- a/docs/topics/i18n/translation.txt +++ b/docs/topics/i18n/translation.txt @@ -427,6 +427,24 @@ In this case, the lazy translations in ``result`` will only be converted to strings when ``result`` itself is used in a string (usually at template rendering time). +Other uses of lazy in delayed translations +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +For any other case where you would like to delay the translation, but have to +pass the translatable string as argument to another function, you can wrap +this function inside a lazy call yourself. For example:: + + from django.utils import six # Python 3 compatibility + from django.utils.functional import lazy + from django.utils.safestring import mark_safe + from django.utils.translation import ugettext_lazy as _ + + mark_safe_lazy = lazy(mark_safe, six.text_type) + +And then later:: + + lazy_string = mark_safe_lazy(_("

My string!

")) + Localized names of languages ----------------------------