W Django, z przyjemnością używam ugettext_lazy
, aby przesłać tłumaczenie ciągu znaków tylko wtedy, gdy potrzebna jest jego reprezentacja.Django: zachowaj leniwy tłumaczenie podczas komponowania przetłumaczonych ciągów znaków
Problem polega na tym, że gdy łączę ciąg leniwy z normalnym ciągiem lub gdy używam jego metod (na przykład capitalize()), ciąg jest oceniany i tracę leniwą translację.
E.g.
label = ugettext_lazy('my label') #This is lazy
label_concat = label + ' some other string' #'label_concat' contains transalted 'label'
label_cap = label.capitalize() #'label_cap' contains transalted 'label'
#Set language
...
print label #Translated
print label_cap #Not translated
Wiem, że to normalne zachowanie Django, ale zastanawiam się, czy ktoś rozwiązał ten problem.
Dla django 1.11 i dalszych. https://stackoverflow.com/questions/29252312/how-can-i-join-lazy-translation-in-django/47263039#47263039 – Jay