From fbf00078e1bdd702f95c7b56277fe602b3bda9e1 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Fri, 12 Mar 2010 15:32:06 +0000 Subject: [PATCH] Fixed #12940 -- Modified some admin actions in contrib.comments to use ungettext in order to support Russian (and similar) pluralization rules. Thanks to void for the report and patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@12770 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/contrib/comments/admin.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/django/contrib/comments/admin.py b/django/contrib/comments/admin.py index ede833f530..28678e045a 100644 --- a/django/contrib/comments/admin.py +++ b/django/contrib/comments/admin.py @@ -36,18 +36,21 @@ class CommentsAdmin(admin.ModelAdmin): return actions def flag_comments(self, request, queryset): - self._bulk_flag(request, queryset, perform_flag, _("flagged")) + self._bulk_flag(request, queryset, perform_flag, + lambda n: ungettext('flagged', 'flagged', n)) flag_comments.short_description = _("Flag selected comments") def approve_comments(self, request, queryset): - self._bulk_flag(request, queryset, perform_approve, _('approved')) + self._bulk_flag(request, queryset, perform_approve, + lambda n: ungettext('approved', 'approved', n)) approve_comments.short_description = _("Approve selected comments") def remove_comments(self, request, queryset): - self._bulk_flag(request, queryset, perform_delete, _('removed')) + self._bulk_flag(request, queryset, perform_delete, + lambda n: ungettext('removed', 'removed', n)) remove_comments.short_description = _("Remove selected comments") - def _bulk_flag(self, request, queryset, action, description): + def _bulk_flag(self, request, queryset, action, done_message): """ Flag, approve, or remove some comments from an admin action. Actually calls the `action` argument to perform the heavy lifting. @@ -56,11 +59,11 @@ class CommentsAdmin(admin.ModelAdmin): for comment in queryset: action(request, comment) n_comments += 1 - + msg = ungettext(u'1 comment was successfully %(action)s.', u'%(count)s comments were successfully %(action)s.', n_comments) - self.message_user(request, msg % {'count': n_comments, 'action': description}) + self.message_user(request, msg % {'count': n_comments, 'action': done_message(n_comments)}) # Only register the default admin if the model is the built-in comment model # (this won't be true if there's a custom comment app).