diff --git a/abonapp/forms.py b/abonapp/forms.py index 850601a..c44a05d 100644 --- a/abonapp/forms.py +++ b/abonapp/forms.py @@ -31,7 +31,7 @@ class AbonForm(forms.ModelForm): })) password = forms.CharField(max_length=64, initial=generate_random_password, - widget=forms.TextInput(attrs={'class': 'form-control', 'required':''})) + widget=forms.TextInput(attrs={'class': 'form-control'})) class Meta: model = models.Abon @@ -56,6 +56,7 @@ class AbonForm(forms.ModelForm): } def save(self, commit=True): + print('SavePassw') raw_password = self.cleaned_data['password'] acc = super().save(commit=False) acc.password = make_password(raw_password) @@ -66,7 +67,7 @@ class AbonForm(forms.ModelForm): abon_raw_passw.passw_text = raw_password abon_raw_passw.save(update_fields=['passw_text']) except models.AbonRawPassword.DoesNotExist: - models.AbonRawPassword.create( + models.AbonRawPassword.objects.create( account=acc, passw_text=raw_password ) diff --git a/django_messages/__init__.py b/django_messages/__init__.py new file mode 100644 index 0000000..a8a2926 --- /dev/null +++ b/django_messages/__init__.py @@ -0,0 +1,3 @@ +VERSION = (0, 5, 3,) +__version__ = '.'.join(map(str, VERSION)) +default_app_config = 'django_messages.apps.DjangoMessagesConfig' diff --git a/django_messages/admin.py b/django_messages/admin.py new file mode 100644 index 0000000..51c493c --- /dev/null +++ b/django_messages/admin.py @@ -0,0 +1,112 @@ +from django import forms +from django.conf import settings +from django.utils.translation import gettext_lazy as _ +from django.contrib import admin +from django.contrib.auth.models import Group + +from django_messages.utils import get_user_model +User = get_user_model() + +if "notification" in settings.INSTALLED_APPS and getattr(settings, 'DJANGO_MESSAGES_NOTIFY', True): + from notification import models as notification +else: + notification = None + +from django_messages.models import Message + +class MessageAdminForm(forms.ModelForm): + """ + Custom AdminForm to enable messages to groups and all users. + """ + group = forms.ChoiceField(label=_('group'), required=False, + help_text=_('Creates the message optionally for all users or a group of users.')) + + def __init__(self, *args, **kwargs): + super(MessageAdminForm, self).__init__(*args, **kwargs) + self.fields['group'].choices = self._get_group_choices() + self.fields['recipient'].required = True + + def _get_group_choices(self): + return [('', u'---------'), ('all', _('All users'))] + \ + [(group.pk, group.name) for group in Group.objects.all()] + + class Meta: + model = Message + fields = ('sender', 'recipient', 'group', 'parent_msg', 'subject', + 'body', 'sent_at', 'read_at', 'replied_at', 'sender_deleted_at', + 'recipient_deleted_at') + +class MessageAdmin(admin.ModelAdmin): + form = MessageAdminForm + fieldsets = ( + (None, { + 'fields': ( + 'sender', + ('recipient', 'group'), + ), + }), + (_('Message'), { + 'fields': ( + 'parent_msg', + 'subject', 'body', + ), + 'classes': ('monospace' ), + }), + (_('Date/time'), { + 'fields': ( + 'sent_at', 'read_at', 'replied_at', + 'sender_deleted_at', 'recipient_deleted_at', + ), + 'classes': ('collapse', 'wide'), + }), + ) + list_display = ('subject', 'sender', 'recipient', 'sent_at', 'read_at') + list_filter = ('sent_at', 'sender', 'recipient') + search_fields = ('subject', 'body') + raw_id_fields = ('sender', 'recipient', 'parent_msg') + + def save_model(self, request, obj, form, change): + """ + Saves the message for the recipient and looks in the form instance + for other possible recipients. Prevents duplication by excludin the + original recipient from the list of optional recipients. + + When changing an existing message and choosing optional recipients, + the message is effectively resent to those users. + """ + obj.save() + + if notification: + # Getting the appropriate notice labels for the sender and recipients. + if obj.parent_msg is None: + sender_label = 'messages_sent' + recipients_label = 'messages_received' + else: + sender_label = 'messages_replied' + recipients_label = 'messages_reply_received' + + # Notification for the sender. + notification.send([obj.sender], sender_label, {'message': obj,}) + + if form.cleaned_data['group'] == 'all': + # send to all users + recipients = User.objects.exclude(pk=obj.recipient.pk) + else: + # send to a group of users + recipients = [] + group = form.cleaned_data['group'] + if group: + group = Group.objects.get(pk=group) + recipients.extend( + list(group.user_set.exclude(pk=obj.recipient.pk))) + # create messages for all found recipients + for user in recipients: + obj.pk = None + obj.recipient = user + obj.save() + + if notification: + # Notification for the recipient. + notification.send([user], recipients_label, {'message' : obj,}) + +admin.site.register(Message, MessageAdmin) diff --git a/django_messages/apps.py b/django_messages/apps.py new file mode 100644 index 0000000..c7a4f26 --- /dev/null +++ b/django_messages/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig +from django.utils.translation import ugettext_lazy as _ + +class DjangoMessagesConfig(AppConfig): + name = 'django_messages' + verbose_name = _('Messages') diff --git a/django_messages/context_processors.py b/django_messages/context_processors.py new file mode 100644 index 0000000..e649412 --- /dev/null +++ b/django_messages/context_processors.py @@ -0,0 +1,7 @@ +from django_messages.models import inbox_count_for + +def inbox(request): + if request.user.is_authenticated(): + return {'messages_inbox_count': inbox_count_for(request.user)} + else: + return {} diff --git a/django_messages/fields.py b/django_messages/fields.py new file mode 100644 index 0000000..18bf81d --- /dev/null +++ b/django_messages/fields.py @@ -0,0 +1,23 @@ +""" +Based on http://www.djangosnippets.org/snippets/595/ +by sopelkin +""" + +from django import forms +from django.forms import widgets +from django.utils.translation import ugettext_lazy as _ + +from django_messages.utils import get_user_model, get_username_field + +User = get_user_model() + + +class CommaSeparatedUserInput(widgets.Input): + input_type = 'text' + + def render(self, name, value, attrs=None): + if value is None: + value = '' + elif isinstance(value, (list, tuple)): + value = (', '.join([getattr(user, get_username_field()) for user in value])) + return super(CommaSeparatedUserInput, self).render(name, value, attrs) diff --git a/django_messages/forms.py b/django_messages/forms.py new file mode 100644 index 0000000..4f0c2fc --- /dev/null +++ b/django_messages/forms.py @@ -0,0 +1,67 @@ +from django import forms +from django.conf import settings +from django.utils.translation import ugettext_lazy as _ +from django.utils import timezone + + +if "notification" in settings.INSTALLED_APPS and getattr(settings, 'DJANGO_MESSAGES_NOTIFY', True): + from notification import models as notification +else: + notification = None + +from django_messages.models import Message +from accounts_app.models import UserProfile + + +class ComposeForm(forms.Form): + """ + A simple default form for private messages. + """ + recipient = forms.ModelMultipleChoiceField( + label=_(u"Recipient"), + widget=forms.SelectMultiple(attrs={'class': 'form-control'}), + queryset=UserProfile.objects.filter(is_admin=True), + ) + #recipient = CommaSeparatedUserField(label=_(u"Recipient")) + subject = forms.CharField( + label=_(u"Subject"), + max_length=140, + widget=forms.TextInput(attrs={'class': 'form-control'}) + ) + body = forms.CharField(label=_(u"Body"), + widget=forms.Textarea(attrs={'rows': '12', 'cols':'55', 'class': 'form-control'})) + + + def __init__(self, *args, **kwargs): + recipient_filter = kwargs.pop('recipient_filter', None) + super(ComposeForm, self).__init__(*args, **kwargs) + if recipient_filter is not None: + self.fields['recipient']._recipient_filter = recipient_filter + + + def save(self, sender, parent_msg=None): + recipients = self.cleaned_data['recipient'] + subject = self.cleaned_data['subject'] + body = self.cleaned_data['body'] + message_list = [] + for r in recipients: + msg = Message( + sender = sender, + recipient = r, + subject = subject, + body = body, + ) + if parent_msg is not None: + msg.parent_msg = parent_msg + parent_msg.replied_at = timezone.now() + parent_msg.save() + msg.save() + message_list.append(msg) + if notification: + if parent_msg is not None: + notification.send([sender], "messages_replied", {'message': msg,}) + notification.send([r], "messages_reply_received", {'message': msg,}) + else: + notification.send([sender], "messages_sent", {'message': msg,}) + notification.send([r], "messages_received", {'message': msg,}) + return message_list diff --git a/django_messages/locale/ar/LC_MESSAGES/django.mo b/django_messages/locale/ar/LC_MESSAGES/django.mo new file mode 100644 index 0000000..5c16012 Binary files /dev/null and b/django_messages/locale/ar/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/ar/LC_MESSAGES/django.po b/django_messages/locale/ar/LC_MESSAGES/django.po new file mode 100644 index 0000000..027edb1 --- /dev/null +++ b/django_messages/locale/ar/LC_MESSAGES/django.po @@ -0,0 +1,317 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Ossama M. Khayat , 2009. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-10-14 04:23+0300\n" +"PO-Revision-Date: 2009-11-02 00:41+0300\n" +"Last-Translator: Ossama M. Khayat \n" +"Language-Team: Arabic \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:8 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "المستلم" + +#: admin.py:15 +msgid "group" +msgstr "مجموعة" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "ينشئ الرسالة اختياريا لجميع المستخدمين او لمجموعة من المستخدمين." + +#: admin.py:23 +msgid "All users" +msgstr "جميع المستخدمين" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "الرسالة" + +#: admin.py:45 +msgid "Date/time" +msgstr "التاريخ/الوقت" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "أسماء المستخدمين التالي ذكرهم غير صحيحة: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:8 +#: templates/messages/outbox.html:8 templates/messages/trash.html:8 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "الموضوع" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "المحتوى" + +#: management.py:9 +msgid "Message Received" +msgstr "تم استلام الرسالة" + +#: management.py:9 +msgid "you have received a message" +msgstr "وصلتك رسالة" + +#: management.py:10 +msgid "Message Sent" +msgstr "تم إرسال الرسالة" + +#: management.py:10 +msgid "you have sent a message" +msgstr "قمت بإرسال رسالة" + +#: management.py:11 +msgid "Message Replied" +msgstr "تم الرد على الرسالة" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "قمت بالرد على الرسالة" + +#: management.py:12 +msgid "Reply Received" +msgstr "تم استلام الرد" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "استملت رداً على رسالة" + +#: management.py:13 +msgid "Message Deleted" +msgstr "تم حذف الرسالة" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "قمت بحذف رسالة" + +#: management.py:14 +msgid "Message Recovered" +msgstr "تم استرجاع الرسالة" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "قمت باسترجاع رسالة" + +#: models.py:51 templates/messages/inbox.html:8 +#: templates/messages/trash.html:8 templates/messages/view.html:8 +msgid "Sender" +msgstr "المرسل" + +#: models.py:53 +msgid "Parent message" +msgstr "الرسالة الأساسية" + +#: models.py:54 +msgid "sent at" +msgstr "أرسلت في" + +#: models.py:55 +msgid "read at" +msgstr "قُرأت في" + +#: models.py:56 +msgid "replied at" +msgstr "رُدّ عليها في" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "حذفها المُرسل في" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "حذفها المستلم في" + +#: models.py:89 +msgid "Messages" +msgstr "الرسائل" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "رسالة جديدة: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "تم إرسال الرسالة بنجاح." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"كتب %(sender)s:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "رد: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "تم حذف الرسالة بنجاح." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "تم استرجاع الرسالة بنجاح." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "الوارد" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "الرسائل المرسلة" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "رسالة جديدة" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "الحاوية" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "أكتب رسالة" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "أرسل" + +#: templates/messages/inbox.html:8 +msgid "Received" +msgstr "استُلمت" + +#: templates/messages/inbox.html:8 templates/messages/outbox.html:8 +#: templates/messages/trash.html:8 +msgid "Action" +msgstr "إجراء" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +#: templates/messages/trash.html:17 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "DATETIME_FORMAT" + +#: templates/messages/inbox.html:21 templates/messages/outbox.html:18 +msgid "delete" +msgstr "حذف" + +#: templates/messages/inbox.html:27 templates/messages/outbox.html:24 +#: templates/messages/trash.html:24 +msgid "No messages." +msgstr "لا توجد رسائل." + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"مرحباً %(recipient)s،\n" +"\n" +"وصلتك رسالة خاصة من %(sender)s\n" +"تحتوي ما يلي:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "أرسلت من %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "رد" + +#: templates/messages/outbox.html:8 +msgid "Sent" +msgstr "أرسل" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "الرسائل المحذوفة" + +#: templates/messages/trash.html:8 templates/messages/view.html:10 +msgid "Date" +msgstr "التاريخ" + +#: templates/messages/trash.html:18 +msgid "undelete" +msgstr "استرجاع" + +#: templates/messages/trash.html:27 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"تتم إزالة الرسائل المحذوفة من الحاوية على فترات زمنيّة متفاوتة، " +"فلا تعتمد على هذه الميزة للتخزين الطويل المدى." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "مشاهدة الرسالة" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "حذف" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "قمت بحذف الرسالة %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"وصلتك الرسالة %(message)s " +"من %(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "قمت باسترجاع الرسالة %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"قمت بالرد الرسائل %(message_parent_msg)s " +"من %(message_recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "أرسل لك %(message_sender)s رداً على %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"قمت بإرسالة الرسالة %(message)s إلى %" +"(message_recipient)s." + diff --git a/django_messages/locale/cs/LC_MESSAGES/django.mo b/django_messages/locale/cs/LC_MESSAGES/django.mo new file mode 100644 index 0000000..deeec2f Binary files /dev/null and b/django_messages/locale/cs/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/cs/LC_MESSAGES/django.po b/django_messages/locale/cs/LC_MESSAGES/django.po new file mode 100644 index 0000000..9818544 --- /dev/null +++ b/django_messages/locale/cs/LC_MESSAGES/django.po @@ -0,0 +1,398 @@ +# Czech translation. +# Radim Sückr , 2016 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-01 12:29+0100\n" +"PO-Revision-Date: 2015-01-01 12:29+0100\n" +"Last-Translator: Radim Sückr \n" +"Language-Team: \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: admin.py:21 +msgid "group" +msgstr "Skupina" + +#: admin.py:22 +msgid "Creates the message optionally for all users or a group of users." +msgstr "Volitelně vytváří zprávu pro všechny uživatele nebo skupinu uživatelů." + +#: admin.py:30 +msgid "All users" +msgstr "Všichni uživatelé" + +#: admin.py:48 models.py:91 +msgid "Message" +msgstr "Zpráva" + +#: admin.py:55 +msgid "Date/time" +msgstr "Datum/čas" + +#: apps.py:6 models.py:92 +msgid "Messages" +msgstr "Zprávy" + +#: fields.py:56 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Následující uživatelská jména nejsou správně: %(users)s" + +#: forms.py:18 models.py:55 templates/django_messages/outbox.html:10 +#: templates/django_messages/view.html:14 +msgid "Recipient" +msgstr "Příjemce" + +#: forms.py:19 models.py:52 templates/django_messages/inbox.html:10 +#: templates/django_messages/outbox.html:10 +#: templates/django_messages/trash.html:10 +#: templates/django_messages/view.html:8 +msgid "Subject" +msgstr "Předmět" + +#: forms.py:20 models.py:53 +msgid "Body" +msgstr "Obsah" + +#: management.py:9 +msgid "Message Received" +msgstr "Zpráva přijata" + +#: management.py:9 +msgid "you have received a message" +msgstr "přišla vám zpráva" + +#: management.py:10 +msgid "Message Sent" +msgstr "Zpráva odeslána" + +#: management.py:10 +msgid "you have sent a message" +msgstr "odeslali jste zprávu" + +#: management.py:11 +msgid "Message Replied" +msgstr "Zpráva zodpovězena" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "odpověděli jste na zprávu" + +#: management.py:12 +msgid "Reply Received" +msgstr "Odpověď přijata" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "přišla vám odpověď na zprávu" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Zpráva smazána" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "smazali jste zprávu" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Zpráva obnovena" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "obnovili jste smazanou zprávu" + +#: models.py:54 templates/django_messages/inbox.html:10 +#: templates/django_messages/trash.html:10 +#: templates/django_messages/view.html:10 +msgid "Sender" +msgstr "Odesílatel" + +#: models.py:56 +msgid "Parent message" +msgstr "Předchozí zpráva" + +#: models.py:57 +msgid "sent at" +msgstr "odesláno" + +#: models.py:58 +msgid "read at" +msgstr "přečteno" + +#: models.py:59 +msgid "replied at" +msgstr "zodpovězeno" + +#: models.py:60 +msgid "Sender deleted at" +msgstr "Odesílatel smazal zprávu" + +#: models.py:61 +msgid "Recipient deleted at" +msgstr "Příjemce smazal zprávu" + +#: templates/django_messages/base.html:8 templates/django_messages/inbox.html:6 +#: templates/django_messages/new_message.html:13 +msgid "Inbox" +msgstr "Příchozí zprávy" + +#: templates/django_messages/base.html:9 +#: templates/django_messages/outbox.html:6 +msgid "Sent Messages" +msgstr "Odchozí zprávy" + +#: templates/django_messages/base.html:10 +msgid "New Message" +msgstr "Nová zpráva" + +#: templates/django_messages/base.html:11 +msgid "Trash" +msgstr "Koš" + +#: templates/django_messages/compose.html:4 +msgid "Compose Message" +msgstr "Napsat zprávu" + +#: templates/django_messages/compose.html:10 +msgid "Send" +msgstr "Odeslat" + +#: templates/django_messages/inbox.html:10 +msgid "Received" +msgstr "Přijato" + +#: templates/django_messages/inbox.html:10 +#: templates/django_messages/outbox.html:10 +#: templates/django_messages/trash.html:10 +msgid "Action" +msgstr "Akce" + +#: templates/django_messages/inbox.html:22 +#: templates/django_messages/outbox.html:19 +#: templates/django_messages/trash.html:19 +#: templates/django_messages/view.html:13 +msgid "DATETIME_FORMAT" +msgstr "j. E Y, H:i" + +#: templates/django_messages/inbox.html:23 +#: templates/django_messages/outbox.html:20 +msgid "delete" +msgstr "smazat" + +#: templates/django_messages/inbox.html:29 +#: templates/django_messages/outbox.html:26 +#: templates/django_messages/trash.html:26 +msgid "No messages." +msgstr "Žádné zprávy." + +#: templates/django_messages/new_message.html:4 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Dobrý den %(recipient)s,\n" +"\n" +"máte novou soukromou zprávu od %(sender)s\n" +"s následujícím obsahem:" + +#: templates/django_messages/new_message.html:12 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Odesláno z %(site_url)s" + +#: templates/django_messages/new_message.html:14 +#: templates/django_messages/view.html:20 +msgid "Reply" +msgstr "Odpovědět" + +#: templates/django_messages/outbox.html:10 +msgid "Sent" +msgstr "Odesláno" + +#: templates/django_messages/trash.html:6 +msgid "Deleted Messages" +msgstr "Smazané zprávy" + +#: templates/django_messages/trash.html:10 +#: templates/django_messages/view.html:12 +msgid "Date" +msgstr "Datum" + +#: templates/django_messages/trash.html:20 +msgid "undelete" +msgstr "obnovit" + +#: templates/django_messages/trash.html:29 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Smazané zprávy jsou z koše odstraňovány v nepravidelných intervalech, " +"nespoléhejte se na koš jako dlouhodobé úložiště." + +#: templates/django_messages/view.html:6 +msgid "View Message" +msgstr "Zobrazit zprávu" + +#: templates/django_messages/view.html:22 +msgid "Delete" +msgstr "Smazat" + +#: templates/notification/messages_deleted/full.txt:1 +#, python-format +msgid "You have deleted the message '%(message)s'." +msgstr "Smazali jste zprávu '%(message)s'." + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "" +"Smazali jste zprávu %(message)s." + +#: templates/notification/messages_received/full.txt:1 +#, python-format +msgid "" +"%(message_sender)s has sent you a message:\n" +"\n" +"%(message)s\n" +"\n" +"%(message_body)s\n" +"\n" +"http://%(current_site)s%(message_url)s" +msgstr "" +"%(message_sender)s vám napsal/a zprávu:\n" +"\n" +"%(message)s\n" +"\n" +"%(message_body)s\n" +"\n" +"http://%(current_site)s%(message_url)s" + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"Přišla vám zpráva %(message)s " +"od %(message_sender)s." + +#: templates/notification/messages_received/short.txt:1 +#: templates/notification/messages_reply_received/short.txt:1 +#, python-format +msgid "%(notice)s by %(message_sender)s" +msgstr "%(notice)s od %(message_sender)s" + +#: templates/notification/messages_recovered/full.txt:1 +#, python-format +msgid "You have recovered the message '%(message)s'." +msgstr "Obnovili jste zprávu '%(message)s'." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "" +"Obnovili jste zprávu %(message)s." + +#: templates/notification/messages_replied/full.txt:1 +#, python-format +msgid "" +"You have replied to '%(message_parent_msg)s' from %(message_recipient)s." +msgstr "" +"Odpověděli jste na '%(message_parent_msg)s' od %(message_recipient)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"Odpověděli jste na %(message_parent_msg)s " +"od %(message_recipient)s." + +#: templates/notification/messages_reply_received/full.txt:1 +#, python-format +msgid "" +"%(message_sender)s replied to '%(message_parent_msg)s':\n" +"\n" +"%(message)s\n" +"\n" +"%(message_body)s\n" +"\n" +"http://%(current_site)s%(message_url)s" +msgstr "" +"%(message_sender)s odpověděl/a na '%(message_parent_msg)s':\n" +"\n" +"%(message)s\n" +"\n" +"%(message_body)s\n" +"\n" +"http://%(current_site)s%(message_url)s" + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "%(message_sender)s vám poslal/a odpověď na %(message_parent_msg)s." + +#: templates/notification/messages_sent/full.txt:1 +#, python-format +msgid "You have sent the message '%(message)s' to %(message_recipient)s." +msgstr "Odeslali jste zprávu '%(message)s' uživateli %(message_recipient)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to " +"%(message_recipient)s." +msgstr "" +"Odeslali jste zprávu %(message)s uživateli " +"%(message_recipient)s." + +#: utils.py:26 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s napsal:\n" +"%(body)s" + +#: utils.py:54 +#, python-format +msgid "Re%(prefix)s: %(subject)s" +msgstr "Re%(prefix)s: %(subject)s" + +#: utils.py:60 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Nová zpráva: %(subject)s" + +#: views.py:79 views.py:116 +msgid "Message successfully sent." +msgstr "Zpráva úspěšně odeslána." + +#: views.py:98 views.py:194 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:159 +msgid "Message successfully deleted." +msgstr "Zpráva úspěšně smazána." + +#: views.py:186 +msgid "Message successfully recovered." +msgstr "Zpráva úspěšně obnovena." diff --git a/django_messages/locale/da/LC_MESSAGES/django.mo b/django_messages/locale/da/LC_MESSAGES/django.mo new file mode 100644 index 0000000..591819e Binary files /dev/null and b/django_messages/locale/da/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/da/LC_MESSAGES/django.po b/django_messages/locale/da/LC_MESSAGES/django.po new file mode 100644 index 0000000..1689cd8 --- /dev/null +++ b/django_messages/locale/da/LC_MESSAGES/django.po @@ -0,0 +1,367 @@ +# django-messages in Danish. +# django-messages på Dansk. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Michael Lind Mortensen , 2009. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Modtager" + +#: admin.py:15 +msgid "group" +msgstr "gruppe" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "Skaber beskeden for alle brugere eller en gruppe af brugere." + +#: admin.py:23 +msgid "All users" +msgstr "Alle brugere" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Beskeder" + +#: admin.py:45 +msgid "Date/time" +msgstr "Dato/tid" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "De følgende brugernavne er forkerte: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Emne" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Indhold" + +#: management.py:9 +msgid "Message Received" +msgstr "Besked Modtaget" + +#: management.py:9 +msgid "you have received a message" +msgstr "du har modtaget en besked" + +#: management.py:10 +msgid "Message Sent" +msgstr "Besked Afsendt" + +#: management.py:10 +msgid "you have sent a message" +msgstr "du har sendt en besked" + +#: management.py:11 +msgid "Message Replied" +msgstr "Besked Besvaret" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "du har besvaret en besked" + +#: management.py:12 +msgid "Reply Received" +msgstr "Svar Modtaget" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "du har modtaget en besvarelse på en besked" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Besked Slettet" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "du har slettet en besked" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Besked Genskabt" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "du har genskabt en besked" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Afsender" + +#: models.py:53 +msgid "Parent message" +msgstr "Stambesked" + +#: models.py:54 +msgid "sent at" +msgstr "sendt" + +#: models.py:55 +msgid "read at" +msgstr "læst" + +#: models.py:56 +msgid "replied at" +msgstr "besvaret" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Afsender slettet" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Modtager slettet" + +#: models.py:89 +msgid "Messages" +msgstr "Beskeder" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Ny besked: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Besked sendt succesfuldt." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s skrev:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "SV: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Besked slettet succesfuldt." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Besked genskabt succesfuldt." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Indboks" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Sendte Beskeder" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Ny Besked" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Papirkurv" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Skriv Ny Besked" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Send" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Modtaget" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Handling" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "DATETIME_FORMAT" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "slet" + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Goddag %(recipient)s,\n" +"\n" +"du har modtaget en privat besked fra %(sender)s med\n" +"følgende indhold:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Sendt fra %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Besvar" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Sendt" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Slettede Beskeder" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Dato" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "genskab" + +#: templates/messages/trash.html:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Slettede beskeder fjernes fra papirkurven med jævne mellemrum. Lad være med " +"at regne med denne funktion til langtidslagring." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Læs Besked" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Slet" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "Du har slettet beskeden %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"Du har modtaget beskeden %(message)s fra %" +"(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "Du har genskabt beskeden %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"Du har besvaret %(message_parent_msg)s fra %" +"(message_recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "" +"%(message_sender)s har sendt dig en besvarelse på %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"Du har sendt beskeden %(message)s til %" +"(message_recipient)s." + +#, fuzzy +#~ msgid "You have deleted the message '%(message)s'." +#~ msgstr "Du har slettet beskeden '%(message)s'." + +#, fuzzy +#~ msgid "" +#~ "%(message_sender)s has sent you a message:\n" +#~ "\n" +#~ "%(message)s\n" +#~ "\n" +#~ "%(message_body)s\n" +#~ "\n" +#~ "http://%(current_site)s%(message_url)s" +#~ msgstr "" +#~ "%(message_sender)s har sendt dig en besked:\n" +#~ "\n" +#~ "%(message)s\n" +#~ "\n" +#~ "%(message_body)s\n" +#~ "\n" +#~ "http://%(current_site)s%(message_url)s" + +#~ msgid "%(notice)s by %(message_sender)s" +#~ msgstr "%(notice)s af %(message_sender)s" + +#, fuzzy +#~ msgid "You have recovered the message '%(message)s'." +#~ msgstr "Du har genskabt beskeden '%(message)s'." + +#, fuzzy +#~ msgid "" +#~ "You have replied to '%(message_parent_msg)s' from %(message_recipient)s." +#~ msgstr "Du har besvaret '%(message_parent_msg)s' fra %(message_recipient)s." + +#~ msgid "" +#~ "%(message_sender)s replied to '%(message_parent_msg)s':\n" +#~ "\n" +#~ "%(message)s\n" +#~ "\n" +#~ "%(message_body)s\n" +#~ "\n" +#~ "http://%(current_site)s%(message_url)s" +#~ msgstr "" +#~ "%(message_sender)s besvarede '%(message_parent_msg)s':\n" +#~ "\n" +#~ "%(message)s\n" +#~ "\n" +#~ "%(message_body)s\n" +#~ "\n" +#~ "http://%(current_site)s%(message_url)s" + +#, fuzzy +#~ msgid "You have sent the message '%(message)s' to %(message_recipient)s." +#~ msgstr "Du har sendt beskeden '%(message)s' til %(message_recipient)s." diff --git a/django_messages/locale/de/LC_MESSAGES/django.mo b/django_messages/locale/de/LC_MESSAGES/django.mo new file mode 100644 index 0000000..1e4e5c8 Binary files /dev/null and b/django_messages/locale/de/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/de/LC_MESSAGES/django.po b/django_messages/locale/de/LC_MESSAGES/django.po new file mode 100644 index 0000000..29ec615 --- /dev/null +++ b/django_messages/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,321 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Empfänger" + +#: admin.py:15 +msgid "group" +msgstr "Gruppe" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "" +"Fügt die Nachricht wahlweise für jeden Benutzer der ausgewählten Gruppe " +"hinzu." + +#: admin.py:23 +msgid "All users" +msgstr "Alle Benutzer" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Nachricht" + +#: admin.py:45 +msgid "Date/time" +msgstr "Datum/Zeit" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Die folgenden Benutzernamen sind nicht korrekt: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Betreff" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Inhalt" + +#: management.py:9 +msgid "Message Received" +msgstr "Nachricht erhalten" + +#: management.py:9 +msgid "you have received a message" +msgstr "Du hast eine Nachricht erhalten" + +#: management.py:10 +msgid "Message Sent" +msgstr "Nachricht gesendet" + +#: management.py:10 +msgid "you have sent a message" +msgstr "Du hast eine Nachricht gesendet" + +#: management.py:11 +msgid "Message Replied" +msgstr "Nachricht beantwortet" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "Du hast eine Nachricht beantwortet" + +#: management.py:12 +msgid "Reply Received" +msgstr "Antwort erhalten" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "Du hast eine Antwort auf eine Nachricht erhalten" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Nachricht gelöscht" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "Du hast eine Nachricht gelöscht" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Nachricht wiederhergestellt" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "Du hast eine Nachricht wiederhergestellt" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Absender" + +#: models.py:53 +msgid "Parent message" +msgstr "Übergeordnete Nachricht" + +#: models.py:54 +msgid "sent at" +msgstr "gesendet am" + +#: models.py:55 +msgid "read at" +msgstr "gelesen am" + +#: models.py:56 +msgid "replied at" +msgstr "beantwortet am" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Vom Absender gelöscht" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Vom Empfänger gelöscht" + +#: models.py:89 +msgid "Messages" +msgstr "Nachrichten" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Neue Nachricht: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Nachricht erfolgreich gesendet." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s schrieb:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Nachricht erfolgreich gelöscht." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Nachricht erfolgreich wiederhergestellt." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Posteingang" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Gesendete Nachrichten" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Neue Nachricht" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Papierkorb" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Nachricht verfassen" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Senden" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Erhalten" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Aktion" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "j. N Y, H:i" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "löschen" + +#: templates/messages/inbox.html:27 templates/messages/outbox.html:24 +#: templates/messages/trash.html:24 +msgid "No messages." +msgstr "Keine Nachrichten." + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Hallo %(recipient)s,\n" +"\n" +"du hast eine private Nachricht von %(sender)s mit\n" +"dem folgenden Inhalt erhalten:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Gesendet von %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Antworten" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Gesendet" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Gelöschte Nachrichten" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Datum" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "wiederherstellen" + +#: templates/messages/trash.html:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Gelöschte Nachrichten werden in unregelmäßigen Intervallen entfernt, verlass " +"dich nicht drauf, dass diese Nachrichten hier lange gespeichert werden." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Nachrichtendetails" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Löschen" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "" +"Du hast die Nachricht %(message)s gelöscht." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"Du hast die Nachricht %(message)s von %" +"(message_sender)s erhalten." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "" +"Du hast die Nachricht %(message)s " +"wiederhergestellt." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"Du hast auf die Nachricht %(message_parent_msg)" +"s von %(message_recipient)s geantwortet." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "" +"%(message_sender)s hat dir eine Antwort auf %(message_parent_msg)s gesendet." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"Du hast die Nachricht %(message)s an %" +"(message_recipient)s gesendet." diff --git a/django_messages/locale/el/LC_MESSAGES/django.mo b/django_messages/locale/el/LC_MESSAGES/django.mo new file mode 100644 index 0000000..cecfd01 Binary files /dev/null and b/django_messages/locale/el/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/el/LC_MESSAGES/django.po b/django_messages/locale/el/LC_MESSAGES/django.po new file mode 100644 index 0000000..fe21014 --- /dev/null +++ b/django_messages/locale/el/LC_MESSAGES/django.po @@ -0,0 +1,291 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: 2009-09-08 15:50+0200\n" +"Last-Translator: markos \n" +"Language-Team: Markos Gogoulos \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Αποδέκτης" + +#: admin.py:15 +msgid "group" +msgstr "ομάδα" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "Δημιουργεί το μήνυμα προαιρετικά για όλους τους χρήστες ή για ομάδα χρηστών." + +#: admin.py:23 +msgid "All users" +msgstr "Όλοι οι χρήστες" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Μήνυμα" + +#: admin.py:45 +msgid "Date/time" +msgstr "Ημερομηνία/Ώρα" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Τα παρακάτω usernames δεν είναι σωστά: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Θέμα" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Κυρίως μέρος" + +#: management.py:9 +msgid "Message Received" +msgstr "Το μήνυμα ελήφθη " + +#: management.py:9 +msgid "you have received a message" +msgstr "έχετε λάβει ένα μήνυμα" + +#: management.py:10 +msgid "Message Sent" +msgstr "Το μήνυμα εστάλει" + +#: management.py:10 +msgid "you have sent a message" +msgstr "έχετε στείλει ένα μήνυμα" + +#: management.py:11 +msgid "Message Replied" +msgstr "Το μήνυμα έχει απαντηθεί" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "έχετε απαντήσει σε ένα μήνυμα" + +#: management.py:12 +msgid "Reply Received" +msgstr "Η απάντηση ελήφθη" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "έχετε λάβει μια απάντηση σε ένα μήνυμα" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Το μήνυμα έχει διαγραφεί" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "διαγράψατε ένα μήνυμα" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Το μήνυμα έχει ανακληθεί" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "έχετε ανακτήσει ένα μήνυμα" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Αποστολέας" + +#: models.py:53 +msgid "Parent message" +msgstr "Μήνυμα Γονέας" + +#: models.py:54 +msgid "sent at" +msgstr "εστάλει στις" + +#: models.py:55 +msgid "read at" +msgstr "αναγνώστηκε στις" + +#: models.py:56 +msgid "replied at" +msgstr "απαντήθηκε στις" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Ο αποστολέας το διέγραψε στις" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Ο αποδέκτης το διέγραψε στις" + +#: models.py:89 +msgid "Messages" +msgstr "Μηνύματα" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "καινούργιο μήνυμα: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Το μήνυμα έχει αποσταλεί με επιτυχία." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s έγραψε:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Το μήνυμα διεγράφει." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Το μήνυμα έχει ανακληθεί επιτυχημένα" + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Εισερχόμενα" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Σταλμένα μηνύματα" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Νέο μήνυμα" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Άχρηστα" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Συντάξτε μήνυμα" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Στείλτε" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Ελήφθη" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Ενέργεια" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "DATETIME_FORMAT" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "διαγράφω" + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Γειά χαρά %(recipient)s,\n" +"\n" +"έχετε λάβει ένα προσωπικό μήνυμα από τον/την %(sender)s με\n" +"το ακόλουθο περιεχόμενο:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Εστάλει απο %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Απαντήστε" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Απεσταλμένα" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Διαγραμμένα μηνύματα" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Ημερομηνία" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "ξεδιαγράψτε" + +#: templates/messages/trash.html:23 +msgid "Deleted Messages are removed from the trash at unregular intervals, don't rely on this feature for long-time storage." +msgstr "Τα διαγραμμένα μηνύματα απομακρύνονται απο τα Άχρηστα σε μη τακτά διαστήματα, μη βασίζεστε σε αυτά για μακροχρόνια αποθήκευση." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Προβολή Μηνύματος" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Διαγραφή" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "You have deleted the message %(message)s." +msgstr "Έχετε διαγράψει το μήνυμα %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "You have received the message %(message)s from %(message_sender)s." +msgstr "Έχετε λάβει το μήνυμα %(message)s από τον/την %(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "You have recovered the message %(message)s." +msgstr "Έχετε ανακτήσει το μήνυμα %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "You have replied to %(message_parent_msg)s from %(message_recipient)s." +msgstr "Έχετε απαντήσει στο %(message_parent_msg)sαπό τον/την %(message_recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "Ο/η %(message_sender)s σας έστειλε μια απάντηση στο %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "You have sent the message %(message)s to %(message_recipient)s." +msgstr "Έχετε στείλει το μήνυμα %(message)s στον/στην %(message_recipient)s." diff --git a/django_messages/locale/es/LC_MESSAGES/django.mo b/django_messages/locale/es/LC_MESSAGES/django.mo new file mode 100644 index 0000000..7805790 Binary files /dev/null and b/django_messages/locale/es/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/es/LC_MESSAGES/django.po b/django_messages/locale/es/LC_MESSAGES/django.po new file mode 100644 index 0000000..49d27b3 --- /dev/null +++ b/django_messages/locale/es/LC_MESSAGES/django.po @@ -0,0 +1,314 @@ +# django-messages in Spanish. +# django-messages en Español. +# Copyright (C) 2008 +# This file is distributed under the same license as the django-messages package. +# Maria Guadalupe Paz Urrea , 2008. +# Alfonso Bernardo Harita Rascón , 2008. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Destinatario" + +#: admin.py:15 +msgid "group" +msgstr "" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "" + +#: admin.py:23 +msgid "All users" +msgstr "" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Mensaje" + +#: admin.py:45 +#, fuzzy +msgid "Date/time" +msgstr "Fecha" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Los siguientes usuarios son incorrectos: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Asunto" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Cuerpo" + +#: management.py:9 +msgid "Message Received" +msgstr "Mensaje Recibido" + +#: management.py:9 +msgid "you have received a message" +msgstr "ha recibido un mensaje" + +#: management.py:10 +msgid "Message Sent" +msgstr "Mensaje Enviado" + +#: management.py:10 +msgid "you have sent a message" +msgstr "ha enviado un mensaje" + +#: management.py:11 +msgid "Message Replied" +msgstr "Mensaje Respondido" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "ha respondido un mensaje" + +#: management.py:12 +msgid "Reply Received" +msgstr "Respuesta Recibida" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "ha recibido una respuesta a un mensaje" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Mensaje Eliminado" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "ha eliminado un mensaje" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Mensaje Recuperado" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "ha recuperado un mensaje" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Emisor" + +#: models.py:53 +msgid "Parent message" +msgstr "Mensaje padre" + +#: models.py:54 +msgid "sent at" +msgstr "enviado" + +#: models.py:55 +msgid "read at" +msgstr "leído" + +#: models.py:56 +msgid "replied at" +msgstr "respondido" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Emisor borrado" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Destinatario borrado" + +#: models.py:89 +msgid "Messages" +msgstr "Mensajes" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Nuevo Mensaje: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Se envió con éxito el mensaje." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s escribió:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Se eliminó con éxito el mensaje." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Se recuperó con éxito el mensaje." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Bandeja de entrada" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Mensajes Enviados" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Nuevo Mensaje" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Papelera" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Redactar Mensaje" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Enviar" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Recibido" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Acción" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "eliminar" + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Hola %(recipient)s,\n" +"\n" +"ha recibido un mensaje de %(sender)s con\n" +"el siguiente contenido:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Enviado desde %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Responder" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Enviado" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Mensajes Eliminados" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Fecha" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "recuperar" + +#: templates/messages/trash.html:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Los Mensajes Eliminados son borrados de la Papelera a intérvalos irregulares," +"no se confíe en esta característica para almacenamiento a largo plazo." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Ver Mensaje" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Eliminar" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "ha borrado el mensaje %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"ha recibido el mensaje %(message)s de %" +"(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "ha recuperado el mensaje %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"ha respondido a %(message_parent_msg)s de %" +"(message_recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "" +"%(message_sender)s le ha enviado una respuesta a %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"ha enviado el mensaje %(message)s a %" +"(message_recipient)s." diff --git a/django_messages/locale/es_AR/LC_MESSAGES/django.mo b/django_messages/locale/es_AR/LC_MESSAGES/django.mo new file mode 100644 index 0000000..d0d9df8 Binary files /dev/null and b/django_messages/locale/es_AR/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/es_AR/LC_MESSAGES/django.po b/django_messages/locale/es_AR/LC_MESSAGES/django.po new file mode 100644 index 0000000..6de0f0f --- /dev/null +++ b/django_messages/locale/es_AR/LC_MESSAGES/django.po @@ -0,0 +1,312 @@ +# django-messages in Spanish Argentina. +# django-messages en Español Argentina. +# Copyright (C) 2008 +# This file is distributed under the same license as the django-messages package. +# Cecilia Lorena Puccinelli , 2008. +# Juan José Conti , 2008. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Destinatario" + +#: admin.py:15 +msgid "group" +msgstr "" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "" + +#: admin.py:23 +msgid "All users" +msgstr "" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Mensaje" + +#: admin.py:45 +#, fuzzy +msgid "Date/time" +msgstr "Fecha" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Asunto" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Cuerpo" + +#: management.py:9 +msgid "Message Received" +msgstr "Mensaje Recibido" + +#: management.py:9 +msgid "you have received a message" +msgstr "ha recibido un mensaje" + +#: management.py:10 +msgid "Message Sent" +msgstr "Mensaje Enviado" + +#: management.py:10 +msgid "you have sent a message" +msgstr "ha enviado un mensaje" + +#: management.py:11 +msgid "Message Replied" +msgstr "Mensaje Respondido" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "ha respondido un mensaje" + +#: management.py:12 +msgid "Reply Received" +msgstr "Respuesta Recibida" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "ha recibido una respuesta a un mensaje" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Mensaje Eliminado" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "ha eliminado un mensaje" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Mensaje Recuperado" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "ha recuperado un mensaje" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Emisor" + +#: models.py:53 +msgid "Parent message" +msgstr "Mensaje padre" + +#: models.py:54 +msgid "sent at" +msgstr "enviado" + +#: models.py:55 +msgid "read at" +msgstr "leído" + +#: models.py:56 +msgid "replied at" +msgstr "respondido" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Emisor borrado" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Destinatario borrado" + +#: models.py:89 +msgid "Messages" +msgstr "Mensajes" + +#: utils.py:27 +#, fuzzy, python-format +msgid "New Message: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Se envió con éxito el mensaje." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s escribió:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Se eliminó con éxito el mensaje." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Se recuperó con éxito el mensaje." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Bandeja de entrada" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Mensajes Enviados" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Nuevo Mensaje" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Papelera" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Redactar Mensaje" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Enviar" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Recibido" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Acción" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "eliminar" + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Enviado desde %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Responder" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Enviado" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Mensajes Eliminados" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Fecha" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "recuperar" + +#: templates/messages/trash.html:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Los Mensajes Eliminados son borrados de la Papelera a intérvalos irregulares," +"no se confíe en esta característica para almacenamiento a largo plazo." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Ver Mensaje" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Eliminar" + +#: templates/notification/messages_deleted/notice.html:1 +#, fuzzy, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "ha eliminado el mensaje %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, fuzzy, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "ha recibido un mensaje de %(sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, fuzzy, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "ha recuperado el mensaje %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, fuzzy, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "ha respondido a %(message)s de %(recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, fuzzy, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "%(sender)s le ha enviado una respuesta a %(message)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" + +#~ msgid "There is no user with this username." +#~ msgstr "No hay ningún usuario con ese nombre." + +#~ msgid "you have sent a message to %(recipient)s." +#~ msgstr "ha enviado un mensaje a %(recipient)s." + +#~ msgid "New Message:" +#~ msgstr "Mensaje Nuevo" diff --git a/django_messages/locale/fa/LC_MESSAGES/django.mo b/django_messages/locale/fa/LC_MESSAGES/django.mo new file mode 100644 index 0000000..a61d884 Binary files /dev/null and b/django_messages/locale/fa/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/fa/LC_MESSAGES/django.po b/django_messages/locale/fa/LC_MESSAGES/django.po new file mode 100644 index 0000000..b7932d4 --- /dev/null +++ b/django_messages/locale/fa/LC_MESSAGES/django.po @@ -0,0 +1,357 @@ +# django-messages fari translations +# Copyright (C) 2012 Hassan Zamani +# This file is distributed under the same license as the djagno-messages package. +# Hassan Zamani , 2012. +# +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-06-27 12:44+0430\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"First-Translator: Mohammad Hamidi Esfahani" +"Last-Translator: Hassan Zamani \n" +"Language-Team: LANGUAGE \n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0\n" + +#: admin.py:19 forms.py:20 models.py:52 +#: templates/django_messages/outbox.html:8 +#: templates/django_messages/view.html:12 +msgid "Recipient" +msgstr "گیرنده" + +#: admin.py:21 +msgid "group" +msgstr "گروه" + +#: admin.py:22 +msgid "Creates the message optionally for all users or a group of users." +msgstr "ارسال پیام به همه کاربران یا گروهی از آن‌ها." + +#: admin.py:29 +msgid "All users" +msgstr "تمامی کاربران" + +#: admin.py:44 models.py:88 +msgid "Message" +msgstr "پیام" + +#: admin.py:51 +msgid "Date/time" +msgstr "تاریخ/ساعت" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "این کاربرها صحیح نمی‌باشند: %(users)s" + +#: forms.py:21 models.py:49 templates/django_messages/inbox.html:8 +#: templates/django_messages/outbox.html:8 +#: templates/django_messages/trash.html:8 +#: templates/django_messages/view.html:6 +msgid "Subject" +msgstr "موضوع" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "متن" + + +#: management.py:9 +msgid "Message Received" +msgstr "پیام دریافت‌شد" + +#: management.py:9 +msgid "you have received a message" +msgstr "شما یک پیام دریافت کرده‌اید" + +#: management.py:10 +msgid "Message Sent" +msgstr "پیام ارسال‌شد" + +#: management.py:10 +msgid "you have sent a message" +msgstr "شما یک پیام ارسال کرده‌اید" + +#: management.py:11 +msgid "Message Replied" +msgstr "پیام پاسخ داده‌شد" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "شما به یک پیام پاسخ دادید" + +#: management.py:12 +msgid "Reply Received" +msgstr "پاسخ دریافت‌شد" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "شما پاسخی به یک پیام دریافت کرده‌اید" + +#: management.py:13 +msgid "Message Deleted" +msgstr "پیام حذف گردید" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "شما یک پیام حذف کردید" + +#: management.py:14 +msgid "Message Recovered" +msgstr "پیام بازیابی‌شد" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "شما یک پیام را بازیابی کردید" + +#: models.py:51 templates/django_messages/inbox.html:8 +#: templates/django_messages/trash.html:8 +#: templates/django_messages/view.html:8 +msgid "Sender" +msgstr "فرستنده" + +#: models.py:53 +msgid "Parent message" +msgstr "پیام مرجع" + +#: models.py:54 +msgid "sent at" +msgstr "ارسال شده در" + +#: models.py:55 +msgid "read at" +msgstr "خوانده شده در" + +#: models.py:56 +msgid "replied at" +msgstr "پاسخ داده شده در" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "فرستنده حذف‌شده در" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "گیرنده خذف‌شده در" + +#: models.py:89 +msgid "Messages" +msgstr "پیام ها" + +#: utils.py:26 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s گفت:\n" +"%(body)s" + +#: utils.py:54 +#, python-format +msgid "Re%(prefix)s: %(subject)s" +msgstr "پاسخ%(prefix)s: %(subject)s" + +#: utils.py:60 +#, python-format +msgid "New Message: %(subject)s" +msgstr "پیام جدید: %(subject)s" + +#: views.py:78 views.py:114 +msgid "Message successfully sent." +msgstr "پیام با موفقیت ارسال‌شد." + +#: views.py:121 +#, python-format +msgid "Re: %(subject)s" +msgstr "پاسخ: %(subject)s" + +#: views.py:157 +msgid "Message successfully deleted." +msgstr "پیام با موفقیت حذف‌شد." + +#: views.py:184 +msgid "Message successfully recovered." +msgstr "پیام با موفقیت بازیابی‌شد." + +#: templates/django_messages/base.html:8 +#: templates/django_messages/inbox.html:4 +#: templates/django_messages/new_message.html:10 +msgid "Inbox" +msgstr "صندوق دریافتی" + +#: templates/django_messages/base.html:9 +#: templates/django_messages/outbox.html:4 +msgid "Sent Messages" +msgstr "پیام‌های ارسال‌شده" + +#: templates/django_messages/base.html:10 +msgid "New Message" +msgstr "پیام جدید" + +#: templates/django_messages/base.html:11 +msgid "Trash" +msgstr "پیام‌های حذف‌شده" + +#: templates/django_messages/compose.html:4 +msgid "Compose Message" +msgstr "ایجاد پیام جدید" + +#: templates/django_messages/compose.html:10 +msgid "Send" +msgstr "بفرست" + +#: templates/django_messages/inbox.html:8 +msgid "Received" +msgstr "دریافت‌شد" + +#: templates/django_messages/inbox.html:8 +#: templates/django_messages/outbox.html:8 +#: templates/django_messages/trash.html:8 +msgid "Action" +msgstr "عمل" + +#: templates/django_messages/inbox.html:20 +#: templates/django_messages/outbox.html:17 +#: templates/django_messages/trash.html:17 +#: templates/django_messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "" + +#: templates/django_messages/inbox.html:21 +#: templates/django_messages/outbox.html:18 +msgid "delete" +msgstr "حذف" + +#: templates/django_messages/inbox.html:27 +#: templates/django_messages/outbox.html:24 +#: templates/django_messages/trash.html:24 +msgid "No messages." +msgstr "پیامی وجود ندارد." + +#: templates/django_messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "سلام %(recipient)s,\n" +"\n" +"شما یک پیام خصوصی از %(sender)s دریافت کرده‌اید:" + +#: templates/django_messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "ارسال شده از %(site_url)s" + +#: templates/django_messages/new_message.html:11 +#: templates/django_messages/view.html:18 +msgid "Reply" +msgstr "پاسخ" + +#: templates/django_messages/outbox.html:8 +msgid "Sent" +msgstr "ارسال‌شد" + +#: templates/django_messages/trash.html:4 +msgid "Deleted Messages" +msgstr "پیام های حذف‌شده" + +#: templates/django_messages/trash.html:8 +#: templates/django_messages/view.html:10 +msgid "Date" +msgstr "تاریخ" + +#: templates/django_messages/trash.html:18 +msgid "undelete" +msgstr "بازیابی" + +#: templates/django_messages/trash.html:27 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"پیام‌های حذف‌شده در بازه‌های زمانی مشخصی از اینجا حذف می‌شوند، بنابراین برای نگهداری طولانی مدت از این‌جا استفاده نکنید." + +#: templates/django_messages/view.html:4 +msgid "View Message" +msgstr "نمایش پیام" + +#: templates/django_messages/view.html:20 +msgid "Delete" +msgstr "حذف" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "شما پیام %(message)s را حذف کردید." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "شما پیام جدید %(message)s را از %(message_sender)s دریافت کردید." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "شما پیام %(message)s را بازیابی کردید." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "شما به پیام %(message_parent_msg)s از %(message_recipient)s پاسخ‌دادید." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "%(message_sender)s پاسخی به %(message_parent_msg)s برای شما ارسال کرده." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to " +"%(message_recipient)s." +msgstr "شما پیام %(message)s را به %(message_recipient)s ارسال‌کردید." + +#~ msgid "context" +#~ msgstr "متن پیام" + +#~ msgid "received at" +#~ msgstr "دریافت شده در" + +#~ msgid "deleted by sender at" +#~ msgstr "حذف شده توسط فرستنده در" + +#~ msgid "deleted by receiver at" +#~ msgstr "حذف شده توسط گیرنده در" + +#~ msgid "Message revert successfully" +#~ msgstr "پیام با موفقیت بازگردانی شد" + +#~ msgid "send message" +#~ msgstr "ارسال پیام" + +#~ msgid "date" +#~ msgstr "تاریخ" + +#~ msgid "revert" +#~ msgstr "بازگردانی" + +#~ msgid "deleted Messages will remove from trash step by step" +#~ msgstr "پیام های حذف شده در فواصل نامنظم از سطل زباله حذف می گردند" + +#~ msgid "not replied yet" +#~ msgstr "هنوز پاسخ داده نشده است" diff --git a/django_messages/locale/fr/LC_MESSAGES/django.mo b/django_messages/locale/fr/LC_MESSAGES/django.mo new file mode 100644 index 0000000..2d03c91 Binary files /dev/null and b/django_messages/locale/fr/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/fr/LC_MESSAGES/django.po b/django_messages/locale/fr/LC_MESSAGES/django.po new file mode 100644 index 0000000..207d87f --- /dev/null +++ b/django_messages/locale/fr/LC_MESSAGES/django.po @@ -0,0 +1,408 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-03-18 17:46+0100\n" +"PO-Revision-Date: 2008-08-09 21:58+0100\n" +"Last-Translator: Roland Frédéric \n" +"Language-Team: Frédéric Roland \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: French\n" + +#: admin.py:21 +msgid "group" +msgstr "groupe" + +#: admin.py:22 +msgid "Creates the message optionally for all users or a group of users." +msgstr "" +"Créé le message en option pour tous les utilisateurs ou un groupe " +"d'utilisateurs." + +#: admin.py:30 +msgid "All users" +msgstr "Tous les utilisateurs" + +#: admin.py:48 models.py:91 +msgid "Message" +msgstr "Message" + +#: admin.py:55 +msgid "Date/time" +msgstr "Date/heure" + +#: apps.py:6 models.py:92 +msgid "Messages" +msgstr "Messages" + +#: fields.py:56 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Les noms d'utilisateurs suivants sont incorrects : %(users)s" + +#: forms.py:18 models.py:55 templates/django_messages/outbox.html:10 +#: templates/django_messages/view.html:14 +msgid "Recipient" +msgstr "Destinataire" + +#: forms.py:19 models.py:52 templates/django_messages/inbox.html:10 +#: templates/django_messages/outbox.html:10 +#: templates/django_messages/trash.html:10 +#: templates/django_messages/view.html:8 +msgid "Subject" +msgstr "Sujet" + +#: forms.py:20 models.py:53 +msgid "Body" +msgstr "Message" + +#: management.py:9 +msgid "Message Received" +msgstr "Message Reçu" + +#: management.py:9 +msgid "you have received a message" +msgstr "vous avez reçu un message" + +#: management.py:10 +msgid "Message Sent" +msgstr "Message Envoyé" + +#: management.py:10 +msgid "you have sent a message" +msgstr "vous avez envoyé un message" + +#: management.py:11 +msgid "Message Replied" +msgstr "Message Répondu" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "vous avez répondu à un message" + +#: management.py:12 +msgid "Reply Received" +msgstr "Réponse Reçue" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "vous avez reçu une réponse à un message" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Message Effacé" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "vous avez effacé un message" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Message Récupéré" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "vous avez récupéré un message" + +#: models.py:54 templates/django_messages/inbox.html:10 +#: templates/django_messages/trash.html:10 +#: templates/django_messages/view.html:10 +msgid "Sender" +msgstr "Expéditeur" + +#: models.py:56 +msgid "Parent message" +msgstr "Message parent" + +#: models.py:57 +msgid "sent at" +msgstr "envoyé à" + +#: models.py:58 +msgid "read at" +msgstr "lu à" + +#: models.py:59 +msgid "replied at" +msgstr "répondu à" + +#: models.py:60 +msgid "Sender deleted at" +msgstr "Expéditeur effacé à" + +#: models.py:61 +msgid "Recipient deleted at" +msgstr "Destinataire effacé à" + +#: templates/django_messages/base.html:8 +#: templates/django_messages/inbox.html:6 +#: templates/django_messages/new_message.html:13 +msgid "Inbox" +msgstr "Boîte de réception" + +#: templates/django_messages/base.html:9 +#: templates/django_messages/outbox.html:6 +msgid "Sent Messages" +msgstr "Messages envoyés" + +#: templates/django_messages/base.html:10 +msgid "New Message" +msgstr "Nouveau Message" + +#: templates/django_messages/base.html:11 +msgid "Trash" +msgstr "Poubelle" + +#: templates/django_messages/compose.html:4 +msgid "Compose Message" +msgstr "Composer Message" + +#: templates/django_messages/compose.html:10 +msgid "Send" +msgstr "Envoyer" + +#: templates/django_messages/inbox.html:10 +msgid "Received" +msgstr "Reçu" + +#: templates/django_messages/inbox.html:10 +#: templates/django_messages/outbox.html:10 +#: templates/django_messages/trash.html:10 +msgid "Action" +msgstr "Action" + +#: templates/django_messages/inbox.html:22 +#: templates/django_messages/outbox.html:19 +#: templates/django_messages/trash.html:19 +#: templates/django_messages/view.html:13 +msgid "DATETIME_FORMAT" +msgstr "j F Y, G:i" + +#: templates/django_messages/inbox.html:23 +#: templates/django_messages/outbox.html:20 +msgid "delete" +msgstr "effacer" + +#: templates/django_messages/inbox.html:29 +#: templates/django_messages/outbox.html:26 +#: templates/django_messages/trash.html:26 +msgid "No messages." +msgstr "Aucun message." + +#: templates/django_messages/new_message.html:4 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Bonjour %(recipient)s,\n" +"\n" +"vous avez reçu un message privé de %(sender)s avec\n" +"le contenu suivant :" + +#: templates/django_messages/new_message.html:12 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Envoyé depuis %(site_url)s" + +#: templates/django_messages/new_message.html:14 +#: templates/django_messages/view.html:20 +msgid "Reply" +msgstr "Répondre" + +#: templates/django_messages/outbox.html:10 +msgid "Sent" +msgstr "Envoyé" + +#: templates/django_messages/trash.html:6 +msgid "Deleted Messages" +msgstr "Messages Effacés" + +#: templates/django_messages/trash.html:10 +#: templates/django_messages/view.html:12 +msgid "Date" +msgstr "Date" + +#: templates/django_messages/trash.html:20 +msgid "undelete" +msgstr "restaurer" + +#: templates/django_messages/trash.html:29 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Les Messages Effacés sont enlevé de la poubelle a intervalles irréguliers, " +"ne comptez pas sur cette fonctionnalité pour du stockage à long terme." + +#: templates/django_messages/view.html:6 +msgid "View Message" +msgstr "Voir Message" + +#: templates/django_messages/view.html:22 +msgid "Delete" +msgstr "Effacer" + +#: templates/notification/messages_deleted/full.txt:1 +#, python-format +msgid "You have deleted the message '%(message)s'." +msgstr "Vous avez effacé le message '%(message)s'." + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "" +"Vous avez effacé le message %(message)s." + +#: templates/notification/messages_received/full.txt:1 +#, fuzzy, python-format +#| msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgid "" +"%(message_sender)s has sent you a message:\n" +"\n" +"%(message)s\n" +"\n" +"%(message_body)s\n" +"\n" +"http://%(current_site)s%(message_url)s" +msgstr "" +"%(message_sender)s vous a envoyé une réponse à %(message_parent_msg)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"Vous avez reçu le message %(message)s de " +"%(message_sender)s." + +#: templates/notification/messages_received/short.txt:1 +#: templates/notification/messages_reply_received/short.txt:1 +#, python-format +msgid "%(notice)s by %(message_sender)s" +msgstr "" + +#: templates/notification/messages_recovered/full.txt:1 +#, python-format +msgid "You have recovered the message '%(message)s'." +msgstr "vous avez récupéré le message '%(message)s'." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "" +"Vous avez récupéré le message %(message)s." + +#: templates/notification/messages_replied/full.txt:1 +#, python-format +msgid "" +"You have replied to '%(message_parent_msg)s' from %(message_recipient)s." +msgstr "" +"Vous avez répondu à '%(message_parent_msg)s' de %(message_recipient)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"Vous avez répondu à %(message_parent_msg)s " +"de %(message_recipient)s." + +#: templates/notification/messages_reply_received/full.txt:1 +#, python-format +msgid "" +"%(message_sender)s replied to '%(message_parent_msg)s':\n" +"\n" +"%(message)s\n" +"\n" +"%(message_body)s\n" +"\n" +"http://%(current_site)s%(message_url)s" +msgstr "" + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "" +"%(message_sender)s vous a envoyé une réponse à %(message_parent_msg)s." + +#: templates/notification/messages_sent/full.txt:1 +#, python-format +msgid "You have sent the message '%(message)s' to %(message_recipient)s." +msgstr "Vous avez envoyé le message '%(message)s' à %(message_recipient)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to " +"%(message_recipient)s." +msgstr "" +"Vous avez envoyé le message %(message)s à " +"%(message_recipient)s." + +#: utils.py:26 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s a écrit:\n" +"%(body)s" + +#: utils.py:54 +#, fuzzy, python-format +#| msgid "Re: %(subject)s" +msgid "Re%(prefix)s: %(subject)s" +msgstr "Re: %(subject)s" + +#: utils.py:60 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Nouveau message: %(subject)s" + +#: views.py:79 views.py:116 +msgid "Message successfully sent." +msgstr "Message envoyé avec succès." + +#: views.py:98 views.py:194 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:159 +msgid "Message successfully deleted." +msgstr "Message effacé avec succès." + +#: views.py:186 +msgid "Message successfully recovered." +msgstr "Message récupéré avec succès." + +#~ msgid "There is no user with this username." +#~ msgstr "Il n'y a pas d'utilisateur avec ce nom d'utilisateur." + +#~ msgid "New Message:" +#~ msgstr "Nouveau Message:" + +#~ msgid "You have received a message from %(message_sender)s." +#~ msgstr "Vous avez reçu un message de %(message_sender)s." + +#~ msgid "" +#~ "%(message_sender)s has sent you a reply to " +#~ "'%(message_parent_msg)s'." +#~ msgstr "" +#~ "%(message_sender)s vous a envoyé une " +#~ "réponse à '%(message_parent_msg)s'." diff --git a/django_messages/locale/it/LC_MESSAGES/django.mo b/django_messages/locale/it/LC_MESSAGES/django.mo new file mode 100644 index 0000000..451a8aa Binary files /dev/null and b/django_messages/locale/it/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/it/LC_MESSAGES/django.po b/django_messages/locale/it/LC_MESSAGES/django.po new file mode 100644 index 0000000..caf7f9d --- /dev/null +++ b/django_messages/locale/it/LC_MESSAGES/django.po @@ -0,0 +1,317 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Sergio Morstabilini , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-03 12:31-0700\n" +"PO-Revision-Date: 2010-03-03 21:58+0100\n" +"Last-Translator: Sergio Morstabilini \n" +"Language-Team: Sergio Morstabilini \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Italian\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Destinatario" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Messaggio" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Oggetto" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Messaggio" + +#: management.py:9 +msgid "Message Received" +msgstr "Messaggio Ricevuto" + +#: management.py:9 +msgid "you have received a message" +msgstr "hai ricevuto un messaggio" + +#: management.py:10 +msgid "Message Sent" +msgstr "Messaggio Inviato" + +#: management.py:10 +msgid "you have sent a message" +msgstr "hai inviato un messaggio" + +#: management.py:11 +msgid "Message Replied" +msgstr "Risposta Inviata" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "hai risposto ad un messaggio" + +#: management.py:12 +msgid "Reply Received" +msgstr "Risposta Ricevuta" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "hai ricevuto una risposta ad un messaggio" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Messaggio Cancellato" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "hai cancellato un messaggio" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Messaggio Ripristinato" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "hai ripristinato un messaggio" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Mittente" + +#: models.py:53 +msgid "Parent message" +msgstr "In risposta a" + +#: models.py:54 +msgid "sent at" +msgstr "inviato il" + +#: models.py:55 +msgid "read at" +msgstr "letto il" + +#: models.py:56 +msgid "replied at" +msgstr "risposto il" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Mittente cancellato il" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Destinatario cancellato il" + +#: models.py:89 +msgid "Messages" +msgstr "Messaggi" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Messaggio inviato con successo." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s ha scritto:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Messaggio cancellato con successo." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Messaggio recuperato con successo." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Messaggi Ricevuti" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Messaggi Inviati" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Nuovo Messaggio" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Cestino" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Scrivi Messaggio" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Invia" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Ricevuto" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Azione" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "j F Y, G:i" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "cancella" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Spedito da %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Rispondi" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Spedito" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Messaggi Cancellati" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Data" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "ripristina" + +#: templates/messages/trash.html:23 +msgid "Deleted Messages are removed from the trash at unregular intervals, don't rely on this feature for long-time storage." +msgstr "I messaggi cancellati sono rimossi dal cestino ad intervalli irregolari, non affidatevi a questa cartella per salvare messaggi a lungo termine." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Vedi Messaggio" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Cancella" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "You have deleted the message %(message)s." +msgstr "Hai cancellato il messaggio %(message)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "You have recovered the message %(message)s." +msgstr "Hai ripristinato il messaggio %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "You have received the message %(message)s from %(message_sender)s." +msgstr "Hai ricevuto il messaggio %(message)s da %(message_sender)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "%(message_sender)s ha mandato una risposta a %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "You have sent the message %(message)s to %(message_recipient)s." +msgstr "Hai inviato il messaggio %(message)s a %(message_recipient)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "You have replied to %(message_parent_msg)s from %(message_recipient)s." +msgstr "Hai risposto a %(message_parent_msg)s ricevuto da %(message_recipient)s." + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Ciao %(recipient)s,\n" +"\n" +"hai ricevuto un messaggio privato da %(sender)s con\n" +"il seguente contenuto:" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "Crea il messaggio facoltativamente per tutti gli utenti o per un gruppo di utenti." + +#: admin.py:15 +msgid "group" +msgstr "gruppo" + +#: admin.py:23 +msgid "All users" +msgstr "Tutti gli utenti" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "I seguenti nomi utente sono incorretti: %(users)s" + +#: admin.py:45 +msgid "Date/time" +msgstr "Data/ora" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Nuovo Messaggio: %(subject)s" + +#~ msgid "There is no user with this username." +#~ msgstr "Non esiste un utente con questo nome." + +#~ msgid "New Message:" +#~ msgstr "Nuovo Messaggio:" + +#~ msgid "You have deleted the message '%(message)s'." +#~ msgstr "Hai cancellato il messaggio '%(message)s'." + +#~ msgid "You have received a message from %(message_sender)s." +#~ msgstr "Hai ricevuto un messaggio da %(message_sender)s." + +#~ msgid "You have recovered the message '%(message)s'." +#~ msgstr "Hai ripristinato il messaggio '%(message)s'." + +#~ msgid "You have replied to '%(message_parent_msg)s' from %(message_recipient)s." +#~ msgstr "Hai risposto a '%(message_parent_msg)s' ricevuto da %(message_recipient)s." + +#~ msgid "%(message_sender)s has sent you a reply to '%(message_parent_msg)s'." +#~ msgstr "%(message_sender)s ha risposto a '%(message_parent_msg)s'." + +#~ msgid "You have sent the message '%(message)s' to %(message_recipient)s." +#~ msgstr "Hai spedito il messaggio '%(message)s' a %(message_recipient)s." diff --git a/django_messages/locale/ko/LC_MESSAGES/django.mo b/django_messages/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 0000000..1660a88 Binary files /dev/null and b/django_messages/locale/ko/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/ko/LC_MESSAGES/django.po b/django_messages/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 0000000..4e810c7 --- /dev/null +++ b/django_messages/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,292 @@ +# django-messages translation for Korean. +# Copyright (C) 2012 Jeong YunWon +# This file is distributed under the same license as the django-messages package. +# Jeong YunWon , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: 2012-02-04 10:58+0900\n" +"Last-Translator: Jeong YunWon \n" +"Language-Team: Jeong YunWon \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Korean\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "받는이" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "쪽지" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "제목" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "내용" + +#: management.py:9 +msgid "Message Received" +msgstr "받은 시각" + +#: management.py:9 +msgid "you have received a message" +msgstr "쪽지를 받았습니다" + +#: management.py:10 +msgid "Message Sent" +msgstr "쪽지 보냄" + +#: management.py:10 +msgid "you have sent a message" +msgstr "쪽지를 보냈습니다" + +#: management.py:11 +msgid "Message Replied" +msgstr "쪽지 답장" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "쪽지에 답장하였습니다" + +#: management.py:12 +msgid "Reply Received" +msgstr "답장 받음" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "쪽지에 답장을 받았습니다" + +#: management.py:13 +msgid "Message Deleted" +msgstr "쪽지 지움" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "쪽지를 지웠습니다" + +#: management.py:14 +msgid "Message Recovered" +msgstr "쪽지 되살림" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "쪽지를 되살렸습니다" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "보낸이" + +#: models.py:53 +msgid "Parent message" +msgstr "이전 쪽지" + +#: models.py:54 +msgid "sent at" +msgstr "보낸 시각:" + +#: models.py:55 +msgid "read at" +msgstr "읽은 시각:" + +#: models.py:56 +msgid "replied at" +msgstr "답장 시각:" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "보낸이가 지운 시각:" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "받는이가 지운 시각:" + +#: models.py:89 +msgid "Messages" +msgstr "쪽지" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "쪽지를 보냈습니다." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s 님의 글:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "쪽지를 지웠습니다." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "쪽지를 되살렸습니다." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "받은 편지함" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "보낸 편지함" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "새 쪽지" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "휴지통" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "새 쪽지 쓰기" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "보내기" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "받은 시각" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "할일" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "Y-m-d G:i" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "지우기" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "%(site_url)s 에서 보냄" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "답장" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "보낸 시각" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "지운 쪽지" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "날짜" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "되살리기" + +#: templates/messages/trash.html:23 +msgid "Deleted Messages are removed from the trash at unregular intervals, don't rely on this feature for long-time storage." +msgstr "지운 쪽지는 비정기적으로 휴지통에서 완전히 삭제됩니다. 오래 보관해야 하는 쪽지에 이 기능을 사용하지 마세요." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "쪽지 보기" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "지우기" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "You have deleted the message %(message)s." +msgstr "%(message)s 지윘습니다." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "You have recovered the message %(message)s." +msgstr "%(message)s 되살렸습니다." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "You have received the message %(message)s from %(message_sender)s." +msgstr "%(message_sender)s 님에게 %(message)s 받았습니다." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "%(message_sender)s 님이 %(message_parent_msg)s 에 답장을 보냈습니다." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "You have sent the message %(message)s to %(message_recipient)s." +msgstr "%(message_recipient)s 님에게 %(message)s 보냈습니다." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "You have replied to %(message_parent_msg)s from %(message_recipient)s." +msgstr "%(message_recipient)s 님의 %(message_parent_msg)s 에 답장하였습니다." + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"%(recipient)s 님\n" +"\n" +"%(sender)s 님께 다음 내용으로 쪽지를 받았습니다:" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "Creates the message optionally for all users or a group of users." + +#: admin.py:15 +msgid "group" +msgstr "그룹" + +#: admin.py:23 +msgid "All users" +msgstr "모든 사용자" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "올바르지 않은 사용자 이름을 입력하였습니다: %(users)s" + +#: admin.py:45 +msgid "Date/time" +msgstr "날짜/시각" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "새 쪽지: %(subject)s" + diff --git a/django_messages/locale/lt/LC_MESSAGES/django.mo b/django_messages/locale/lt/LC_MESSAGES/django.mo new file mode 100644 index 0000000..3760c76 Binary files /dev/null and b/django_messages/locale/lt/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/lt/LC_MESSAGES/django.po b/django_messages/locale/lt/LC_MESSAGES/django.po new file mode 100644 index 0000000..14a833f --- /dev/null +++ b/django_messages/locale/lt/LC_MESSAGES/django.po @@ -0,0 +1,320 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: 2015-03-24 10:53+0200\n" +"Last-Translator: Saulius Zemaitaitis \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Gavėjas" + +#: admin.py:15 +msgid "group" +msgstr "Grupė" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "" +"Sukuria žinutę visiems vartotojams arba grupei pasirinktinai " + + +#: admin.py:23 +msgid "All users" +msgstr "Visi vartotojai" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Žinutė" + +#: admin.py:45 +msgid "Date/time" +msgstr "Data/Laikas" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Šie vartotojų vardai yra neteisingi: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Tema" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Turinys" + +#: management.py:9 +msgid "Message Received" +msgstr "Gauta žinutė" + +#: management.py:9 +msgid "you have received a message" +msgstr "jūs gavote žinutę" + +#: management.py:10 +msgid "Message Sent" +msgstr "Žinutė Išsiųsta" + +#: management.py:10 +msgid "you have sent a message" +msgstr "jūs išsiuntėte žinutę" + +#: management.py:11 +msgid "Message Replied" +msgstr "Žinutė atsakyta" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "jūs atsakėte į žinutę" + +#: management.py:12 +msgid "Reply Received" +msgstr "Gautas atsakymas" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "jūs gavote atsakymą į žinutę" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Žinutė ištrinta" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "jūs ištrynėte žinutę" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Žinutė Atstatyta" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "jūs atstatėte ištrintą žinutę" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Siuntėjas" + +#: models.py:53 +msgid "Parent message" +msgstr "Pirminė žinutė" + +#: models.py:54 +msgid "sent at" +msgstr "išsiųsta" + +#: models.py:55 +msgid "read at" +msgstr "perskaityta" + +#: models.py:56 +msgid "replied at" +msgstr "atsakyta" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Siuntėjas ištrynė" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Gavėjas ištrynė" + +#: models.py:89 +msgid "Messages" +msgstr "Žinutės" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Nauja žinutė: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Žinutė sėkmingai išsiųsta." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s parašė:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Ats: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Žinutė sėkmingai ištrinta." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Žinutė sėkmingai atstatyta." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Gautos" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Išsiųstos žinutės" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Nauja žinutė" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Ištrintos" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Kurti žinutę" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Siųsti" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Gauta" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Veiksmas" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "Y j. N, H:i" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "ištrinti" + +#: templates/messages/inbox.html:27 templates/messages/outbox.html:24 +#: templates/messages/trash.html:24 +msgid "No messages." +msgstr "Žinučių nėra." + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"%(recipient)s,\n" +"\n" +"Gavote asmeninę žinutę nuo %(sender)s su\n" +"šiuo turiniu:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Siųsta iš %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Atsakyti" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Išsiųsta" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Ištrintos žinutės" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Data" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "atstatyti" + +#: templates/messages/trash.html:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Ištrintos žinutės pašalinamos periodiškai, nelaikykite ilgalaikių žinučių " +"šiukšliadėžėje." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Peržiūrėti žinutę" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Ištrinti" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "" +"Ištrynėte žinutę %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"Gavote žinutę %(message)s nuo %" +"(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "" +"Atstatėte žinutę %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"Jūs atsakėte į žinutę %(message_parent_msg)" +"s nuo %(message_recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "" +"%(message_sender)s atsiuntė atsakymą į %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"Išsiuntėte žinutę %(message)s %" +"(message_recipient)s." diff --git a/django_messages/locale/nl/LC_MESSAGES/django.mo b/django_messages/locale/nl/LC_MESSAGES/django.mo new file mode 100755 index 0000000..cc71ed8 Binary files /dev/null and b/django_messages/locale/nl/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/nl/LC_MESSAGES/django.po b/django_messages/locale/nl/LC_MESSAGES/django.po new file mode 100755 index 0000000..c5b7981 --- /dev/null +++ b/django_messages/locale/nl/LC_MESSAGES/django.po @@ -0,0 +1,314 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: django-messages-0.4.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: krisje8 \n" +"Language-Team: krisje8 %(message)s." +msgstr "" +"Je hebt het bericht %(message)s verwijderd." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"Je hebt het bericht %(message)s ontvangen " +"van %(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "" +"Je hebt het bericht %(message)s hersteld." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"Je hebt op %(message_parent_msg)s van %" +"(message_recipient)s geantwoord." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "" +"%(message_sender)s heeft je een antwoord op %(message_parent_msg)s gestuurd." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"Je hebt het bericht %(message)s naar %" +"(message_recipient)s gestuurd." diff --git a/django_messages/locale/pl/LC_MESSAGES/django.mo b/django_messages/locale/pl/LC_MESSAGES/django.mo new file mode 100644 index 0000000..2279254 Binary files /dev/null and b/django_messages/locale/pl/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/pl/LC_MESSAGES/django.po b/django_messages/locale/pl/LC_MESSAGES/django.po new file mode 100644 index 0000000..bb15d5b --- /dev/null +++ b/django_messages/locale/pl/LC_MESSAGES/django.po @@ -0,0 +1,305 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Odbiorca" + +#: admin.py:15 +msgid "group" +msgstr "" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "" + +#: admin.py:23 +msgid "All users" +msgstr "" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Wiadomość" + +#: admin.py:45 +#, fuzzy +msgid "Date/time" +msgstr "Data" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Te nazwy użytkowników są niewłaściwe: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Temat" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Treść" + +#: management.py:9 +msgid "Message Received" +msgstr "Wiadomość otrzymana" + +#: management.py:9 +msgid "you have received a message" +msgstr "otrzymałeś wiadomość" + +#: management.py:10 +msgid "Message Sent" +msgstr "Wiadomość wysłana" + +#: management.py:10 +msgid "you have sent a message" +msgstr "wysłałeś wiadomość" + +#: management.py:11 +msgid "Message Replied" +msgstr "Odpowiedź wysłana" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "odpowiedziałeś na wiadomość" + +#: management.py:12 +msgid "Reply Received" +msgstr "Odpowiedź otrzymana" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "Dostałeś odpowiedź na wiadomość" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Wiadomość skasowana" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "skasowałeś wiadomość" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Wiadomość odzyskana" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "Odzyskałeś skasowaną wiadomość" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Nadawca" + +#: models.py:53 +msgid "Parent message" +msgstr "Poprzednia wiadomość" + +#: models.py:54 +msgid "sent at" +msgstr "wysłano" + +#: models.py:55 +msgid "read at" +msgstr "przeczytano" + +#: models.py:56 +msgid "replied at" +msgstr "odpowiedziano" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Nadawcę skasowano" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Adresata skasowano" + +#: models.py:89 +msgid "Messages" +msgstr "Wiadomości" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Nowa wiadomość: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Wiadomość wysłana" + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s napisał:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Odp: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Wiadomość skasowana" + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Wiadomość odzyskana" + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Wiadomości otrzymane" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Wiadomości wysłane" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Nowa wiadomość" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Kosz" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Stwórz wiadomość" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Wyślij" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Otrzymane" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "akcja" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "usuń" + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Witaj, %(recipient)s,\n" +"\n" +"otrzymałeś od użytkownika %(sender)s wiadomość\n" +"o następującej treści:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Wysłane z adresu %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Odpowiedz" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Wiadomości wysłane" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Wiadomości skasowane" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Data" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "odzyskaj" + +#: templates/messages/trash.html:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Wiadomości są usuwane z Kosza nieregularnie. Nie licz, że zastaniesz je " +"tutaj po dłuższym czasie" + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Zobacz wiadomość" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Usuń" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "" + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "" + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "" + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" diff --git a/django_messages/locale/pt_BR/LC_MESSAGES/django.mo b/django_messages/locale/pt_BR/LC_MESSAGES/django.mo new file mode 100644 index 0000000..83e5704 Binary files /dev/null and b/django_messages/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/pt_BR/LC_MESSAGES/django.po b/django_messages/locale/pt_BR/LC_MESSAGES/django.po new file mode 100644 index 0000000..ef36d4f --- /dev/null +++ b/django_messages/locale/pt_BR/LC_MESSAGES/django.po @@ -0,0 +1,314 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Diego Martins , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-02-01 10:24+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:19 forms.py:20 models.py:52 templates/messages/outbox.html:8 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Usuário" + +#: admin.py:21 +msgid "group" +msgstr "grupo" + +#: admin.py:22 +msgid "Creates the message optionally for all users or a group of users." +msgstr "Cria a mensagem para todos os usuários ou para um grupo de usuários." + +#: admin.py:29 +msgid "All users" +msgstr "Todos os usuários" + +#: admin.py:44 models.py:88 +msgid "Message" +msgstr "Mensagem" + +#: admin.py:51 +msgid "Date/time" +msgstr "Data/Hora" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Os seguintes nome de usuário estão incorretos: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:8 +#: templates/messages/outbox.html:8 templates/messages/trash.html:8 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Assunto" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Mensagem" + +#: management.py:9 +msgid "Message Received" +msgstr "Mensagem Recebida" + +#: management.py:9 +msgid "you have received a message" +msgstr "Você recebeu uma mensagem" + +#: management.py:10 +msgid "Message Sent" +msgstr "Mensagem Enviada" + +#: management.py:10 +msgid "you have sent a message" +msgstr "Você enviou uma mensagem" + +#: management.py:11 +msgid "Message Replied" +msgstr "Mensagem Respondida" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "Você respondeu uma mensagem" + +#: management.py:12 +msgid "Reply Received" +msgstr "Resposta Recebida" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "Você recebeu uma resposta de uma mensagem" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Mensagem excluída" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "Você excluiu uma mensagem" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Mensagem Recuperada" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "Você recuperou uma mensagem" + +#: models.py:51 templates/messages/inbox.html:8 +#: templates/messages/trash.html:8 templates/messages/view.html:8 +msgid "Sender" +msgstr "Remetente" + +#: models.py:53 +msgid "Parent message" +msgstr "Mensagem pai" + +#: models.py:54 +msgid "sent at" +msgstr "enviado à" + +#: models.py:55 +msgid "read at" +msgstr "lido à" + +#: models.py:56 +msgid "replied at" +msgstr "respondido à" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Remetente excluiu à" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Destinatário excluiu à" + +#: models.py:89 +msgid "Messages" +msgstr "Mensagens" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Nova Mensagem: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Mensagem enviada com sucesso." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s escreveu:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Mensagem excluida com sucesso." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Mensagem recuperada com sucesso." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Caixa de Entrada" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Mensagens Enviadas" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Nova Mensagem" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Lixeira" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Escrever Mensagem" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Enviar" + +#: templates/messages/inbox.html:8 +msgid "Received" +msgstr "Recebida" + +#: templates/messages/inbox.html:8 templates/messages/outbox.html:8 +#: templates/messages/trash.html:8 +msgid "Action" +msgstr "Ação" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +#: templates/messages/trash.html:17 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "DATETIME_FORMAT" + +#: templates/messages/inbox.html:21 templates/messages/outbox.html:18 +msgid "delete" +msgstr "excluir" + +#: templates/messages/inbox.html:27 templates/messages/outbox.html:24 +#: templates/messages/trash.html:24 +msgid "No messages." +msgstr "" + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Ola %(recipient)s,\n" +"\n" +"Você recebeu uma mensagem privada de %(sender)s com\n" +"o seguinte conteúdo:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Enviado de %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Responder" + +#: templates/messages/outbox.html:8 +msgid "Sent" +msgstr "Enviada" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Mensagens Excluidas" + +#: templates/messages/trash.html:8 templates/messages/view.html:10 +msgid "Date" +msgstr "Data" + +#: templates/messages/trash.html:18 +msgid "undelete" +msgstr "recuperar" + +#: templates/messages/trash.html:27 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Mensagens excluidas são removidas da lixeira em intervalos de tempo não " +"regulares,não use a lixeira para armazenar mensagens por muito tempo." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Ver Mensagem" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Excluir" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "Você excluiu a mensagem %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"Você recebeu a mensagem %(message)s de %" +"(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "Você recuperou a mensagem %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"Você respondeu a mensagem %(message_parent_msg)" +"s de %(message_recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "%(message_sender)s lhe enviou uma resposta a %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"Você enviou a mensagem %(message)s para %" +"(message_recipient)s." diff --git a/django_messages/locale/ro/LC_MESSAGES/django.mo b/django_messages/locale/ro/LC_MESSAGES/django.mo new file mode 100644 index 0000000..7993e9e Binary files /dev/null and b/django_messages/locale/ro/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/ro/LC_MESSAGES/django.po b/django_messages/locale/ro/LC_MESSAGES/django.po new file mode 100644 index 0000000..9098732 --- /dev/null +++ b/django_messages/locale/ro/LC_MESSAGES/django.po @@ -0,0 +1,317 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: 2014-05-14 16:59+0200\n" +"Last-Translator: Eduard Luca \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.4\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Destinatar" + +#: admin.py:15 +msgid "group" +msgstr "grup" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "" +"Creaza mesajul optional pentru toti utilizatorii sau pentru un grup de " +"utilizatori." + +#: admin.py:23 +msgid "All users" +msgstr "Toti utilizatorii" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Mesaj" + +#: admin.py:45 +msgid "Date/time" +msgstr "Data/ora" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Urmatoarele nume de utilizatori nu sunt corecte: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Subiect" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Continut" + +#: management.py:9 +msgid "Message Received" +msgstr "Mesaj Primit" + +#: management.py:9 +msgid "you have received a message" +msgstr "ati primit un mesaj nou" + +#: management.py:10 +msgid "Message Sent" +msgstr "Mesaj Trimis" + +#: management.py:10 +msgid "you have sent a message" +msgstr "ati trimis un mesaj" + +#: management.py:11 +msgid "Message Replied" +msgstr "Mesaj Raspuns" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "ati raspuns la un mesaj" + +#: management.py:12 +msgid "Reply Received" +msgstr "Raspuns Primit" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "ati primit un raspuns la un mesaj" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Mesaj Sters" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "ati sters un mesaj" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Mesaj Recuperat" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "ati recuperat un mesaj" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Expeditor" + +#: models.py:53 +msgid "Parent message" +msgstr "Mesaj parinte" + +#: models.py:54 +msgid "sent at" +msgstr "trimis" + +#: models.py:55 +msgid "read at" +msgstr "citit" + +#: models.py:56 +msgid "replied at" +msgstr "raspuns in" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Sters la expeditor" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Sters la destinatar" + +#: models.py:89 +msgid "Messages" +msgstr "Mesaje" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Mesaj Nou: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Mesaj trimis cu succes." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s a scris:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Mesaj sters cu succes." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Mesaj recuperat cu succes." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Primite" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Trimise" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Mesaj Nou" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Cos de Gunoi" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Scrie un Mesaj" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Trimite" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Primit" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Actiune" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "j. N Y, H:i" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "sterge" + +#: templates/messages/inbox.html:27 templates/messages/outbox.html:24 +#: templates/messages/trash.html:24 +msgid "No messages." +msgstr "Nu sunt mesaje." + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Buna %(recipient)s,\n" +"\n" +"ati primit un mesaj privat de la %(sender)s cu\n" +"continutul:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Trimis de %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Raspunde" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Trimis" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Mesaje Sterse" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Data" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "recupereaza" + +#: templates/messages/trash.html:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Mesajele sterse sunt inlaturate din sistem la intervale neregulate, nu va " +"bazati pe stocarea acestor date." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Vizualizati Mesaj" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Stergere" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "Ati sters mesajul %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"Ati primit mesajul %(message)s von " +"%(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "Ati recuperat mesajul %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"Ati raspuns la mesajul %(message_parent_msg)s von %(message_recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "%(message_sender)s a raspuns la mesajul %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to " +"%(message_recipient)s." +msgstr "" +"Ati trimis mesajul %(message)s an " +"%(message_recipient)s." diff --git a/django_messages/locale/ru/LC_MESSAGES/django.mo b/django_messages/locale/ru/LC_MESSAGES/django.mo new file mode 100644 index 0000000..90aeca4 Binary files /dev/null and b/django_messages/locale/ru/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/ru/LC_MESSAGES/django.po b/django_messages/locale/ru/LC_MESSAGES/django.po new file mode 100644 index 0000000..34b76b6 --- /dev/null +++ b/django_messages/locale/ru/LC_MESSAGES/django.po @@ -0,0 +1,315 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Michail Sychev m.sychev@axion-rti.ru, 2009 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Получатель" + +#: admin.py:15 +msgid "group" +msgstr "Группа" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "Создать сообщения опционально для всех пользователей или группы" + +#: admin.py:23 +msgid "All users" +msgstr "Все пользователи" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Сообщение" + +#: admin.py:45 +msgid "Date/time" +msgstr "Дата/Время" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Некорректные имена пользователей: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Тема" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Сообщение" + +#: management.py:9 +msgid "Message Received" +msgstr "Сообщение получено" + +#: management.py:9 +msgid "you have received a message" +msgstr "вы получили сообщение" + +#: management.py:10 +msgid "Message Sent" +msgstr "Сообщение отправлено" + +#: management.py:10 +msgid "you have sent a message" +msgstr "Вы отправили сообщение" + +#: management.py:11 +msgid "Message Replied" +msgstr "Сообщение отвечено" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "вы ответили на сообщение" + +#: management.py:12 +msgid "Reply Received" +msgstr "Ответ получен" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "вы получили ответ на сообщение" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Сообщение удалено" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "вы удалили сообщение" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Сообщение восстановлено" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "вы восстановили сообщение" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Отправитель" + +#: models.py:53 +msgid "Parent message" +msgstr "Родительское сообщение" + +#: models.py:54 +msgid "sent at" +msgstr "отправлено" + +#: models.py:55 +msgid "read at" +msgstr "прочитано" + +#: models.py:56 +msgid "replied at" +msgstr "отвечено" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Отправитель удалил" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Получатель удалил" + +#: models.py:89 +msgid "Messages" +msgstr "Сообщения" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Новое сообщение: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Сообщение успешно отправлено." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s написал:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Сообщение успешно удалено." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Сообщение успешно восстановлено." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Входящие" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Исходящие" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Новое сообщение" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Удалённые" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Новое сообщение" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Отправить" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Получено" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Действия" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "j. N Y, H:i" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "удалить" + +#: templates/messages/inbox.html:27 templates/messages/outbox.html:24 +#: templates/messages/trash.html:24 +msgid "No messages." +msgstr "Сообщений нет." + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Hallo %(recipient)s,\n" +"\n" +"Вы получили сообщение от %(sender)s\n" +"со следующим содержанием:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Отправлено %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Ответить" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Отправлено" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Удалённые сообщения" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Дата" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "восстановить" + +#: templates/messages/trash.html:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Удалённые сообщения очищаются из корзины через произвольные интервалы,не " +"используйте эту возможность как долгосрочное хранилище." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Просмотр сообщений" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Удалить" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "Вы удалили сообщение %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"Вы получили сообщение %(message)s от %" +"(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "Вы восстановили сообщение %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"Вы ответили на %(message_parent_msg)s от %" +"(message_recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "%(message_sender)s ответил на %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"Вы отправили сообщение %(message)s " +"получателям %(message_recipient)s." diff --git a/django_messages/locale/zh_CN/LC_MESSAGES/django.mo b/django_messages/locale/zh_CN/LC_MESSAGES/django.mo new file mode 100644 index 0000000..455e489 Binary files /dev/null and b/django_messages/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/zh_CN/LC_MESSAGES/django.po b/django_messages/locale/zh_CN/LC_MESSAGES/django.po new file mode 100644 index 0000000..6d91738 --- /dev/null +++ b/django_messages/locale/zh_CN/LC_MESSAGES/django.po @@ -0,0 +1,299 @@ +# django-messages in Simplify Chinese. +# django-messages 简体中文. +# Copyright (C) 2008 +# This file is distributed under the same license as the django-messages package. +# Gene Wu , 2008. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-10-04 12:00-0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: GENE WU \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: fields.py:39 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "以下用户名不正确: %(users)s" + +#: forms.py:23 models.py:53 templates\messages\outbox.html.py:7 +#: templates\messages\view.html.py:12 +msgid "Recipient" +msgstr "收信人" + +#: forms.py:24 models.py:50 templates\messages\inbox.html.py:7 +#: templates\messages\outbox.html.py:7 templates\messages\trash.html.py:7 +#: templates\messages\view.html.py:6 +msgid "Subject" +msgstr "主题" + +#: forms.py:25 models.py:51 +msgid "Body" +msgstr "消息主体" + +#: management.py:10 +msgid "Message Received" +msgstr "收到的消息" + +#: management.py:10 +msgid "you have received a message" +msgstr "你受到了一条消息" + +#: management.py:11 +msgid "Message Sent" +msgstr "消息已发出" + +#: management.py:11 +msgid "you have sent a message" +msgstr "你已发出了一条消息" + +#: management.py:12 +msgid "Message Replied" +msgstr "消息已回复" + +#: management.py:12 +msgid "you have replied to a message" +msgstr "你已回复了一条消息" + +#: management.py:13 +msgid "Reply Received" +msgstr "回复已收到" + +#: management.py:13 +msgid "you have received a reply to a message" +msgstr "你已收到了消息的一条回复" + +#: management.py:14 +msgid "Message Deleted" +msgstr "消息已删除" + +#: management.py:14 +msgid "you have deleted a message" +msgstr "你已删除了一条消息" + +#: management.py:15 +msgid "Message Recovered" +msgstr "消息已恢复" + +#: management.py:15 +msgid "you have undelete a message" +msgstr "你已恢复了一条消息" + +#: models.py:52 templates\messages\inbox.html.py:7 +#: templates\messages\trash.html.py:7 templates\messages\view.html.py:8 +msgid "Sender" +msgstr "发信人" + +#: models.py:54 +msgid "Parent message" +msgstr "原消息" + +#: models.py:55 +msgid "sent at" +msgstr "发送于" + +#: models.py:56 +msgid "read at" +msgstr "阅读于" + +#: models.py:57 +msgid "replied at" +msgstr "回复于" + +#: models.py:58 +msgid "Sender deleted at" +msgstr "发信人删除于" + +#: models.py:59 +msgid "Recipient deleted at" +msgstr "收件人删除于" + +#: models.py:89 +msgid "Message" +msgstr "消息" + +#: models.py:90 +msgid "Messages" +msgstr "消息" + +#: utils.py:29 +#, python-format +msgid "New Message: %(subject)s" +msgstr "新消息: %(subject)s" + +#: views.py:80 views.py:108 +msgid "Message successfully sent." +msgstr "消息已成功发送。" + +#: views.py:114 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s 写道:\n" +"%(body)s" + +#: views.py:118 +#, python-format +msgid "Re: %(subject)s" +msgstr "回复: %(subject)s" + +#: views.py:154 +msgid "Message successfully deleted." +msgstr "消息已成功删除。" + +#: views.py:181 +msgid "Message successfully recovered." +msgstr "消息已成功恢复。" + +#: templates\messages\base.html.py:8 templates\messages\inbox.html.py:4 +#: templates\messages\new_message.html.py:10 +msgid "Inbox" +msgstr "收件箱" + +#: templates\messages\base.html.py:9 templates\messages\outbox.html.py:4 +msgid "Sent Messages" +msgstr "发送的消息" + +#: templates\messages\base.html.py:10 +msgid "New Message" +msgstr "新消息" + +#: templates\messages\base.html.py:11 +msgid "Trash" +msgstr "回收站" + +#: templates\messages\compose.html.py:4 +msgid "Compose Message" +msgstr "撰写消息" + +#: templates\messages\compose.html.py:9 +msgid "Send" +msgstr "发送" + +#: templates\messages\inbox.html.py:7 +msgid "Received" +msgstr "受到于" + +#: templates\messages\inbox.html.py:7 templates\messages\outbox.html.py:7 +#: templates\messages\trash.html.py:7 +msgid "Action" +msgstr "动作" + +#: templates\messages\inbox.html.py:19 +#: templates\messages\outbox.html.py:16 +#: templates\messages\trash.html.py:16 templates\messages\view.html.py:11 +msgid "DATETIME_FORMAT" +msgstr "" + +#: templates\messages\inbox.html.py:20 +#: templates\messages\outbox.html.py:17 +msgid "delete" +msgstr "删除" + +#: templates\messages\new_message.html.py:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"%(recipient)s:\n" +"\n" +"你受到一条从%(sender)s发出的私人信息有\n" +"以下内容:" + +#: templates\messages\new_message.html.py:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "消息已从%(site_url)s发出" + +#: templates\messages\new_message.html.py:11 +#: templates\messages\view.html.py:18 +msgid "Reply" +msgstr "回复" + +#: templates\messages\outbox.html.py:7 +msgid "Sent" +msgstr "已发出" + +#: templates\messages\trash.html.py:4 +msgid "Deleted Messages" +msgstr "删除的消息" + +#: templates\messages\trash.html.py:7 templates\messages\view.html.py:10 +msgid "Date" +msgstr "日期" + +#: templates\messages\trash.html.py:17 +msgid "undelete" +msgstr "恢复" + +#: templates\messages\trash.html.py:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"删除的消息将定期删除,不要依赖此功能作为长期存储。" +"" + +#: templates\messages\view.html.py:4 +msgid "View Message" +msgstr "浏览消息" + +#: templates\messages\view.html.py:20 +msgid "Delete" +msgstr "删除" + +#: templates\notification\messages_deleted\notice.html.py:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "你已删除了消息%(message)s." + +#: templates\notification\messages_received\notice.html.py:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"你已收到%(message_sender)s的消息%(message)s。" +"" + +#: templates\notification\messages_recovered\notice.html.py:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "你已恢复了消息%(message)s." + +#: templates\notification\messages_replied\notice.html.py:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"你已回复了%(message_recipient)s.发出的消息%(message_parent_msg)s" +"" + +#: templates\notification\messages_reply_received\notice.html.py:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "" +"%(message_sender)s已回复你发出的消息:%(message_parent_msg)s." + +#: templates\notification\messages_sent\notice.html.py:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"你已发送消息%(message)s到%" +"(message_recipient)s." diff --git a/django_messages/management.py b/django_messages/management.py new file mode 100644 index 0000000..2172a0f --- /dev/null +++ b/django_messages/management.py @@ -0,0 +1,18 @@ +from django.db.models import signals +from django.conf import settings +from django.utils.translation import ugettext_noop as _ + +if "notification" in settings.INSTALLED_APPS and getattr(settings, 'DJANGO_MESSAGES_NOTIFY', True): + from notification import models as notification + + def create_notice_types(app, created_models, verbosity, **kwargs): + notification.create_notice_type("messages_received", _("Message Received"), _("you have received a message"), default=2) + notification.create_notice_type("messages_sent", _("Message Sent"), _("you have sent a message"), default=1) + notification.create_notice_type("messages_replied", _("Message Replied"), _("you have replied to a message"), default=1) + notification.create_notice_type("messages_reply_received", _("Reply Received"), _("you have received a reply to a message"), default=2) + notification.create_notice_type("messages_deleted", _("Message Deleted"), _("you have deleted a message"), default=1) + notification.create_notice_type("messages_recovered", _("Message Recovered"), _("you have undeleted a message"), default=1) + + signals.post_syncdb.connect(create_notice_types, sender=notification) +else: + print("Skipping creation of NoticeTypes as notification app not found") diff --git a/privatemessage/__init__.py b/django_messages/management/__init__.py similarity index 100% rename from privatemessage/__init__.py rename to django_messages/management/__init__.py diff --git a/privatemessage/migrations/__init__.py b/django_messages/management/commands/__init__.py similarity index 100% rename from privatemessage/migrations/__init__.py rename to django_messages/management/commands/__init__.py diff --git a/django_messages/management/commands/delete_deleted_messages.py b/django_messages/management/commands/delete_deleted_messages.py new file mode 100644 index 0000000..e79483d --- /dev/null +++ b/django_messages/management/commands/delete_deleted_messages.py @@ -0,0 +1,32 @@ +import datetime +from django.core.management.base import BaseCommand, CommandError +from django.utils import timezone +from ...models import Message + + +class Command(BaseCommand): + args = '' + help = ( + 'Deletes messages that have been marked as deleted by both the sender ' + 'and recipient. You must provide the minimum age in days.' + ) + + def handle(self, *args, **options): + if len(args) == 0: + raise CommandError('You must provide the minimum age in days.') + elif len(args) > 1: + raise CommandError( + 'This management command accepts only one argument.' + ) + + try: + age_in_days = int(args[0]) + except ValueError: + raise CommandError('"%s" is not an integer.' % args[0]) + + the_date = timezone.now() - datetime.timedelta(days=age_in_days) + + Message.objects.filter( + recipient_deleted_at__lte=the_date, + sender_deleted_at__lte=the_date, + ).delete() diff --git a/django_messages/migrations/0001_initial.py b/django_messages/migrations/0001_initial.py new file mode 100644 index 0000000..0d7e96e --- /dev/null +++ b/django_messages/migrations/0001_initial.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +from django.conf import settings + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Message', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('subject', models.CharField(max_length=120, verbose_name='Subject')), + ('body', models.TextField(verbose_name='Body')), + ('sent_at', models.DateTimeField(null=True, verbose_name='sent at', blank=True)), + ('read_at', models.DateTimeField(null=True, verbose_name='read at', blank=True)), + ('replied_at', models.DateTimeField(null=True, verbose_name='replied at', blank=True)), + ('sender_deleted_at', models.DateTimeField(null=True, verbose_name='Sender deleted at', blank=True)), + ('recipient_deleted_at', models.DateTimeField(null=True, verbose_name='Recipient deleted at', blank=True)), + ('parent_msg', models.ForeignKey(related_name='next_messages', verbose_name='Parent message', blank=True, to='django_messages.Message', null=True)), + ('recipient', models.ForeignKey(related_name='received_messages', verbose_name='Recipient', blank=True, to=settings.AUTH_USER_MODEL, null=True)), + ('sender', models.ForeignKey(related_name='sent_messages', verbose_name='Sender', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'ordering': ['-sent_at'], + 'verbose_name': 'Message', + 'verbose_name_plural': 'Messages', + }, + bases=(models.Model,), + ), + ] diff --git a/django_messages/migrations/0002_auto_20160607_0852.py b/django_messages/migrations/0002_auto_20160607_0852.py new file mode 100644 index 0000000..ce46289 --- /dev/null +++ b/django_messages/migrations/0002_auto_20160607_0852.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('django_messages', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='message', + name='subject', + field=models.CharField(max_length=140, verbose_name='Subject'), + preserve_default=True, + ), + ] diff --git a/django_messages/migrations/__init__.py b/django_messages/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/django_messages/models.py b/django_messages/models.py new file mode 100644 index 0000000..b2f0ae6 --- /dev/null +++ b/django_messages/models.py @@ -0,0 +1,105 @@ +from django.conf import settings +from django.db import models +from django.utils import timezone +from django.utils.encoding import python_2_unicode_compatible +from django.utils.translation import ugettext_lazy as _ + + +AUTH_USER_MODEL = getattr(settings, 'AUTH_USER_MODEL', 'auth.User') + + +class MessageManager(models.Manager): + + def inbox_for(self, user): + """ + Returns all messages that were received by the given user and are not + marked as deleted. + """ + return self.filter( + recipient=user, + recipient_deleted_at__isnull=True, + ) + + def outbox_for(self, user): + """ + Returns all messages that were sent by the given user and are not + marked as deleted. + """ + return self.filter( + sender=user, + sender_deleted_at__isnull=True, + ) + + def trash_for(self, user): + """ + Returns all messages that were either received or sent by the given + user and are marked as deleted. + """ + return self.filter( + recipient=user, + recipient_deleted_at__isnull=False, + ) | self.filter( + sender=user, + sender_deleted_at__isnull=False, + ) + + +@python_2_unicode_compatible +class Message(models.Model): + """ + A private message from user to user + """ + subject = models.CharField(_("Subject"), max_length=140) + body = models.TextField(_("Body")) + sender = models.ForeignKey(AUTH_USER_MODEL, related_name='sent_messages', verbose_name=_("Sender")) + recipient = models.ForeignKey(AUTH_USER_MODEL, related_name='received_messages', null=True, blank=True, verbose_name=_("Recipient")) + parent_msg = models.ForeignKey('self', related_name='next_messages', null=True, blank=True, verbose_name=_("Parent message")) + sent_at = models.DateTimeField(_("sent at"), null=True, blank=True) + read_at = models.DateTimeField(_("read at"), null=True, blank=True) + replied_at = models.DateTimeField(_("replied at"), null=True, blank=True) + sender_deleted_at = models.DateTimeField(_("Sender deleted at"), null=True, blank=True) + recipient_deleted_at = models.DateTimeField(_("Recipient deleted at"), null=True, blank=True) + + objects = MessageManager() + + def new(self): + """returns whether the recipient has read the message or not""" + if self.read_at is not None: + return False + return True + + def replied(self): + """returns whether the recipient has written a reply to this message""" + if self.replied_at is not None: + return True + return False + + def __str__(self): + return self.subject + + def get_absolute_url(self): + return 'django_messages:messages_detail', [self.id] + get_absolute_url = models.permalink(get_absolute_url) + + def save(self, **kwargs): + if not self.id: + self.sent_at = timezone.now() + super(Message, self).save(**kwargs) + + class Meta: + ordering = ['-sent_at'] + verbose_name = _("Message") + verbose_name_plural = _("Messages") + + +def inbox_count_for(user): + """ + returns the number of unread messages for the given user but does not + mark them seen + """ + return Message.objects.filter(recipient=user, read_at__isnull=True, recipient_deleted_at__isnull=True).count() + +# fallback for email notification if django-notification could not be found +#if "notification" not in settings.INSTALLED_APPS and getattr(settings, 'DJANGO_MESSAGES_NOTIFY', True): +# from django_messages.utils import new_message_email +# signals.post_save.connect(new_message_email, sender=Message) diff --git a/django_messages/signals.py b/django_messages/signals.py new file mode 100644 index 0000000..e69de29 diff --git a/django_messages/templates/base.html b/django_messages/templates/base.html new file mode 100644 index 0000000..06a5dba --- /dev/null +++ b/django_messages/templates/base.html @@ -0,0 +1,11 @@ + + + + + + +{% block content %} + +{% endblock %} + + diff --git a/django_messages/templates/django_messages/compose.html b/django_messages/templates/django_messages/compose.html new file mode 100644 index 0000000..14d2fbd --- /dev/null +++ b/django_messages/templates/django_messages/compose.html @@ -0,0 +1,53 @@ +{% extends request.is_ajax|yesno:'nullcont.htm,django_messages/ext.htm' %} +{% load i18n %} + +{% block content %} + +
+
+

{% trans "Compose Message"%}

+
+
+
{% csrf_token %} + +
+ + +
+ + {{ form.recipient }}{{ form.recipient.errors }} +
+
+ +
+ + +
+ + {{ form.subject }}{{ form.subject.errors }} +
+
+ +
+ + +
+ + {{ form.body }}{{ form.body.errors }} +
+
+ +
+ + +
+ +
+
+
+ +{% endblock %} diff --git a/django_messages/templates/django_messages/ext.htm b/django_messages/templates/django_messages/ext.htm new file mode 100644 index 0000000..1b7e5f4 --- /dev/null +++ b/django_messages/templates/django_messages/ext.htm @@ -0,0 +1,43 @@ +{% extends request.is_ajax|yesno:'bajax.html,base.html' %} +{% load i18n %} + +{% block main %} + + + + {% include 'message_block.html' %} + + + +
+
+ {% block content %}{% endblock %} +
+
+ +{% endblock %} \ No newline at end of file diff --git a/django_messages/templates/django_messages/inbox.html b/django_messages/templates/django_messages/inbox.html new file mode 100644 index 0000000..c276578 --- /dev/null +++ b/django_messages/templates/django_messages/inbox.html @@ -0,0 +1,30 @@ +{% extends "django_messages/base.html" %} +{% load i18n %} + +{% block content %} +

{% trans "Inbox" %}

+{% if message_list %} + + + + + +{% for message in message_list %} + + + + + + +{% endfor %} + +
{% trans "Sender" %}{% trans "Subject" %}{% trans "Received" %}{% trans "Action" %}
{{ message.sender }} + {% if message.new %}{% endif %} + {% if message.replied %}{% endif %} + {{ message.subject }} + {% if message.replied %}{% endif %} + {% if message.new %}{% endif %}{{ message.sent_at|date:_("DATETIME_FORMAT") }}{% trans "delete" %}
+{% else %} +

{% trans "No messages." %}

+{% endif %} +{% endblock %} \ No newline at end of file diff --git a/django_messages/templates/django_messages/new_message.html b/django_messages/templates/django_messages/new_message.html new file mode 100644 index 0000000..286fdbf --- /dev/null +++ b/django_messages/templates/django_messages/new_message.html @@ -0,0 +1,13 @@ +{% load i18n %} + +{% blocktrans with recipient=message.recipient sender=message.sender %}Hello {{ recipient }}, + +you received a private message from {{ sender }} with +the following contents:{% endblocktrans %} + +{{ message.body|safe }} + +-- +{% blocktrans %}Sent from {{ site_url }}{% endblocktrans %} +{% trans "Inbox" %}: {{ site_url }}{% url 'django_messages:messages_inbox' %} +{% trans "Reply" %}: {{ site_url }}{% url 'django_messages:messages_reply' message.pk %} \ No newline at end of file diff --git a/django_messages/templates/django_messages/outbox.html b/django_messages/templates/django_messages/outbox.html new file mode 100644 index 0000000..8edf7d6 --- /dev/null +++ b/django_messages/templates/django_messages/outbox.html @@ -0,0 +1,27 @@ +{% extends "django_messages/base.html" %} +{% load i18n %} + +{% block content %} +

{% trans "Sent Messages" %}

+{% if message_list %} + + + + + +{% for message in message_list %} + + + + + + +{% endfor %} + +
{% trans "Recipient" %}{% trans "Subject" %}{% trans "Sent" %}{% trans "Action" %}
{{ message.recipient }} + {{ message.subject }} + {{ message.sent_at|date:_("DATETIME_FORMAT") }}{% trans "delete" %}
+{% else %} +

{% trans "No messages." %}

+{% endif %} +{% endblock %} \ No newline at end of file diff --git a/django_messages/templates/django_messages/trash.html b/django_messages/templates/django_messages/trash.html new file mode 100644 index 0000000..92f6d34 --- /dev/null +++ b/django_messages/templates/django_messages/trash.html @@ -0,0 +1,29 @@ +{% extends "django_messages/base.html" %} +{% load i18n %} + +{% block content %} +

{% trans "Deleted Messages" %}

+{% if message_list %} + + + + + +{% for message in message_list %} + + + + + + +{% endfor %} + +
{% trans "Sender" %}{% trans "Subject" %}{% trans "Date" %}{% trans "Action" %}
{{ message.sender }} + {{ message.subject }} + {{ message.sent_at|date:_("DATETIME_FORMAT") }}{% trans "undelete" %}
+{% else %} +

{% trans "No messages." %}

+{% endif %} +
+

{% trans "Deleted Messages are removed from the trash at unregular intervals, don't rely on this feature for long-time storage." %}

+{% endblock %} \ No newline at end of file diff --git a/django_messages/templates/django_messages/view.html b/django_messages/templates/django_messages/view.html new file mode 100644 index 0000000..967565a --- /dev/null +++ b/django_messages/templates/django_messages/view.html @@ -0,0 +1,35 @@ +{% extends "django_messages/base.html" %} +{% load i18n %} + +{% block content %} +

{% trans "View Message" %}

+
+
{% trans "Subject" %}
+
{{ message.subject }}
+
{% trans "Sender" %}
+
{{ message.sender }}
+
{% trans "Date" %}
+
{{ message.sent_at|date:_("DATETIME_FORMAT")}}
+
{% trans "Recipient" %}
+
{{ message.recipient }}
+
+{{ message.body|linebreaksbr }}

+ +{% ifequal message.recipient.pk user.pk %} +{% trans "Reply" %} +{% endifequal %} +{% trans "Delete" %} + +{% comment %}Example reply_form integration +{% if reply_form %} +

{% trans "Compose reply"%}

+
+{% csrf_token %} + +{{ reply_form.as_table }} +
+ +
+{% endif %} +{% endcomment %} +{% endblock %} \ No newline at end of file diff --git a/django_messages/templates/notification/messages_deleted/notice.html b/django_messages/templates/notification/messages_deleted/notice.html new file mode 100644 index 0000000..c4c074d --- /dev/null +++ b/django_messages/templates/notification/messages_deleted/notice.html @@ -0,0 +1 @@ +{% load i18n %}{% blocktrans with message.get_absolute_url as message_url %}You have deleted the message {{ message }}.{% endblocktrans %} diff --git a/django_messages/templates/notification/messages_received/notice.html b/django_messages/templates/notification/messages_received/notice.html new file mode 100644 index 0000000..f8323d7 --- /dev/null +++ b/django_messages/templates/notification/messages_received/notice.html @@ -0,0 +1,2 @@ +{% load i18n %} +{% blocktrans with message.get_absolute_url as message_url and message.sender as message_sender %}You have received the message {{ message }} from {{ message_sender }}.{% endblocktrans %} diff --git a/django_messages/templates/notification/messages_recovered/notice.html b/django_messages/templates/notification/messages_recovered/notice.html new file mode 100644 index 0000000..421a712 --- /dev/null +++ b/django_messages/templates/notification/messages_recovered/notice.html @@ -0,0 +1 @@ +{% load i18n %}{% blocktrans with message.get_absolute_url as message_url %}You have recovered the message {{ message }}.{% endblocktrans %} diff --git a/django_messages/templates/notification/messages_replied/notice.html b/django_messages/templates/notification/messages_replied/notice.html new file mode 100644 index 0000000..386f125 --- /dev/null +++ b/django_messages/templates/notification/messages_replied/notice.html @@ -0,0 +1,2 @@ +{% load i18n %} +{% blocktrans with message.parent_msg.get_absolute_url as message_url and message.parent_msg as message_parent_msg and message.recipient as message_recipient %}You have replied to {{ message_parent_msg }} from {{ message_recipient }}.{% endblocktrans %} diff --git a/django_messages/templates/notification/messages_reply_received/notice.html b/django_messages/templates/notification/messages_reply_received/notice.html new file mode 100644 index 0000000..b1c62b6 --- /dev/null +++ b/django_messages/templates/notification/messages_reply_received/notice.html @@ -0,0 +1,2 @@ +{% load i18n %} +{% blocktrans with message.get_absolute_url as message_url and message.sender as message_sender and message.parent_msg as message_parent_msg %}{{ message_sender }} has sent you a reply to {{ message_parent_msg }}.{% endblocktrans %} diff --git a/django_messages/templates/notification/messages_sent/notice.html b/django_messages/templates/notification/messages_sent/notice.html new file mode 100644 index 0000000..d30ba14 --- /dev/null +++ b/django_messages/templates/notification/messages_sent/notice.html @@ -0,0 +1,2 @@ +{% load i18n %} +{% blocktrans with message.get_absolute_url as message_url and message.recipient as message_recipient %}You have sent the message {{ message }} to {{ message_recipient }}.{% endblocktrans %} diff --git a/django_messages/templatetags/__init__.py b/django_messages/templatetags/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/django_messages/templatetags/inbox.py b/django_messages/templatetags/inbox.py new file mode 100644 index 0000000..9b65e34 --- /dev/null +++ b/django_messages/templatetags/inbox.py @@ -0,0 +1,45 @@ +from django.template import Library, Node, TemplateSyntaxError + +class InboxOutput(Node): + def __init__(self, varname=None): + self.varname = varname + + def render(self, context): + try: + user = context['user'] + count = user.received_messages.filter(read_at__isnull=True, recipient_deleted_at__isnull=True).count() + except (KeyError, AttributeError): + count = '' + if self.varname is not None: + context[self.varname] = count + return "" + else: + return "%s" % (count) + +def do_print_inbox_count(parser, token): + """ + A templatetag to show the unread-count for a logged in user. + Returns the number of unread messages in the user's inbox. + Usage:: + + {% load inbox %} + {% inbox_count %} + + {# or assign the value to a variable: #} + + {% inbox_count as my_var %} + {{ my_var }} + + """ + bits = token.contents.split() + if len(bits) > 1: + if len(bits) != 3: + raise TemplateSyntaxError("inbox_count tag takes either no arguments or exactly two arguments") + if bits[1] != 'as': + raise TemplateSyntaxError("first argument to inbox_count tag must be 'as'") + return InboxOutput(bits[2]) + else: + return InboxOutput() + +register = Library() +register.tag('inbox_count', do_print_inbox_count) diff --git a/django_messages/tests.py b/django_messages/tests.py new file mode 100644 index 0000000..1f63722 --- /dev/null +++ b/django_messages/tests.py @@ -0,0 +1,178 @@ +from django.test import TestCase +from django.test.client import Client +from django.core.urlresolvers import reverse +from django.utils import timezone +from django_messages.models import Message +from django_messages.utils import format_subject, format_quote + +from .utils import get_user_model + +User = get_user_model() + + +class SendTestCase(TestCase): + def setUp(self): + self.user1 = User.objects.create_user( + 'user1', 'user1@example.com', '123456') + self.user2 = User.objects.create_user( + 'user2', 'user2@example.com', '123456') + self.msg1 = Message(sender=self.user1, recipient=self.user2, + subject='Subject Text', body='Body Text') + self.msg1.save() + + def testBasic(self): + self.assertEqual(self.msg1.sender, self.user1) + self.assertEqual(self.msg1.recipient, self.user2) + self.assertEqual(self.msg1.subject, 'Subject Text') + self.assertEqual(self.msg1.body, 'Body Text') + self.assertEqual(self.user1.sent_messages.count(), 1) + self.assertEqual(self.user1.received_messages.count(), 0) + self.assertEqual(self.user2.received_messages.count(), 1) + self.assertEqual(self.user2.sent_messages.count(), 0) + + +class DeleteTestCase(TestCase): + def setUp(self): + self.user1 = User.objects.create_user( + 'user3', 'user3@example.com', '123456') + self.user2 = User.objects.create_user( + 'user4', 'user4@example.com', '123456') + self.msg1 = Message(sender=self.user1, recipient=self.user2, + subject='Subject Text 1', body='Body Text 1') + self.msg2 = Message(sender=self.user1, recipient=self.user2, + subject='Subject Text 2', body='Body Text 2') + self.msg1.sender_deleted_at = timezone.now() + self.msg2.recipient_deleted_at = timezone.now() + self.msg1.save() + self.msg2.save() + + def testBasic(self): + self.assertEqual(Message.objects.outbox_for(self.user1).count(), 1) + self.assertEqual( + Message.objects.outbox_for(self.user1)[0].subject, + 'Subject Text 2' + ) + self.assertEqual(Message.objects.inbox_for(self.user2).count(), 1) + self.assertEqual( + Message.objects.inbox_for(self.user2)[0].subject, + 'Subject Text 1' + ) + #undelete + self.msg1.sender_deleted_at = None + self.msg2.recipient_deleted_at = None + self.msg1.save() + self.msg2.save() + self.assertEqual(Message.objects.outbox_for(self.user1).count(), 2) + self.assertEqual(Message.objects.inbox_for(self.user2).count(), 2) + + +class IntegrationTestCase(TestCase): + """ + Test the app from a user perpective using Django's Test-Client. + """ + + T_USER_DATA = [{'username': 'user_1', 'password': '123456', + 'email': 'user_1@example.com'}, + {'username': 'user_2', 'password': '123456', + 'email': 'user_2@example.com'}] + T_MESSAGE_DATA = [{'subject': 'Test Subject 1', + 'body': 'Lorem ipsum\ndolor sit amet\n\nconsectur.'}] + + def setUp(self): + """ create 2 users and a test-client logged in as user_1 """ + self.user_1 = User.objects.create_user(**self.T_USER_DATA[0]) + self.user_2 = User.objects.create_user(**self.T_USER_DATA[1]) + self.c = Client() + self.c.login(username=self.T_USER_DATA[0]['username'], + password=self.T_USER_DATA[0]['password']) + + def testInboxEmpty(self): + """ request the empty inbox """ + response = self.c.get(reverse('django_messages:messages_inbox')) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.templates[0].name, + 'django_messages/inbox.html') + self.assertEqual(len(response.context['message_list']), 0) + + def testOutboxEmpty(self): + """ request the empty outbox """ + response = self.c.get(reverse('django_messages:messages_outbox')) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.templates[0].name, + 'django_messages/outbox.html') + self.assertEqual(len(response.context['message_list']), 0) + + def testTrashEmpty(self): + """ request the empty trash """ + response = self.c.get(reverse('django_messages:messages_trash')) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.templates[0].name, + 'django_messages/trash.html') + self.assertEqual(len(response.context['message_list']), 0) + + def testCompose(self): + """ compose a message step by step """ + response = self.c.get(reverse('django_messages:messages_compose')) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.templates[0].name, + 'django_messages/compose.html') + response = self.c.post( + reverse('django_messages:messages_compose'), + { + 'recipient': self.T_USER_DATA[1]['username'], + 'subject': self.T_MESSAGE_DATA[0]['subject'], + 'body': self.T_MESSAGE_DATA[0]['body'] + }) + # successfull sending should redirect to inbox + self.assertEqual(response.status_code, 302) + if 'http' in response['Location']: + self.assertEqual(response['Location'], + "http://testserver%s" % reverse('django_messages:messages_inbox')) + else: + self.assertEqual(response['Location'], reverse('django_messages:messages_inbox')) + + # make sure the message exists in the outbox after sending + response = self.c.get(reverse('django_messages:messages_outbox')) + self.assertEqual(len(response.context['message_list']), 1) + + def testReply(self): + """ test that user_2 can reply """ + # create a message for this test + Message.objects.create(sender=self.user_1, + recipient=self.user_2, + subject=self.T_MESSAGE_DATA[0]['subject'], + body=self.T_MESSAGE_DATA[0]['body']) + # log the user_2 in and check the inbox + self.c.login(username=self.T_USER_DATA[1]['username'], + password=self.T_USER_DATA[1]['password']) + response = self.c.get(reverse('django_messages:messages_inbox')) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.templates[0].name, + 'django_messages/inbox.html') + self.assertEqual(len(response.context['message_list']), 1) + pk = getattr(response.context['message_list'][0], 'pk') + # reply to the first message + response = self.c.get(reverse('django_messages:messages_reply', + kwargs={'message_id': pk})) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.templates[0].name, + 'django_messages/compose.html') + self.assertEqual( + response.context['form'].initial['body'], + format_quote(self.user_1, self.T_MESSAGE_DATA[0]['body']) + ) + self.assertEqual( + response.context['form'].initial['subject'], + u"Re: %(subject)s" % {'subject': self.T_MESSAGE_DATA[0]['subject']} + ) + + +class FormatTestCase(TestCase): + """ some tests for helper functions """ + def testSubject(self): + """ test that reply counting works as expected """ + self.assertEqual(format_subject(u"foo bar"), u"Re: foo bar") + self.assertEqual(format_subject(u"Re: foo bar"), u"Re[2]: foo bar") + self.assertEqual(format_subject(u"Re[2]: foo bar"), u"Re[3]: foo bar") + self.assertEqual(format_subject(u"Re[10]: foo bar"), + u"Re[11]: foo bar") diff --git a/django_messages/urls.py b/django_messages/urls.py new file mode 100644 index 0000000..f08522e --- /dev/null +++ b/django_messages/urls.py @@ -0,0 +1,16 @@ +from django.conf.urls import url +from django.views.generic import RedirectView + +from django_messages.views import * + +urlpatterns = [ + url(r'^$', inbox, name='messages_inbox'), + url(r'^outbox/$', outbox, name='messages_outbox'), + url(r'^compose/$', compose, name='messages_compose'), + url(r'^compose/(?P[\w.@+-]+)/$', compose, name='messages_compose_to'), + url(r'^reply/(?P[\d]+)/$', reply, name='messages_reply'), + url(r'^view/(?P[\d]+)/$', view, name='messages_detail'), + url(r'^delete/(?P[\d]+)/$', delete, name='messages_delete'), + url(r'^undelete/(?P[\d]+)/$', undelete, name='messages_undelete'), + url(r'^trash/$', trash, name='messages_trash'), +] diff --git a/django_messages/utils.py b/django_messages/utils.py new file mode 100644 index 0000000..a2a1b8b --- /dev/null +++ b/django_messages/utils.py @@ -0,0 +1,99 @@ +import re +import django +from django.utils.text import wrap +from django.utils.translation import ugettext, ugettext_lazy as _ +from django.template.loader import render_to_string +from django.conf import settings +from django.core.mail import send_mail + + +def format_quote(sender, body): + """ + Wraps text at 55 chars and prepends each + line with `> `. + Used for quoting messages in replies. + """ + lines = wrap(body, 55).split('\n') + for i, line in enumerate(lines): + lines[i] = "> %s" % line + quote = '\n'.join(lines) + return ugettext(u"%(sender)s wrote:\n%(body)s") % { + 'sender': sender, + 'body': quote + } + + +def format_subject(subject): + """ + Prepends 'Re:' to the subject. To avoid multiple 'Re:'s + a counter is added. + NOTE: Currently unused. First step to fix Issue #48. + FIXME: Any hints how to make this i18n aware are very welcome. + + """ + subject_prefix_re = r'^Re\[(\d*)\]:\ ' + m = re.match(subject_prefix_re, subject, re.U) + prefix = u"" + if subject.startswith('Re: '): + prefix = u"[2]" + subject = subject[4:] + elif m is not None: + try: + num = int(m.group(1)) + prefix = u"[%d]" % (num+1) + subject = subject[6+len(str(num)):] + except: + # if anything fails here, fall back to the old mechanism + pass + + return ugettext(u"Re%(prefix)s: %(subject)s") % { + 'subject': subject, + 'prefix': prefix + } + + +def new_message_email(sender, instance, signal, + subject_prefix=_(u'New Message: %(subject)s'), + template_name="django_messages/new_message.html", + default_protocol=None, + *args, **kwargs): + """ + This function sends an email and is called via Django's signal framework. + Optional arguments: + ``template_name``: the template to use + ``subject_prefix``: prefix for the email subject. + ``default_protocol``: default protocol in site URL passed to template + """ + if default_protocol is None: + default_protocol = getattr(settings, 'DEFAULT_HTTP_PROTOCOL', 'http') + + if 'created' in kwargs and kwargs['created']: + try: + current_domain = getattr(settings, 'DEFAULT_DOMAIN_NAME', 'example.com') + subject = subject_prefix % {'subject': instance.subject} + message = render_to_string(template_name, { + 'site_url': '%s://%s' % (default_protocol, current_domain), + 'message': instance, + }) + if instance.recipient.email != "": + send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, + [instance.recipient.email,]) + except Exception as e: + #print e + pass #fail silently + + +def get_user_model(): + if django.VERSION[:2] >= (1, 5): + from django.contrib.auth import get_user_model + return get_user_model() + else: + from django.contrib.auth.models import User + return User + + +def get_username_field(): + if django.VERSION[:2] >= (1, 5): + return get_user_model().USERNAME_FIELD + else: + return 'username' diff --git a/django_messages/views.py b/django_messages/views.py new file mode 100644 index 0000000..6c7f556 --- /dev/null +++ b/django_messages/views.py @@ -0,0 +1,231 @@ +from django.http import Http404, HttpResponseRedirect +from django.shortcuts import render, get_object_or_404 +from django.contrib import messages +from django.contrib.auth.decorators import login_required +from django.utils.translation import ugettext as _ +from django.utils import timezone +from django.core.urlresolvers import reverse +from django.conf import settings + +from django_messages.models import Message +from django_messages.forms import ComposeForm +from django_messages.utils import format_quote, get_user_model, get_username_field + + +User = get_user_model() + +if "notification" in settings.INSTALLED_APPS and getattr(settings, 'DJANGO_MESSAGES_NOTIFY', True): + from notification import models as notification +else: + notification = None + + +@login_required +def inbox(request, template_name='django_messages/inbox.html'): + """ + Displays a list of received messages for the current user. + Optional Arguments: + ``template_name``: name of the template to use. + """ + message_list = Message.objects.inbox_for(request.user) + return render(request, template_name, { + 'message_list': message_list, + }) + + +@login_required +def outbox(request, template_name='django_messages/outbox.html'): + """ + Displays a list of sent messages by the current user. + Optional arguments: + ``template_name``: name of the template to use. + """ + message_list = Message.objects.outbox_for(request.user) + return render(request, template_name, { + 'message_list': message_list, + }) + + +@login_required +def trash(request, template_name='django_messages/trash.html'): + """ + Displays a list of deleted messages. + Optional arguments: + ``template_name``: name of the template to use + Hint: A Cron-Job could periodicly clean up old messages, which are deleted + by sender and recipient. + """ + message_list = Message.objects.trash_for(request.user) + return render(request, template_name, { + 'message_list': message_list, + }) + + +@login_required +def compose(request, recipient=None, form_class=ComposeForm, + template_name='django_messages/compose.html', success_url=None, recipient_filter=None): + """ + Displays and handles the ``form_class`` form to compose new messages. + Required Arguments: None + Optional Arguments: + ``recipient``: username of a `django.contrib.auth` User, who should + receive the message, optionally multiple usernames + could be separated by a '+' + ``form_class``: the form-class to use + ``template_name``: the template to use + ``success_url``: where to redirect after successfull submission + """ + a = request.GET.get('a') + if request.method == "POST": + form = form_class(request.POST, recipient_filter=recipient_filter) + if form.is_valid(): + form.save(sender=request.user) + messages.info(request, _(u"Message successfully sent.")) + if success_url is None: + success_url = reverse('django_messages:messages_inbox') + if 'next' in request.GET: + success_url = request.GET['next'] + return HttpResponseRedirect(success_url) + else: + form = form_class(initial={'recipient': User.objects.filter(pk=a) }) + if recipient is not None: + recipients = [u for u in User.objects.filter(**{'%s__in' % get_username_field(): [r.strip() for r in recipient.split('+')]})] + form.fields['recipient'].initial = recipients + return render(request, template_name, { + 'form': form, + }) + + +@login_required +def reply(request, message_id, form_class=ComposeForm, + template_name='django_messages/compose.html', success_url=None, + recipient_filter=None, quote_helper=format_quote, + subject_template=_(u"Re: %(subject)s"),): + """ + Prepares the ``form_class`` form for writing a reply to a given message + (specified via ``message_id``). Uses the ``format_quote`` helper from + ``messages.utils`` to pre-format the quote. To change the quote format + assign a different ``quote_helper`` kwarg in your url-conf. + + """ + parent = get_object_or_404(Message, id=message_id) + + if parent.sender != request.user and parent.recipient != request.user: + raise Http404 + + if request.method == "POST": + sender = request.user + form = form_class(request.POST, recipient_filter=recipient_filter) + if form.is_valid(): + form.save(sender=request.user, parent_msg=parent) + messages.info(request, _(u"Message successfully sent.")) + if success_url is None: + success_url = reverse('django_messages:messages_inbox') + return HttpResponseRedirect(success_url) + else: + form = form_class(initial={ + 'body': quote_helper(parent.sender, parent.body), + 'subject': subject_template % {'subject': parent.subject}, + 'recipient': [parent.sender,] + }) + return render(request, template_name, { + 'form': form, + }) + + +@login_required +def delete(request, message_id, success_url=None): + """ + Marks a message as deleted by sender or recipient. The message is not + really removed from the database, because two users must delete a message + before it's save to remove it completely. + A cron-job should prune the database and remove old messages which are + deleted by both users. + As a side effect, this makes it easy to implement a trash with undelete. + + You can pass ?next=/foo/bar/ via the url to redirect the user to a different + page (e.g. `/foo/bar/`) than ``success_url`` after deletion of the message. + """ + user = request.user + now = timezone.now() + message = get_object_or_404(Message, id=message_id) + deleted = False + if success_url is None: + success_url = reverse('django_messages:messages_inbox') + if 'next' in request.GET: + success_url = request.GET['next'] + if message.sender == user: + message.sender_deleted_at = now + deleted = True + if message.recipient == user: + message.recipient_deleted_at = now + deleted = True + if deleted: + message.save() + messages.info(request, _(u"Message successfully deleted.")) + if notification: + notification.send([user], "messages_deleted", {'message': message,}) + return HttpResponseRedirect(success_url) + raise Http404 + + +@login_required +def undelete(request, message_id, success_url=None): + """ + Recovers a message from trash. This is achieved by removing the + ``(sender|recipient)_deleted_at`` from the model. + """ + user = request.user + message = get_object_or_404(Message, id=message_id) + undeleted = False + if success_url is None: + success_url = reverse('django_messages:messages_inbox') + if 'next' in request.GET: + success_url = request.GET['next'] + if message.sender == user: + message.sender_deleted_at = None + undeleted = True + if message.recipient == user: + message.recipient_deleted_at = None + undeleted = True + if undeleted: + message.save() + messages.info(request, _(u"Message successfully recovered.")) + if notification: + notification.send([user], "messages_recovered", {'message': message,}) + return HttpResponseRedirect(success_url) + raise Http404 + + +@login_required +def view(request, message_id, form_class=ComposeForm, quote_helper=format_quote, + subject_template=_(u"Re: %(subject)s"), + template_name='django_messages/view.html'): + """ + Shows a single message.``message_id`` argument is required. + The user is only allowed to see the message, if he is either + the sender or the recipient. If the user is not allowed a 404 + is raised. + If the user is the recipient and the message is unread + ``read_at`` is set to the current datetime. + If the user is the recipient a reply form will be added to the + tenplate context, otherwise 'reply_form' will be None. + """ + user = request.user + now = timezone.now() + message = get_object_or_404(Message, id=message_id) + if (message.sender != user) and (message.recipient != user): + raise Http404 + if message.read_at is None and message.recipient == user: + message.read_at = now + message.save() + + context = {'message': message, 'reply_form': None} + if message.recipient == user: + form = form_class(initial={ + 'body': quote_helper(message.sender, message.body), + 'subject': subject_template % {'subject': message.subject}, + 'recipient': [message.sender,] + }) + context['reply_form'] = form + return render(request, template_name, context) diff --git a/djing/settings_example.py b/djing/settings_example.py index c0b885a..e34a0f1 100644 --- a/djing/settings_example.py +++ b/djing/settings_example.py @@ -28,7 +28,6 @@ INSTALLED_APPS = [ 'django.contrib.staticfiles', 'accounts_app', 'photo_app', - 'privatemessage', 'abonapp', 'tariff_app', 'ip_pool', diff --git a/djing/urls.py b/djing/urls.py index 5fddc86..a5dbe96 100644 --- a/djing/urls.py +++ b/djing/urls.py @@ -8,7 +8,6 @@ from .views import home urlpatterns = [ url(r'^$', home), url(r'^accounts/', include('accounts_app.urls', namespace='acc_app')), - url(r'^im/', include('privatemessage.urls', namespace='privmsg')), url(r'^abons/', include('abonapp.urls', namespace='abonapp')), url(r'^tarifs/', include('tariff_app.urls', namespace='tarifs')), url(r'^ip_pool/', include('ip_pool.urls', namespace='ip_pool')), @@ -18,6 +17,7 @@ urlpatterns = [ url(r'^statistic/', include('statistics.urls', namespace='statistics')), url(r'^tasks/', include('taskapp.urls', namespace='taskapp')), url(r'^client/', include('clientsideapp.urls', namespace='client_side')), + url(r'^msg/', include('django_messages.urls', namespace='django_messages')), url(r'^admin/', admin.site.urls) ] diff --git a/privatemessage/admin.py b/privatemessage/admin.py deleted file mode 100644 index cc01895..0000000 --- a/privatemessage/admin.py +++ /dev/null @@ -1,7 +0,0 @@ -from django.contrib import admin - -from .models import PrivateMessages, Dialog - - -admin.site.register(PrivateMessages) -admin.site.register(Dialog) diff --git a/privatemessage/context_processors.py b/privatemessage/context_processors.py deleted file mode 100644 index adfab5b..0000000 --- a/privatemessage/context_processors.py +++ /dev/null @@ -1,7 +0,0 @@ -from .models import PrivateMessages - - -def avail_messages(request): - return { - 'avail_messages_num': PrivateMessages.objects.get_my_messages(request) - } diff --git a/privatemessage/migrations/0001_initial.py b/privatemessage/migrations/0001_initial.py deleted file mode 100644 index 469b0e1..0000000 --- a/privatemessage/migrations/0001_initial.py +++ /dev/null @@ -1,39 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9 on 2016-06-28 23:51 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.CreateModel( - name='Dialog', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(max_length=127)), - ('date_create', models.DateTimeField(auto_now_add=True)), - ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', - to=settings.AUTH_USER_MODEL)), - ('recepient', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', - to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='PrivateMessages', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('date_send', models.DateTimeField(auto_now_add=True)), - ('text', models.TextField()), - ('is_viewed', models.BooleanField(default=False)), - ('dialog', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='privatemessage.Dialog')), - ], - ), - ] diff --git a/privatemessage/models.py b/privatemessage/models.py deleted file mode 100644 index afc6a65..0000000 --- a/privatemessage/models.py +++ /dev/null @@ -1,33 +0,0 @@ -from django.db import models -from django.conf import settings - - -class MessagesManager(models.Manager): - def get_my_messages(self, request): - if request.user.is_authenticated(): - num = self.filter(recepient=request.user, is_viewed=False).count() - else: - num = 0 - return int(num) - - -class Dialog(models.Model): - title = models.CharField(max_length=127) - owner = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='+') - recepient = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='+') - date_create = models.DateTimeField(auto_now_add=True) - - def __str__(self): - return self.title - - -class PrivateMessages(models.Model): - dialog = models.ForeignKey(Dialog) - date_send = models.DateTimeField(auto_now_add=True) - text = models.TextField() - is_viewed = models.BooleanField(default=False) - - objects = MessagesManager() - - def __str__(self): - return self.text diff --git a/privatemessage/urls.py b/privatemessage/urls.py deleted file mode 100644 index ac2cace..0000000 --- a/privatemessage/urls.py +++ /dev/null @@ -1,10 +0,0 @@ -from django.conf.urls import url - -from . import views - - -urlpatterns = [ - url(r'^$', views.home, name='home'), - url(r'^delitem_(?P\d+)$', views.delitem, name='delitem'), - url(r'^write', views.send_message, name='send_message') -] diff --git a/privatemessage/views.py b/privatemessage/views.py deleted file mode 100644 index 2ec4f65..0000000 --- a/privatemessage/views.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- -from json import dumps - -from django.contrib.auth.decorators import login_required -from django.shortcuts import render, redirect -from django.template.loader import render_to_string -from django.http import HttpResponse -from django.template.context_processors import csrf -from django.contrib.auth import get_user_model - -from .models import PrivateMessages -import mydefs - - -@login_required -@mydefs.only_admins -def home(request): - msgs = PrivateMessages.objects.all() - return render(request, 'private_messages/index.html', { - 'msgs': msgs - }) - - -@login_required -@mydefs.only_admins -def delitem(request, id=0): - r = {'errnum': 0, 'errtext': ''} - try: - PrivateMessages.objects.get(id=id).delete() - except PrivateMessages.DoesNotExist: - r = { - 'errnum': 1, - 'errtext': 'Error while deleting, item does not exist' - } - return HttpResponse(dumps(r)) - - -@login_required -@mydefs.only_admins -def send_message(request): - UserModel = get_user_model() - if request.method == 'GET': - return HttpResponse(render_to_string('private_messages/send_form.html', { - 'csrf_token': csrf(request)['csrf_token'], - 'a': request.GET.get('a') - })) - elif request.method == 'POST': - try: - a = request.GET.get('a') - a = 0 if a is None or a == '' else int(a) - msg = PrivateMessages() - msg.sender = request.user - msg.recepient = UserModel.objects.get(id=a) - msg.text = request.POST.get('msg_text') - msg.save() - return redirect('privmsg:home') - except UserModel.DoesNotExist: - return mydefs.res_error(request, 'Адресат не найден') - else: - return mydefs.res_error(request, 'Ошибка типа запроса') diff --git a/templates/accounts/acc_list.html b/templates/accounts/acc_list.html index d6cc104..09e2880 100644 --- a/templates/accounts/acc_list.html +++ b/templates/accounts/acc_list.html @@ -39,7 +39,7 @@ title="Дать задание"> - diff --git a/templates/private_messages/index.html b/templates/private_messages/index.html deleted file mode 100644 index b2fa269..0000000 --- a/templates/private_messages/index.html +++ /dev/null @@ -1,34 +0,0 @@ -{% extends 'base.html' %} -{% block main %} - - - - - - - - - - - - - {% for msg in msgs %}{% include 'private_messages/item.html' %} - {% empty %} - - - - - - {% endfor %} - - - - - - - - - -
СообщениеОт когоКогдаDo
Нет сообщений
{% include 'toolbar_page.html' with pag=msgs %}
- -{% endblock %} \ No newline at end of file diff --git a/templates/private_messages/item.html b/templates/private_messages/item.html deleted file mode 100644 index 0e19eb8..0000000 --- a/templates/private_messages/item.html +++ /dev/null @@ -1,7 +0,0 @@ - - - {{ msg.text }} - {{ msg.sender.get_full_name }} - {{ msg.date_send }} - - diff --git a/templates/private_messages/send_form.html b/templates/private_messages/send_form.html deleted file mode 100644 index 3470597..0000000 --- a/templates/private_messages/send_form.html +++ /dev/null @@ -1,14 +0,0 @@ -
{% csrf_token %} -
-

Отправить сообщение

-
-
- - -
- -