python example - ugettext e ugettext_lazy in Django




documentation web (2)

ugettext è usato per caricare una traduzione di una stringa in questo momento . ugettext_lazy restituisce un oggetto che può essere trasformato in una stringa. È necessario se la chiamata ugettext_lazy viene valutata prima che sia stata impostata la locale corretta.

ugettext_lazy può essere utilizzato dove si utilizza un oggetto Unicode. Controlla l'output HTML, potrebbe assomigliare a questo:

<django.utils.functional...>

e il browser sta ignorando tutto come tag non riconosciuto.

In questo caso non hai bisogno di una traduzione lenta, perché stai usando immediatamente la stringa. Se vuoi davvero continuare con ugettext_lazy per qualche motivo, prova questo:

return HttpResponse(ugettext_lazy("Hello").encode('utf-8'))

Vedi i docs per maggiori informazioni.

Potresti spiegare quale principale differenza di ugettext e ugettext_lazy.

Quando ci provo

return HttpResponse(ugettext_lazy("Hello"))

non ho visto niente, ma

return HttpResponse(ugettext("Hello"))

sta lavorando.

Perché?

Grazie.


Questo argomento sembra essere ancora in divenire. A partire dal 10-31-2013, il "Manuale dell'utente di Python Packaging" suggerisce rapidamente "quale set di strumenti è attualmente raccomandato". Si collega anche a " Il futuro di Python Packaging "





python django