Opened 5 weeks ago

Closed 4 weeks ago

Last modified 4 weeks ago

#28711 closed Bug (fixed)

unordered_list template filter does not work with lazy translations

Reported by: Jonas Haag Owned by: nobody
Component: Template system Version: master
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Jonas Haag)

I would expect that the following assertion holds true:

from django.utils.translation import ugettext_lazy as _
from django.template.defaultfilters import unordered_list

assert unordered_list(['', _('lazy')]) == unordered_list(['', 'lazy']))

I.e., unordered_list handles lazy translations as if they were strings.

This used to work in Django < 1.8, more specifically before the patch to this ticket: https://code.djangoproject.com/ticket/23260

This bug exists in all versions 1.8–master.

Pull request follows.

Change History (8)

comment:1 Changed 5 weeks ago by Jonas Haag

Description: modified (diff)

comment:3 Changed 5 weeks ago by Claude Paroz

Triage Stage: UnreviewedAccepted

comment:4 Changed 4 weeks ago by Tim Graham <timograham@…>

Resolution: fixed
Status: newclosed

In d997ab7:

Fixed #28711 -- Fixed unordered_list template filter with lazy translations.

comment:5 Changed 4 weeks ago by Tim Graham <timograham@…>

In a831e4b:

[2.0.x] Fixed #28711 -- Fixed unordered_list template filter with lazy translations.

Backport of d997ab776477dd9ecb158229b2622c7f1ed93dfb from master

comment:6 Changed 4 weeks ago by Tim Graham <timograham@…>

In 1399f8a:

Refs #28711 -- Replaced ugettext_lazy() with gettext_lazy() in a test.

As per c651331b34b7c3841c126959e6e52879bc6f0834.

comment:7 Changed 4 weeks ago by Jonas Haag

Will this be backported to Django 1.11? IIUC it still receives bug fixes until end of this year.

comment:8 Changed 4 weeks ago by Tim Graham

Fixes for regressions are generally backported to the latest stable release but as this is such a long standing regression, it doesn't seem critical. I'm wary of introducing a different regression this late in 1.11.x's bug fix period and the patch does not backport cleanly to 1.11 where Python 2 compatibility is required.

Note: See TracTickets for help on using tickets.
Back to Top