77 changed files with 900 additions and 7181 deletions
-
15abonapp/templates/abonapp/peoples.html
-
8abonapp/templatetags/dpagination.py
-
19accounts_app/models.py
-
2accounts_app/templates/accounts/acc_list.html
-
8accounts_app/templates/accounts/ext.htm
-
4accounts_app/templates/accounts/settings/ext.htm
-
2accounts_app/views.py
-
3django_messages/__init__.py
-
112django_messages/admin.py
-
6django_messages/apps.py
-
7django_messages/context_processors.py
-
21django_messages/fields.py
-
67django_messages/forms.py
-
317django_messages/locale/ar/LC_MESSAGES/django.po
-
398django_messages/locale/cs/LC_MESSAGES/django.po
-
367django_messages/locale/da/LC_MESSAGES/django.po
-
321django_messages/locale/de/LC_MESSAGES/django.po
-
291django_messages/locale/el/LC_MESSAGES/django.po
-
314django_messages/locale/es/LC_MESSAGES/django.po
-
312django_messages/locale/es_AR/LC_MESSAGES/django.po
-
357django_messages/locale/fa/LC_MESSAGES/django.po
-
408django_messages/locale/fr/LC_MESSAGES/django.po
-
317django_messages/locale/it/LC_MESSAGES/django.po
-
292django_messages/locale/ko/LC_MESSAGES/django.po
-
320django_messages/locale/lt/LC_MESSAGES/django.po
-
314django_messages/locale/nl/LC_MESSAGES/django.po
-
305django_messages/locale/pl/LC_MESSAGES/django.po
-
314django_messages/locale/pt_BR/LC_MESSAGES/django.po
-
317django_messages/locale/ro/LC_MESSAGES/django.po
-
332django_messages/locale/ru/LC_MESSAGES/django.po
-
299django_messages/locale/zh_CN/LC_MESSAGES/django.po
-
18django_messages/management.py
-
32django_messages/management/commands/delete_deleted_messages.py
-
37django_messages/migrations/0001_initial.py
-
20django_messages/migrations/0002_auto_20160607_0852.py
-
0django_messages/migrations/__init__.py
-
105django_messages/models.py
-
11django_messages/templates/base.html
-
53django_messages/templates/django_messages/compose.html
-
43django_messages/templates/django_messages/ext.htm
-
30django_messages/templates/django_messages/inbox.html
-
13django_messages/templates/django_messages/new_message.html
-
27django_messages/templates/django_messages/outbox.html
-
29django_messages/templates/django_messages/trash.html
-
35django_messages/templates/django_messages/view.html
-
1django_messages/templates/notification/messages_deleted/notice.html
-
2django_messages/templates/notification/messages_received/notice.html
-
1django_messages/templates/notification/messages_recovered/notice.html
-
2django_messages/templates/notification/messages_replied/notice.html
-
2django_messages/templates/notification/messages_reply_received/notice.html
-
2django_messages/templates/notification/messages_sent/notice.html
-
0django_messages/templatetags/__init__.py
-
45django_messages/templatetags/inbox.py
-
178django_messages/tests.py
-
15django_messages/urls.py
-
99django_messages/utils.py
-
231django_messages/views.py
-
7djing/settings_example.py
-
2djing/urls.py
-
2docs/install.md
-
0msg_app/__init__.py
-
3msg_app/admin.py
-
5msg_app/apps.py
-
9msg_app/context_processors.py
-
63msg_app/forms.py
-
161msg_app/locale/ru/LC_MESSAGES/django.po
-
103msg_app/migrations/0001_initial.py
-
0msg_app/migrations/__init__.py
-
237msg_app/models.py
-
87msg_app/templates/msg_app/chat.html
-
62msg_app/templates/msg_app/conversations.html
-
33msg_app/templates/msg_app/modal_new_conversation.html
-
3msg_app/tests.py
-
10msg_app/urls.py
-
72msg_app/views.py
-
1requirements.txt
-
15templates/base.html
@ -1,3 +0,0 @@ |
|||
VERSION = (0, 5, 3,) |
|||
__version__ = '.'.join(map(str, VERSION)) |
|||
default_app_config = 'django_messages.apps.DjangoMessagesConfig' |
|||
@ -1,112 +0,0 @@ |
|||
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) |
|||
@ -1,6 +0,0 @@ |
|||
from django.apps import AppConfig |
|||
from django.utils.translation import ugettext_lazy as _ |
|||
|
|||
class DjangoMessagesConfig(AppConfig): |
|||
name = 'django_messages' |
|||
verbose_name = _('Messages') |
|||
@ -1,7 +0,0 @@ |
|||
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 {} |
|||
@ -1,21 +0,0 @@ |
|||
""" |
|||
Based on http://www.djangosnippets.org/snippets/595/ |
|||
by sopelkin |
|||
""" |
|||
|
|||
from django.forms import widgets |
|||
|
|||
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) |
|||
@ -1,67 +0,0 @@ |
|||
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 |
|||
@ -1,317 +0,0 @@ |
|||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
|||
# This file is distributed under the same license as the PACKAGE package. |
|||
# |
|||
# Ossama M. Khayat <okhayat@yahoo.com>, 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 <okhayat@yahoo.com>\n" |
|||
"Language-Team: Arabic <doc@arabeyes.org>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "قمت بحذف الرسالة <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_received/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have received the message <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"from %(message_sender)s." |
|||
msgstr "" |
|||
"وصلتك الرسالة <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"من %(message_sender)s." |
|||
|
|||
#: templates/notification/messages_recovered/notice.html:1 |
|||
#, python-format |
|||
msgid "" |
|||
"You have recovered the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "قمت باسترجاع الرسالة <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_replied/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"from %(message_recipient)s." |
|||
msgstr "" |
|||
"قمت بالرد الرسائل <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"من %(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 <a href=\"%(message_url)s\">%(message)s</a> to %" |
|||
"(message_recipient)s." |
|||
msgstr "" |
|||
"قمت بإرسالة الرسالة <a href=\"%(message_url)s\">%(message)s</a> إلى %" |
|||
"(message_recipient)s." |
|||
|
|||
@ -1,398 +0,0 @@ |
|||
# Czech translation. |
|||
# Radim Sückr <radim.suckr@gmail.com>, 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 <radim.suckr@gmail.com>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "" |
|||
"Smazali jste zprávu <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: 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 <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"from %(message_sender)s." |
|||
msgstr "" |
|||
"Přišla vám zpráva <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "" |
|||
"Obnovili jste zprávu <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: 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 <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"from %(message_recipient)s." |
|||
msgstr "" |
|||
"Odpověděli jste na <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"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 <a href=\"%(message_url)s\">%(message)s</a> to " |
|||
"%(message_recipient)s." |
|||
msgstr "" |
|||
"Odeslali jste zprávu <a href=\"%(message_url)s\">%(message)s</a> 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." |
|||
@ -1,367 +0,0 @@ |
|||
# 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 <illio@cs.au.dk>, 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 <EMAIL@ADDRESS>\n" |
|||
"Language-Team: LANGUAGE <LL@li.org>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "Du har slettet beskeden <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_received/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have received the message <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"from %(message_sender)s." |
|||
msgstr "" |
|||
"Du har modtaget beskeden <a href=\"%(message_url)s\">%(message)s</a> fra %" |
|||
"(message_sender)s." |
|||
|
|||
#: templates/notification/messages_recovered/notice.html:1 |
|||
#, python-format |
|||
msgid "" |
|||
"You have recovered the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "Du har genskabt beskeden <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_replied/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"from %(message_recipient)s." |
|||
msgstr "" |
|||
"Du har besvaret <a href=\"%(message_url)s\">%(message_parent_msg)s</a> 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 <a href=\"%(message_url)s\">%(message)s</a> to %" |
|||
"(message_recipient)s." |
|||
msgstr "" |
|||
"Du har sendt beskeden <a href=\"%(message_url)s\">%(message)s</a> 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." |
|||
@ -1,321 +0,0 @@ |
|||
# 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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n" |
|||
"Language-Team: LANGUAGE <LL@li.org>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "" |
|||
"Du hast die Nachricht <a href=\"%(message_url)s\">%(message)s</a> gelöscht." |
|||
|
|||
#: templates/notification/messages_received/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have received the message <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"from %(message_sender)s." |
|||
msgstr "" |
|||
"Du hast die Nachricht <a href=\"%(message_url)s\">%(message)s</a> von %" |
|||
"(message_sender)s erhalten." |
|||
|
|||
#: templates/notification/messages_recovered/notice.html:1 |
|||
#, python-format |
|||
msgid "" |
|||
"You have recovered the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "" |
|||
"Du hast die Nachricht <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"wiederhergestellt." |
|||
|
|||
#: templates/notification/messages_replied/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"from %(message_recipient)s." |
|||
msgstr "" |
|||
"Du hast auf die Nachricht <a href=\"%(message_url)s\">%(message_parent_msg)" |
|||
"s</a> 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 <a href=\"%(message_url)s\">%(message)s</a> to %" |
|||
"(message_recipient)s." |
|||
msgstr "" |
|||
"Du hast die Nachricht <a href=\"%(message_url)s\">%(message)s</a> an %" |
|||
"(message_recipient)s gesendet." |
|||
@ -1,291 +0,0 @@ |
|||
# 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 <EMAIL@ADDRESS>, 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 <mgogoulos@gmail.com>\n" |
|||
"Language-Team: Markos Gogoulos <mgogoulos@gmail.com>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "Έχετε διαγράψει το μήνυμα <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_received/notice.html:2 |
|||
#, python-format |
|||
msgid "You have received the message <a href=\"%(message_url)s\">%(message)s</a> from %(message_sender)s." |
|||
msgstr "Έχετε λάβει το μήνυμα <a href=\"%(message_url)s\">%(message)s</a> από τον/την %(message_sender)s." |
|||
|
|||
#: templates/notification/messages_recovered/notice.html:1 |
|||
#, python-format |
|||
msgid "You have recovered the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "Έχετε ανακτήσει το μήνυμα <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_replied/notice.html:2 |
|||
#, python-format |
|||
msgid "You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> from %(message_recipient)s." |
|||
msgstr "Έχετε απαντήσει στο <a href=\"%(message_url)s\">%(message_parent_msg)s</a>από τον/την %(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 <a href=\"%(message_url)s\">%(message)s</a> to %(message_recipient)s." |
|||
msgstr "Έχετε στείλει το μήνυμα <a href=\"%(message_url)s\">%(message)s</a> στον/στην %(message_recipient)s." |
|||
@ -1,314 +0,0 @@ |
|||
# 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 <paz.lupita@gmail.com>, 2008. |
|||
# Alfonso Bernardo Harita Rascón <alharita@gmail.com>, 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 <EMAIL@ADDRESS>\n" |
|||
"Language-Team: LANGUAGE <LL@li.org>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "ha borrado el mensaje <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_received/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have received the message <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"from %(message_sender)s." |
|||
msgstr "" |
|||
"ha recibido el mensaje <a href=\"%(message_url)s\">%(message)s</a> de %" |
|||
"(message_sender)s." |
|||
|
|||
#: templates/notification/messages_recovered/notice.html:1 |
|||
#, python-format |
|||
msgid "" |
|||
"You have recovered the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "ha recuperado el mensaje <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_replied/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"from %(message_recipient)s." |
|||
msgstr "" |
|||
"ha respondido a <a href=\"%(message_url)s\">%(message_parent_msg)s</a> 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 <a href=\"%(message_url)s\">%(message)s</a> to %" |
|||
"(message_recipient)s." |
|||
msgstr "" |
|||
"ha enviado el mensaje <a href=\"%(message_url)s\">%(message)s</a> a %" |
|||
"(message_recipient)s." |
|||
@ -1,312 +0,0 @@ |
|||
# 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 <ceciliapuccinelli@gmail.com>, 2008. |
|||
# Juan José Conti <jjconti@gnu.org>, 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 <EMAIL@ADDRESS>\n" |
|||
"Language-Team: LANGUAGE <LL@li.org>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "ha eliminado el mensaje %(message)s." |
|||
|
|||
#: templates/notification/messages_received/notice.html:2 |
|||
#, fuzzy, python-format |
|||
msgid "" |
|||
"You have received the message <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "ha recuperado el mensaje %(message)s." |
|||
|
|||
#: templates/notification/messages_replied/notice.html:2 |
|||
#, fuzzy, python-format |
|||
msgid "" |
|||
"You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"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 <a href=\"%(message_url)s\">%(message)s</a> 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" |
|||
@ -1,357 +0,0 @@ |
|||
# django-messages fari translations |
|||
# Copyright (C) 2012 Hassan Zamani |
|||
# This file is distributed under the same license as the djagno-messages package. |
|||
# Hassan Zamani <hsn.zamani@gmail.com>, 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 <hsn.zamani@gmail.com>\n" |
|||
"Language-Team: LANGUAGE <LL@li.org>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "شما پیام <a href=\"%(message_url)s\">%(message)s</a> را حذف کردید." |
|||
|
|||
#: templates/notification/messages_received/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have received the message <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"from %(message_sender)s." |
|||
msgstr "شما پیام جدید <a href=\"%(message_url)s\">%(message)s</a> را از %(message_sender)s دریافت کردید." |
|||
|
|||
#: templates/notification/messages_recovered/notice.html:1 |
|||
#, python-format |
|||
msgid "" |
|||
"You have recovered the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "شما پیام <a href=\"%(message_url)s\">%(message)s</a> را بازیابی کردید." |
|||
|
|||
#: templates/notification/messages_replied/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"from %(message_recipient)s." |
|||
msgstr "شما به پیام <a href=\"%(message_url)s\">%(message_parent_msg)s</a> از %(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 <a href=\"%(message_url)s\">%(message)s</a> to " |
|||
"%(message_recipient)s." |
|||
msgstr "شما پیام <a href=\"%(message_url)s\">%(message)s</a> را به %(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 "هنوز پاسخ داده نشده است" |
|||
@ -1,408 +0,0 @@ |
|||
# 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 <EMAIL@ADDRESS>, 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 <frederic.roland@creativeconvergence.be>\n" |
|||
"Language-Team: Frédéric Roland <frederic.roland@creativeconvergence.be>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "" |
|||
"Vous avez effacé le message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: 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 <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"from %(message_sender)s." |
|||
msgstr "" |
|||
"Vous avez reçu le message <a href=\"%(message_url)s\">%(message)s</a> 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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "" |
|||
"Vous avez récupéré le message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: 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 <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"from %(message_recipient)s." |
|||
msgstr "" |
|||
"Vous avez répondu à <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"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 <a href=\"%(message_url)s\">%(message)s</a> to " |
|||
"%(message_recipient)s." |
|||
msgstr "" |
|||
"Vous avez envoyé le message <a href=\"%(message_url)s\">%(message)s</a> à " |
|||
"%(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 "" |
|||
#~ "<a href=\"%(sender_url)s\">%(message_sender)s</a> has sent you a reply to " |
|||
#~ "'<a href=\"%(message_url)s\">%(message_parent_msg)s</a>'." |
|||
#~ msgstr "" |
|||
#~ "<a href=\"%(sender_url)s\">%(message_sender)s</a> vous a envoyé une " |
|||
#~ "réponse à '<a href=\"%(message_url)s\">%(message_parent_msg)s</a>'." |
|||
@ -1,317 +0,0 @@ |
|||
# 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 <sergiomorstabilini@gmail.com>, 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 <sergiomorstabilini@gmail.com>\n" |
|||
"Language-Team: Sergio Morstabilini <sergiomorstabilini@gmail.com>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "Hai cancellato il messaggio <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_recovered/notice.html:1 |
|||
#, python-format |
|||
msgid "You have recovered the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "Hai ripristinato il messaggio <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_received/notice.html:2 |
|||
#, python-format |
|||
msgid "You have received the message <a href=\"%(message_url)s\">%(message)s</a> from %(message_sender)s." |
|||
msgstr "Hai ricevuto il messaggio <a href=\"%(message_url)s\">%(message)s</a> 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 <a href=\"%(message_url)s\">%(message)s</a> to %(message_recipient)s." |
|||
msgstr "Hai inviato il messaggio <a href=\"%(message_url)s\">%(message)s</a> a %(message_recipient)s." |
|||
|
|||
#: templates/notification/messages_replied/notice.html:2 |
|||
#, python-format |
|||
msgid "You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> from %(message_recipient)s." |
|||
msgstr "Hai risposto a <a href=\"%(message_url)s\">%(message_parent_msg)s</a> 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 "<a href=\"%(sender_url)s\">%(message_sender)s</a> has sent you a reply to '<a href=\"%(message_url)s\">%(message_parent_msg)s</a>'." |
|||
#~ msgstr "<a href=\"%(sender_url)s\">%(message_sender)s</a> ha risposto a '<a href=\"%(message_url)s\">%(message_parent_msg)s</a>'." |
|||
|
|||
#~ msgid "You have sent the message '%(message)s' to %(message_recipient)s." |
|||
#~ msgstr "Hai spedito il messaggio '%(message)s' a %(message_recipient)s." |
|||
@ -1,292 +0,0 @@ |
|||
# 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 <jeong@youknowone.org>, 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 <jeong@youknowone.org>\n" |
|||
"Language-Team: Jeong YunWon <jeong@youknowone.org>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "<a href=\"%(message_url)s\">%(message)s</a> 지윘습니다." |
|||
|
|||
#: templates/notification/messages_recovered/notice.html:1 |
|||
#, python-format |
|||
msgid "You have recovered the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "<a href=\"%(message_url)s\">%(message)s</a> 되살렸습니다." |
|||
|
|||
#: templates/notification/messages_received/notice.html:2 |
|||
#, python-format |
|||
msgid "You have received the message <a href=\"%(message_url)s\">%(message)s</a> from %(message_sender)s." |
|||
msgstr "%(message_sender)s 님에게 <a href=\"%(message_url)s\">%(message)s</a> 받았습니다." |
|||
|
|||
#: 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 <a href=\"%(message_url)s\">%(message)s</a> to %(message_recipient)s." |
|||
msgstr "%(message_recipient)s 님에게 <a href=\"%(message_url)s\">%(message)s</a> 보냈습니다." |
|||
|
|||
#: templates/notification/messages_replied/notice.html:2 |
|||
#, python-format |
|||
msgid "You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> from %(message_recipient)s." |
|||
msgstr "%(message_recipient)s 님의 <a href=\"%(message_url)s\">%(message_parent_msg)s</a> 에 답장하였습니다." |
|||
|
|||
#: 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" |
|||
|
|||
@ -1,320 +0,0 @@ |
|||
# 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 <EMAIL@ADDRESS>, 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 <saulius@zemaitaitis.lt>\n" |
|||
"Language-Team: LANGUAGE <LL@li.org>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "" |
|||
"Ištrynėte žinutę <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_received/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have received the message <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"from %(message_sender)s." |
|||
msgstr "" |
|||
"Gavote žinutę <a href=\"%(message_url)s\">%(message)s</a> nuo %" |
|||
"(message_sender)s." |
|||
|
|||
#: templates/notification/messages_recovered/notice.html:1 |
|||
#, python-format |
|||
msgid "" |
|||
"You have recovered the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "" |
|||
"Atstatėte žinutę <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_replied/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"from %(message_recipient)s." |
|||
msgstr "" |
|||
"Jūs atsakėte į žinutę <a href=\"%(message_url)s\">%(message_parent_msg)" |
|||
"s</a> 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 <a href=\"%(message_url)s\">%(message)s</a> to %" |
|||
"(message_recipient)s." |
|||
msgstr "" |
|||
"Išsiuntėte žinutę <a href=\"%(message_url)s\">%(message)s</a> %" |
|||
"(message_recipient)s." |
|||
@ -1,314 +0,0 @@ |
|||
# 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 <EMAIL@ADDRESS>, 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 <info@krisje8.com>\n" |
|||
"Language-Team: krisje8 <info@krisje8.com\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 "Ontvanger" |
|||
|
|||
#: admin.py:15 |
|||
msgid "group" |
|||
msgstr "groep" |
|||
|
|||
#: admin.py:16 |
|||
msgid "Creates the message optionally for all users or a group of users." |
|||
msgstr "" |
|||
"Maakt het bericht optioneel voor alle gebruikers of een groep van gebruikers." |
|||
|
|||
#: admin.py:23 |
|||
msgid "All users" |
|||
msgstr "Alle gebruikers" |
|||
|
|||
#: admin.py:38 models.py:88 |
|||
msgid "Message" |
|||
msgstr "Bericht" |
|||
|
|||
#: admin.py:45 |
|||
msgid "Date/time" |
|||
msgstr "Datum/tijd" |
|||
|
|||
#: fields.py:53 |
|||
#, python-format |
|||
msgid "The following usernames are incorrect: %(users)s" |
|||
msgstr "De volgende gebruikersnamen zijn incorrect: %(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 "Onderwerp" |
|||
|
|||
#: forms.py:22 models.py:50 |
|||
msgid "Body" |
|||
msgstr "Inhoud" |
|||
|
|||
#: management.py:9 |
|||
msgid "Message Received" |
|||
msgstr "Bericht Ontvangen" |
|||
|
|||
#: management.py:9 |
|||
msgid "you have received a message" |
|||
msgstr "je hebt een bericht ontvangen" |
|||
|
|||
#: management.py:10 |
|||
msgid "Message Sent" |
|||
msgstr "Bericht Verstuurd" |
|||
|
|||
#: management.py:10 |
|||
msgid "you have sent a message" |
|||
msgstr "je hebt een bericht verstuurd" |
|||
|
|||
#: management.py:11 |
|||
msgid "Message Replied" |
|||
msgstr "Bericht Beantwoord" |
|||
|
|||
#: management.py:11 |
|||
msgid "you have replied to a message" |
|||
msgstr "je hebt een bericht beantwoord" |
|||
|
|||
#: management.py:12 |
|||
msgid "Reply Received" |
|||
msgstr "Antwoord Ontvangen" |
|||
|
|||
#: management.py:12 |
|||
msgid "you have received a reply to a message" |
|||
msgstr "je hebt een antwoord op een bericht ontvangen" |
|||
|
|||
#: management.py:13 |
|||
msgid "Message Deleted" |
|||
msgstr "Bericht Verwijderd" |
|||
|
|||
#: management.py:13 |
|||
msgid "you have deleted a message" |
|||
msgstr "je hebt een bericht verwijderd" |
|||
|
|||
#: management.py:14 |
|||
msgid "Message Recovered" |
|||
msgstr "Bericht Hersteld" |
|||
|
|||
#: management.py:14 |
|||
msgid "you have undeleted a message" |
|||
msgstr "je hebt een bericht hersteld" |
|||
|
|||
#: models.py:51 templates/messages/inbox.html:7 |
|||
#: templates/messages/trash.html:7 templates/messages/view.html:8 |
|||
msgid "Sender" |
|||
msgstr "Verstuurder" |
|||
|
|||
#: models.py:53 |
|||
msgid "Parent message" |
|||
msgstr "Hoofdbericht" |
|||
|
|||
#: models.py:54 |
|||
msgid "sent at" |
|||
msgstr "verstuurd op" |
|||
|
|||
#: models.py:55 |
|||
msgid "read at" |
|||
msgstr "gelezen op" |
|||
|
|||
#: models.py:56 |
|||
msgid "replied at" |
|||
msgstr "beantwoord op" |
|||
|
|||
#: models.py:57 |
|||
msgid "Sender deleted at" |
|||
msgstr "Verstuurder verwijderde op" |
|||
|
|||
#: models.py:58 |
|||
msgid "Recipient deleted at" |
|||
msgstr "Ontvanger verwijderde op" |
|||
|
|||
#: models.py:89 |
|||
msgid "Messages" |
|||
msgstr "Berichten" |
|||
|
|||
#: utils.py:27 |
|||
#, python-format |
|||
msgid "New Message: %(subject)s" |
|||
msgstr "Nieuw Bericht: %(subject)s" |
|||
|
|||
#: views.py:78 views.py:112 |
|||
msgid "Message successfully sent." |
|||
msgstr "Bericht succesvol verstuurd." |
|||
|
|||
#: views.py:118 |
|||
#, python-format |
|||
msgid "" |
|||
"%(sender)s wrote:\n" |
|||
"%(body)s" |
|||
msgstr "" |
|||
"%(sender)s schreef:\n" |
|||
"%(body)s" |
|||
|
|||
#: views.py:122 |
|||
#, python-format |
|||
msgid "Re: %(subject)s" |
|||
msgstr "Antw: %(subject)s" |
|||
|
|||
#: views.py:158 |
|||
msgid "Message successfully deleted." |
|||
msgstr "Bericht succesvol verwijderd." |
|||
|
|||
#: views.py:185 |
|||
msgid "Message successfully recovered." |
|||
msgstr "Bericht succesvol hersteld." |
|||
|
|||
#: templates/messages/base.html:8 templates/messages/inbox.html:4 |
|||
#: templates/messages/new_message.html:10 |
|||
msgid "Inbox" |
|||
msgstr "Postvak In" |
|||
|
|||
#: templates/messages/base.html:9 templates/messages/outbox.html:4 |
|||
msgid "Sent Messages" |
|||
msgstr "Verstuurde berichten" |
|||
|
|||
#: templates/messages/base.html:10 |
|||
msgid "New Message" |
|||
msgstr "Nieuw Bericht" |
|||
|
|||
#: templates/messages/base.html:11 |
|||
msgid "Trash" |
|||
msgstr "Prullenbak" |
|||
|
|||
#: templates/messages/compose.html:4 |
|||
msgid "Compose Message" |
|||
msgstr "Schrijf een bericht" |
|||
|
|||
#: templates/messages/compose.html:9 |
|||
msgid "Send" |
|||
msgstr "Verstuur" |
|||
|
|||
#: templates/messages/inbox.html:7 |
|||
msgid "Received" |
|||
msgstr "Ontvangen" |
|||
|
|||
#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 |
|||
#: templates/messages/trash.html:7 |
|||
msgid "Action" |
|||
msgstr "Actie" |
|||
|
|||
#: 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 "verwijderen" |
|||
|
|||
#: 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" |
|||
"Je hebt een persoonlijk bericht ontvangen van %(sender)s met\n" |
|||
"de volgende inhoud:" |
|||
|
|||
#: templates/messages/new_message.html:9 |
|||
#, python-format |
|||
msgid "Sent from %(site_url)s" |
|||
msgstr "Verstuurd vanaf %(site_url)s" |
|||
|
|||
#: templates/messages/new_message.html:11 templates/messages/view.html:18 |
|||
msgid "Reply" |
|||
msgstr "Beantwoord" |
|||
|
|||
#: templates/messages/outbox.html:7 |
|||
msgid "Sent" |
|||
msgstr "Verstuurd" |
|||
|
|||
#: templates/messages/trash.html:4 |
|||
msgid "Deleted Messages" |
|||
msgstr "Verwijderde Berichten" |
|||
|
|||
#: templates/messages/trash.html:7 templates/messages/view.html:10 |
|||
msgid "Date" |
|||
msgstr "Datum" |
|||
|
|||
#: templates/messages/trash.html:17 |
|||
msgid "undelete" |
|||
msgstr "herstel" |
|||
|
|||
#: 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 "" |
|||
"Verwijderde Berichten worden uit de prullenbak verwijderd op onregelmatige " |
|||
"tijden, vertrouw niet op deze functie voor langdurige opslag." |
|||
|
|||
#: templates/messages/view.html:4 |
|||
msgid "View Message" |
|||
msgstr "Bekijk Bericht" |
|||
|
|||
#: templates/messages/view.html:20 |
|||
msgid "Delete" |
|||
msgstr "Verwijder" |
|||
|
|||
#: templates/notification/messages_deleted/notice.html:1 |
|||
#, python-format |
|||
msgid "" |
|||
"You have deleted the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "" |
|||
"Je hebt het bericht <a href=\"%(message_url)s\">%(message)s</a> verwijderd." |
|||
|
|||
#: templates/notification/messages_received/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have received the message <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"from %(message_sender)s." |
|||
msgstr "" |
|||
"Je hebt het bericht <a href=\"%(message_url)s\">%(message)s</a> ontvangen " |
|||
"van %(message_sender)s." |
|||
|
|||
#: templates/notification/messages_recovered/notice.html:1 |
|||
#, python-format |
|||
msgid "" |
|||
"You have recovered the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "" |
|||
"Je hebt het bericht <a href=\"%(message_url)s\">%(message)s</a> hersteld." |
|||
|
|||
#: templates/notification/messages_replied/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"from %(message_recipient)s." |
|||
msgstr "" |
|||
"Je hebt op <a href=\"%(message_url)s\">%(message_parent_msg)s</a> 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 <a href=\"%(message_url)s\">%(message)s</a> to %" |
|||
"(message_recipient)s." |
|||
msgstr "" |
|||
"Je hebt het bericht <a href=\"%(message_url)s\">%(message)s</a> naar %" |
|||
"(message_recipient)s gestuurd." |
|||
@ -1,305 +0,0 @@ |
|||
# 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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n" |
|||
"Language-Team: LANGUAGE <LL@li.org>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "" |
|||
|
|||
#: templates/notification/messages_received/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have received the message <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"from %(message_sender)s." |
|||
msgstr "" |
|||
|
|||
#: templates/notification/messages_recovered/notice.html:1 |
|||
#, python-format |
|||
msgid "" |
|||
"You have recovered the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "" |
|||
|
|||
#: templates/notification/messages_replied/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"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 <a href=\"%(message_url)s\">%(message)s</a> to %" |
|||
"(message_recipient)s." |
|||
msgstr "" |
|||
@ -1,314 +0,0 @@ |
|||
# 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 <conchas@gmail.com>, 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 <EMAIL@ADDRESS>\n" |
|||
"Language-Team: LANGUAGE <LL@li.org>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "Você excluiu a mensagem <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_received/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have received the message <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"from %(message_sender)s." |
|||
msgstr "" |
|||
"Você recebeu a mensagem <a href=\"%(message_url)s\">%(message)s</a> de %" |
|||
"(message_sender)s." |
|||
|
|||
#: templates/notification/messages_recovered/notice.html:1 |
|||
#, python-format |
|||
msgid "" |
|||
"You have recovered the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "Você recuperou a mensagem <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_replied/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"from %(message_recipient)s." |
|||
msgstr "" |
|||
"Você respondeu a mensagem <a href=\"%(message_url)s\">%(message_parent_msg)" |
|||
"s</a> 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 <a href=\"%(message_url)s\">%(message)s</a> to %" |
|||
"(message_recipient)s." |
|||
msgstr "" |
|||
"Você enviou a mensagem <a href=\"%(message_url)s\">%(message)s</a> para %" |
|||
"(message_recipient)s." |
|||
@ -1,317 +0,0 @@ |
|||
# 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 <EMAIL@ADDRESS>, 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 <edu2004eu@gmail.com>\n" |
|||
"Language-Team: LANGUAGE <LL@li.org>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "Ati sters mesajul <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_received/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have received the message <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"from %(message_sender)s." |
|||
msgstr "" |
|||
"Ati primit mesajul <a href=\"%(message_url)s\">%(message)s</a> von " |
|||
"%(message_sender)s." |
|||
|
|||
#: templates/notification/messages_recovered/notice.html:1 |
|||
#, python-format |
|||
msgid "" |
|||
"You have recovered the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "Ati recuperat mesajul <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates/notification/messages_replied/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"from %(message_recipient)s." |
|||
msgstr "" |
|||
"Ati raspuns la mesajul <a href=\"%(message_url)s\">%(message_parent_msg)s</" |
|||
"a> 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 <a href=\"%(message_url)s\">%(message)s</a> to " |
|||
"%(message_recipient)s." |
|||
msgstr "" |
|||
"Ati trimis mesajul <a href=\"%(message_url)s\">%(message)s</a> an " |
|||
"%(message_recipient)s." |
|||
@ -1,332 +0,0 @@ |
|||
# 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: 2017-02-28 12:46+0300\n" |
|||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
|||
"Last-Translator: Dmitry Novikov nerosketch@gmail.com\n" |
|||
"Language: ru\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: 8bit\n" |
|||
|
|||
#: django_messages/admin.py:21 |
|||
msgid "group" |
|||
msgstr "Группа" |
|||
|
|||
#: django_messages/admin.py:22 |
|||
msgid "Creates the message optionally for all users or a group of users." |
|||
msgstr "Создать сообщения опционально для всех пользователей или группы" |
|||
|
|||
#: django_messages/admin.py:30 |
|||
msgid "All users" |
|||
msgstr "Все пользователи" |
|||
|
|||
#: django_messages/admin.py:48 django_messages/models.py:91 |
|||
msgid "Message" |
|||
msgstr "Сообщение" |
|||
|
|||
#: django_messages/admin.py:55 |
|||
msgid "Date/time" |
|||
msgstr "Дата/Время" |
|||
|
|||
#: django_messages/apps.py:6 django_messages/models.py:92 |
|||
msgid "Messages" |
|||
msgstr "Сообщения" |
|||
|
|||
#: django_messages/forms.py:21 django_messages/models.py:55 |
|||
#: django_messages/templates/django_messages/compose.html:14 |
|||
#: django_messages/templates/django_messages/outbox.html:9 |
|||
#: django_messages/templates/django_messages/view.html:13 |
|||
msgid "Recipient" |
|||
msgstr "Получатель" |
|||
|
|||
#: django_messages/forms.py:27 django_messages/models.py:52 |
|||
#: django_messages/templates/django_messages/compose.html:23 |
|||
#: django_messages/templates/django_messages/inbox.html:9 |
|||
#: django_messages/templates/django_messages/outbox.html:9 |
|||
#: django_messages/templates/django_messages/trash.html:9 |
|||
#: django_messages/templates/django_messages/view.html:7 |
|||
msgid "Subject" |
|||
msgstr "Тема" |
|||
|
|||
#: django_messages/forms.py:31 django_messages/models.py:53 |
|||
#: django_messages/templates/django_messages/compose.html:32 |
|||
msgid "Body" |
|||
msgstr "Сообщение" |
|||
|
|||
#: django_messages/management.py:9 |
|||
msgid "Message Received" |
|||
msgstr "Сообщение получено" |
|||
|
|||
#: django_messages/management.py:9 |
|||
msgid "you have received a message" |
|||
msgstr "вы получили сообщение" |
|||
|
|||
#: django_messages/management.py:10 |
|||
msgid "Message Sent" |
|||
msgstr "Сообщение отправлено" |
|||
|
|||
#: django_messages/management.py:10 |
|||
msgid "you have sent a message" |
|||
msgstr "Вы отправили сообщение" |
|||
|
|||
#: django_messages/management.py:11 |
|||
msgid "Message Replied" |
|||
msgstr "Сообщение отвечено" |
|||
|
|||
#: django_messages/management.py:11 |
|||
msgid "you have replied to a message" |
|||
msgstr "вы ответили на сообщение" |
|||
|
|||
#: django_messages/management.py:12 |
|||
msgid "Reply Received" |
|||
msgstr "Ответ получен" |
|||
|
|||
#: django_messages/management.py:12 |
|||
msgid "you have received a reply to a message" |
|||
msgstr "вы получили ответ на сообщение" |
|||
|
|||
#: django_messages/management.py:13 |
|||
msgid "Message Deleted" |
|||
msgstr "Сообщение удалено" |
|||
|
|||
#: django_messages/management.py:13 |
|||
msgid "you have deleted a message" |
|||
msgstr "вы удалили сообщение" |
|||
|
|||
#: django_messages/management.py:14 |
|||
msgid "Message Recovered" |
|||
msgstr "Сообщение восстановлено" |
|||
|
|||
#: django_messages/management.py:14 |
|||
msgid "you have undeleted a message" |
|||
msgstr "вы восстановили сообщение" |
|||
|
|||
#: django_messages/models.py:54 |
|||
#: django_messages/templates/django_messages/inbox.html:9 |
|||
#: django_messages/templates/django_messages/trash.html:9 |
|||
#: django_messages/templates/django_messages/view.html:9 |
|||
msgid "Sender" |
|||
msgstr "Отправитель" |
|||
|
|||
#: django_messages/models.py:56 |
|||
msgid "Parent message" |
|||
msgstr "Родительское сообщение" |
|||
|
|||
#: django_messages/models.py:57 |
|||
msgid "sent at" |
|||
msgstr "отправлено" |
|||
|
|||
#: django_messages/models.py:58 |
|||
msgid "read at" |
|||
msgstr "прочитано" |
|||
|
|||
#: django_messages/models.py:59 |
|||
msgid "replied at" |
|||
msgstr "отвечено" |
|||
|
|||
#: django_messages/models.py:60 |
|||
msgid "Sender deleted at" |
|||
msgstr "Отправитель удалил" |
|||
|
|||
#: django_messages/models.py:61 |
|||
msgid "Recipient deleted at" |
|||
msgstr "Получатель удалил" |
|||
|
|||
#: django_messages/templates/django_messages/compose.html:8 |
|||
msgid "Compose Message" |
|||
msgstr "Новое сообщение" |
|||
|
|||
#: django_messages/templates/django_messages/compose.html:42 |
|||
msgid "Send" |
|||
msgstr "Отправить" |
|||
|
|||
#: django_messages/templates/django_messages/inbox.html:5 |
|||
#: django_messages/templates/django_messages/new_message.html:12 |
|||
msgid "Inbox" |
|||
msgstr "Входящие" |
|||
|
|||
#: django_messages/templates/django_messages/inbox.html:9 |
|||
msgid "Received" |
|||
msgstr "Получено" |
|||
|
|||
#: django_messages/templates/django_messages/inbox.html:9 |
|||
#: django_messages/templates/django_messages/outbox.html:9 |
|||
#: django_messages/templates/django_messages/trash.html:9 |
|||
msgid "Action" |
|||
msgstr "Действия" |
|||
|
|||
#: django_messages/templates/django_messages/inbox.html:21 |
|||
#: django_messages/templates/django_messages/outbox.html:18 |
|||
#: django_messages/templates/django_messages/trash.html:18 |
|||
#: django_messages/templates/django_messages/view.html:12 |
|||
msgid "DATETIME_FORMAT" |
|||
msgstr "j. N Y, H:i" |
|||
|
|||
#: django_messages/templates/django_messages/inbox.html:22 |
|||
#: django_messages/templates/django_messages/outbox.html:19 |
|||
msgid "delete" |
|||
msgstr "удалить" |
|||
|
|||
#: django_messages/templates/django_messages/inbox.html:28 |
|||
#: django_messages/templates/django_messages/outbox.html:25 |
|||
#: django_messages/templates/django_messages/trash.html:25 |
|||
msgid "No messages." |
|||
msgstr "Сообщений нет." |
|||
|
|||
#: django_messages/templates/django_messages/new_message.html:3 |
|||
#, 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" |
|||
"со следующим содержанием:" |
|||
|
|||
#: django_messages/templates/django_messages/new_message.html:11 |
|||
#, python-format |
|||
msgid "Sent from %(site_url)s" |
|||
msgstr "Отправлено %(site_url)s" |
|||
|
|||
#: django_messages/templates/django_messages/new_message.html:13 |
|||
#: django_messages/templates/django_messages/view.html:19 |
|||
msgid "Reply" |
|||
msgstr "Ответить" |
|||
|
|||
#: django_messages/templates/django_messages/outbox.html:5 |
|||
msgid "Sent Messages" |
|||
msgstr "Исходящие" |
|||
|
|||
#: django_messages/templates/django_messages/outbox.html:9 |
|||
msgid "Sent" |
|||
msgstr "Отправлено" |
|||
|
|||
#: django_messages/templates/django_messages/trash.html:5 |
|||
msgid "Deleted Messages" |
|||
msgstr "Удалённые сообщения" |
|||
|
|||
#: django_messages/templates/django_messages/trash.html:9 |
|||
#: django_messages/templates/django_messages/view.html:11 |
|||
msgid "Date" |
|||
msgstr "Дата" |
|||
|
|||
#: django_messages/templates/django_messages/trash.html:19 |
|||
msgid "undelete" |
|||
msgstr "восстановить" |
|||
|
|||
#: django_messages/templates/django_messages/trash.html:28 |
|||
msgid "" |
|||
"Deleted Messages are removed from the trash at unregular intervals, don't " |
|||
"rely on this feature for long-time storage." |
|||
msgstr "" |
|||
"Удалённые сообщения очищаются из корзины через произвольные интервалы,не " |
|||
"используйте эту возможность как долгосрочное хранилище." |
|||
|
|||
#: django_messages/templates/django_messages/view.html:5 |
|||
msgid "View Message" |
|||
msgstr "Просмотр сообщений" |
|||
|
|||
#: django_messages/templates/django_messages/view.html:21 |
|||
msgid "Delete" |
|||
msgstr "Удалить" |
|||
|
|||
#: django_messages/templates/notification/messages_deleted/notice.html:1 |
|||
#, python-format |
|||
msgid "" |
|||
"You have deleted the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "Вы удалили сообщение <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: django_messages/templates/notification/messages_received/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have received the message <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"from %(message_sender)s." |
|||
msgstr "" |
|||
"Вы получили сообщение <a href=\"%(message_url)s\">%(message)s</a> от " |
|||
"%(message_sender)s." |
|||
|
|||
#: django_messages/templates/notification/messages_recovered/notice.html:1 |
|||
#, python-format |
|||
msgid "" |
|||
"You have recovered the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "Вы восстановили сообщение <a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: django_messages/templates/notification/messages_replied/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"from %(message_recipient)s." |
|||
msgstr "" |
|||
"Вы ответили на <a href=\"%(message_url)s\">%(message_parent_msg)s</a> от " |
|||
"%(message_recipient)s." |
|||
|
|||
#: django_messages/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." |
|||
|
|||
#: django_messages/templates/notification/messages_sent/notice.html:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have sent the message <a href=\"%(message_url)s\">%(message)s</a> to " |
|||
"%(message_recipient)s." |
|||
msgstr "" |
|||
"Вы отправили сообщение <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"получателям %(message_recipient)s." |
|||
|
|||
#: django_messages/utils.py:20 |
|||
#, python-format |
|||
msgid "" |
|||
"%(sender)s wrote:\n" |
|||
"%(body)s" |
|||
msgstr "" |
|||
"%(sender)s написал:\n" |
|||
"%(body)s" |
|||
|
|||
#: django_messages/utils.py:49 |
|||
#, fuzzy, python-format |
|||
#| msgid "Re: %(subject)s" |
|||
msgid "Re%(prefix)s: %(subject)s" |
|||
msgstr "Re: %(subject)s" |
|||
|
|||
#: django_messages/utils.py:56 |
|||
#, python-format |
|||
msgid "New Message: %(subject)s" |
|||
msgstr "Новое сообщение: %(subject)s" |
|||
|
|||
#: django_messages/views.py:83 django_messages/views.py:121 |
|||
msgid "Message successfully sent." |
|||
msgstr "Сообщение успешно отправлено." |
|||
|
|||
#: django_messages/views.py:103 django_messages/views.py:202 |
|||
#, python-format |
|||
msgid "Re: %(subject)s" |
|||
msgstr "Re: %(subject)s" |
|||
|
|||
#: django_messages/views.py:165 |
|||
msgid "Message successfully deleted." |
|||
msgstr "Сообщение успешно удалено." |
|||
|
|||
#: django_messages/views.py:193 |
|||
msgid "Message successfully recovered." |
|||
msgstr "Сообщение успешно восстановлено." |
|||
|
|||
#~ msgid "The following usernames are incorrect: %(users)s" |
|||
#~ msgstr "Некорректные имена пользователей: %(users)s" |
|||
|
|||
#~ msgid "New Message" |
|||
#~ msgstr "Новое сообщение" |
|||
|
|||
#~ msgid "Trash" |
|||
#~ msgstr "Удалённые" |
|||
@ -1,299 +0,0 @@ |
|||
# 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 <genewoo@gmail.com>, 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 <genewoo@gmail.com>\n" |
|||
"Language-Team: LANGUAGE <LL@li.org>\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 <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "你已删除了消息<a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates\notification\messages_received\notice.html.py:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have received the message <a href=\"%(message_url)s\">%(message)s</a> " |
|||
"from %(message_sender)s." |
|||
msgstr "" |
|||
"你已收到%(message_sender)s的消息<a href=\"%(message_url)s\">%(message)s</a>。" |
|||
"" |
|||
|
|||
#: templates\notification\messages_recovered\notice.html.py:1 |
|||
#, python-format |
|||
msgid "" |
|||
"You have recovered the message <a href=\"%(message_url)s\">%(message)s</a>." |
|||
msgstr "你已恢复了消息<a href=\"%(message_url)s\">%(message)s</a>." |
|||
|
|||
#: templates\notification\messages_replied\notice.html.py:2 |
|||
#, python-format |
|||
msgid "" |
|||
"You have replied to <a href=\"%(message_url)s\">%(message_parent_msg)s</a> " |
|||
"from %(message_recipient)s." |
|||
msgstr "" |
|||
"你已回复了%(message_recipient)s.发出的消息<a href=\"%(message_url)s\">%(message_parent_msg)s</a>" |
|||
"" |
|||
|
|||
#: 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 <a href=\"%(message_url)s\">%(message)s</a> to %" |
|||
"(message_recipient)s." |
|||
msgstr "" |
|||
"你已发送消息<a href=\"%(message_url)s\">%(message)s</a>到%" |
|||
"(message_recipient)s." |
|||
@ -1,18 +0,0 @@ |
|||
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") |
|||
@ -1,32 +0,0 @@ |
|||
import datetime |
|||
from django.core.management.base import BaseCommand, CommandError |
|||
from django.utils import timezone |
|||
from ...models import Message |
|||
|
|||
|
|||
class Command(BaseCommand): |
|||
args = '<minimum age in days (e.g. 30)>' |
|||
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() |
|||
@ -1,37 +0,0 @@ |
|||
# -*- 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,), |
|||
), |
|||
] |
|||
@ -1,20 +0,0 @@ |
|||
# -*- 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, |
|||
), |
|||
] |
|||
@ -1,105 +0,0 @@ |
|||
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) |
|||
@ -1,11 +0,0 @@ |
|||
<!DOCTYPE html> |
|||
<html> |
|||
<head> |
|||
<title></title> |
|||
</head> |
|||
<body> |
|||
{% block content %} |
|||
|
|||
{% endblock %} |
|||
</body> |
|||
</html> |
|||
@ -1,53 +0,0 @@ |
|||
{% extends request.is_ajax|yesno:'nullcont.htm,django_messages/ext.htm' %} |
|||
{% load i18n %} |
|||
|
|||
{% block content %} |
|||
|
|||
<div class="panel panel-default"> |
|||
<div class="panel-heading"> |
|||
<h3 class="panel-title">{% trans "Compose Message"%}</h3> |
|||
</div> |
|||
<div class="panel-body"> |
|||
<form action="" method="post">{% csrf_token %} |
|||
|
|||
<div class="form-group"> |
|||
<label for="id_recipient">{% trans "Recipient" %}</label> |
|||
|
|||
<div class="input-group"> |
|||
<span class="input-group-addon"><span class="glyphicon glyphicon-user"></span></span> |
|||
{{ form.recipient }}{{ form.recipient.errors }} |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group"> |
|||
<label for="id_subject">{% trans "Subject" %}</label> |
|||
|
|||
<div class="input-group"> |
|||
<span class="input-group-addon"><span class="glyphicon glyphicon-blackboard"></span></span> |
|||
{{ form.subject }}{{ form.subject.errors }} |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group"> |
|||
<label for="id_body">{% trans "Body" %}</label> |
|||
|
|||
<div class="input-group"> |
|||
<span class="input-group-addon"><span class="glyphicon glyphicon-text-background"></span></span> |
|||
{{ form.body }}{{ form.body.errors }} |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="btn-group"> |
|||
<button type="submit" class="btn btn-sm btn-primary"> |
|||
<span class="glyphicon glyphicon-save"></span> {% trans "Send" %} |
|||
</button> |
|||
<button type="reset" class="btn btn-sm btn-default"> |
|||
<span class="glyphicon glyphicon-remove-circle"></span> Reset |
|||
</button> |
|||
</div> |
|||
|
|||
</form> |
|||
</div> |
|||
</div> |
|||
|
|||
{% endblock %} |
|||
@ -1,43 +0,0 @@ |
|||
{% extends request.is_ajax|yesno:'bajax.html,base.html' %} |
|||
{% load i18n %} |
|||
|
|||
{% block main %} |
|||
|
|||
<ol class="breadcrumb"> |
|||
<li><span class="glyphicon glyphicon-home"></span></li> |
|||
<li class="active">Сообщения</li> |
|||
</ol> |
|||
|
|||
{% include 'message_block.html' %} |
|||
|
|||
<ul class="nav nav-tabs"> |
|||
|
|||
{% url 'django_messages:messages_inbox' as inp_msg %} |
|||
<li{% if inp_msg == request.path %} class="active"{% endif %}> |
|||
<a href="{{ inp_msg }}">{% trans "Inbox" %}</a> |
|||
</li> |
|||
|
|||
{% url 'django_messages:messages_outbox' as out_msg %} |
|||
<li{% if out_msg == request.path %} class="active"{% endif %}> |
|||
<a href="{{ out_msg }}">{% trans "Sent Messages" %}</a> |
|||
</li> |
|||
|
|||
{% url 'django_messages:messages_compose' as cmp_msg %} |
|||
<li{% if cmp_msg == request.path %} class="active"{% endif %}> |
|||
<a href="{{ cmp_msg }}">{% trans "New Message" %}</a> |
|||
</li> |
|||
|
|||
{% url 'django_messages:messages_trash' as trh_msg %} |
|||
<li{% if trh_msg == request.path %} class="active"{% endif %}> |
|||
<a href="{{ trh_msg }}">{% trans "Trash" %}</a> |
|||
</li> |
|||
|
|||
</ul> |
|||
|
|||
<div class="tab-content"> |
|||
<div class="tab-pane active"> |
|||
{% block content %}{% endblock %} |
|||
</div> |
|||
</div> |
|||
|
|||
{% endblock %} |
|||
@ -1,30 +0,0 @@ |
|||
{% extends "base.html" %} |
|||
{% load i18n %} |
|||
|
|||
{% block content %} |
|||
<h1>{% trans "Inbox" %}</h1> |
|||
{% if message_list %} |
|||
<table class="messages"> |
|||
<thead> |
|||
<tr><th>{% trans "Sender" %}</th><th>{% trans "Subject" %}</th><th>{% trans "Received" %}</th><th>{% trans "Action" %}</th></tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for message in message_list %} |
|||
<tr> |
|||
<td>{{ message.sender }}</td> |
|||
<td> |
|||
{% if message.new %}<strong>{% endif %} |
|||
{% if message.replied %}<em>{% endif %} |
|||
<a href="{{ message.get_absolute_url }}">{{ message.subject }}</a> |
|||
{% if message.replied %}</em>{% endif %} |
|||
{% if message.new %}</strong>{% endif %}</td> |
|||
<td>{{ message.sent_at|date:_("DATETIME_FORMAT") }}</td> |
|||
<td><a href="{% url 'django_messages:messages_delete' message.id %}">{% trans "delete" %}</a></td> |
|||
</tr> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
{% else %} |
|||
<p>{% trans "No messages." %}</p> |
|||
{% endif %} |
|||
{% endblock %} |
|||
@ -1,13 +0,0 @@ |
|||
{% 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 %} |
|||
@ -1,27 +0,0 @@ |
|||
{% extends "django_messages/base.html" %} |
|||
{% load i18n %} |
|||
|
|||
{% block content %} |
|||
<h1>{% trans "Sent Messages" %}</h1> |
|||
{% if message_list %} |
|||
<table class="messages"> |
|||
<thead> |
|||
<tr><th>{% trans "Recipient" %}</th><th>{% trans "Subject" %}</th><th>{% trans "Sent" %}</th><th>{% trans "Action" %}</th></tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for message in message_list %} |
|||
<tr> |
|||
<td>{{ message.recipient }}</td> |
|||
<td> |
|||
<a href="{{ message.get_absolute_url }}">{{ message.subject }}</a> |
|||
</td> |
|||
<td>{{ message.sent_at|date:_("DATETIME_FORMAT") }}</td> |
|||
<td><a href="{% url 'django_messages:messages_delete' message.id %}?next={% url 'django_messages:messages_outbox' %}">{% trans "delete" %}</a></td> |
|||
</tr> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
{% else %} |
|||
<p>{% trans "No messages." %}</p> |
|||
{% endif %} |
|||
{% endblock %} |
|||
@ -1,29 +0,0 @@ |
|||
{% extends "django_messages/base.html" %} |
|||
{% load i18n %} |
|||
|
|||
{% block content %} |
|||
<h1>{% trans "Deleted Messages" %}</h1> |
|||
{% if message_list %} |
|||
<table class="messages"> |
|||
<thead> |
|||
<tr><th>{% trans "Sender" %}</th><th>{% trans "Subject" %}</th><th>{% trans "Date" %}</th><th>{% trans "Action" %}</th></tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for message in message_list %} |
|||
<tr> |
|||
<td>{{ message.sender }}</td> |
|||
<td> |
|||
{{ message.subject }} |
|||
</td> |
|||
<td>{{ message.sent_at|date:_("DATETIME_FORMAT") }}</td> |
|||
<td><a href="{% url 'django_messages:messages_undelete' message.id %}">{% trans "undelete" %}</a></td> |
|||
</tr> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
{% else %} |
|||
<p>{% trans "No messages." %}</p> |
|||
{% endif %} |
|||
<br /> |
|||
<p>{% trans "Deleted Messages are removed from the trash at unregular intervals, don't rely on this feature for long-time storage." %}</p> |
|||
{% endblock %} |
|||
@ -1,35 +0,0 @@ |
|||
{% extends "django_messages/base.html" %} |
|||
{% load i18n %} |
|||
|
|||
{% block content %} |
|||
<h1>{% trans "View Message" %}</h1> |
|||
<dl class="message-headers"> |
|||
<dt>{% trans "Subject" %}</dt> |
|||
<dd><strong>{{ message.subject }}</strong></dd> |
|||
<dt>{% trans "Sender" %}</dt> |
|||
<dd>{{ message.sender }}</dd> |
|||
<dt>{% trans "Date" %} </dt> |
|||
<dd>{{ message.sent_at|date:_("DATETIME_FORMAT")}}</dd> |
|||
<dt>{% trans "Recipient" %}</dt> |
|||
<dd>{{ message.recipient }}</dd> |
|||
</dl> |
|||
{{ message.body|linebreaksbr }}<br /><br /> |
|||
|
|||
{% ifequal message.recipient.pk user.pk %} |
|||
<a href="{% url 'django_messages:messages_reply' message.id %}">{% trans "Reply" %}</a> |
|||
{% endifequal %} |
|||
<a href="{% url 'django_messages:messages_delete' message.id %}">{% trans "Delete" %}</a> |
|||
|
|||
{% comment %}Example reply_form integration |
|||
{% if reply_form %} |
|||
<h1>{% trans "Compose reply"%}</h1> |
|||
<form action="{% url 'messages_reply' message.id %}" method="post"> |
|||
{% csrf_token %} |
|||
<table> |
|||
{{ reply_form.as_table }} |
|||
</table> |
|||
<input type="submit" value="{% trans "Send" %} »"/> |
|||
</form> |
|||
{% endif %} |
|||
{% endcomment %} |
|||
{% endblock %} |
|||
@ -1 +0,0 @@ |
|||
{% load i18n %}{% blocktrans with message.get_absolute_url as message_url %}You have deleted the message <a href="{{ message_url }}">{{ message }}</a>.{% endblocktrans %} |
|||
@ -1,2 +0,0 @@ |
|||
{% load i18n %} |
|||
{% blocktrans with message.get_absolute_url as message_url and message.sender as message_sender %}You have received the message <a href="{{ message_url }}">{{ message }}</a> from {{ message_sender }}.{% endblocktrans %} |
|||
@ -1 +0,0 @@ |
|||
{% load i18n %}{% blocktrans with message.get_absolute_url as message_url %}You have recovered the message <a href="{{ message_url }}">{{ message }}</a>.{% endblocktrans %} |
|||
@ -1,2 +0,0 @@ |
|||
{% 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 <a href="{{ message_url }}">{{ message_parent_msg }}</a> from {{ message_recipient }}.{% endblocktrans %} |
|||
@ -1,2 +0,0 @@ |
|||
{% 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 %} |
|||
@ -1,2 +0,0 @@ |
|||
{% load i18n %} |
|||
{% blocktrans with message.get_absolute_url as message_url and message.recipient as message_recipient %}You have sent the message <a href="{{ message_url }}">{{ message }}</a> to {{ message_recipient }}.{% endblocktrans %} |
|||
@ -1,45 +0,0 @@ |
|||
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) |
|||
@ -1,178 +0,0 @@ |
|||
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") |
|||
@ -1,15 +0,0 @@ |
|||
from django.conf.urls import url |
|||
|
|||
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<recipient>[\w.@+-]+)/$', compose, name='messages_compose_to'), |
|||
url(r'^reply/(?P<message_id>[\d]+)/$', reply, name='messages_reply'), |
|||
url(r'^view/(?P<message_id>[\d]+)/$', view, name='messages_detail'), |
|||
url(r'^delete/(?P<message_id>[\d]+)/$', delete, name='messages_delete'), |
|||
url(r'^undelete/(?P<message_id>[\d]+)/$', undelete, name='messages_undelete'), |
|||
url(r'^trash/$', trash, name='messages_trash'), |
|||
] |
|||
@ -1,99 +0,0 @@ |
|||
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' |
|||
@ -1,231 +0,0 @@ |
|||
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) |
|||
@ -0,0 +1,3 @@ |
|||
from django.contrib import admin |
|||
|
|||
# Register your models here. |
|||
@ -0,0 +1,5 @@ |
|||
from django.apps import AppConfig |
|||
|
|||
|
|||
class MsgAppConfig(AppConfig): |
|||
name = 'msg_app' |
|||
@ -0,0 +1,9 @@ |
|||
from .models import Conversation |
|||
|
|||
|
|||
def get_new_messages_count(request): |
|||
if request.user.is_anonymous(): |
|||
count = 0 |
|||
else: |
|||
count = Conversation.objects.get_new_messages_count(request.user) |
|||
return {'new_messages_count': count} |
|||
@ -0,0 +1,63 @@ |
|||
from django import forms |
|||
from django.utils.translation import ugettext_lazy as _ |
|||
from .models import Conversation, Message, MessageError |
|||
from accounts_app.models import UserProfile |
|||
|
|||
|
|||
class ConversationForm(forms.ModelForm): |
|||
|
|||
def __init__(self, *args, **kwargs): |
|||
super(ConversationForm, self).__init__(*args, **kwargs) |
|||
user_profile_queryset = UserProfile.objects.filter(is_admin=True) |
|||
if user_profile_queryset is not None: |
|||
self.fields['participants'].choices = [(up.pk, up.get_full_name()) for up in user_profile_queryset] |
|||
|
|||
title = forms.CharField(max_length=32, required=False, widget=forms.TextInput(attrs={'class': 'form-control', 'maxlength': '32'})) |
|||
participants = forms.MultipleChoiceField(required=False, widget=forms.SelectMultiple(attrs={'class': 'form-control'})) |
|||
|
|||
class Meta: |
|||
model = Conversation |
|||
exclude = ['date_create', 'author'] |
|||
|
|||
def create(self, author): |
|||
participants = self.cleaned_data['participants'] |
|||
if not participants: |
|||
raise MessageError(_('you must choose at least 1 participants')) |
|||
conversation = Conversation.objects.create_conversation( |
|||
author=author, title=self.cleaned_data['title'], |
|||
other_participants=participants |
|||
) |
|||
return conversation |
|||
|
|||
# must be use create() |
|||
def save(self, commit=True): |
|||
# You must use ConversationForm.create() for save the form |
|||
raise NotImplementedError |
|||
|
|||
|
|||
class MessageForm(forms.ModelForm): |
|||
|
|||
class Meta: |
|||
model = Message |
|||
exclude = ['sent_at', 'author', 'conversation', 'account_status'] |
|||
widgets = { |
|||
'text': forms.Textarea(attrs={'class': 'form-control'}), |
|||
'attachment': forms.FileInput(attrs={'class': 'form-control'}) |
|||
} |
|||
|
|||
def create(self, conversation, author): |
|||
if not isinstance(conversation, Conversation): |
|||
raise TypeError |
|||
if not isinstance(author, UserProfile): |
|||
raise TypeError |
|||
msg = conversation.new_message( |
|||
text=self.cleaned_data['text'], |
|||
attachment=self.cleaned_data['attachment'], |
|||
author=author |
|||
) |
|||
return msg |
|||
|
|||
|
|||
def save(self, commit=True): |
|||
# You must use MessageForm.create() for save the form |
|||
raise NotImplementedError |
|||
@ -0,0 +1,161 @@ |
|||
# SOME DESCRIPTIVE TITLE. |
|||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
|||
# This file is distributed under the same license as the PACKAGE package. |
|||
# Dmitry Novikov nerosketch@gmail.com, 2017. |
|||
# |
|||
#, fuzzy |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: PACKAGE VERSION\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2017-10-04 17:52+0300\n" |
|||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
|||
"Last-Translator: Dmitry Novikov nerosketch@gmail.com\n" |
|||
"Language: ru\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: 8bit\n" |
|||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" |
|||
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" |
|||
"%100>=11 && n%100<=14)? 2 : 3);\n" |
|||
|
|||
#: forms.py:25 |
|||
msgid "you must choose at least 1 participants" |
|||
msgstr "вы должны выбрать как минимум одного участника" |
|||
|
|||
#: models.py:14 templates/msg_app/conversations.html.py:54 |
|||
msgid "New" |
|||
msgstr "Новая" |
|||
|
|||
#: models.py:15 |
|||
msgid "Seen" |
|||
msgstr "Просмотренное" |
|||
|
|||
#: models.py:16 |
|||
msgid "Deleted" |
|||
msgstr "Удалённое" |
|||
|
|||
#: models.py:28 |
|||
msgid "Message status" |
|||
msgstr "Статус сообщения" |
|||
|
|||
#: models.py:29 |
|||
msgid "Messages statuses" |
|||
msgstr "Статусы сообщений" |
|||
|
|||
#: models.py:33 |
|||
msgid "Body" |
|||
msgstr "Тело" |
|||
|
|||
#: models.py:34 |
|||
msgid "sent at" |
|||
msgstr "отправлено" |
|||
|
|||
#: models.py:36 models.py:234 |
|||
msgid "Conversation" |
|||
msgstr "Беседа" |
|||
|
|||
#: models.py:66 |
|||
msgid "Message" |
|||
msgstr "Сообщение" |
|||
|
|||
#: models.py:67 |
|||
msgid "Messages" |
|||
msgstr "Сообщения" |
|||
|
|||
#: models.py:69 |
|||
msgid "Can view messages" |
|||
msgstr "может просматривать сообщения" |
|||
|
|||
#: models.py:77 |
|||
msgid "Admin" |
|||
msgstr "Админ" |
|||
|
|||
#: models.py:78 |
|||
msgid "Guest" |
|||
msgstr "Гость" |
|||
|
|||
#: models.py:79 |
|||
msgid "Banned user" |
|||
msgstr "Запрещённый пользователь" |
|||
|
|||
#: models.py:80 |
|||
msgid "Inviter" |
|||
msgstr "Создатель" |
|||
|
|||
#: models.py:90 |
|||
msgid "Conversation membership" |
|||
msgstr "Членство в беседе" |
|||
|
|||
#: models.py:91 |
|||
msgid "Conversation memberships" |
|||
msgstr "Членства в беседах" |
|||
|
|||
#: models.py:100 |
|||
msgid "Participant profile does not found" |
|||
msgstr "Учётная запись участника не найдена" |
|||
|
|||
#: models.py:110 |
|||
msgid "No name" |
|||
msgstr "Без имени" |
|||
|
|||
#: models.py:235 templates/msg_app/conversations.html.py:14 |
|||
msgid "Conversations" |
|||
msgstr "Беседы" |
|||
|
|||
#: models.py:237 |
|||
msgid "Can view conversation" |
|||
msgstr "Может просматривать беседы" |
|||
|
|||
#: templates/msg_app/chat.html:7 templates/msg_app/conversations.html.py:7 |
|||
msgid "Private messages" |
|||
msgstr "Личные сообщения" |
|||
|
|||
#: templates/msg_app/chat.html:16 |
|||
msgid "peoples" |
|||
msgstr "участников" |
|||
|
|||
#: templates/msg_app/chat.html:26 |
|||
msgid "Delete" |
|||
msgstr "Удалить" |
|||
|
|||
#: templates/msg_app/chat.html:58 |
|||
msgid "Message history is empty" |
|||
msgstr "История сообщений пуста" |
|||
|
|||
#: templates/msg_app/chat.html:75 |
|||
msgid "Send" |
|||
msgstr "Отправить" |
|||
|
|||
#: templates/msg_app/conversations.html:32 |
|||
#, python-format |
|||
msgid "%(participants_count)s participants, %(msg_count)s messages" |
|||
msgstr "%(participants_count)s участников, %(msg_count)s сообщений" |
|||
|
|||
#: templates/msg_app/conversations.html:38 |
|||
msgid "No messages found" |
|||
msgstr "Сообщения не найдены" |
|||
|
|||
#: templates/msg_app/conversations.html:47 |
|||
msgid "Any conversations not found" |
|||
msgstr "Не найдено ни одной беседы" |
|||
|
|||
#: templates/msg_app/modal_new_conversation.html:5 |
|||
msgid "Create conversation" |
|||
msgstr "Создать беседу" |
|||
|
|||
#: templates/msg_app/modal_new_conversation.html:19 |
|||
msgid "for select multiple press ctrl and click on field" |
|||
msgstr "Для выбора нескольких ывриантов зажмите ctrl и кликните вариант" |
|||
|
|||
#: templates/msg_app/modal_new_conversation.html:28 |
|||
msgid "Add" |
|||
msgstr "Добавить" |
|||
|
|||
#: views.py:26 |
|||
msgid "Conversation has been created" |
|||
msgstr "Беседа создана" |
|||
|
|||
#: views.py:29 views.py:48 |
|||
msgid "fix form errors" |
|||
msgstr "заполните все поля в соответствии с их форматом" |
|||
@ -0,0 +1,103 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-10-04 17:44 |
|||
from __future__ import unicode_literals |
|||
|
|||
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='Conversation', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('title', models.CharField(max_length=32)), |
|||
('date_create', models.DateTimeField(auto_now_add=True)), |
|||
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), |
|||
], |
|||
options={ |
|||
'verbose_name': 'Conversation', |
|||
'verbose_name_plural': 'Conversations', |
|||
'db_table': 'conversations', |
|||
'permissions': (('can_view_conversation', 'Can view conversation'),), |
|||
}, |
|||
), |
|||
migrations.CreateModel( |
|||
name='ConversationMembership', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('status', models.CharField(choices=[('adm', 'Admin'), ('gst', 'Guest'), ('ban', 'Banned user'), ('inv', 'Inviter')], default='gst', max_length=3)), |
|||
('account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='memberships', to=settings.AUTH_USER_MODEL)), |
|||
('conversation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='msg_app.Conversation')), |
|||
('who_invite_that_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='self_conversations', to=settings.AUTH_USER_MODEL)), |
|||
], |
|||
options={ |
|||
'verbose_name': 'Conversation membership', |
|||
'verbose_name_plural': 'Conversation memberships', |
|||
'db_table': 'conversation_memberships', |
|||
}, |
|||
), |
|||
migrations.CreateModel( |
|||
name='Message', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('text', models.TextField(verbose_name='Body')), |
|||
('sent_at', models.DateTimeField(auto_now_add=True, verbose_name='sent at')), |
|||
('attachment', models.FileField(blank=True, null=True, upload_to='messages_attachments/%Y_%m_%d')), |
|||
], |
|||
options={ |
|||
'verbose_name': 'Message', |
|||
'verbose_name_plural': 'Messages', |
|||
'db_table': 'messages', |
|||
'ordering': ['-sent_at'], |
|||
'permissions': (('can_view_messages', 'Can view messages'),), |
|||
}, |
|||
), |
|||
migrations.CreateModel( |
|||
name='MessageStatus', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('state', models.CharField(choices=[('new', 'New'), ('old', 'Seen'), ('del', 'Deleted')], default='new', max_length=3)), |
|||
('msg', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='msg_statuses', to='msg_app.Message')), |
|||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='usr_msg_status', to=settings.AUTH_USER_MODEL)), |
|||
], |
|||
options={ |
|||
'verbose_name': 'Message status', |
|||
'verbose_name_plural': 'Messages statuses', |
|||
'db_table': 'message_status', |
|||
}, |
|||
), |
|||
migrations.AddField( |
|||
model_name='message', |
|||
name='account_status', |
|||
field=models.ManyToManyField(through='msg_app.MessageStatus', to=settings.AUTH_USER_MODEL), |
|||
), |
|||
migrations.AddField( |
|||
model_name='message', |
|||
name='author', |
|||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='messages', to=settings.AUTH_USER_MODEL), |
|||
), |
|||
migrations.AddField( |
|||
model_name='message', |
|||
name='conversation', |
|||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='msg_app.Conversation', verbose_name='Conversation'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='conversation', |
|||
name='participants', |
|||
field=models.ManyToManyField(related_name='conversations', through='msg_app.ConversationMembership', to=settings.AUTH_USER_MODEL), |
|||
), |
|||
migrations.AlterUniqueTogether( |
|||
name='messagestatus', |
|||
unique_together=set([('msg', 'user', 'state')]), |
|||
), |
|||
] |
|||
@ -0,0 +1,237 @@ |
|||
from django.db import models |
|||
from django.utils.translation import ugettext_lazy as _ |
|||
from accounts_app.models import UserProfile |
|||
|
|||
|
|||
class MessageError(Exception): |
|||
pass |
|||
|
|||
|
|||
class MessageStatus(models.Model): |
|||
msg = models.ForeignKey('Message', related_name='msg_statuses') |
|||
user = models.ForeignKey(UserProfile, related_name='usr_msg_status') |
|||
MESSAGE_STATES = ( |
|||
('new', _('New')), |
|||
('old', _('Seen')), |
|||
('del', _('Deleted')) |
|||
) |
|||
state = models.CharField(max_length=3, choices=MESSAGE_STATES, default='new') |
|||
|
|||
def __str__(self): |
|||
return "%s for %s (%s)" % (self.get_state_display(), self.user, self.msg) |
|||
|
|||
class Meta: |
|||
db_table = 'message_status' |
|||
unique_together = ( |
|||
('msg', 'user', 'state') |
|||
) |
|||
verbose_name = _('Message status') |
|||
verbose_name_plural = _('Messages statuses') |
|||
|
|||
|
|||
class Message(models.Model): |
|||
text = models.TextField(_("Body")) |
|||
sent_at = models.DateTimeField(_("sent at"), auto_now_add=True) |
|||
author = models.ForeignKey(UserProfile, related_name='messages') |
|||
conversation = models.ForeignKey('Conversation', verbose_name=_('Conversation')) |
|||
attachment = models.FileField(upload_to='messages_attachments/%Y_%m_%d', blank=True, null=True) |
|||
account_status = models.ManyToManyField(UserProfile, through=MessageStatus, through_fields=('msg', 'user')) |
|||
|
|||
def __str__(self): |
|||
return self.text[:9] |
|||
|
|||
def _set_status(self, account, code): |
|||
try: |
|||
ms = MessageStatus.objects.get(msg=self, user=account) |
|||
if ms.status == code: |
|||
return False |
|||
ms.status = code |
|||
ms.save(update_fields=['status']) |
|||
return True |
|||
except MessageStatus.DoesNotExist: |
|||
return False |
|||
|
|||
def set_status_old(self, account): |
|||
return self._set_status(account, 'old') |
|||
|
|||
def set_status_del(self, account): |
|||
return self._set_status(account, 'del') |
|||
|
|||
def set_status_new(self, account): |
|||
return self._set_status(account, 'new') |
|||
|
|||
class Meta: |
|||
db_table = 'messages' |
|||
ordering = ['-sent_at'] |
|||
verbose_name = _("Message") |
|||
verbose_name_plural = _("Messages") |
|||
permissions = ( |
|||
('can_view_messages', _('Can view messages')), |
|||
) |
|||
|
|||
|
|||
class ConversationMembership(models.Model): |
|||
account = models.ForeignKey(UserProfile, related_name='memberships') |
|||
conversation = models.ForeignKey('Conversation') |
|||
PARTICIPANT_STATUS = ( |
|||
('adm', _('Admin')), |
|||
('gst', _('Guest')), |
|||
('ban', _('Banned user')), |
|||
('inv', _('Inviter')) |
|||
) |
|||
status = models.CharField(max_length=3, choices=PARTICIPANT_STATUS, default='gst') |
|||
who_invite_that_user = models.ForeignKey(UserProfile, null=True, blank=True, related_name='self_conversations') |
|||
|
|||
def __str__(self): |
|||
return "%s < %s" % (self.conversation, self.account) |
|||
|
|||
class Meta: |
|||
db_table = 'conversation_memberships' |
|||
verbose_name = _("Conversation membership") |
|||
verbose_name_plural = _("Conversation memberships") |
|||
|
|||
|
|||
def id_to_userprofile(acc): |
|||
if isinstance(acc, UserProfile): |
|||
return acc |
|||
try: |
|||
return UserProfile.objects.get(pk=acc) |
|||
except UserProfile.DoesNotExist: |
|||
raise MessageError(_('Participant profile does not found')) |
|||
|
|||
|
|||
class ConversationManager(models.Manager): |
|||
|
|||
def create_conversation(self, author, other_participants, title=None): |
|||
other_participants = [id_to_userprofile(acc) for acc in other_participants] |
|||
if not title: |
|||
usernames = [acc.username for acc in other_participants] |
|||
if not usernames: |
|||
title = _('No name') |
|||
else: |
|||
title = ', '.join(usernames) |
|||
conversation = self.create(title=title, author=author) |
|||
for acc in other_participants: |
|||
ConversationMembership.objects.create( |
|||
account=acc, conversation=conversation, status='adm', who_invite_that_user=author |
|||
) |
|||
|
|||
ConversationMembership.objects.create( |
|||
account=author, conversation=conversation, status='inv' |
|||
) |
|||
return conversation |
|||
|
|||
def get_new_messages_count(self, account): |
|||
ms_count = MessageStatus.objects.filter(user=account, state='new').count() |
|||
return ms_count |
|||
|
|||
def fetch(self, account): |
|||
conversations = self.filter(models.Q(author=account) | models.Q(participants__in=[account])).annotate( |
|||
msg_count=models.Count('message', distinct=True) |
|||
) |
|||
return conversations |
|||
|
|||
|
|||
class Conversation(models.Model): |
|||
title = models.CharField(max_length=32) |
|||
participants = models.ManyToManyField(UserProfile, related_name='conversations', |
|||
through='ConversationMembership', |
|||
through_fields=('conversation', 'account')) |
|||
author = models.ForeignKey(UserProfile) |
|||
date_create = models.DateTimeField(auto_now_add=True) |
|||
|
|||
def __str__(self): |
|||
return self.title |
|||
|
|||
objects = ConversationManager() |
|||
|
|||
def get_messages(self): |
|||
return Message.objects.filter(conversation=self).order_by('sent_at')[:10] |
|||
|
|||
def get_messages_new_count(self, account): |
|||
msgs = Message.objects.filter(conversation=self) |
|||
return MessageStatus.objects.filter(user=account, msg__in=msgs, state='new').count() |
|||
|
|||
def last_message(self): |
|||
messages = Message.objects.filter(conversation=self) |
|||
if messages.count() > 0: |
|||
return messages[0] |
|||
|
|||
def new_message(self, text, attachment, author, with_status=True): |
|||
msg = Message.objects.create( |
|||
text=text, conversation=self, attachment=attachment, author=author |
|||
) |
|||
if with_status: |
|||
for participant in self.participants.all(): |
|||
if participant == author: |
|||
continue |
|||
MessageStatus.objects.create(msg=msg, user=participant) |
|||
return msg |
|||
|
|||
def remove_message(self, msg): |
|||
if isinstance(msg, Message): |
|||
m = msg |
|||
else: |
|||
m = Message.objects.get(pk=int(msg)) |
|||
if m is None: |
|||
return False |
|||
else: |
|||
m.delete() |
|||
return True |
|||
|
|||
def _make_participant_status(self, user, status, cm=None): |
|||
if cm is None: |
|||
cm = ConversationMembership.objects.get(account=user, conversation=self) |
|||
else: |
|||
if not isinstance(cm, ConversationMembership): |
|||
raise TypeError('cm must be instance of msg_app.ConversationMembership') |
|||
cm.status = status |
|||
cm.save(update_fields=['status']) |
|||
return cm |
|||
|
|||
def make_participant_status_admin(self, user): |
|||
return self._make_participant_status(user, 'adm') |
|||
|
|||
def make_participant_status_guest(self, user): |
|||
return self._make_participant_status(user, 'gst') |
|||
|
|||
def make_participant_status_ban(self, user): |
|||
return self._make_participant_status(user, 'ban') |
|||
|
|||
def make_participant_status_inviter(self, user): |
|||
return self._make_participant_status(user, 'inv') |
|||
|
|||
def remove_participant(self, user): |
|||
try: |
|||
cm = ConversationMembership.objects.get(account=user, conversation=self) |
|||
cm.delete() |
|||
except ConversationMembership.DoesNotExist: |
|||
pass |
|||
|
|||
def add_participant(self, author, user): |
|||
return ConversationMembership.objects.create( |
|||
account=user, conversation=self, status='gst', who_invite_that_user=author |
|||
) |
|||
|
|||
def find_messages_by_text(self, text): |
|||
return Message.objects.filter(text__icontains=text, conversation=self) |
|||
|
|||
def _make_messages_status(self, account, status): |
|||
qs = MessageStatus.objects.filter(msg__conversation=self, user=account).exclude(state='del') |
|||
if status != 'del': |
|||
qs = qs.exclude(state=status) |
|||
return qs.update(state=status) |
|||
|
|||
def make_messages_status_new(self, account): |
|||
return self._make_messages_status(account, 'new') |
|||
|
|||
def make_messages_status_old(self, account): |
|||
return self._make_messages_status(account, 'old') |
|||
|
|||
class Meta: |
|||
db_table = 'conversations' |
|||
verbose_name = _("Conversation") |
|||
verbose_name_plural = _("Conversations") |
|||
permissions = ( |
|||
('can_view_conversation', _('Can view conversation')), |
|||
) |
|||
@ -0,0 +1,87 @@ |
|||
{% extends request.is_ajax|yesno:'bajax.html,base.html' %} |
|||
{% load i18n %} |
|||
{% block main %} |
|||
|
|||
<ol class="breadcrumb"> |
|||
<li><span class="glyphicon glyphicon-home"></span></li> |
|||
<li><a href="{% url 'msg_app:home' %}">{% trans 'Private messages' %}</a></li> |
|||
<li class="active">{{ conv.title }}</li> |
|||
</ol> |
|||
|
|||
{% include 'message_block.html' %} |
|||
|
|||
<div class="panel panel-default"> |
|||
<div class="panel-heading"> |
|||
<h3 class="panel-title">{{ conv.title }} |
|||
<small>{{ conv.participants.count }} {% trans 'peoples' %}</small> |
|||
</h3> |
|||
</div> |
|||
<div class="list-group"> |
|||
|
|||
{% with can_view_profile=perms.accounts_app.can_view_userprofile %} |
|||
{% for msg in msg_list %} |
|||
{% with author=msg.author %} |
|||
<div class="list-group-item clearfix"> |
|||
{% if msg.author == request.user %} |
|||
<a href="{% url 'msg_app:remove_msg' conv.pk msg.pk %}" class="btn btn-link pull-right" title="{% trans 'Delete' %}" data-toggle="tooltip"> |
|||
<span class="glyphicon glyphicon-remove"></span> |
|||
</a> |
|||
{% endif %} |
|||
<div class="row"> |
|||
<div class="col-sm-1"> |
|||
{% if can_view_profile %} |
|||
<a href="{% url 'acc_app:other_profile' author.pk %}" class="thumbnail" target="_blank" title="{{ author.get_full_name }}" data-toggle="tooltip"> |
|||
<img src="{{ author.get_min_ava }}" alt="ava"> |
|||
</a> |
|||
{% else %} |
|||
<img src="{{ author.get_min_ava }}" class="img-thumbnail" alt="ava"> |
|||
{% endif %} |
|||
</div> |
|||
<div class="col-sm-11"> |
|||
<h5>{{ author.get_short_name }} |
|||
<small>{{ msg.sent_at|date:'d M, H:i:s' }}</small> |
|||
</h5> |
|||
|
|||
<p>{{ msg.text }}</p> |
|||
{% if msg.attachment %} |
|||
<a href="{{ msg.attachment }}" class="btn btn-default btn-sm" target="_blank"> |
|||
<span class="glyphicon glyphicon-gift"></span> {{ msg.attachment }} |
|||
</a> |
|||
{% endif %} |
|||
|
|||
</div> |
|||
</div> |
|||
</div> |
|||
{% endwith %} |
|||
{% empty %} |
|||
<div class="list-group-item"> |
|||
<h4 class="list-group-item-heading">{% trans 'Message history is empty' %}</h4> |
|||
</div> |
|||
{% endfor %} |
|||
{% endwith %} |
|||
</div> |
|||
<form action="{% url 'msg_app:to_conversation' conv.pk %}" method="post" |
|||
enctype="multipart/form-data">{% csrf_token %} |
|||
<div class="panel-footer"> |
|||
<div class="form-group"> |
|||
<div class="input-group"> |
|||
<span class="input-group-addon"><span class="glyphicon glyphicon-comment"></span></span> |
|||
<textarea name="text" required class="form-control"></textarea> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="btn-group"> |
|||
<button class="btn btn-default" type="submit"> |
|||
<span class="glyphicon glyphicon-send"></span> {% trans 'Send' %} |
|||
</button> |
|||
<!--<button class="btn btn-default" type="button"> |
|||
<span class="glyphicon glyphicon-tag"></span> { % trans 'Attach' % } |
|||
</button>--> |
|||
</div> |
|||
|
|||
<small>Если кто-то будет пользоваться то усовершенствую личные сообщения</small> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
|
|||
{% endblock %} |
|||
@ -0,0 +1,62 @@ |
|||
{% extends request.is_ajax|yesno:'bajax.html,base.html' %} |
|||
{% load i18n %} |
|||
{% block main %} |
|||
|
|||
<ol class="breadcrumb"> |
|||
<li><span class="glyphicon glyphicon-home"></span></li> |
|||
<li class="active">{% trans 'Private messages' %}</li> |
|||
</ol> |
|||
|
|||
{% include 'message_block.html' %} |
|||
|
|||
<div class="panel panel-default"> |
|||
<div class="panel-heading"> |
|||
<h3 class="panel-title">{% trans 'Conversations' %}</h3> |
|||
</div> |
|||
<div class="list-group"> |
|||
{% for conv in conversations %} |
|||
{% with last_msg=conv.last_message %} |
|||
<a href="{% url 'msg_app:to_conversation' conv.pk %}" class="list-group-item"> |
|||
<div class="row"> |
|||
<div class="col-sm-1"> |
|||
<img src="{{ conv.author.get_min_ava }}" class="img-thumbnail"> |
|||
</div> |
|||
<div class="col-sm-11"> |
|||
|
|||
{% if last_msg %} |
|||
<div class="pull-right"> |
|||
<small>{{ last_msg.sent_at|date:'d M, H:i:s' }}</small> |
|||
</div> |
|||
{% endif %} |
|||
<h4>{{ conv.title }} |
|||
<small>{% blocktrans with participants_count=conv.participants.count msg_count=conv.msg_count %}{{ participants_count }} participants, {{ msg_count }} messages{% endblocktrans %}</small> |
|||
</h4> |
|||
|
|||
{% if last_msg %} |
|||
<p>{{ last_msg.text }}</p> |
|||
{% else %} |
|||
<p>{% trans 'No messages found' %}</p> |
|||
{% endif %} |
|||
|
|||
</div> |
|||
</div> |
|||
</a> |
|||
{% endwith %} |
|||
{% empty %} |
|||
<a href="#" class="list-group-item"> |
|||
<p class="list-group-item-text">{% trans 'Any conversations not found' %}</p> |
|||
</a> |
|||
{% endfor %} |
|||
</div> |
|||
<div class="panel-footer"> |
|||
<div class="btn-group"> |
|||
<a href="{% url 'msg_app:new_conversation' %}" class="btn btn-default btn-modal"> |
|||
<span class="glyphicon glyphicon-plus"></span> {% trans 'New' %} |
|||
</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
{% include 'toolbar_page.html' with pag=conversations %} |
|||
|
|||
{% endblock %} |
|||
@ -0,0 +1,33 @@ |
|||
{% load i18n %} |
|||
<form role="form" action="{% url 'msg_app:new_conversation' %}" method="post">{% csrf_token %} |
|||
<div class="modal-header primary"> |
|||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> |
|||
<h4 class="modal-title"><span class="glyphicon glyphicon-envelope"></span>{% trans 'Create conversation' %}</h4> |
|||
</div> |
|||
|
|||
<div class="modal-body"> |
|||
<div class="form-group"> |
|||
<label for="{{ form.title.id_for_label }}">{{ form.title.label }}</label> |
|||
<div class="input-group"> |
|||
<span class="input-group-addon"><span class="glyphicon glyphicon-header"></span></span> |
|||
{{ form.title }}{{ form.title.errors }} |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group"> |
|||
<label for="{{ form.participants.id_for_label }}">{{ form.participants.label }}</label> |
|||
<small>{% trans 'for select multiple press ctrl and click on field' %}</small> |
|||
<div class="input-group"> |
|||
<span class="input-group-addon"><span class="glyphicon glyphicon-user"></span></span> |
|||
{{ form.participants }}{{ form.participants.errors }} |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="btn-group"> |
|||
<button type="submit" class="btn btn-primary"> |
|||
<span class="glyphicon glyphicon-plus"></span> {% trans 'Add' %} |
|||
</button> |
|||
</div> |
|||
</div> |
|||
|
|||
</form> |
|||
@ -0,0 +1,3 @@ |
|||
from django.test import TestCase |
|||
|
|||
# Create your tests here. |
|||
@ -0,0 +1,10 @@ |
|||
from django.conf.urls import url |
|||
from . import views |
|||
|
|||
|
|||
urlpatterns = [ |
|||
url(r'^$', views.home, name='home'), |
|||
url(r'^new$', views.new_conversation, name='new_conversation'), |
|||
url(r'^(?P<conv_id>\d+)/$', views.to_conversation, name='to_conversation'), |
|||
url(r'^(?P<conv_id>\d+)/(?P<msg_id>\d+)/del$', views.remove_msg, name='remove_msg') |
|||
] |
|||
@ -0,0 +1,72 @@ |
|||
from django.contrib.auth.decorators import login_required |
|||
from django.contrib.gis.shortcuts import render_to_text |
|||
from django.core.exceptions import PermissionDenied |
|||
from django.utils.translation import ugettext_lazy as _ |
|||
from django.contrib import messages |
|||
from django.shortcuts import render, redirect, get_object_or_404 |
|||
|
|||
from mydefs import pag_mn |
|||
from .models import Conversation, MessageError, Message |
|||
from .forms import ConversationForm, MessageForm |
|||
|
|||
|
|||
@login_required |
|||
def home(request): |
|||
# TODO: optimise queries |
|||
conversations = Conversation.objects.fetch(request.user) |
|||
conversations = pag_mn(request, conversations, 8) |
|||
return render(request, 'msg_app/conversations.html', { |
|||
'conversations': conversations |
|||
}) |
|||
|
|||
|
|||
@login_required |
|||
def new_conversation(request): |
|||
try: |
|||
frm = ConversationForm(request.POST or None) |
|||
if request.method == 'POST': |
|||
if frm.is_valid(): |
|||
conv = frm.create(request.user) |
|||
messages.success(request, _('Conversation has been created')) |
|||
return redirect('msg_app:to_conversation', conv.pk) |
|||
else: |
|||
messages.error(request, _('fix form errors')) |
|||
else: |
|||
return render_to_text('msg_app/modal_new_conversation.html', { |
|||
'form': frm |
|||
}, request=request) |
|||
except MessageError as e: |
|||
messages.error(request, e) |
|||
return redirect('msg_app:home') |
|||
|
|||
|
|||
@login_required |
|||
def to_conversation(request, conv_id): |
|||
conv = get_object_or_404(Conversation, pk=conv_id) |
|||
try: |
|||
if request.method == 'POST': |
|||
frm = MessageForm(request.POST, request.FILES) |
|||
if frm.is_valid(): |
|||
frm.create(conv, request.user) |
|||
else: |
|||
messages.error(request, _('fix form errors')) |
|||
else: |
|||
conv.make_messages_status_old(request.user) |
|||
msg_list = conv.get_messages() |
|||
return render(request, 'msg_app/chat.html', { |
|||
'conv': conv, |
|||
'msg_list': msg_list |
|||
}) |
|||
except MessageError as e: |
|||
messages.error(request, e) |
|||
return redirect('msg_app:home') |
|||
|
|||
|
|||
@login_required |
|||
def remove_msg(request, conv_id, msg_id): |
|||
msg = get_object_or_404(Message, pk=msg_id) |
|||
if msg.author != request.user: |
|||
raise PermissionDenied |
|||
conversation_id = msg.conversation.pk |
|||
msg.delete() |
|||
return redirect('msg_app:to_conversation', conversation_id) |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue