По умолчанию T()
является ленивым - когда вы его вызываете, он фактически не выполняет перевод, а вместо этого возвращает объект lazyT, который не транслируется, пока не сериализован в представлении.Если вы установите T.lazy=False
, это вызовет немедленный перевод, поэтому вызов T('some string')
вернет реальную переведенную строку вместо объекта lazyT.
Примечание, начиная с предстоящего выпуска, вместо необходимости переключаться T.lazy
до False
и True
, вы сможете сделать T('some string', lazy=False)
, чтобы вызвать немедленный перевод для одного вызова.Другие способы принудительного немедленного перевода: str(T('some string'))
или T('some string').xml()
- str()
сериализует объект lazyT (а .xml()
просто вызывает str()
).