Fixed #17457 -- Marked strings used in hash descriptions for translation.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17270 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Aymeric Augustin 2011-12-24 19:38:37 +00:00
parent fe876f0119
commit d72c0bdc46
2 changed files with 19 additions and 18 deletions

View File

@ -4,7 +4,7 @@ from django.template import loader
from django.utils.encoding import smart_str from django.utils.encoding import smart_str
from django.utils.http import int_to_base36 from django.utils.http import int_to_base36
from django.utils.safestring import mark_safe from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext, ugettext_lazy as _
from django.contrib.auth import authenticate from django.contrib.auth import authenticate
from django.contrib.auth.models import User from django.contrib.auth.models import User
@ -36,7 +36,7 @@ class ReadOnlyPasswordHashWidget(forms.Widget):
summary = "" summary = ""
for key, value in hasher.safe_summary(encoded).iteritems(): for key, value in hasher.safe_summary(encoded).iteritems():
summary += "<strong>%(key)s</strong>: %(value)s " % {"key": key, "value": value} summary += "<strong>%(key)s</strong>: %(value)s " % {"key": ugettext(key), "value": value}
return mark_safe("<div%(attrs)s>%(summary)s</div>" % {"attrs": flatatt(final_attrs), "summary": summary}) return mark_safe("<div%(attrs)s>%(summary)s</div>" % {"attrs": flatatt(final_attrs), "summary": summary})

View File

@ -7,6 +7,7 @@ from django.utils.encoding import smart_str
from django.core.exceptions import ImproperlyConfigured from django.core.exceptions import ImproperlyConfigured
from django.utils.crypto import ( from django.utils.crypto import (
pbkdf2, constant_time_compare, get_random_string) pbkdf2, constant_time_compare, get_random_string)
from django.utils.translation import ugettext_noop as _
UNUSABLE_PASSWORD = '!' # This will never be a valid encoded hash UNUSABLE_PASSWORD = '!' # This will never be a valid encoded hash
@ -212,10 +213,10 @@ class PBKDF2PasswordHasher(BasePasswordHasher):
algorithm, iterations, salt, hash = encoded.split('$', 3) algorithm, iterations, salt, hash = encoded.split('$', 3)
assert algorithm == self.algorithm assert algorithm == self.algorithm
return SortedDict([ return SortedDict([
('algorithm', algorithm), (_('algorithm'), algorithm),
('iterations', iterations), (_('iterations'), iterations),
('salt', mask_hash(salt)), (_('salt'), mask_hash(salt)),
('hash', mask_hash(hash)), (_('hash'), mask_hash(hash)),
]) ])
@ -263,10 +264,10 @@ class BCryptPasswordHasher(BasePasswordHasher):
assert algorithm == self.algorithm assert algorithm == self.algorithm
salt, checksum = data[:22], data[22:] salt, checksum = data[:22], data[22:]
return SortedDict([ return SortedDict([
('algorithm', algorithm), (_('algorithm'), algorithm),
('work factor', work_factor), (_('work factor'), work_factor),
('salt', mask_hash(salt)), (_('salt'), mask_hash(salt)),
('checksum', mask_hash(checksum)), (_('checksum'), mask_hash(checksum)),
]) ])
@ -292,9 +293,9 @@ class SHA1PasswordHasher(BasePasswordHasher):
algorithm, salt, hash = encoded.split('$', 2) algorithm, salt, hash = encoded.split('$', 2)
assert algorithm == self.algorithm assert algorithm == self.algorithm
return SortedDict([ return SortedDict([
('algorithm', algorithm), (_('algorithm'), algorithm),
('salt', mask_hash(salt, show=2)), (_('salt'), mask_hash(salt, show=2)),
('hash', mask_hash(hash)), (_('hash'), mask_hash(hash)),
]) ])
@ -321,8 +322,8 @@ class MD5PasswordHasher(BasePasswordHasher):
def safe_summary(self, encoded): def safe_summary(self, encoded):
return SortedDict([ return SortedDict([
('algorithm', self.algorithm), (_('algorithm'), self.algorithm),
('hash', mask_hash(encoded, show=3)), (_('hash'), mask_hash(encoded, show=3)),
]) ])
@ -355,8 +356,8 @@ class CryptPasswordHasher(BasePasswordHasher):
algorithm, salt, data = encoded.split('$', 2) algorithm, salt, data = encoded.split('$', 2)
assert algorithm == self.algorithm assert algorithm == self.algorithm
return SortedDict([ return SortedDict([
('algorithm', algorithm), (_('algorithm'), algorithm),
('salt', salt), (_('salt'), salt),
('hash', mask_hash(data, show=3)), (_('hash'), mask_hash(data, show=3)),
]) ])