Я ищу разумный способ добраться до непереведенного содержимого строки ugettext_lazy
.Я нашел два способа, но я не доволен ни одним:
the_string = ugettext_lazy('the content')
the_content = the_string._proxy____args[0] # ewww!
или
from django.utils.translation import activate, get_language
from django.utils.encoding import force_unicode
the_string = ugettext_lazy('the content')
current_lang = get_language()
activate('en')
the_content = force_unicode(the_string)
activate(current_lang)
Первый фрагмент кода обращается к атрибуту, который был явно помечен как закрытый,поэтому невозможно сказать, как долго этот код будет работать.Второе решение является слишком многословным и медленным.
Конечно, в реальном коде определение строки ugettext_lazy
и код, который обращается к ней, представляют собой мили.