Eu tenho uma pergunta sobre o uso do ugettext e ugettext_lazy
para traduções. Aprendi que em modelos eu deveria usar ugettext_lazy
, enquanto em visualizações ugettext. Mas existem outros lugares onde eu devo usar ugettext_lazy
também? E as definições de formulário? Existem diferenças de desempenho entre eles?
Edit:
E mais uma coisa. Às vezes, em vez de ugettext_lazy
, ugettext_noop
é usado. Como a documentação diz, as ugettext_noop
strings são marcadas apenas para tradução e traduzidas no mais recente momento possível, antes de mostrá-las ao usuário, mas estou um pouco confuso aqui, não é semelhante ao que ugettext_lazy
faz? Ainda é difícil para mim decidir o que devo usar nos meus modelos e formulários.
fonte
msg = "An error has occurred"; logging.error(msg);return HttpResponse(_(msg))? why need
_noop?
se sem_noop
, o django não encontrou a string que precisa ser traduzida?_noop
?Um excelente uso de _noop é quando você deseja registrar uma mensagem em inglês para os desenvolvedores, mas apresenta a string traduzida para um visualizador. Um exemplo disso está em http://blog.bessas.me/posts/using-gettext-in-django/
fonte
A versão lenta retorna um objeto proxy em vez de uma string e, em algumas situações, não funcionaria conforme o esperado. Por exemplo:
falharia porque a última linha tentaria serializar o objeto lst em JSON e, em vez de uma string para "client", teria um objeto proxy. O objeto proxy não pode ser serializado no json.
fonte