mirror of
https://github.com/django/django.git
synced 2025-07-05 10:19:20 +00:00
new_admin: even more translation hooks. This time only 'de' updated (to reduce file-number on update).
git-svn-id: http://code.djangoproject.com/svn/django/branches/new-admin@1248 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
09974c0a0c
commit
650f92c03b
Binary file not shown.
@ -7,13 +7,203 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Django 1.0\n"
|
"Project-Id-Version: Django 1.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2005-11-15 17:39+0100\n"
|
"POT-Creation-Date: 2005-11-15 18:00+0100\n"
|
||||||
"PO-Revision-Date: 2005-10-08 00:03+0200\n"
|
"PO-Revision-Date: 2005-10-08 00:03+0200\n"
|
||||||
"Last-Translator: Georg Bauer <gb@bofh.ms>\n"
|
"Last-Translator: Georg Bauer <gb@bofh.ms>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=iso-8859-1\n"
|
"Content-Type: text/plain; charset=iso-8859-1\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:8
|
||||||
|
#: contrib/comments/models/comments.py:161
|
||||||
|
msgid "object ID"
|
||||||
|
msgstr "Objekt ID"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:9
|
||||||
|
msgid "headline"
|
||||||
|
msgstr "Überschrift"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:10
|
||||||
|
#: contrib/comments/models/comments.py:162
|
||||||
|
msgid "comment"
|
||||||
|
msgstr "Kommentar"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:11
|
||||||
|
msgid "rating #1"
|
||||||
|
msgstr "Bewertung #1"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:12
|
||||||
|
msgid "rating #2"
|
||||||
|
msgstr "Bewertung #2"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:13
|
||||||
|
msgid "rating #3"
|
||||||
|
msgstr "Bewertung #3"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:14
|
||||||
|
msgid "rating #4"
|
||||||
|
msgstr "Bewertung #4"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:15
|
||||||
|
msgid "rating #5"
|
||||||
|
msgstr "Bewertung #5"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:16
|
||||||
|
msgid "rating #6"
|
||||||
|
msgstr "Bewertung #6"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:17
|
||||||
|
msgid "rating #7"
|
||||||
|
msgstr "Bewertung #7"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:18
|
||||||
|
msgid "rating #8"
|
||||||
|
msgstr "Bewertung #8"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:23
|
||||||
|
msgid "is valid rating"
|
||||||
|
msgstr "ist eine Bewertung"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:24
|
||||||
|
#: contrib/comments/models/comments.py:164
|
||||||
|
msgid "date/time submitted"
|
||||||
|
msgstr "Datum/Zeit Erstellung"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:25
|
||||||
|
#: contrib/comments/models/comments.py:165
|
||||||
|
msgid "is public"
|
||||||
|
msgstr "ist öffentlich"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:26 contrib/admin/views/doc.py:274
|
||||||
|
msgid "IP address"
|
||||||
|
msgstr "IP-Adresse"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:27
|
||||||
|
msgid "is removed"
|
||||||
|
msgstr "ist gelöscht"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:27
|
||||||
|
msgid ""
|
||||||
|
"Check this box if the comment is inappropriate. A \"This comment has been "
|
||||||
|
"removed\" message will be displayed instead."
|
||||||
|
msgstr ""
|
||||||
|
"Hier einen Haken setzen, wenn der Kommentar unpassend ist. Es wird dann eine "
|
||||||
|
"\"Dieser Kommentar wurde entfernt\" Meldung statt dessen angezeigt."
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:31
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr "Kommentar"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:32
|
||||||
|
msgid "Comments"
|
||||||
|
msgstr "Kommentare"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:85
|
||||||
|
#: contrib/comments/models/comments.py:204
|
||||||
|
msgid "Content object"
|
||||||
|
msgstr "Inhaltsobjekt"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:113
|
||||||
|
#, python-format
|
||||||
|
msgid ""
|
||||||
|
"Posted by %(user)s at %(date)s\n"
|
||||||
|
"\n"
|
||||||
|
"%(comment)s\n"
|
||||||
|
"\n"
|
||||||
|
"http://%(domain)s%(url)s"
|
||||||
|
msgstr ""
|
||||||
|
"Geschrieben von %(user)s am %(date)s\n"
|
||||||
|
"\n"
|
||||||
|
"%(comment)s\n"
|
||||||
|
"\n"
|
||||||
|
"http://%(domain)s%(url)s"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:163
|
||||||
|
msgid "person's name"
|
||||||
|
msgstr "Autorname"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:166
|
||||||
|
msgid "ip address"
|
||||||
|
msgstr "IP-Adresse"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:168
|
||||||
|
msgid "approved by staff"
|
||||||
|
msgstr "Bestätigt vom Betreiber"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:172
|
||||||
|
msgid "Free comment"
|
||||||
|
msgstr "Freier Kommentar"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:173
|
||||||
|
msgid "Free comments"
|
||||||
|
msgstr "Freie Kommentare"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:209
|
||||||
|
msgid "score"
|
||||||
|
msgstr "Bewertung"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:210
|
||||||
|
msgid "score date"
|
||||||
|
msgstr "Bewertungsdatum"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:213
|
||||||
|
msgid "Karma score"
|
||||||
|
msgstr "Karma Bewertung"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:214
|
||||||
|
msgid "Karma scores"
|
||||||
|
msgstr "Karma Bewertungen"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:223
|
||||||
|
#, python-format
|
||||||
|
msgid "%(score)d rating by %(user)s"
|
||||||
|
msgstr "%(score)d Bewertung von %(user)s"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:248
|
||||||
|
msgid "flag date"
|
||||||
|
msgstr "Kennzeichnungsdatum"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:251
|
||||||
|
msgid "User flag"
|
||||||
|
msgstr "Benutzerkennzeichnung"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:252
|
||||||
|
msgid "User flags"
|
||||||
|
msgstr "Benutzerkennzeichnungen"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:256
|
||||||
|
#, python-format
|
||||||
|
msgid "Flag by %r"
|
||||||
|
msgstr "Gekennzeichnet von %r"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:271
|
||||||
|
#, python-format
|
||||||
|
msgid ""
|
||||||
|
"This comment was flagged by %(user)s:\n"
|
||||||
|
"\n"
|
||||||
|
"%(text)s"
|
||||||
|
msgstr ""
|
||||||
|
"Dieser Kommentar ist von %(user)s markiert:\n"
|
||||||
|
"\n"
|
||||||
|
"%(text)s"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:278
|
||||||
|
msgid "deletion date"
|
||||||
|
msgstr "Löschdatum"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:281
|
||||||
|
msgid "Moderator deletion"
|
||||||
|
msgstr "Löschung vom Moderator"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:282
|
||||||
|
msgid "Moderator deletions"
|
||||||
|
msgstr "Löschungen vom Moderator"
|
||||||
|
|
||||||
|
#: contrib/comments/models/comments.py:286
|
||||||
|
#, python-format
|
||||||
|
msgid "Moderator deletion by %r"
|
||||||
|
msgstr "Vom Moderator %r gelöscht"
|
||||||
|
|
||||||
#: contrib/comments/views/karma.py:18
|
#: contrib/comments/views/karma.py:18
|
||||||
msgid "Anonymous users cannot vote"
|
msgid "Anonymous users cannot vote"
|
||||||
msgstr "Anonyme Benutzer können nicht abstimmen"
|
msgstr "Anonyme Benutzer können nicht abstimmen"
|
||||||
@ -152,6 +342,10 @@ msgstr ""
|
|||||||
"Die eMail-Adresse ist nicht der Benutzername. Bitte '%s' stattdessen "
|
"Die eMail-Adresse ist nicht der Benutzername. Bitte '%s' stattdessen "
|
||||||
"versuchen."
|
"versuchen."
|
||||||
|
|
||||||
|
#: contrib/admin/views/main.py:50
|
||||||
|
msgid "Site administration"
|
||||||
|
msgstr "Website Verwaltung"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:84
|
#: contrib/admin/views/main.py:84
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -162,9 +356,38 @@ msgstr ""
|
|||||||
"<ul>\n"
|
"<ul>\n"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:114 contrib/admin/views/main.py:131
|
#: contrib/admin/views/main.py:114 contrib/admin/views/main.py:131
|
||||||
|
#: contrib/admin/views/main.py:186
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Alle"
|
msgstr "Alle"
|
||||||
|
|
||||||
|
#: contrib/admin/views/main.py:152
|
||||||
|
msgid "Any date"
|
||||||
|
msgstr "Alle Daten"
|
||||||
|
|
||||||
|
#: contrib/admin/views/main.py:153
|
||||||
|
msgid "Today"
|
||||||
|
msgstr "Heute"
|
||||||
|
|
||||||
|
#: contrib/admin/views/main.py:156
|
||||||
|
msgid "Past 7 days"
|
||||||
|
msgstr "Letzte 7 Tage"
|
||||||
|
|
||||||
|
#: contrib/admin/views/main.py:158
|
||||||
|
msgid "This month"
|
||||||
|
msgstr "Diesen Monat"
|
||||||
|
|
||||||
|
#: contrib/admin/views/main.py:160
|
||||||
|
msgid "This year"
|
||||||
|
msgstr "Dieses Jahr"
|
||||||
|
|
||||||
|
#: contrib/admin/views/main.py:186
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Ja"
|
||||||
|
|
||||||
|
#: contrib/admin/views/main.py:186
|
||||||
|
msgid "No"
|
||||||
|
msgstr "Nein"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:194
|
#: contrib/admin/views/main.py:194
|
||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Unbekannt"
|
msgstr "Unbekannt"
|
||||||
@ -303,10 +526,6 @@ msgstr "Dateipfad"
|
|||||||
msgid "Decimal number"
|
msgid "Decimal number"
|
||||||
msgstr "Dezimalzahl"
|
msgstr "Dezimalzahl"
|
||||||
|
|
||||||
#: contrib/admin/views/doc.py:274
|
|
||||||
msgid "IP address"
|
|
||||||
msgstr "IP-Adresse"
|
|
||||||
|
|
||||||
#: contrib/admin/views/doc.py:276
|
#: contrib/admin/views/doc.py:276
|
||||||
msgid "Boolean (Either True, False or None)"
|
msgid "Boolean (Either True, False or None)"
|
||||||
msgstr "Wahrheitswert (Wahr, Falsch oder Nichts)"
|
msgstr "Wahrheitswert (Wahr, Falsch oder Nichts)"
|
||||||
|
@ -47,7 +47,7 @@ def _get_mod_opts(app_label, module_name):
|
|||||||
|
|
||||||
|
|
||||||
def index(request):
|
def index(request):
|
||||||
return render_to_response('admin/index', {'title': 'Site administration'}, context_instance=Context(request))
|
return render_to_response('admin/index', {'title': _('Site administration')}, context_instance=Context(request))
|
||||||
index = staff_member_required(index)
|
index = staff_member_required(index)
|
||||||
|
|
||||||
class IncorrectLookupParameters(Exception):
|
class IncorrectLookupParameters(Exception):
|
||||||
@ -149,15 +149,15 @@ class DateFieldFilterSpec(FilterSpec):
|
|||||||
today_str = isinstance(self.field, meta.DateTimeField) and today.strftime('%Y-%m-%d 23:59:59') or today.strftime('%Y-%m-%d')
|
today_str = isinstance(self.field, meta.DateTimeField) and today.strftime('%Y-%m-%d 23:59:59') or today.strftime('%Y-%m-%d')
|
||||||
|
|
||||||
self.links = (
|
self.links = (
|
||||||
('Any date', {}),
|
(_('Any date'), {}),
|
||||||
('Today', {'%s__year' % self.field.name: str(today.year),
|
(_('Today'), {'%s__year' % self.field.name: str(today.year),
|
||||||
'%s__month' % self.field.name: str(today.month),
|
'%s__month' % self.field.name: str(today.month),
|
||||||
'%s__day' % self.field.name: str(today.day)}),
|
'%s__day' % self.field.name: str(today.day)}),
|
||||||
('Past 7 days', {'%s__gte' % self.field.name: one_week_ago.strftime('%Y-%m-%d'),
|
(_('Past 7 days'), {'%s__gte' % self.field.name: one_week_ago.strftime('%Y-%m-%d'),
|
||||||
'%s__lte' % f.name: today_str}),
|
'%s__lte' % f.name: today_str}),
|
||||||
('This month', {'%s__year' % self.field.name: str(today.year),
|
(_('This month'), {'%s__year' % self.field.name: str(today.year),
|
||||||
'%s__month' % f.name: str(today.month)}),
|
'%s__month' % f.name: str(today.month)}),
|
||||||
('This year', {'%s__year' % self.field.name: str(today.year)})
|
(_('This year'), {'%s__year' % self.field.name: str(today.year)})
|
||||||
)
|
)
|
||||||
|
|
||||||
def title(self):
|
def title(self):
|
||||||
@ -183,7 +183,7 @@ class BooleanFieldFilterSpec(FilterSpec):
|
|||||||
return self.field.verbose_name
|
return self.field.verbose_name
|
||||||
|
|
||||||
def choices(self, cl):
|
def choices(self, cl):
|
||||||
for k, v in (('All', None), ('Yes', '1'), ('No', '0')):
|
for k, v in ((_('All'), None), (_('Yes'), '1'), (_('No'), '0')):
|
||||||
yield { 'selected' : self.lookup_val == v and not self.lookup_val2,
|
yield { 'selected' : self.lookup_val == v and not self.lookup_val2,
|
||||||
'query_string' : cl.get_query_string( {self.lookup_kwarg: v}, [self.lookup_kwarg2]),
|
'query_string' : cl.get_query_string( {self.lookup_kwarg: v}, [self.lookup_kwarg2]),
|
||||||
'display': k
|
'display': k
|
||||||
|
@ -1,32 +1,35 @@
|
|||||||
from django.core import meta
|
from django.core import meta
|
||||||
from django.models import auth, core
|
from django.models import auth, core
|
||||||
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
class Comment(meta.Model):
|
class Comment(meta.Model):
|
||||||
user = meta.ForeignKey(auth.User, raw_id_admin=True)
|
user = meta.ForeignKey(auth.User, raw_id_admin=True)
|
||||||
content_type = meta.ForeignKey(core.ContentType)
|
content_type = meta.ForeignKey(core.ContentType)
|
||||||
object_id = meta.IntegerField('object ID')
|
object_id = meta.IntegerField(_('object ID'))
|
||||||
headline = meta.CharField(maxlength=255, blank=True)
|
headline = meta.CharField(_('headline'), maxlength=255, blank=True)
|
||||||
comment = meta.TextField(maxlength=3000)
|
comment = meta.TextField(_('comment'), maxlength=3000)
|
||||||
rating1 = meta.PositiveSmallIntegerField('rating #1', blank=True, null=True)
|
rating1 = meta.PositiveSmallIntegerField(_('rating #1'), blank=True, null=True)
|
||||||
rating2 = meta.PositiveSmallIntegerField('rating #2', blank=True, null=True)
|
rating2 = meta.PositiveSmallIntegerField(_('rating #2'), blank=True, null=True)
|
||||||
rating3 = meta.PositiveSmallIntegerField('rating #3', blank=True, null=True)
|
rating3 = meta.PositiveSmallIntegerField(_('rating #3'), blank=True, null=True)
|
||||||
rating4 = meta.PositiveSmallIntegerField('rating #4', blank=True, null=True)
|
rating4 = meta.PositiveSmallIntegerField(_('rating #4'), blank=True, null=True)
|
||||||
rating5 = meta.PositiveSmallIntegerField('rating #5', blank=True, null=True)
|
rating5 = meta.PositiveSmallIntegerField(_('rating #5'), blank=True, null=True)
|
||||||
rating6 = meta.PositiveSmallIntegerField('rating #6', blank=True, null=True)
|
rating6 = meta.PositiveSmallIntegerField(_('rating #6'), blank=True, null=True)
|
||||||
rating7 = meta.PositiveSmallIntegerField('rating #7', blank=True, null=True)
|
rating7 = meta.PositiveSmallIntegerField(_('rating #7'), blank=True, null=True)
|
||||||
rating8 = meta.PositiveSmallIntegerField('rating #8', blank=True, null=True)
|
rating8 = meta.PositiveSmallIntegerField(_('rating #8'), blank=True, null=True)
|
||||||
# This field designates whether to use this row's ratings in aggregate
|
# This field designates whether to use this row's ratings in aggregate
|
||||||
# functions (summaries). We need this because people are allowed to post
|
# functions (summaries). We need this because people are allowed to post
|
||||||
# multiple reviews on the same thing, but the system will only use the
|
# multiple reviews on the same thing, but the system will only use the
|
||||||
# latest one (with valid_rating=True) in tallying the reviews.
|
# latest one (with valid_rating=True) in tallying the reviews.
|
||||||
valid_rating = meta.BooleanField('is valid rating')
|
valid_rating = meta.BooleanField(_('is valid rating'))
|
||||||
submit_date = meta.DateTimeField('date/time submitted', auto_now_add=True)
|
submit_date = meta.DateTimeField(_('date/time submitted'), auto_now_add=True)
|
||||||
is_public = meta.BooleanField()
|
is_public = meta.BooleanField(_('is public'))
|
||||||
ip_address = meta.IPAddressField('IP address', blank=True, null=True)
|
ip_address = meta.IPAddressField(_('IP address'), blank=True, null=True)
|
||||||
is_removed = meta.BooleanField(help_text='Check this box if the comment is inappropriate. A "This comment has been removed" message will be displayed instead.')
|
is_removed = meta.BooleanField(_('is removed'), help_text=_('Check this box if the comment is inappropriate. A "This comment has been removed" message will be displayed instead.'))
|
||||||
site = meta.ForeignKey(core.Site)
|
site = meta.ForeignKey(core.Site)
|
||||||
class META:
|
class META:
|
||||||
db_table = 'comments'
|
db_table = 'comments'
|
||||||
|
verbose_name = _('Comment')
|
||||||
|
verbose_name_plural = _('Comments')
|
||||||
module_constants = {
|
module_constants = {
|
||||||
# min. and max. allowed dimensions for photo resizing (in pixels)
|
# min. and max. allowed dimensions for photo resizing (in pixels)
|
||||||
'MIN_PHOTO_DIMENSION': 5,
|
'MIN_PHOTO_DIMENSION': 5,
|
||||||
@ -79,7 +82,7 @@ class Comment(meta.Model):
|
|||||||
except ObjectDoesNotExist:
|
except ObjectDoesNotExist:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
get_content_object.short_description = 'Content object'
|
get_content_object.short_description = _('Content object')
|
||||||
|
|
||||||
def _fill_karma_cache(self):
|
def _fill_karma_cache(self):
|
||||||
"Helper function that populates good/bad karma caches"
|
"Helper function that populates good/bad karma caches"
|
||||||
@ -107,9 +110,9 @@ class Comment(meta.Model):
|
|||||||
return self._karma_total_good + self._karma_total_bad
|
return self._karma_total_good + self._karma_total_bad
|
||||||
|
|
||||||
def get_as_text(self):
|
def get_as_text(self):
|
||||||
return 'Posted by %s at %s\n\n%s\n\nhttp://%s%s' % \
|
return _('Posted by %(user)s at %(date)s\n\n%(comment)s\n\nhttp://%(domain)s%(url)s') % \
|
||||||
(self.get_user().username, self.submit_date,
|
{'user': self.get_user().username, 'date': self.submit_date,
|
||||||
self.comment, self.get_site().domain, self.get_absolute_url())
|
'comment': self.comment, 'domain': self.get_site().domain, 'url': self.get_absolute_url()}
|
||||||
|
|
||||||
def _module_get_security_hash(options, photo_options, rating_options, target):
|
def _module_get_security_hash(options, photo_options, rating_options, target):
|
||||||
"""
|
"""
|
||||||
@ -155,17 +158,19 @@ class Comment(meta.Model):
|
|||||||
class FreeComment(meta.Model):
|
class FreeComment(meta.Model):
|
||||||
# A FreeComment is a comment by a non-registered user.
|
# A FreeComment is a comment by a non-registered user.
|
||||||
content_type = meta.ForeignKey(core.ContentType)
|
content_type = meta.ForeignKey(core.ContentType)
|
||||||
object_id = meta.IntegerField('object ID')
|
object_id = meta.IntegerField(_('object ID'))
|
||||||
comment = meta.TextField(maxlength=3000)
|
comment = meta.TextField(_('comment'), maxlength=3000)
|
||||||
person_name = meta.CharField("person's name", maxlength=50)
|
person_name = meta.CharField(_("person's name"), maxlength=50)
|
||||||
submit_date = meta.DateTimeField('date/time submitted', auto_now_add=True)
|
submit_date = meta.DateTimeField(_('date/time submitted'), auto_now_add=True)
|
||||||
is_public = meta.BooleanField()
|
is_public = meta.BooleanField(_('is public'))
|
||||||
ip_address = meta.IPAddressField()
|
ip_address = meta.IPAddressField(_('ip address'))
|
||||||
# TODO: Change this to is_removed, like Comment
|
# TODO: Change this to is_removed, like Comment
|
||||||
approved = meta.BooleanField('approved by staff')
|
approved = meta.BooleanField(_('approved by staff'))
|
||||||
site = meta.ForeignKey(core.Site)
|
site = meta.ForeignKey(core.Site)
|
||||||
class META:
|
class META:
|
||||||
db_table = 'comments_free'
|
db_table = 'comments_free'
|
||||||
|
verbose_name = _('Free comment')
|
||||||
|
verbose_name_plural = _('Free comments')
|
||||||
ordering = ('-submit_date',)
|
ordering = ('-submit_date',)
|
||||||
admin = meta.Admin(
|
admin = meta.Admin(
|
||||||
fields = (
|
fields = (
|
||||||
@ -196,15 +201,17 @@ class FreeComment(meta.Model):
|
|||||||
except ObjectDoesNotExist:
|
except ObjectDoesNotExist:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
get_content_object.short_description = 'Content object'
|
get_content_object.short_description = _('Content object')
|
||||||
|
|
||||||
class KarmaScore(meta.Model):
|
class KarmaScore(meta.Model):
|
||||||
user = meta.ForeignKey(auth.User)
|
user = meta.ForeignKey(auth.User)
|
||||||
comment = meta.ForeignKey(Comment)
|
comment = meta.ForeignKey(Comment)
|
||||||
score = meta.SmallIntegerField(db_index=True)
|
score = meta.SmallIntegerField(_('score'), db_index=True)
|
||||||
scored_date = meta.DateTimeField(auto_now=True)
|
scored_date = meta.DateTimeField(_('score date'), auto_now=True)
|
||||||
class META:
|
class META:
|
||||||
module_name = 'karma'
|
module_name = 'karma'
|
||||||
|
verbose_name = _('Karma score')
|
||||||
|
verbose_name_plural = _('Karma scores')
|
||||||
unique_together = (('user', 'comment'),)
|
unique_together = (('user', 'comment'),)
|
||||||
module_constants = {
|
module_constants = {
|
||||||
# what users get if they don't have any karma
|
# what users get if they don't have any karma
|
||||||
@ -213,7 +220,7 @@ class KarmaScore(meta.Model):
|
|||||||
}
|
}
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "%d rating by %s" % (self.score, self.get_user())
|
return _("%(score)d rating by %(user)s") % {'score': self.score, 'user': self.get_user()}
|
||||||
|
|
||||||
def _module_vote(user_id, comment_id, score):
|
def _module_vote(user_id, comment_id, score):
|
||||||
try:
|
try:
|
||||||
@ -238,13 +245,15 @@ class KarmaScore(meta.Model):
|
|||||||
class UserFlag(meta.Model):
|
class UserFlag(meta.Model):
|
||||||
user = meta.ForeignKey(auth.User)
|
user = meta.ForeignKey(auth.User)
|
||||||
comment = meta.ForeignKey(Comment)
|
comment = meta.ForeignKey(Comment)
|
||||||
flag_date = meta.DateTimeField(auto_now_add=True)
|
flag_date = meta.DateTimeField(_('flag date'), auto_now_add=True)
|
||||||
class META:
|
class META:
|
||||||
db_table = 'comments_user_flags'
|
db_table = 'comments_user_flags'
|
||||||
|
verbose_name = _('User flag')
|
||||||
|
verbose_name_plural = _('User flags')
|
||||||
unique_together = (('user', 'comment'),)
|
unique_together = (('user', 'comment'),)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "Flag by %r" % self.get_user()
|
return _("Flag by %r") % self.get_user()
|
||||||
|
|
||||||
def _module_flag(comment, user):
|
def _module_flag(comment, user):
|
||||||
"""
|
"""
|
||||||
@ -259,17 +268,20 @@ class UserFlag(meta.Model):
|
|||||||
except UserFlagDoesNotExist:
|
except UserFlagDoesNotExist:
|
||||||
from django.core.mail import mail_managers
|
from django.core.mail import mail_managers
|
||||||
f = UserFlag(None, user.id, comment.id, None)
|
f = UserFlag(None, user.id, comment.id, None)
|
||||||
message = 'This comment was flagged by %s:\n\n%s' % (user.username, comment.get_as_text())
|
message = _('This comment was flagged by %(user)s:\n\n%(text)s') % {'user': user.username, 'text': comment.get_as_text()}
|
||||||
mail_managers('Comment flagged', message, fail_silently=True)
|
mail_managers('Comment flagged', message, fail_silently=True)
|
||||||
f.save()
|
f.save()
|
||||||
|
|
||||||
class ModeratorDeletion(meta.Model):
|
class ModeratorDeletion(meta.Model):
|
||||||
user = meta.ForeignKey(auth.User, verbose_name='moderator')
|
user = meta.ForeignKey(auth.User, verbose_name='moderator')
|
||||||
comment = meta.ForeignKey(Comment)
|
comment = meta.ForeignKey(Comment)
|
||||||
deletion_date = meta.DateTimeField(auto_now_add=True)
|
deletion_date = meta.DateTimeField(_('deletion date'), auto_now_add=True)
|
||||||
class META:
|
class META:
|
||||||
db_table = 'comments_moderator_deletions'
|
db_table = 'comments_moderator_deletions'
|
||||||
|
verbose_name = _('Moderator deletion')
|
||||||
|
verbose_name_plural = _('Moderator deletions')
|
||||||
unique_together = (('user', 'comment'),)
|
unique_together = (('user', 'comment'),)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "Moderator deletion by %r" % self.get_user()
|
return _("Moderator deletion by %r") % self.get_user()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user