diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2011-01-24 08:16:09 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2011-01-24 08:16:09 +0000 |
| commit | 3a6491cf56ccd8b5cdbc081034b9ab4a9dbc596b (patch) | |
| tree | fa4806288d2f1f8bb7e990b1a9837bf7c88261b0 /django | |
| parent | d053624aa8534c984e07d4d8d2ee867de013e2ec (diff) | |
Fixed #14240 -- Enabled localization for the filesize filter. Thanks to David Danier for the report and patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15290 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
| -rw-r--r-- | django/template/defaultfilters.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/django/template/defaultfilters.py b/django/template/defaultfilters.py index 1e00effea0..8fabef642f 100644 --- a/django/template/defaultfilters.py +++ b/django/template/defaultfilters.py @@ -799,19 +799,21 @@ def filesizeformat(bytes): try: bytes = float(bytes) except (TypeError,ValueError,UnicodeDecodeError): - return u"0 bytes" + return ungettext("%(size)d byte", "%(size)d bytes", 0) % {'size': 0} + + filesize_number_format = lambda value: formats.number_format(round(value, 1), 1) if bytes < 1024: return ungettext("%(size)d byte", "%(size)d bytes", bytes) % {'size': bytes} if bytes < 1024 * 1024: - return ugettext("%.1f KB") % (bytes / 1024) + return ugettext("%s KB") % filesize_number_format(bytes / 1024) if bytes < 1024 * 1024 * 1024: - return ugettext("%.1f MB") % (bytes / (1024 * 1024)) + return ugettext("%s MB") % filesize_number_format(bytes / (1024 * 1024)) if bytes < 1024 * 1024 * 1024 * 1024: - return ugettext("%.1f GB") % (bytes / (1024 * 1024 * 1024)) + return ugettext("%s GB") % filesize_number_format(bytes / (1024 * 1024 * 1024)) if bytes < 1024 * 1024 * 1024 * 1024 * 1024: - return ugettext("%.1f TB") % (bytes / (1024 * 1024 * 1024 * 1024)) - return ugettext("%.1f PB") % (bytes / (1024 * 1024 * 1024 * 1024 * 1024)) + return ugettext("%s TB") % filesize_number_format(bytes / (1024 * 1024 * 1024 * 1024)) + return ugettext("%s PB") % filesize_number_format(bytes / (1024 * 1024 * 1024 * 1024 * 1024)) filesizeformat.is_safe = True def pluralize(value, arg=u's'): |
