From 4bc492b50ba05110ad1e06d8de83aaa81183312b Mon Sep 17 00:00:00 2001 From: Patrick Samson Date: Tue, 11 Dec 2012 09:18:21 +0100 Subject: [PATCH] Make the app compatible with the new 'Custom Auth Model' feature of Django 1.5 --- CHANGELOG | 10 +- docs/conf.py | 2 +- docs/quickstart.rst | 2 +- postman/__init__.py | 8 +- postman/admin.py | 10 +- postman/api.py | 4 +- postman/context_processors.py | 3 + postman/fields.py | 24 +- postman/forms.py | 33 ++- postman/future_1_5.py | 16 ++ postman/locale/ar/LC_MESSAGES/django.mo | Bin 974 -> 954 bytes postman/locale/ar/LC_MESSAGES/django.po | 200 +++++++-------- postman/locale/da/LC_MESSAGES/django.mo | Bin 2294 -> 2274 bytes postman/locale/da/LC_MESSAGES/django.po | 200 +++++++-------- postman/locale/de/LC_MESSAGES/django.mo | Bin 9917 -> 9897 bytes postman/locale/de/LC_MESSAGES/django.po | 233 ++++++++++-------- postman/locale/el/LC_MESSAGES/django.mo | Bin 12834 -> 12814 bytes postman/locale/el/LC_MESSAGES/django.po | 209 ++++++++-------- postman/locale/en/LC_MESSAGES/django.po | 196 +++++++-------- postman/locale/es/LC_MESSAGES/django.mo | Bin 9734 -> 9714 bytes postman/locale/es/LC_MESSAGES/django.po | 217 ++++++++-------- postman/locale/fa_IR/LC_MESSAGES/django.mo | Bin 8095 -> 8075 bytes postman/locale/fa_IR/LC_MESSAGES/django.po | 211 ++++++++-------- postman/locale/fr/LC_MESSAGES/django.mo | Bin 9800 -> 9827 bytes postman/locale/fr/LC_MESSAGES/django.po | 200 +++++++-------- postman/locale/it/LC_MESSAGES/django.mo | Bin 8976 -> 8956 bytes postman/locale/it/LC_MESSAGES/django.po | 214 ++++++++-------- postman/locale/nl/LC_MESSAGES/django.mo | Bin 3687 -> 3667 bytes postman/locale/nl/LC_MESSAGES/django.po | 218 ++++++++-------- postman/locale/pl/LC_MESSAGES/django.mo | Bin 8813 -> 8793 bytes postman/locale/pl/LC_MESSAGES/django.po | 218 ++++++++-------- postman/locale/ru/LC_MESSAGES/django.mo | Bin 12262 -> 12242 bytes postman/locale/ru/LC_MESSAGES/django.po | 203 ++++++++------- postman/locale/tr/LC_MESSAGES/django.mo | Bin 6807 -> 6787 bytes postman/locale/tr/LC_MESSAGES/django.po | 213 ++++++++-------- postman/locale/zh_CN/LC_MESSAGES/django.mo | Bin 8979 -> 8959 bytes postman/locale/zh_CN/LC_MESSAGES/django.po | 218 ++++++++-------- postman/locale/zh_TW/LC_MESSAGES/django.mo | Bin 8923 -> 8903 bytes postman/locale/zh_TW/LC_MESSAGES/django.po | 212 ++++++++-------- postman/management/__init__.py | 1 + .../management/commands/postman_checkup.py | 2 + .../management/commands/postman_cleanup.py | 2 + postman/models.py | 24 +- postman/templatetags/pagination_tags.py | 10 +- postman/templatetags/postman_admin_modify.py | 3 + postman/templatetags/postman_tags.py | 19 +- postman/test_urls.py | 33 ++- postman/tests.py | 58 +++-- postman/urls.py | 12 +- postman/utils.py | 8 +- postman/views.py | 46 +++- 51 files changed, 1836 insertions(+), 1656 deletions(-) create mode 100644 postman/future_1_5.py diff --git a/CHANGELOG b/CHANGELOG index 20e0259..d5b4c27 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,14 @@ Django Postman changelog ======================== +Version 2.1.0, December 2012 +---------------------------- +* Make the app compatible with the new 'Custom Auth Model' feature of Django 1.5 +* Add a setting: POSTMAN_SHOW_USER_AS +* Remove the dependency to django-pagination in the default template set. +* Add an optional auto_moderators parameter to the pm_write() API function. +* Add a template for the autocomplete of multiple recipients in version 1.2.x of django-ajax-selects. + Version 2.0.0, August 2012 -------------------------- * Add an API. @@ -25,7 +33,7 @@ Version 1.2.0, March 2012 Version 1.1.0, January 2012 --------------------------- -* Add POSTMAN_DISABLE_USER_EMAILING. +* Add a setting: POSTMAN_DISABLE_USER_EMAILING. * No need for an immediate rejection notification for a User. * Add an ordering criteria. diff --git a/docs/conf.py b/docs/conf.py index 4cc6def..68b4f5b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -47,7 +47,7 @@ copyright = u'2010, Patrick Samson' # The short X.Y version. version = '2.1' # The full version, including alpha/beta/rc tags. -release = '2.1.0a1' +release = '2.1.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/quickstart.rst b/docs/quickstart.rst index afdf46a..300cc75 100644 --- a/docs/quickstart.rst +++ b/docs/quickstart.rst @@ -99,7 +99,7 @@ You may specify some additional configuration options in your :file:`settings.py * The name of a property of User. For example: 'last_name' * The name of a method of User. For example: 'get_full_name' - * A function, receiving the User instance as the only parameter. For example: lambda u: u.get_profile().nickname + * A function, receiving the User instance as the only parameter. For example: ``lambda u: u.get_profile().nickname`` * ``None`` : the default text representation of the User (username) is used. *Defaults to*: None. diff --git a/postman/__init__.py b/postman/__init__.py index 5f4cc3b..851b10a 100644 --- a/postman/__init__.py +++ b/postman/__init__.py @@ -1,11 +1,15 @@ -"""A messaging application for Django""" +""" +A messaging application for Django +""" +from __future__ import unicode_literals # following PEP 386: N.N[.N]+[{a|b|c|rc}N[.N]+][.postN][.devN] VERSION = (2, 1, 0) -PREREL = ('a', 1) +PREREL = () POST = 0 DEV = 0 + def get_version(): version = '.'.join(map(str, VERSION)) if PREREL: diff --git a/postman/admin.py b/postman/admin.py index a904769..aaf2f38 100644 --- a/postman/admin.py +++ b/postman/admin.py @@ -1,3 +1,5 @@ +from __future__ import unicode_literals + from django import forms from django.contrib import admin from django.db import transaction @@ -5,6 +7,7 @@ from django.utils.translation import ugettext, ugettext_lazy as _ from postman.models import Message, PendingMessage + class MessageAdminForm(forms.ModelForm): class Meta: model = Message @@ -74,6 +77,7 @@ class MessageAdminForm(forms.ModelForm): self.initial_status = obj.moderation_status return cleaned_data + class MessageAdmin(admin.ModelAdmin): form = MessageAdminForm search_fields = ('subject', 'body') @@ -101,8 +105,8 @@ class MessageAdmin(admin.ModelAdmin): )}), ) readonly_fields = ( - 'parent', 'thread', # no reason to change, and anyway too many objects - 'moderation_date', 'moderation_by', # automatically set at status change + 'parent', 'thread', # no reason to change, and anyway too many objects + 'moderation_date', 'moderation_by', # automatically set at status change ) radio_fields = {'moderation_status': admin.VERTICAL} @@ -132,6 +136,7 @@ class MessageAdmin(admin.ModelAdmin): obj.update_parent(form.initial_status) obj.notify_users(form.initial_status, is_auto_moderated=False) + class PendingMessageAdminForm(forms.ModelForm): class Meta: model = PendingMessage @@ -150,6 +155,7 @@ class PendingMessageAdminForm(forms.ModelForm): obj.set_rejected() return cleaned_data + class PendingMessageAdmin(MessageAdmin): form = PendingMessageAdminForm search_fields = () diff --git a/postman/api.py b/postman/api.py index 83f620f..f9f53f5 100644 --- a/postman/api.py +++ b/postman/api.py @@ -16,8 +16,10 @@ for e in events: subject='New {0} at Our School: {1}'.format(e.type, e.title), body=e.description) """ +from __future__ import unicode_literals + try: - from django.utils.timezone import now # Django 1.4 aware datetimes + from django.utils.timezone import now # Django 1.4 aware datetimes except ImportError: from datetime import datetime now = datetime.now diff --git a/postman/context_processors.py b/postman/context_processors.py index b4054cc..5008d24 100644 --- a/postman/context_processors.py +++ b/postman/context_processors.py @@ -1,5 +1,8 @@ +from __future__ import unicode_literals + from postman.models import Message + def inbox(request): """Provide the count of unread messages for an authenticated user.""" if request.user.is_authenticated(): diff --git a/postman/fields.py b/postman/fields.py index 9fd250c..554db64 100644 --- a/postman/fields.py +++ b/postman/fields.py @@ -1,14 +1,19 @@ """ Custom fields. """ +from __future__ import unicode_literals from django.conf import settings -from django.contrib.auth.models import User +try: + from django.contrib.auth import get_user_model # Django 1.5 +except ImportError: + from postman.future_1_5 import get_user_model from django.core.exceptions import ValidationError from django.core.validators import EMPTY_VALUES from django.forms.fields import CharField from django.utils.translation import ugettext_lazy as _ + class BasicCommaSeparatedUserField(CharField): """ An internal base class for CommaSeparatedUserField. @@ -23,8 +28,8 @@ class BasicCommaSeparatedUserField(CharField): 'max': _("Ensure this value has at most {limit_value} distinct items (it has {show_value})."), 'min': _("Ensure this value has at least {limit_value} distinct items (it has {show_value})."), 'filtered': _("Some usernames are rejected: {users}."), - 'filtered_user': _("{user.username}"), - 'filtered_user_with_reason': _("{user.username} ({reason})"), + 'filtered_user': _("{username}"), + 'filtered_user_with_reason': _("{username} ({reason})"), } def __init__(self, max=None, min=None, user_filter=None, *args, **kwargs): @@ -45,7 +50,7 @@ class BasicCommaSeparatedUserField(CharField): def to_python(self, value): """Normalize data to an unordered list of distinct, non empty, whitespace-stripped strings.""" value = super(BasicCommaSeparatedUserField, self).to_python(value) - if value in EMPTY_VALUES: # Return an empty list if no useful input was given. + if value in EMPTY_VALUES: # Return an empty list if no useful input was given. return [] return list(set([name.strip() for name in value.split(',') if name and not name.isspace()])) @@ -65,8 +70,9 @@ class BasicCommaSeparatedUserField(CharField): names = super(BasicCommaSeparatedUserField, self).clean(value) if not names: return [] - users = list(User.objects.filter(is_active=True, username__in=names)) - unknown_names = set(names) ^ set([u.username for u in users]) + user_model = get_user_model() + users = list(user_model.objects.filter(is_active=True, **{'{0}__in'.format(user_model.USERNAME_FIELD): names})) + unknown_names = set(names) ^ set([u.get_username() for u in users]) errors = [] if unknown_names: errors.append(self.error_messages['unknown'].format(users=', '.join(unknown_names))) @@ -80,9 +86,9 @@ class BasicCommaSeparatedUserField(CharField): filtered_names.append( self.error_messages[ 'filtered_user_with_reason' if reason else 'filtered_user' - ].format(user=u, reason=reason) + ].format(username=u.get_username(), reason=reason) ) - except ValidationError, e: + except ValidationError as e: users.remove(u) errors.extend(e.messages) if filtered_names: @@ -95,7 +101,7 @@ d = getattr(settings, 'POSTMAN_AUTOCOMPLETER_APP', {}) app_name = d.get('name', 'ajax_select') field_name = d.get('field', 'AutoCompleteField') arg_name = d.get('arg_name', 'channel') -arg_default = d.get('arg_default') # the minimum to declare to enable the feature +arg_default = d.get('arg_default') # the minimum to declare to enable the feature autocompleter_app = {} if app_name in settings.INSTALLED_APPS and arg_default: diff --git a/postman/forms.py b/postman/forms.py index 5b4287d..685c466 100644 --- a/postman/forms.py +++ b/postman/forms.py @@ -12,9 +12,14 @@ Examples of customization: exchange_filter = staticmethod(my_exchange_filter) """ +from __future__ import unicode_literals + from django import forms from django.conf import settings -from django.contrib.auth.models import User +try: + from django.contrib.auth import get_user_model # Django 1.5 +except ImportError: + from postman.future_1_5 import get_user_model from django.db import transaction from django.utils.translation import ugettext, ugettext_lazy as _ @@ -22,6 +27,7 @@ from postman.fields import CommaSeparatedUserField from postman.models import Message from postman.utils import WRAP_WIDTH + class BaseWriteForm(forms.ModelForm): """The base class for other forms.""" class Meta: @@ -62,8 +68,8 @@ class BaseWriteForm(forms.ModelForm): error_messages = { 'filtered': _("Writing to some users is not possible: {users}."), - 'filtered_user': _("{user.username}"), - 'filtered_user_with_reason': _("{user.username} ({reason})"), + 'filtered_user': _("{username}"), + 'filtered_user_with_reason': _("{username} ({reason})"), } def clean_recipients(self): """Check no filter prohibit the exchange.""" @@ -81,9 +87,9 @@ class BaseWriteForm(forms.ModelForm): filtered_names.append( self.error_messages[ 'filtered_user_with_reason' if reason else 'filtered_user' - ].format(user=u, reason=reason) + ].format(username=u.get_username(), reason=reason) ) - except forms.ValidationError, e: + except forms.ValidationError as e: recipients.remove(u) errors.extend(e.messages) if filtered_names: @@ -106,7 +112,7 @@ class BaseWriteForm(forms.ModelForm): """ recipients = self.cleaned_data.get('recipients', []) - if parent and not parent.thread_id: # at the very first reply, make it a conversation + if parent and not parent.thread_id: # at the very first reply, make it a conversation parent.thread = parent parent.save() # but delay the setting of parent.replied_at to the moderation step @@ -117,17 +123,17 @@ class BaseWriteForm(forms.ModelForm): initial_dates = self.instance.get_dates() initial_status = self.instance.moderation_status if recipient: - if isinstance(recipient, User) and recipient in recipients: + if isinstance(recipient, get_user_model()) and recipient in recipients: recipients.remove(recipient) recipients.insert(0, recipient) is_successful = True for r in recipients: - if isinstance(r, User): + if isinstance(r, get_user_model()): self.instance.recipient = r else: self.instance.recipient = None self.instance.email = r - self.instance.pk = None # force_insert=True is not accessible from here + self.instance.pk = None # force_insert=True is not accessible from here self.instance.auto_moderate(auto_moderators) self.instance.clean_moderation(initial_status) self.instance.clean_for_visitor() @@ -137,12 +143,13 @@ class BaseWriteForm(forms.ModelForm): self.instance.update_parent(initial_status) self.instance.notify_users(initial_status) # some resets for next reuse - if not isinstance(r, User): + if not isinstance(r, get_user_model()): self.instance.email = '' self.instance.set_moderation(*initial_moderation) self.instance.set_dates(*initial_dates) return is_successful + class WriteForm(BaseWriteForm): """The form for an authenticated user, to compose a message.""" recipients = CommaSeparatedUserField(label=(_("Recipients"), _("Recipient"))) @@ -150,6 +157,7 @@ class WriteForm(BaseWriteForm): class Meta(BaseWriteForm.Meta): fields = ('recipients', 'subject', 'body') + class AnonymousWriteForm(BaseWriteForm): """The form for an anonymous user, to compose a message.""" # The 'max' customization should not be permitted here. @@ -157,11 +165,12 @@ class AnonymousWriteForm(BaseWriteForm): can_overwrite_limits = False email = forms.EmailField(label=_("Email")) - recipients = CommaSeparatedUserField(label=(_("Recipients"), _("Recipient")), max=1) # one recipient is enough + recipients = CommaSeparatedUserField(label=(_("Recipients"), _("Recipient")), max=1) # one recipient is enough class Meta(BaseWriteForm.Meta): fields = ('email', 'recipients', 'subject', 'body') + class BaseReplyForm(BaseWriteForm): """The base class for a reply to a message.""" def __init__(self, *args, **kwargs): @@ -178,6 +187,7 @@ class BaseReplyForm(BaseWriteForm): def save(self, *args, **kwargs): return super(BaseReplyForm, self).save(self.recipient, *args, **kwargs) + class QuickReplyForm(BaseReplyForm): """ The form to use in the view of a message or a conversation, for a quick reply. @@ -187,6 +197,7 @@ class QuickReplyForm(BaseReplyForm): """ pass + allow_copies = not getattr(settings, 'POSTMAN_DISALLOW_COPIES_ON_REPLY', False) class FullReplyForm(BaseReplyForm): """The complete reply form.""" diff --git a/postman/future_1_5.py b/postman/future_1_5.py new file mode 100644 index 0000000..df329a4 --- /dev/null +++ b/postman/future_1_5.py @@ -0,0 +1,16 @@ +""" +A forwards compatibility module. + +Implements some features of Django 1.5 related to the 'Custom User Model' feature +when the application is run with a lower version of Django. +""" + +from __future__ import unicode_literals + +from django.contrib.auth.models import User + +User.USERNAME_FIELD = 'username' +User.get_username = lambda self: self.username + +def get_user_model(): + return User diff --git a/postman/locale/ar/LC_MESSAGES/django.mo b/postman/locale/ar/LC_MESSAGES/django.mo index fb912e642ff9cd7e5948ceb7b15eae04d916d02e..45211378435538916d7fdbef9cfb2a15293b0c9e 100644 GIT binary patch delta 207 zcmX@dzKeZAPCXX`14Aq$1A{1#&H&P9fw&HcnSgvBW(e&Mq(SO}pmZ#h&H&OJK=EQI zT>}+wh4Lpr`7?nu$owTh8fY|F4;zpMf{Cv+S$Tjo_hd;%PxidT+|*iz>dD27vv`ek o4S~o&!N|zU#A34)Qy-%YRJyb{wFt~q(5Nm-O)SpOtJP!x0G8AsD*ylh delta 217 zcmdnRevW-YPCY*Z14Aq$1A`Qh&IQtEfw%*RnSlH-W(XY#q`83n7$}_%rHg0E<8V%ON2Bf(e7$&~fWCgMqcqU6SdJ5{57N-{FCFZ8q oGE{?@dXqC5XHC{-65cGv)WN8RAq`iqpiy0vnpm8lSF6bY0KBgz!2kdN diff --git a/postman/locale/ar/LC_MESSAGES/django.po b/postman/locale/ar/LC_MESSAGES/django.po index 40d6c3f..98e592f 100644 --- a/postman/locale/ar/LC_MESSAGES/django.po +++ b/postman/locale/ar/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: django-postman 1.0.x\n" "Report-Msgid-Bugs-To: http://bitbucket.org/psam/django-postman/issues\n" -"POT-Creation-Date: 2011-02-07 08:13+0100\n" +"POT-Creation-Date: 2012-12-10 22:48+0100\n" "PO-Revision-Date: 2011-02-07 08:13+0100\n" "Last-Translator: turbonerd \n" "Language-Team: LANGUAGE \n" @@ -19,228 +19,228 @@ msgstr "" "Language: ar\n" "Plural-Forms: nplurals=4; plural=(n == 1? 0 : (n == 2? 1 : (n <= 10? 2 : 3)))\n" -#: .\admin.py:22 +#: .\admin.py:25 msgid "Sender and Recipient cannot be both undefined." msgstr "" -#: .\admin.py:29 +#: .\admin.py:32 msgid "Visitor's email is in excess." msgstr "" -#: .\admin.py:34 +#: .\admin.py:37 msgid "Visitor's email is missing." msgstr "" -#: .\admin.py:40 +#: .\admin.py:43 msgid "Reading date must be later to sending date." msgstr "" -#: .\admin.py:45 +#: .\admin.py:48 msgid "Deletion date by sender must be later to sending date." msgstr "" -#: .\admin.py:50 +#: .\admin.py:53 msgid "Deletion date by recipient must be later to sending date." msgstr "" -#: .\admin.py:58 +#: .\admin.py:61 msgid "Response date must be later to sending date." msgstr "" -#: .\admin.py:60 +#: .\admin.py:63 msgid "The message cannot be replied without having been read." msgstr "" -#: .\admin.py:62 +#: .\admin.py:65 msgid "Response date must be later to reading date." msgstr "" -#: .\admin.py:64 +#: .\admin.py:67 msgid "Response date cannot be set without at least one reply." msgstr "" -#: .\admin.py:66 +#: .\admin.py:69 msgid "The message cannot be replied without being in a conversation." msgstr "" -#: .\admin.py:88 .\admin.py:164 .\templates\postman\view.html.py:5 +#: .\admin.py:92 .\admin.py:170 .\templates\postman\view.html.py:6 msgid "Message" msgstr "" -#: .\admin.py:93 +#: .\admin.py:97 msgid "Dates" msgstr "" -#: .\admin.py:98 .\admin.py:168 +#: .\admin.py:102 .\admin.py:174 msgid "Moderation" msgstr "" -#: .\fields.py:22 +#: .\fields.py:27 msgid "Some usernames are unknown or no more active: {users}." msgstr "" -#: .\fields.py:23 +#: .\fields.py:28 msgid "" "Ensure this value has at most {limit_value} distinct items (it has " "{show_value})." msgstr "" -#: .\fields.py:24 +#: .\fields.py:29 msgid "" "Ensure this value has at least {limit_value} distinct items (it has " "{show_value})." msgstr "" -#: .\fields.py:25 +#: .\fields.py:30 msgid "Some usernames are rejected: {users}." msgstr "" -#: .\fields.py:26 .\forms.py:65 -msgid "{user.username}" -msgstr "{user.username}" +#: .\fields.py:31 .\forms.py:71 +msgid "{username}" +msgstr "{username}" -#: .\fields.py:27 .\forms.py:66 -msgid "{user.username} ({reason})" -msgstr "{user.username} ({reason})" +#: .\fields.py:32 .\forms.py:72 +msgid "{username} ({reason})" +msgstr "{username} ({reason})" -#: .\forms.py:64 +#: .\forms.py:70 msgid "Writing to some users is not possible: {users}." msgstr "" -#: .\forms.py:148 .\forms.py:160 +#: .\forms.py:155 .\forms.py:168 msgid "Recipients" msgstr "" -#: .\forms.py:148 .\forms.py:160 .\templates\postman\base_folder.html.py:26 +#: .\forms.py:155 .\forms.py:168 .\templates\postman\base_folder.html.py:34 #: .\templates\postman\reply.html.py:4 msgid "Recipient" msgstr "" -#: .\forms.py:159 +#: .\forms.py:167 msgid "Email" msgstr "" -#: .\forms.py:175 +#: .\forms.py:184 msgid "Undefined recipient." msgstr "" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipients" msgstr "" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipient" msgstr "" -#: .\models.py:19 +#: .\models.py:27 msgid "Pending" msgstr "" -#: .\models.py:20 +#: .\models.py:28 msgid "Accepted" msgstr "" -#: .\models.py:21 .\templates\postman\view.html.py:13 +#: .\models.py:29 .\templates\postman\view.html.py:14 msgid "Rejected" msgstr "" -#: .\models.py:200 +#: .\models.py:242 msgid "subject" msgstr "موضوع" -#: .\models.py:201 +#: .\models.py:243 msgid "body" msgstr "" -#: .\models.py:202 .\models.py:284 +#: .\models.py:244 .\models.py:326 msgid "sender" msgstr "مرسل" -#: .\models.py:203 .\models.py:308 +#: .\models.py:245 .\models.py:350 msgid "recipient" msgstr "" -#: .\models.py:204 +#: .\models.py:246 msgid "visitor" msgstr "زائر" -#: .\models.py:205 +#: .\models.py:247 msgid "parent message" msgstr "" -#: .\models.py:206 +#: .\models.py:248 msgid "root message" msgstr "" -#: .\models.py:207 +#: .\models.py:249 msgid "sent at" msgstr "" -#: .\models.py:208 +#: .\models.py:250 msgid "read at" msgstr "" -#: .\models.py:209 +#: .\models.py:251 msgid "replied at" msgstr "" -#: .\models.py:210 +#: .\models.py:252 msgid "archived by sender" msgstr "" -#: .\models.py:211 +#: .\models.py:253 msgid "archived by recipient" msgstr "" -#: .\models.py:212 +#: .\models.py:254 msgid "deleted by sender at" msgstr "" -#: .\models.py:213 +#: .\models.py:255 msgid "deleted by recipient at" msgstr "" -#: .\models.py:215 +#: .\models.py:257 msgid "status" msgstr "حالة" -#: .\models.py:217 +#: .\models.py:259 msgid "moderator" msgstr "" -#: .\models.py:218 +#: .\models.py:260 msgid "moderated at" msgstr "" -#: .\models.py:219 +#: .\models.py:261 msgid "rejection reason" msgstr "" -#: .\models.py:224 +#: .\models.py:266 msgid "message" msgstr "رسالة" -#: .\models.py:225 +#: .\models.py:267 msgid "messages" msgstr "رسائل" -#: .\models.py:336 +#: .\models.py:378 msgid "Undefined sender." msgstr "" -#: .\models.py:476 +#: .\models.py:523 msgid "pending message" msgstr "" -#: .\models.py:477 +#: .\models.py:524 msgid "pending messages" msgstr "" -#: .\utils.py:32 +#: .\utils.py:37 msgid "> " msgstr "> " -#: .\utils.py:48 +#: .\utils.py:53 msgid "" "\n" "\n" @@ -248,55 +248,55 @@ msgid "" "{body}\n" msgstr "" -#: .\utils.py:57 +#: .\utils.py:63 msgid "Re: {subject}" msgstr "" -#: .\views.py:129 .\views.py:189 +#: .\views.py:144 .\views.py:206 msgid "Message successfully sent." msgstr "" -#: .\views.py:131 .\views.py:191 +#: .\views.py:146 .\views.py:208 msgid "Message rejected for at least one recipient." msgstr "" -#: .\views.py:278 +#: .\views.py:299 msgid "Select at least one object." msgstr "" -#: .\views.py:284 +#: .\views.py:306 msgid "Messages or conversations successfully archived." msgstr "" -#: .\views.py:289 +#: .\views.py:312 msgid "Messages or conversations successfully deleted." msgstr "" -#: .\views.py:294 +#: .\views.py:318 msgid "Messages or conversations successfully recovered." msgstr "" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Message Rejected" msgstr "" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Your message has been rejected" msgstr "" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "Message Received" msgstr "" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "You have received a message" msgstr "" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "Reply Received" msgstr "" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "You have received a reply" msgstr "" @@ -324,81 +324,81 @@ msgid "" "long term storage." msgstr "" -#: .\templates\postman\base.html.py:3 +#: .\templates\postman\base.html.py:4 msgid "Messaging" msgstr "" -#: .\templates\postman\base.html.py:6 +#: .\templates\postman\base.html.py:13 msgid "Inbox" msgstr "" -#: .\templates\postman\base.html.py:7 .\templates\postman\sent.html.py:3 +#: .\templates\postman\base.html.py:14 .\templates\postman\sent.html.py:3 msgid "Sent Messages" msgstr "" -#: .\templates\postman\base.html.py:8 .\templates\postman\write.html.py:3 +#: .\templates\postman\base.html.py:15 .\templates\postman\write.html.py:3 msgid "Write" msgstr "" -#: .\templates\postman\base.html.py:9 +#: .\templates\postman\base.html.py:16 msgid "Archives" msgstr "" -#: .\templates\postman\base.html.py:10 +#: .\templates\postman\base.html.py:17 msgid "Trash" msgstr "" -#: .\templates\postman\base_folder.html.py:9 +#: .\templates\postman\base_folder.html.py:16 msgid "Sorry, this page number is invalid." msgstr "" -#: .\templates\postman\base_folder.html.py:12 +#: .\templates\postman\base_folder.html.py:20 msgid "by conversation" msgstr "" -#: .\templates\postman\base_folder.html.py:13 +#: .\templates\postman\base_folder.html.py:21 msgid "by message" msgstr "" -#: .\templates\postman\base_folder.html.py:17 -#: .\templates\postman\view.html.py:22 +#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\view.html.py:23 msgid "Delete" msgstr "" -#: .\templates\postman\base_folder.html.py:18 -#: .\templates\postman\view.html.py:23 +#: .\templates\postman\base_folder.html.py:26 +#: .\templates\postman\view.html.py:24 msgid "Archive" msgstr "" -#: .\templates\postman\base_folder.html.py:19 +#: .\templates\postman\base_folder.html.py:27 msgid "Undelete" msgstr "" -#: .\templates\postman\base_folder.html.py:24 +#: .\templates\postman\base_folder.html.py:32 msgid "Action" msgstr "" -#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\base_folder.html.py:33 msgid "Sender" msgstr "" -#: .\templates\postman\base_folder.html.py:27 +#: .\templates\postman\base_folder.html.py:35 msgid "Subject" msgstr "موضوع" -#: .\templates\postman\base_folder.html.py:28 +#: .\templates\postman\base_folder.html.py:36 msgid "Date" msgstr "" -#: .\templates\postman\base_folder.html.py:43 +#: .\templates\postman\base_folder.html.py:51 msgid "g:i A,M j,n/j/y" msgstr "" -#: .\templates\postman\base_folder.html.py:51 +#: .\templates\postman\base_folder.html.py:58 msgid "No messages." msgstr "" -#: .\templates\postman\base_write.html.py:20 +#: .\templates\postman\base_write.html.py:33 msgid "Send" msgstr "" @@ -489,8 +489,8 @@ msgstr "" msgid "Received" msgstr "" -#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:25 -#: .\templates\postman\view.html.py:28 .\templates\postman\view.html.py:31 +#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:26 +#: .\templates\postman\view.html.py:29 .\templates\postman\view.html.py:32 msgid "Reply" msgstr "" @@ -508,18 +508,18 @@ msgid "" "storage, use instead the archive folder." msgstr "" -#: .\templates\postman\view.html.py:5 +#: .\templates\postman\view.html.py:6 msgid "Conversation" msgstr "" -#: .\templates\postman\view.html.py:13 +#: .\templates\postman\view.html.py:14 msgid ":" msgstr ": " -#: .\templates\postman\view.html.py:20 +#: .\templates\postman\view.html.py:21 msgid "Back" msgstr "" -#: .\templatetags\postman_tags.py:35 +#: .\templatetags\postman_tags.py:48 msgid "" msgstr "" diff --git a/postman/locale/da/LC_MESSAGES/django.mo b/postman/locale/da/LC_MESSAGES/django.mo index 70cebd59c8bd61c566985e7e4b6aff758db01c12..b84d44a808d116f9c700f783a7c4affa410d8ae4 100644 GIT binary patch delta 421 zcmYk&F-QY36oBEE=y|77>QxTuQYwO-gc>PADY^*7#i=-2ia4sXh!h8hP7VQAot=bR zUAlB~bQM%^u8ZO#_&=J#BbP5PdH3Ft@AN%=*fIS%5!r}DGTg#DBhtY#@z;!q#bP|M zgb8tmi&(*FbiqwbiCf5!JtocH$0Bx7>z-l@2eI^}z+w~o|)ICN1R_&%7UHh2u@ zL)4pl@&j8-S6MCd>Z8?aerQ*W_z!z%B;TDHoA{)6d~_k_{w>M;L3CAcYwL`9)wyQF L<)6{3{h#s&M@}#1 delta 427 zcmZwDAxJ|(9LMqh-F$mf5P6It8-mEdiDAVigCUBtxMmVX7DO~C1`$~>iSd%ARhuxY z!D6wP6%2x`3~Yi)zdv@-$8n$g-yOgI@jkNe>~76SgKFSO(Y+K^ zmr%hKCf;aORD(s-`7(}U6N#`Es&N~qaX;=~6gEb|S8OQg8X4AOn!wvw-$x%%4W3X9 zpHYAAEnNDVUT$-m_>^Yh(N|q9eEMBC-*4ri<11{Q*l8Gc^DJ diff --git a/postman/locale/da/LC_MESSAGES/django.po b/postman/locale/da/LC_MESSAGES/django.po index 371e411..ed9951a 100644 --- a/postman/locale/da/LC_MESSAGES/django.po +++ b/postman/locale/da/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: django-postman 1.0.x\n" "Report-Msgid-Bugs-To: http://bitbucket.org/psam/django-postman/issues\n" -"POT-Creation-Date: 2011-02-07 08:48+0100\n" +"POT-Creation-Date: 2012-12-10 22:52+0100\n" "PO-Revision-Date: 2011-02-07 08:48+0100\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,228 +17,228 @@ msgstr "" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: .\admin.py:22 +#: .\admin.py:25 msgid "Sender and Recipient cannot be both undefined." msgstr "" -#: .\admin.py:29 +#: .\admin.py:32 msgid "Visitor's email is in excess." msgstr "" -#: .\admin.py:34 +#: .\admin.py:37 msgid "Visitor's email is missing." msgstr "" -#: .\admin.py:40 +#: .\admin.py:43 msgid "Reading date must be later to sending date." msgstr "" -#: .\admin.py:45 +#: .\admin.py:48 msgid "Deletion date by sender must be later to sending date." msgstr "" -#: .\admin.py:50 +#: .\admin.py:53 msgid "Deletion date by recipient must be later to sending date." msgstr "" -#: .\admin.py:58 +#: .\admin.py:61 msgid "Response date must be later to sending date." msgstr "" -#: .\admin.py:60 +#: .\admin.py:63 msgid "The message cannot be replied without having been read." msgstr "" -#: .\admin.py:62 +#: .\admin.py:65 msgid "Response date must be later to reading date." msgstr "" -#: .\admin.py:64 +#: .\admin.py:67 msgid "Response date cannot be set without at least one reply." msgstr "" -#: .\admin.py:66 +#: .\admin.py:69 msgid "The message cannot be replied without being in a conversation." msgstr "" -#: .\admin.py:88 .\admin.py:164 .\templates\postman\view.html.py:5 +#: .\admin.py:92 .\admin.py:170 .\templates\postman\view.html.py:6 msgid "Message" msgstr "Beskeder" -#: .\admin.py:93 +#: .\admin.py:97 msgid "Dates" msgstr "" -#: .\admin.py:98 .\admin.py:168 +#: .\admin.py:102 .\admin.py:174 msgid "Moderation" msgstr "" -#: .\fields.py:22 +#: .\fields.py:27 msgid "Some usernames are unknown or no more active: {users}." msgstr "" -#: .\fields.py:23 +#: .\fields.py:28 msgid "" "Ensure this value has at most {limit_value} distinct items (it has " "{show_value})." msgstr "" -#: .\fields.py:24 +#: .\fields.py:29 msgid "" "Ensure this value has at least {limit_value} distinct items (it has " "{show_value})." msgstr "" -#: .\fields.py:25 +#: .\fields.py:30 msgid "Some usernames are rejected: {users}." msgstr "" -#: .\fields.py:26 .\forms.py:65 -msgid "{user.username}" -msgstr "{user.username}" +#: .\fields.py:31 .\forms.py:71 +msgid "{username}" +msgstr "{username}" -#: .\fields.py:27 .\forms.py:66 -msgid "{user.username} ({reason})" -msgstr "{user.username} ({reason})" +#: .\fields.py:32 .\forms.py:72 +msgid "{username} ({reason})" +msgstr "{username} ({reason})" -#: .\forms.py:64 +#: .\forms.py:70 msgid "Writing to some users is not possible: {users}." msgstr "" -#: .\forms.py:148 .\forms.py:160 +#: .\forms.py:155 .\forms.py:168 msgid "Recipients" msgstr "" -#: .\forms.py:148 .\forms.py:160 .\templates\postman\base_folder.html.py:26 +#: .\forms.py:155 .\forms.py:168 .\templates\postman\base_folder.html.py:34 #: .\templates\postman\reply.html.py:4 msgid "Recipient" msgstr "Modtager" -#: .\forms.py:159 +#: .\forms.py:167 msgid "Email" msgstr "" -#: .\forms.py:175 +#: .\forms.py:184 msgid "Undefined recipient." msgstr "" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipients" msgstr "" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipient" msgstr "" -#: .\models.py:19 +#: .\models.py:27 msgid "Pending" msgstr "" -#: .\models.py:20 +#: .\models.py:28 msgid "Accepted" msgstr "" -#: .\models.py:21 .\templates\postman\view.html.py:13 +#: .\models.py:29 .\templates\postman\view.html.py:14 msgid "Rejected" msgstr "" -#: .\models.py:200 +#: .\models.py:242 msgid "subject" msgstr "emne" -#: .\models.py:201 +#: .\models.py:243 msgid "body" msgstr "indhold" -#: .\models.py:202 .\models.py:284 +#: .\models.py:244 .\models.py:326 msgid "sender" msgstr "afsender" -#: .\models.py:203 .\models.py:308 +#: .\models.py:245 .\models.py:350 msgid "recipient" msgstr "modtager" -#: .\models.py:204 +#: .\models.py:246 msgid "visitor" msgstr "" -#: .\models.py:205 +#: .\models.py:247 msgid "parent message" msgstr "stambesked" -#: .\models.py:206 +#: .\models.py:248 msgid "root message" msgstr "" -#: .\models.py:207 +#: .\models.py:249 msgid "sent at" msgstr "" -#: .\models.py:208 +#: .\models.py:250 msgid "read at" msgstr "" -#: .\models.py:209 +#: .\models.py:251 msgid "replied at" msgstr "" -#: .\models.py:210 +#: .\models.py:252 msgid "archived by sender" msgstr "" -#: .\models.py:211 +#: .\models.py:253 msgid "archived by recipient" msgstr "" -#: .\models.py:212 +#: .\models.py:254 msgid "deleted by sender at" msgstr "" -#: .\models.py:213 +#: .\models.py:255 msgid "deleted by recipient at" msgstr "" -#: .\models.py:215 +#: .\models.py:257 msgid "status" msgstr "" -#: .\models.py:217 +#: .\models.py:259 msgid "moderator" msgstr "" -#: .\models.py:218 +#: .\models.py:260 msgid "moderated at" msgstr "" -#: .\models.py:219 +#: .\models.py:261 msgid "rejection reason" msgstr "" -#: .\models.py:224 +#: .\models.py:266 msgid "message" msgstr "besked" -#: .\models.py:225 +#: .\models.py:267 msgid "messages" msgstr "beskeder" -#: .\models.py:336 +#: .\models.py:378 msgid "Undefined sender." msgstr "" -#: .\models.py:476 +#: .\models.py:523 msgid "pending message" msgstr "" -#: .\models.py:477 +#: .\models.py:524 msgid "pending messages" msgstr "" -#: .\utils.py:32 +#: .\utils.py:37 msgid "> " msgstr "> " -#: .\utils.py:48 +#: .\utils.py:53 msgid "" "\n" "\n" @@ -250,55 +250,55 @@ msgstr "" "{sender} skrev:\n" "{body}\n" -#: .\utils.py:57 +#: .\utils.py:63 msgid "Re: {subject}" msgstr "SV: {subject}" -#: .\views.py:129 .\views.py:189 +#: .\views.py:144 .\views.py:206 msgid "Message successfully sent." msgstr "Besked sendt succesfuldt." -#: .\views.py:131 .\views.py:191 +#: .\views.py:146 .\views.py:208 msgid "Message rejected for at least one recipient." msgstr "" -#: .\views.py:278 +#: .\views.py:299 msgid "Select at least one object." msgstr "" -#: .\views.py:284 +#: .\views.py:306 msgid "Messages or conversations successfully archived." msgstr "" -#: .\views.py:289 +#: .\views.py:312 msgid "Messages or conversations successfully deleted." msgstr "" -#: .\views.py:294 +#: .\views.py:318 msgid "Messages or conversations successfully recovered." msgstr "" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Message Rejected" msgstr "" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Your message has been rejected" msgstr "" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "Message Received" msgstr "Besked modtaget" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "You have received a message" msgstr "Du har modtaget en besked" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "Reply Received" msgstr "Svar modtaget" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "You have received a reply" msgstr "Du har modtaget et svar" @@ -326,81 +326,81 @@ msgid "" "long term storage." msgstr "" -#: .\templates\postman\base.html.py:3 +#: .\templates\postman\base.html.py:4 msgid "Messaging" msgstr "" -#: .\templates\postman\base.html.py:6 +#: .\templates\postman\base.html.py:13 msgid "Inbox" msgstr "Indboks" -#: .\templates\postman\base.html.py:7 .\templates\postman\sent.html.py:3 +#: .\templates\postman\base.html.py:14 .\templates\postman\sent.html.py:3 msgid "Sent Messages" msgstr "Sendte beskeder" -#: .\templates\postman\base.html.py:8 .\templates\postman\write.html.py:3 +#: .\templates\postman\base.html.py:15 .\templates\postman\write.html.py:3 msgid "Write" msgstr "" -#: .\templates\postman\base.html.py:9 +#: .\templates\postman\base.html.py:16 msgid "Archives" msgstr "" -#: .\templates\postman\base.html.py:10 +#: .\templates\postman\base.html.py:17 msgid "Trash" msgstr "Papirkurv" -#: .\templates\postman\base_folder.html.py:9 +#: .\templates\postman\base_folder.html.py:16 msgid "Sorry, this page number is invalid." msgstr "" -#: .\templates\postman\base_folder.html.py:12 +#: .\templates\postman\base_folder.html.py:20 msgid "by conversation" msgstr "" -#: .\templates\postman\base_folder.html.py:13 +#: .\templates\postman\base_folder.html.py:21 msgid "by message" msgstr "" -#: .\templates\postman\base_folder.html.py:17 -#: .\templates\postman\view.html.py:22 +#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\view.html.py:23 msgid "Delete" msgstr "Slet" -#: .\templates\postman\base_folder.html.py:18 -#: .\templates\postman\view.html.py:23 +#: .\templates\postman\base_folder.html.py:26 +#: .\templates\postman\view.html.py:24 msgid "Archive" msgstr "" -#: .\templates\postman\base_folder.html.py:19 +#: .\templates\postman\base_folder.html.py:27 msgid "Undelete" msgstr "Genskab" -#: .\templates\postman\base_folder.html.py:24 +#: .\templates\postman\base_folder.html.py:32 msgid "Action" msgstr "Handling" -#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\base_folder.html.py:33 msgid "Sender" msgstr "Afsender" -#: .\templates\postman\base_folder.html.py:27 +#: .\templates\postman\base_folder.html.py:35 msgid "Subject" msgstr "Emne" -#: .\templates\postman\base_folder.html.py:28 +#: .\templates\postman\base_folder.html.py:36 msgid "Date" msgstr "Dato" -#: .\templates\postman\base_folder.html.py:43 +#: .\templates\postman\base_folder.html.py:51 msgid "g:i A,M j,n/j/y" msgstr "G:i,j b,j/n/y" -#: .\templates\postman\base_folder.html.py:51 +#: .\templates\postman\base_folder.html.py:58 msgid "No messages." msgstr "" -#: .\templates\postman\base_write.html.py:20 +#: .\templates\postman\base_write.html.py:33 msgid "Send" msgstr "Send" @@ -491,8 +491,8 @@ msgstr "Modtagne beskeder" msgid "Received" msgstr "Modtaget" -#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:25 -#: .\templates\postman\view.html.py:28 .\templates\postman\view.html.py:31 +#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:26 +#: .\templates\postman\view.html.py:29 .\templates\postman\view.html.py:32 msgid "Reply" msgstr "Svar" @@ -510,18 +510,18 @@ msgid "" "storage, use instead the archive folder." msgstr "" -#: .\templates\postman\view.html.py:5 +#: .\templates\postman\view.html.py:6 msgid "Conversation" msgstr "" -#: .\templates\postman\view.html.py:13 +#: .\templates\postman\view.html.py:14 msgid ":" msgstr ": " -#: .\templates\postman\view.html.py:20 +#: .\templates\postman\view.html.py:21 msgid "Back" msgstr "" -#: .\templatetags\postman_tags.py:35 +#: .\templatetags\postman_tags.py:48 msgid "" msgstr "" diff --git a/postman/locale/de/LC_MESSAGES/django.mo b/postman/locale/de/LC_MESSAGES/django.mo index c3bcd75a7fb049325de8072f4760200766813fea..4ffc2ddb7cd82c1293018783959d2e3c1add88e5 100644 GIT binary patch delta 1080 zcmXZaUr1AN6u|Mb#{Q+Zxv;sK)pXVtHPfjXCT1Cx)wPHyB%+i?50Z(Z1~P8+*Xk*5 z^$_$@K@19_kpv<75E1lJJ_JP&^)`Yash<0u_Jg~9&bhyPe}B%ovv$FL_S)+#6_NU= z$O_EhQ;$dw#>s!xh!Bbu6Ip@{=);uBGgv|1ggQ?r`f(3(NgsbqA!ksZb4-2{gX9lm z;>ZqyC)^0&Pprhhs0(>lmJOj!6gH+%C)kdO<_ZXCz8ID@zGBaYxutw=k5!7W(5TBHm2qb_j6co%iv2Y3iy z;9>MTYee=D^y4yogvYRm9azDt7VgFtJc4@iY1Ee8LM{Dc<8w1Ui+Zp(#`jo7{uu}H z2WrKfzC?NFmvKEeUZIxmJL*Cu+=h!LZ>%dX+>V>MZ=<#_k6bdxpSJQFc3}xmV7i{F z;8oO?Eg&0rq(nfw YwPtvHEI0Z;Or)nqa|2`NhVvWbA5trL9{>OV delta 1100 zcmZY8Pe>GT6u|Mfg}Rp8YUQrmmaSWgQL{DEpOvkaqzEz>%&4_Pfyo|<+Dci2M26}h z8&TofrHG0k`TX9@{O0}M@69|;O{AW^ zS?u~nBpMJ|g$|B;L{bn@1MzN{In&mtUwA1=p2VYTwRgp@r{%i%Q4gmIn-9%L|w=|)E+-V{b-Bk z`Xp*Wv&K)Tf7b$PtAcE^8byC61B-zs+>JW16Lsq|s0p%IiI-5f_A=`IJnHW|ikjeI zAzwA375x1)D^NRrvC!n*=ou`gyjMLQDZZ;dT2mLx4P^SWy=ODSGNi*;Ar`pf+hW;{ i<-{ZQwuECB=K?SNE&o0EZ(^i%s6W#?a4tK%LH+=i(u0`* diff --git a/postman/locale/de/LC_MESSAGES/django.po b/postman/locale/de/LC_MESSAGES/django.po index f06ffa9..4cab754 100644 --- a/postman/locale/de/LC_MESSAGES/django.po +++ b/postman/locale/de/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # German translation of django-postman. # Copyright (C) 2010 Patrick Samson # This file is distributed under the same license as the django-postman package. -# +# # Translators: # Patrick Samson , 2011. # , 2012. @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: django-postman 1.0.x\n" "Report-Msgid-Bugs-To: http://bitbucket.org/psam/django-postman/issues\n" -"POT-Creation-Date: 2010-12-27 14:21+0100\n" +"POT-Creation-Date: 2012-12-10 22:54+0100\n" "PO-Revision-Date: 2012-05-18 13:23+0000\n" "Last-Translator: lonelycowboy \n" "Language-Team: LANGUAGE \n" @@ -20,228 +20,237 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: .\admin.py:22 +#: .\admin.py:25 msgid "Sender and Recipient cannot be both undefined." msgstr "Sender und Empfänger können nicht beide undefiniert sein." -#: .\admin.py:29 +#: .\admin.py:32 msgid "Visitor's email is in excess." msgstr "Die Email des Besuchers ist zu lang." -#: .\admin.py:34 +#: .\admin.py:37 msgid "Visitor's email is missing." msgstr "Die Email des Besuchers fehlt." -#: .\admin.py:40 +#: .\admin.py:43 msgid "Reading date must be later to sending date." msgstr "Das Lese-Datum muss neuer sein als das Sende-Datum." -#: .\admin.py:45 +#: .\admin.py:48 msgid "Deletion date by sender must be later to sending date." msgstr "Das Lösch-Datum muss neuer sein als das Sende-Datum." -#: .\admin.py:50 +#: .\admin.py:53 msgid "Deletion date by recipient must be later to sending date." msgstr "Das Lösch-Datum muss neuer sein als das Sende-Datum." -#: .\admin.py:58 +#: .\admin.py:61 msgid "Response date must be later to sending date." msgstr "Das Antwort-Datum muss neuer sein als das Sende-Datum." -#: .\admin.py:60 +#: .\admin.py:63 msgid "The message cannot be replied without having been read." -msgstr "Die Nachricht kann nicht beantwortet werden, bevor sie nicht gelesen wurde." +msgstr "" +"Die Nachricht kann nicht beantwortet werden, bevor sie nicht gelesen wurde." -#: .\admin.py:62 +#: .\admin.py:65 msgid "Response date must be later to reading date." msgstr "Das Antwort-Datum muss neuer sein als das Lese-Datum." -#: .\admin.py:64 +#: .\admin.py:67 msgid "Response date cannot be set without at least one reply." -msgstr "Das Antwort-Datum kann nicht gesetzt werden, wenn nicht mindestens eine Antwort geschrieben wurde." +msgstr "" +"Das Antwort-Datum kann nicht gesetzt werden, wenn nicht mindestens eine " +"Antwort geschrieben wurde." -#: .\admin.py:66 +#: .\admin.py:69 msgid "The message cannot be replied without being in a conversation." -msgstr "Auf diese Nachricht kann nicht geantwortet werden, ohne dass die Teil einer Konversation ist." +msgstr "" +"Auf diese Nachricht kann nicht geantwortet werden, ohne dass die Teil einer " +"Konversation ist." -#: .\admin.py:88 .\admin.py:157 .\templates\postman\view.html.py:5 +#: .\admin.py:92 .\admin.py:170 .\templates\postman\view.html.py:6 msgid "Message" msgstr "Nachricht" -#: .\admin.py:93 +#: .\admin.py:97 msgid "Dates" msgstr "Daten" -#: .\admin.py:98 .\admin.py:161 +#: .\admin.py:102 .\admin.py:174 msgid "Moderation" msgstr "Moderierung" -#: .\fields.py:22 +#: .\fields.py:27 msgid "Some usernames are unknown or no more active: {users}." msgstr "Manche Nutzernamen sind unbekannt oder nicht mehr aktiv: {users}." -#: .\fields.py:23 +#: .\fields.py:28 msgid "" "Ensure this value has at most {limit_value} distinct items (it has " "{show_value})." -msgstr "Stellen Sie sicher, dass dieser Wert aus höchstens {limit_value} Einzelteilen besteht (Er hat momentan {show_value})." +msgstr "" +"Stellen Sie sicher, dass dieser Wert aus höchstens {limit_value} " +"Einzelteilen besteht (Er hat momentan {show_value})." -#: .\fields.py:24 +#: .\fields.py:29 msgid "" "Ensure this value has at least {limit_value} distinct items (it has " "{show_value})." -msgstr "Stellen Sie sicher, dass dieser Wert aus mindestens {limit_value} Einzelteilen besteht (Er hat momentan {show_value})." +msgstr "" +"Stellen Sie sicher, dass dieser Wert aus mindestens {limit_value} " +"Einzelteilen besteht (Er hat momentan {show_value})." -#: .\fields.py:25 +#: .\fields.py:30 msgid "Some usernames are rejected: {users}." msgstr "Folgende Nutzernamen wurden abgelehnt: {users}." -#: .\fields.py:26 .\forms.py:65 -msgid "{user.username}" -msgstr "{user.username}" +#: .\fields.py:31 .\forms.py:71 +msgid "{username}" +msgstr "{username}" -#: .\fields.py:27 .\forms.py:66 -msgid "{user.username} ({reason})" -msgstr "{user.username} ({reason})" +#: .\fields.py:32 .\forms.py:72 +msgid "{username} ({reason})" +msgstr "{username} ({reason})" -#: .\forms.py:64 +#: .\forms.py:70 msgid "Writing to some users is not possible: {users}." msgstr "Folgende Nutzer konnten nicht angeschrieben werden: {users}." -#: .\forms.py:148 .\forms.py:160 +#: .\forms.py:155 .\forms.py:168 msgid "Recipients" msgstr "Empfänger" -#: .\forms.py:148 .\forms.py:160 .\templates\postman\base_folder.html.py:26 +#: .\forms.py:155 .\forms.py:168 .\templates\postman\base_folder.html.py:34 #: .\templates\postman\reply.html.py:4 msgid "Recipient" msgstr "Empfänger" -#: .\forms.py:159 +#: .\forms.py:167 msgid "Email" msgstr "E-Mail" -#: .\forms.py:175 +#: .\forms.py:184 msgid "Undefined recipient." msgstr "Undefinierter Empfänger" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipients" msgstr "Zusätzliche Empfänger" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipient" msgstr "Zusätzlicher Empfänger" -#: .\models.py:19 +#: .\models.py:27 msgid "Pending" msgstr "In Bearbeitung" -#: .\models.py:20 +#: .\models.py:28 msgid "Accepted" msgstr "Akzeptiert" -#: .\models.py:21 .\templates\postman\view.html.py:13 +#: .\models.py:29 .\templates\postman\view.html.py:14 msgid "Rejected" msgstr "Abgelehnt" -#: .\models.py:197 +#: .\models.py:242 msgid "subject" msgstr "betreff" -#: .\models.py:198 +#: .\models.py:243 msgid "body" msgstr "inhalt" -#: .\models.py:199 .\models.py:281 +#: .\models.py:244 .\models.py:326 msgid "sender" msgstr "absender" -#: .\models.py:200 .\models.py:305 +#: .\models.py:245 .\models.py:350 msgid "recipient" msgstr "empfänger" -#: .\models.py:201 +#: .\models.py:246 msgid "visitor" msgstr "besucher" -#: .\models.py:202 +#: .\models.py:247 msgid "parent message" msgstr "Übergeordnete nachricht" -#: .\models.py:203 +#: .\models.py:248 msgid "root message" msgstr "Ursprüngliche Nachricht" -#: .\models.py:204 +#: .\models.py:249 msgid "sent at" msgstr "gesendet am" -#: .\models.py:205 +#: .\models.py:250 msgid "read at" msgstr "gelesen am" -#: .\models.py:206 +#: .\models.py:251 msgid "replied at" msgstr "beantwortet am" -#: .\models.py:207 +#: .\models.py:252 msgid "archived by sender" msgstr "vom absender archiviert" -#: .\models.py:208 +#: .\models.py:253 msgid "archived by recipient" msgstr "vom empfänger archiviert" -#: .\models.py:209 +#: .\models.py:254 msgid "deleted by sender at" msgstr "vom absender gelöscht am" -#: .\models.py:210 +#: .\models.py:255 msgid "deleted by recipient at" msgstr "vom empfänger gelöscht am" -#: .\models.py:212 +#: .\models.py:257 msgid "status" msgstr "status" -#: .\models.py:214 +#: .\models.py:259 msgid "moderator" msgstr "Moderator" -#: .\models.py:215 +#: .\models.py:260 msgid "moderated at" msgstr "Moderiert am" -#: .\models.py:216 +#: .\models.py:261 msgid "rejection reason" msgstr "Ablehnungsgrund" -#: .\models.py:221 +#: .\models.py:266 msgid "message" msgstr "nachricht" -#: .\models.py:222 +#: .\models.py:267 msgid "messages" msgstr "nachrichten" -#: .\models.py:333 +#: .\models.py:378 msgid "Undefined sender." msgstr "Undefinierter Sender." -#: .\models.py:473 +#: .\models.py:523 msgid "pending message" msgstr "Nachricht in Bearbeitung" -#: .\models.py:474 +#: .\models.py:524 msgid "pending messages" msgstr "Nachrichten in Bearbeitung" -#: .\utils.py:32 +#: .\utils.py:37 msgid "> " msgstr "> " -#: .\utils.py:48 +#: .\utils.py:53 msgid "" "\n" "\n" @@ -253,55 +262,55 @@ msgstr "" "{sender} schrieb:\n" "{body}\n" -#: .\utils.py:57 +#: .\utils.py:63 msgid "Re: {subject}" msgstr "Re: {subject}" -#: .\views.py:129 .\views.py:187 +#: .\views.py:144 .\views.py:206 msgid "Message successfully sent." msgstr "Nachricht erfolgreich gesendet." -#: .\views.py:131 .\views.py:189 +#: .\views.py:146 .\views.py:208 msgid "Message rejected for at least one recipient." msgstr "Die Nachricht wurde wegen mindestens einem Empfänger abgelehnt." -#: .\views.py:276 +#: .\views.py:299 msgid "Select at least one object." msgstr "Wählen Sie mindestens ein Objekt aus." -#: .\views.py:282 +#: .\views.py:306 msgid "Messages or conversations successfully archived." msgstr "Nachrichten oder Konversationen erfolgreich archiviert." -#: .\views.py:287 +#: .\views.py:312 msgid "Messages or conversations successfully deleted." msgstr "Nachrichten oder Konversationen erfolgreich gelöscht." -#: .\views.py:292 +#: .\views.py:318 msgid "Messages or conversations successfully recovered." msgstr "Nachrichten oder Konversationen erfolgreich wiederhergestellt." -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Message Rejected" msgstr "Nachricht abgelehnt." -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Your message has been rejected" msgstr "Ihre Nachricht wurde abgelehnt" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "Message Received" msgstr "Nachricht erhalten" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "You have received a message" msgstr "Du hast eine Nachricht erhalten" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "Reply Received" msgstr "Antwort erhalten" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "You have received a reply" msgstr "Du hast eine Antwort erhalten" @@ -327,83 +336,85 @@ msgstr "Archivierte Nachrichten" msgid "" "Messages in this folder will never be removed. You can use this folder for " "long term storage." -msgstr "Nachrichten in diesem Ordner werden nie gelöscht. Sie können diesen Ordner für Langzeitspeicherung verwenden." +msgstr "" +"Nachrichten in diesem Ordner werden nie gelöscht. Sie können diesen Ordner " +"für Langzeitspeicherung verwenden." -#: .\templates\postman\base.html.py:3 +#: .\templates\postman\base.html.py:4 msgid "Messaging" msgstr "Nachrichten" -#: .\templates\postman\base.html.py:6 +#: .\templates\postman\base.html.py:13 msgid "Inbox" msgstr "Posteingang" -#: .\templates\postman\base.html.py:7 .\templates\postman\sent.html.py:3 +#: .\templates\postman\base.html.py:14 .\templates\postman\sent.html.py:3 msgid "Sent Messages" msgstr "Gesendete Nachrichten" -#: .\templates\postman\base.html.py:8 .\templates\postman\write.html.py:3 +#: .\templates\postman\base.html.py:15 .\templates\postman\write.html.py:3 msgid "Write" msgstr "Schreiben" -#: .\templates\postman\base.html.py:9 +#: .\templates\postman\base.html.py:16 msgid "Archives" msgstr "Archiven" -#: .\templates\postman\base.html.py:10 +#: .\templates\postman\base.html.py:17 msgid "Trash" msgstr "Papierkorb" -#: .\templates\postman\base_folder.html.py:9 +#: .\templates\postman\base_folder.html.py:16 msgid "Sorry, this page number is invalid." msgstr "Sorry, diese Seite ist ungültig." -#: .\templates\postman\base_folder.html.py:12 +#: .\templates\postman\base_folder.html.py:20 msgid "by conversation" msgstr "nach Konversation" -#: .\templates\postman\base_folder.html.py:13 +#: .\templates\postman\base_folder.html.py:21 msgid "by message" msgstr "nach Nachricht" -#: .\templates\postman\base_folder.html.py:17 -#: .\templates\postman\view.html.py:22 +#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\view.html.py:23 msgid "Delete" msgstr "Löschen" -#: .\templates\postman\base_folder.html.py:18 -#: .\templates\postman\view.html.py:23 +#: .\templates\postman\base_folder.html.py:26 +#: .\templates\postman\view.html.py:24 msgid "Archive" msgstr "Archivieren" -#: .\templates\postman\base_folder.html.py:19 +#: .\templates\postman\base_folder.html.py:27 msgid "Undelete" msgstr "Wiederherstellen" -#: .\templates\postman\base_folder.html.py:24 +#: .\templates\postman\base_folder.html.py:32 msgid "Action" msgstr "Aktion" -#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\base_folder.html.py:33 msgid "Sender" msgstr "Absender" -#: .\templates\postman\base_folder.html.py:27 +#: .\templates\postman\base_folder.html.py:35 msgid "Subject" msgstr "Betreff" -#: .\templates\postman\base_folder.html.py:28 +#: .\templates\postman\base_folder.html.py:36 msgid "Date" msgstr "Datum" -#: .\templates\postman\base_folder.html.py:43 +#: .\templates\postman\base_folder.html.py:51 msgid "g:i A,M j,n/j/y" msgstr "G:i,j b,j/n/y" -#: .\templates\postman\base_folder.html.py:51 +#: .\templates\postman\base_folder.html.py:58 msgid "No messages." msgstr "Keine Nachrichten." -#: .\templates\postman\base_write.html.py:20 +#: .\templates\postman\base_write.html.py:33 msgid "Send" msgstr "Senden" @@ -415,7 +426,9 @@ msgstr "Sehr geehrter Benutzer," #: .\templates\postman\email_visitor.txt.py:3 #, python-format msgid "On %(date)s, you asked to send a message to the user '%(recipient)s'." -msgstr "Am %(date)s baten Sie darum, eine Nachricht an Nutzer '%(recipient)s' zu schicken." +msgstr "" +"Am %(date)s baten Sie darum, eine Nachricht an Nutzer '%(recipient)s' zu " +"schicken." #: .\templates\postman\email_user.txt.py:5 #: .\templates\postman\email_visitor.txt.py:5 @@ -497,8 +510,8 @@ msgstr "Erhaltene Nachrichten" msgid "Received" msgstr "Erhalten" -#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:25 -#: .\templates\postman\view.html.py:28 .\templates\postman\view.html.py:31 +#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:26 +#: .\templates\postman\view.html.py:29 .\templates\postman\view.html.py:32 msgid "Reply" msgstr "Antworten" @@ -514,20 +527,22 @@ msgstr "Gelöschte Nachrichten" msgid "" "Messages in this folder can be removed from time to time. For long term " "storage, use instead the archive folder." -msgstr "Nachrichten in diesem Ordner können von zu Zeit zu Zeit gelöscht werden. Verwenden Sie für die Langzeitspeicherung stattdessen den Archiv-Ordner." +msgstr "" +"Nachrichten in diesem Ordner können von zu Zeit zu Zeit gelöscht werden. " +"Verwenden Sie für die Langzeitspeicherung stattdessen den Archiv-Ordner." -#: .\templates\postman\view.html.py:5 +#: .\templates\postman\view.html.py:6 msgid "Conversation" msgstr "Konversation" -#: .\templates\postman\view.html.py:13 +#: .\templates\postman\view.html.py:14 msgid ":" msgstr " :" -#: .\templates\postman\view.html.py:20 +#: .\templates\postman\view.html.py:21 msgid "Back" msgstr "Zurück" -#: .\templatetags\postman_tags.py:35 +#: .\templatetags\postman_tags.py:48 msgid "" msgstr "" diff --git a/postman/locale/el/LC_MESSAGES/django.mo b/postman/locale/el/LC_MESSAGES/django.mo index cc898c95d816843d47dc4b54934ba6e46ec9ebe9..34bbfddaf1e8ddbede3e985e3ac46dde4991e5b6 100644 GIT binary patch delta 1081 zcmXZbPe>GD7{~G7nxZXgW@e^tu3G*{P2JKY2nka$G9p4MFcP$|$Yjk7#r7a{P%_0L zQZSM-gMwngAiQKA3IbVB5IhtJQIK?sIu!MNnt>TU&oeVS@AE#->{RP;>x+dAA+MyI zRB0=g;A4+egMRX_+oXNyO_R8+YK+E17=?A1hz*#8r(D}HpS%}$;S|Q>JIummH~*2Q zkcPPswOvZaQP)S9LjDS=MISH|*Dwc_?mVB1wooO8@hslK~2>BA*X~Jp0bPWHv9?f<-GJ&?x zGc3fn_!-x+8<#?Cr>i573arEdJdLl>)=Oc&0oGSNfmPg#d?y+}8^r^x!7$e1PuzqD%bY?Q zF^T*PGA&&~Yx!-oZ)gVnIFD>zYiJ`#EO$m$j6SQdn!tY0?An7Vxsj=+1B9Fq2aRVODwQyu(Q+#Yk%jLFy^^H}f qjwb|4$~nsXfxv-^{o#+PzKl%wc6V1>@PFtp=nJ;BbY1D_FVsJIfQ;Ax delta 1101 zcmZY7T}V@L7{~G7N^{0ctz|2nO*7MM%bmoio1#}FEJaa*0u8MQvT|90$cQ8&Py!WF zAt(@vBFsTugkT`vWPwG21PX#(1l|-RUDfw#hi-z6&;L0)JI~wcZF$r(I=M2QDXB0= z+Jp{{c%*6!5&zgARiHm0aamQEg2!+L*5Def!z?`G8pCbG-MAH>p$|XcW}J89-vPzd z%LU&?X)O-BK1VAL}#yniYLR?L?c7GTx(SA(edF;o$TqzY_;2^%jdsxduEZ+j! zbFT#B$;$2o>5dBnNDj^8PW*)zuryyfg#DPpC}wenc#d`&a5N+x$Fzc^4QLY?K}+-! zOYt3k#bxZkxj5~d=1{*yT8CpefK%9nr;4Nu97pTyEn4SI%#~*-h87RFK1NIY8kw@D z-FOk{ML+QY`iq%1#uFTdIGkXPNAMfk1EM9#6&%1G;zqO`E~0hx9c^OiwAGGvcowJ7 zi{b6kRjkAt_!MJURF+)XeWdWXCOA0!@X>YEj%0#8XbEa?7Y?Bh-(x*~!OK`4me__K zVhv6pA7w{)k#QeZVh^6gNwj?V?AIZ`YB^ZN-N<{Q9<)_F!Gk!ChtX3mW#Un^LK-m( zTaaz318wAkXz$P%hHx5bUQ1{z2t<=BtHhvHSjEBqaL)B6`iX~eJ&q!y(iB>uv+nN; zXay}JFTT>8zPo9+vpM}8Oe$vaz1~;gE%RJURC{lEJW9-@H~6w69kJH-w&shiUFx)B sq%V>)lu;gzI$>vbC|a@Ci6%bf1api3yYb&2LnWQ\n" "Language-Team: LANGUAGE \n" @@ -17,81 +17,80 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: .\admin.py:22 +#: .\admin.py:25 msgid "Sender and Recipient cannot be both undefined." msgstr "" -"Ο αποστολέας και ο παραλήπτης δεν μπορούν να είναι και οι δυο " -"απροσδιόριστοι." +"Ο αποστολέας και ο παραλήπτης δεν μπορούν να είναι και οι δυο απροσδιόριστοι." -#: .\admin.py:29 +#: .\admin.py:32 msgid "Visitor's email is in excess." msgstr "Το e-mail του επισκέπτη είναι σε περίσσεια." -#: .\admin.py:34 +#: .\admin.py:37 msgid "Visitor's email is missing." msgstr "Το e-mail του επισκέπτη λείπει." -#: .\admin.py:40 +#: .\admin.py:43 msgid "Reading date must be later to sending date." msgstr "" "Η ημερομηνία ανάγνωσης πρέπει να είναι μεταγενέστερη της ημερομηνίας " "αποστολής." -#: .\admin.py:45 +#: .\admin.py:48 msgid "Deletion date by sender must be later to sending date." msgstr "" "Η ημερομηνία διαγραφής πρέπει να είναι μεταγενέστερη της ημερομηνίας " "αποστολής." -#: .\admin.py:50 +#: .\admin.py:53 msgid "Deletion date by recipient must be later to sending date." msgstr "" "Η ημερομηνία διαγραφής από τον αποδέκτη πρέπει να είναι μεταγενέστερη της " "ημερομηνίας αποστολής." -#: .\admin.py:58 +#: .\admin.py:61 msgid "Response date must be later to sending date." msgstr "" "Η ημερομηνία ανταπόκρισης πρέπει να είναι μεταγενέστερη της ημερομηνίας " "αποστολής." -#: .\admin.py:60 +#: .\admin.py:63 msgid "The message cannot be replied without having been read." msgstr "Το μήνυμα δεν μπορεί να απαντηθεί χωρίς να έχει πρώτα διαβάσει." -#: .\admin.py:62 +#: .\admin.py:65 msgid "Response date must be later to reading date." msgstr "" "Η ημερομηνία της απόκρισης πρέπει να είναι μεταγενέστερη της ημερομηνίας " "ανάγνωσης." -#: .\admin.py:64 +#: .\admin.py:67 msgid "Response date cannot be set without at least one reply." msgstr "" "Η ημερομηνία της ανταπόκρισης δεν μπορεί να ρυθμιστεί χωρίς μια τουλάχιστον " "απάντηση." -#: .\admin.py:66 +#: .\admin.py:69 msgid "The message cannot be replied without being in a conversation." msgstr "Το μήνυμα δεν μπορεί να απαντηθεί χωρίς να είναι σε μια συνομιλία." -#: .\admin.py:88 .\admin.py:164 .\templates\postman\view.html.py:5 +#: .\admin.py:92 .\admin.py:170 .\templates\postman\view.html.py:6 msgid "Message" msgstr "Μήνυμα" -#: .\admin.py:93 +#: .\admin.py:97 msgid "Dates" msgstr "Ημερομηνίες" -#: .\admin.py:98 .\admin.py:168 +#: .\admin.py:102 .\admin.py:174 msgid "Moderation" msgstr "Τροποποίηση" -#: .\fields.py:22 +#: .\fields.py:27 msgid "Some usernames are unknown or no more active: {users}." msgstr "Μερικοί χρήστες είναι άγνωστοι ή δεν είναι πλεον ενεργοί: {users}." -#: .\fields.py:23 +#: .\fields.py:28 msgid "" "Ensure this value has at most {limit_value} distinct items (it has " "{show_value})." @@ -99,7 +98,7 @@ msgstr "" "Βεβαιωθείτε ότι αυτή η τιμή έχει το πολύ {limit_value} διακριτές θέσεις " "(έχει {show_value})." -#: .\fields.py:24 +#: .\fields.py:29 msgid "" "Ensure this value has at least {limit_value} distinct items (it has " "{show_value})." @@ -107,156 +106,156 @@ msgstr "" "Βεβαιωθείτε ότι αυτή η τιμή έχει τουλάχιστον {limit_value} διακριτές θέσεις " "(έχει {show_value})." -#: .\fields.py:25 +#: .\fields.py:30 msgid "Some usernames are rejected: {users}." msgstr "Τα παρακάτω ονόματα απορρίπτονται: {users}." -#: .\fields.py:26 .\forms.py:65 -msgid "{user.username}" -msgstr "{user.username}" +#: .\fields.py:31 .\forms.py:71 +msgid "{username}" +msgstr "{username}" -#: .\fields.py:27 .\forms.py:66 -msgid "{user.username} ({reason})" -msgstr "{user.username} ({reason})" +#: .\fields.py:32 .\forms.py:72 +msgid "{username} ({reason})" +msgstr "{username} ({reason})" -#: .\forms.py:64 +#: .\forms.py:70 msgid "Writing to some users is not possible: {users}." msgstr "Δεν ήταν εφικτή η αποστολή στους χρήστες: {users}." -#: .\forms.py:148 .\forms.py:160 +#: .\forms.py:155 .\forms.py:168 msgid "Recipients" msgstr "Αποδέκτες" -#: .\forms.py:148 .\forms.py:160 .\templates\postman\base_folder.html.py:26 +#: .\forms.py:155 .\forms.py:168 .\templates\postman\base_folder.html.py:34 #: .\templates\postman\reply.html.py:4 msgid "Recipient" msgstr "Αποδέκτης" -#: .\forms.py:159 +#: .\forms.py:167 msgid "Email" msgstr "Email" -#: .\forms.py:175 +#: .\forms.py:184 msgid "Undefined recipient." msgstr "Απροσδιόριστος παραλήπτης." -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipients" msgstr "Πρόσθετοι αποδέκτες" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipient" msgstr "Πρόσθετος παραλήπτης" -#: .\models.py:19 +#: .\models.py:27 msgid "Pending" msgstr "Σε αναμονή" -#: .\models.py:20 +#: .\models.py:28 msgid "Accepted" msgstr "Αποδεκτά" -#: .\models.py:21 .\templates\postman\view.html.py:13 +#: .\models.py:29 .\templates\postman\view.html.py:14 msgid "Rejected" msgstr "Απορρίφθηκαν" -#: .\models.py:200 +#: .\models.py:242 msgid "subject" msgstr "θέμα" -#: .\models.py:201 +#: .\models.py:243 msgid "body" msgstr "σώμα" -#: .\models.py:202 .\models.py:284 +#: .\models.py:244 .\models.py:326 msgid "sender" msgstr "αποστολέας" -#: .\models.py:203 .\models.py:308 +#: .\models.py:245 .\models.py:350 msgid "recipient" msgstr "αποδέκτης" -#: .\models.py:204 +#: .\models.py:246 msgid "visitor" msgstr "επισκέπτης" -#: .\models.py:205 +#: .\models.py:247 msgid "parent message" msgstr "μήνυμα γονέας" -#: .\models.py:206 +#: .\models.py:248 msgid "root message" msgstr "αρχικό μήνυμα" -#: .\models.py:207 +#: .\models.py:249 msgid "sent at" msgstr "εστάλη στις" -#: .\models.py:208 +#: .\models.py:250 msgid "read at" msgstr "διαβάστηκε στις" -#: .\models.py:209 +#: .\models.py:251 msgid "replied at" msgstr "απαντήθηκε σε" -#: .\models.py:210 +#: .\models.py:252 msgid "archived by sender" msgstr "αρχειοθέτηση ανά αποστολέα" -#: .\models.py:211 +#: .\models.py:253 msgid "archived by recipient" msgstr "αρχειοθέτηση ανά παραλήπτη" -#: .\models.py:212 +#: .\models.py:254 msgid "deleted by sender at" msgstr "έχει διαγραφεί από τον αποστολέα στις" -#: .\models.py:213 +#: .\models.py:255 msgid "deleted by recipient at" msgstr "έχει διαγραφεί από τον αποδέκτη στις" -#: .\models.py:215 +#: .\models.py:257 msgid "status" msgstr "κατάσταση" -#: .\models.py:217 +#: .\models.py:259 msgid "moderator" msgstr "διαχειριστής" -#: .\models.py:218 +#: .\models.py:260 msgid "moderated at" msgstr "τροποποιήθηκε στις" -#: .\models.py:219 +#: .\models.py:261 msgid "rejection reason" msgstr "λόγος απόρριψης" -#: .\models.py:224 +#: .\models.py:266 msgid "message" msgstr "μήνυμα" -#: .\models.py:225 +#: .\models.py:267 msgid "messages" msgstr "μηνύματα" -#: .\models.py:336 +#: .\models.py:378 msgid "Undefined sender." msgstr "Απροσδιόριστος αποστολέας." -#: .\models.py:476 +#: .\models.py:523 msgid "pending message" msgstr "μήνυμα εν αναμονή" -#: .\models.py:477 +#: .\models.py:524 msgid "pending messages" msgstr "μηνύματα που εκκρεμούν" -#: .\utils.py:32 +#: .\utils.py:37 msgid "> " msgstr "> " -#: .\utils.py:48 +#: .\utils.py:53 msgid "" "\n" "\n" @@ -268,55 +267,55 @@ msgstr "" "{sender} έγραψε:\n" "{body}\n" -#: .\utils.py:57 +#: .\utils.py:63 msgid "Re: {subject}" msgstr "Re: {subject}" -#: .\views.py:129 .\views.py:189 +#: .\views.py:144 .\views.py:206 msgid "Message successfully sent." msgstr "Το μήνυμα έχει αποσταλεί με επιτυχία." -#: .\views.py:131 .\views.py:191 +#: .\views.py:146 .\views.py:208 msgid "Message rejected for at least one recipient." msgstr "Το μήνυμα έχει απορριφθεί για τουλάχιστον έναν παραλήπτη." -#: .\views.py:278 +#: .\views.py:299 msgid "Select at least one object." msgstr "Επιλέξτε τουλάχιστον ένα αντικείμενο." -#: .\views.py:284 +#: .\views.py:306 msgid "Messages or conversations successfully archived." msgstr "Μηνύματα ή συνομιλίες που έχουν αρχειοθετηθεί." -#: .\views.py:289 +#: .\views.py:312 msgid "Messages or conversations successfully deleted." msgstr "Μηνύματα ή συνομιλίες που έχουν διαγραφεί." -#: .\views.py:294 +#: .\views.py:318 msgid "Messages or conversations successfully recovered." msgstr "Μηνύματα ή συνομιλίες που έχουν ανακτηθεί." -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Message Rejected" msgstr "Το μήνυμα έχει απορριφθεί" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Your message has been rejected" msgstr "Το μήνυμά σας έχει απορριφθεί" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "Message Received" msgstr "Μήνυμα Ελήφθη" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "You have received a message" msgstr "Έχετε ένα μήνυμα" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "Reply Received" msgstr "Απάντηση ελήφθη" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "You have received a reply" msgstr "Έχετε λάβει μια απάντηση" @@ -346,81 +345,81 @@ msgstr "" "Τα μηνύματα σε αυτό το φάκελο δεν θα αφαιρεθούν ποτέ. Μπορείτε να τον " "χρησιμοποιήσετε για μακροχρόνια αποθήκευση." -#: .\templates\postman\base.html.py:3 +#: .\templates\postman\base.html.py:4 msgid "Messaging" msgstr "Μηνύματα" -#: .\templates\postman\base.html.py:6 +#: .\templates\postman\base.html.py:13 msgid "Inbox" msgstr "Εισερχόμενα" -#: .\templates\postman\base.html.py:7 .\templates\postman\sent.html.py:3 +#: .\templates\postman\base.html.py:14 .\templates\postman\sent.html.py:3 msgid "Sent Messages" msgstr "Απεσταλμένα" -#: .\templates\postman\base.html.py:8 .\templates\postman\write.html.py:3 +#: .\templates\postman\base.html.py:15 .\templates\postman\write.html.py:3 msgid "Write" msgstr "Γράψτε" -#: .\templates\postman\base.html.py:9 +#: .\templates\postman\base.html.py:16 msgid "Archives" msgstr "Αρχεία" -#: .\templates\postman\base.html.py:10 +#: .\templates\postman\base.html.py:17 msgid "Trash" msgstr "Σκουπίδια" -#: .\templates\postman\base_folder.html.py:9 +#: .\templates\postman\base_folder.html.py:16 msgid "Sorry, this page number is invalid." msgstr "Λυπούμαι, ο αριθμός αυτής της σελίδας δεν είναι έγκυρος." -#: .\templates\postman\base_folder.html.py:12 +#: .\templates\postman\base_folder.html.py:20 msgid "by conversation" msgstr "κατά συνομιλία" -#: .\templates\postman\base_folder.html.py:13 +#: .\templates\postman\base_folder.html.py:21 msgid "by message" msgstr "ανά μήνυμα" -#: .\templates\postman\base_folder.html.py:17 -#: .\templates\postman\view.html.py:22 +#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\view.html.py:23 msgid "Delete" msgstr "Διαγράψτε" -#: .\templates\postman\base_folder.html.py:18 -#: .\templates\postman\view.html.py:23 +#: .\templates\postman\base_folder.html.py:26 +#: .\templates\postman\view.html.py:24 msgid "Archive" msgstr "Αρχείο" -#: .\templates\postman\base_folder.html.py:19 +#: .\templates\postman\base_folder.html.py:27 msgid "Undelete" msgstr "Ξεδιαγράψτε" -#: .\templates\postman\base_folder.html.py:24 +#: .\templates\postman\base_folder.html.py:32 msgid "Action" msgstr "Ενέργεια" -#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\base_folder.html.py:33 msgid "Sender" msgstr "Αποστολέας" -#: .\templates\postman\base_folder.html.py:27 +#: .\templates\postman\base_folder.html.py:35 msgid "Subject" msgstr "Θέμα" -#: .\templates\postman\base_folder.html.py:28 +#: .\templates\postman\base_folder.html.py:36 msgid "Date" msgstr "Ημερομηνία" -#: .\templates\postman\base_folder.html.py:43 +#: .\templates\postman\base_folder.html.py:51 msgid "g:i A,M j,n/j/y" msgstr "g:i A,M j,n/j/y" -#: .\templates\postman\base_folder.html.py:51 +#: .\templates\postman\base_folder.html.py:58 msgid "No messages." msgstr "Δεν υπάρχουν μηνύματα." -#: .\templates\postman\base_write.html.py:20 +#: .\templates\postman\base_write.html.py:33 msgid "Send" msgstr "Αποστολή" @@ -497,8 +496,7 @@ msgstr "Αγαπητέ επισκέπτη," #: .\templates\postman\email_visitor.txt.py:8 msgid "As a reminder, please find below the content of your message." msgstr "" -"Σαν υπενθύμιση, μπορείτε να βρείτε παρακάτω το περιεχόμενο του μηνύματός " -"σας." +"Σαν υπενθύμιση, μπορείτε να βρείτε παρακάτω το περιεχόμενο του μηνύματός σας." #: .\templates\postman\email_visitor.txt.py:11 msgid "Please find below the answer from your correspondent." @@ -507,8 +505,7 @@ msgstr "Παρακάτω βρείτε την απάντηση από τον συ #: .\templates\postman\email_visitor.txt.py:15 msgid "For more comfort, we encourage you to open an account on the site." msgstr "" -"Για περισσότερη άνεση, σας προτείνουμε να ανοίξετε ένα λογαριασμό στη " -"σελίδα." +"Για περισσότερη άνεση, σας προτείνουμε να ανοίξετε ένα λογαριασμό στη σελίδα." #: .\templates\postman\inbox.html.py:3 msgid "Received Messages" @@ -518,8 +515,8 @@ msgstr "Ληφθέντα μηνύματα" msgid "Received" msgstr "Παρελήφθη" -#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:25 -#: .\templates\postman\view.html.py:28 .\templates\postman\view.html.py:31 +#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:26 +#: .\templates\postman\view.html.py:29 .\templates\postman\view.html.py:32 msgid "Reply" msgstr "Απάντηση" @@ -539,18 +536,18 @@ msgstr "" "Τα μηνύματα σε αυτό το φάκελο ενδέχεται να αφαιρεθούν από καιρό σε καιρό. " "Για μακροχρόνια αποθήκευση, χρησιμοποιήστε το φάκελο αρχειοθέτησης." -#: .\templates\postman\view.html.py:5 +#: .\templates\postman\view.html.py:6 msgid "Conversation" msgstr "Συνομιλία" -#: .\templates\postman\view.html.py:13 +#: .\templates\postman\view.html.py:14 msgid ":" msgstr ":" -#: .\templates\postman\view.html.py:20 +#: .\templates\postman\view.html.py:21 msgid "Back" msgstr "Επιστροφή" -#: .\templatetags\postman_tags.py:35 +#: .\templatetags\postman_tags.py:48 msgid "" msgstr "" diff --git a/postman/locale/en/LC_MESSAGES/django.po b/postman/locale/en/LC_MESSAGES/django.po index 48b5dde..fbd28ac 100644 --- a/postman/locale/en/LC_MESSAGES/django.po +++ b/postman/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-27 14:21+0100\n" +"POT-Creation-Date: 2012-12-10 23:00+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,228 +15,228 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: .\admin.py:22 +#: .\admin.py:25 msgid "Sender and Recipient cannot be both undefined." msgstr "" -#: .\admin.py:29 +#: .\admin.py:32 msgid "Visitor's email is in excess." msgstr "" -#: .\admin.py:34 +#: .\admin.py:37 msgid "Visitor's email is missing." msgstr "" -#: .\admin.py:40 +#: .\admin.py:43 msgid "Reading date must be later to sending date." msgstr "" -#: .\admin.py:45 +#: .\admin.py:48 msgid "Deletion date by sender must be later to sending date." msgstr "" -#: .\admin.py:50 +#: .\admin.py:53 msgid "Deletion date by recipient must be later to sending date." msgstr "" -#: .\admin.py:58 +#: .\admin.py:61 msgid "Response date must be later to sending date." msgstr "" -#: .\admin.py:60 +#: .\admin.py:63 msgid "The message cannot be replied without having been read." msgstr "" -#: .\admin.py:62 +#: .\admin.py:65 msgid "Response date must be later to reading date." msgstr "" -#: .\admin.py:64 +#: .\admin.py:67 msgid "Response date cannot be set without at least one reply." msgstr "" -#: .\admin.py:66 +#: .\admin.py:69 msgid "The message cannot be replied without being in a conversation." msgstr "" -#: .\admin.py:88 .\admin.py:157 .\templates\postman\view.html.py:5 +#: .\admin.py:92 .\admin.py:170 .\templates\postman\view.html.py:6 msgid "Message" msgstr "" -#: .\admin.py:93 +#: .\admin.py:97 msgid "Dates" msgstr "" -#: .\admin.py:98 .\admin.py:161 +#: .\admin.py:102 .\admin.py:174 msgid "Moderation" msgstr "" -#: .\fields.py:22 +#: .\fields.py:27 msgid "Some usernames are unknown or no more active: {users}." msgstr "" -#: .\fields.py:23 +#: .\fields.py:28 msgid "" "Ensure this value has at most {limit_value} distinct items (it has " "{show_value})." msgstr "" -#: .\fields.py:24 +#: .\fields.py:29 msgid "" "Ensure this value has at least {limit_value} distinct items (it has " "{show_value})." msgstr "" -#: .\fields.py:25 +#: .\fields.py:30 msgid "Some usernames are rejected: {users}." msgstr "" -#: .\fields.py:26 .\forms.py:65 -msgid "{user.username}" +#: .\fields.py:31 .\forms.py:71 +msgid "{username}" msgstr "" -#: .\fields.py:27 .\forms.py:66 -msgid "{user.username} ({reason})" +#: .\fields.py:32 .\forms.py:72 +msgid "{username} ({reason})" msgstr "" -#: .\forms.py:64 +#: .\forms.py:70 msgid "Writing to some users is not possible: {users}." msgstr "" -#: .\forms.py:148 .\forms.py:160 +#: .\forms.py:155 .\forms.py:168 msgid "Recipients" msgstr "" -#: .\forms.py:148 .\forms.py:160 .\templates\postman\base_folder.html.py:26 +#: .\forms.py:155 .\forms.py:168 .\templates\postman\base_folder.html.py:34 #: .\templates\postman\reply.html.py:4 msgid "Recipient" msgstr "" -#: .\forms.py:159 +#: .\forms.py:167 msgid "Email" msgstr "" -#: .\forms.py:175 +#: .\forms.py:184 msgid "Undefined recipient." msgstr "" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipients" msgstr "" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipient" msgstr "" -#: .\models.py:19 +#: .\models.py:27 msgid "Pending" msgstr "" -#: .\models.py:20 +#: .\models.py:28 msgid "Accepted" msgstr "" -#: .\models.py:21 .\templates\postman\view.html.py:13 +#: .\models.py:29 .\templates\postman\view.html.py:14 msgid "Rejected" msgstr "" -#: .\models.py:197 +#: .\models.py:242 msgid "subject" msgstr "" -#: .\models.py:198 +#: .\models.py:243 msgid "body" msgstr "" -#: .\models.py:199 .\models.py:281 +#: .\models.py:244 .\models.py:326 msgid "sender" msgstr "" -#: .\models.py:200 .\models.py:305 +#: .\models.py:245 .\models.py:350 msgid "recipient" msgstr "" -#: .\models.py:201 +#: .\models.py:246 msgid "visitor" msgstr "" -#: .\models.py:202 +#: .\models.py:247 msgid "parent message" msgstr "" -#: .\models.py:203 +#: .\models.py:248 msgid "root message" msgstr "" -#: .\models.py:204 +#: .\models.py:249 msgid "sent at" msgstr "" -#: .\models.py:205 +#: .\models.py:250 msgid "read at" msgstr "" -#: .\models.py:206 +#: .\models.py:251 msgid "replied at" msgstr "" -#: .\models.py:207 +#: .\models.py:252 msgid "archived by sender" msgstr "" -#: .\models.py:208 +#: .\models.py:253 msgid "archived by recipient" msgstr "" -#: .\models.py:209 +#: .\models.py:254 msgid "deleted by sender at" msgstr "" -#: .\models.py:210 +#: .\models.py:255 msgid "deleted by recipient at" msgstr "" -#: .\models.py:212 +#: .\models.py:257 msgid "status" msgstr "" -#: .\models.py:214 +#: .\models.py:259 msgid "moderator" msgstr "" -#: .\models.py:215 +#: .\models.py:260 msgid "moderated at" msgstr "" -#: .\models.py:216 +#: .\models.py:261 msgid "rejection reason" msgstr "" -#: .\models.py:221 +#: .\models.py:266 msgid "message" msgstr "" -#: .\models.py:222 +#: .\models.py:267 msgid "messages" msgstr "" -#: .\models.py:333 +#: .\models.py:378 msgid "Undefined sender." msgstr "" -#: .\models.py:473 +#: .\models.py:523 msgid "pending message" msgstr "" -#: .\models.py:474 +#: .\models.py:524 msgid "pending messages" msgstr "" -#: .\utils.py:32 +#: .\utils.py:37 msgid "> " msgstr "" -#: .\utils.py:48 +#: .\utils.py:53 msgid "" "\n" "\n" @@ -244,55 +244,55 @@ msgid "" "{body}\n" msgstr "" -#: .\utils.py:57 +#: .\utils.py:63 msgid "Re: {subject}" msgstr "" -#: .\views.py:129 .\views.py:187 +#: .\views.py:144 .\views.py:206 msgid "Message successfully sent." msgstr "" -#: .\views.py:131 .\views.py:189 +#: .\views.py:146 .\views.py:208 msgid "Message rejected for at least one recipient." msgstr "" -#: .\views.py:276 +#: .\views.py:299 msgid "Select at least one object." msgstr "" -#: .\views.py:282 +#: .\views.py:306 msgid "Messages or conversations successfully archived." msgstr "" -#: .\views.py:287 +#: .\views.py:312 msgid "Messages or conversations successfully deleted." msgstr "" -#: .\views.py:292 +#: .\views.py:318 msgid "Messages or conversations successfully recovered." msgstr "" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Message Rejected" msgstr "" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Your message has been rejected" msgstr "" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "Message Received" msgstr "" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "You have received a message" msgstr "" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "Reply Received" msgstr "" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "You have received a reply" msgstr "" @@ -320,81 +320,81 @@ msgid "" "long term storage." msgstr "" -#: .\templates\postman\base.html.py:3 +#: .\templates\postman\base.html.py:4 msgid "Messaging" msgstr "" -#: .\templates\postman\base.html.py:6 +#: .\templates\postman\base.html.py:13 msgid "Inbox" msgstr "" -#: .\templates\postman\base.html.py:7 .\templates\postman\sent.html.py:3 +#: .\templates\postman\base.html.py:14 .\templates\postman\sent.html.py:3 msgid "Sent Messages" msgstr "" -#: .\templates\postman\base.html.py:8 .\templates\postman\write.html.py:3 +#: .\templates\postman\base.html.py:15 .\templates\postman\write.html.py:3 msgid "Write" msgstr "" -#: .\templates\postman\base.html.py:9 +#: .\templates\postman\base.html.py:16 msgid "Archives" msgstr "" -#: .\templates\postman\base.html.py:10 +#: .\templates\postman\base.html.py:17 msgid "Trash" msgstr "" -#: .\templates\postman\base_folder.html.py:9 +#: .\templates\postman\base_folder.html.py:16 msgid "Sorry, this page number is invalid." msgstr "" -#: .\templates\postman\base_folder.html.py:12 +#: .\templates\postman\base_folder.html.py:20 msgid "by conversation" msgstr "" -#: .\templates\postman\base_folder.html.py:13 +#: .\templates\postman\base_folder.html.py:21 msgid "by message" msgstr "" -#: .\templates\postman\base_folder.html.py:17 -#: .\templates\postman\view.html.py:22 +#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\view.html.py:23 msgid "Delete" msgstr "" -#: .\templates\postman\base_folder.html.py:18 -#: .\templates\postman\view.html.py:23 +#: .\templates\postman\base_folder.html.py:26 +#: .\templates\postman\view.html.py:24 msgid "Archive" msgstr "" -#: .\templates\postman\base_folder.html.py:19 +#: .\templates\postman\base_folder.html.py:27 msgid "Undelete" msgstr "" -#: .\templates\postman\base_folder.html.py:24 +#: .\templates\postman\base_folder.html.py:32 msgid "Action" msgstr "" -#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\base_folder.html.py:33 msgid "Sender" msgstr "" -#: .\templates\postman\base_folder.html.py:27 +#: .\templates\postman\base_folder.html.py:35 msgid "Subject" msgstr "" -#: .\templates\postman\base_folder.html.py:28 +#: .\templates\postman\base_folder.html.py:36 msgid "Date" msgstr "" -#: .\templates\postman\base_folder.html.py:43 +#: .\templates\postman\base_folder.html.py:51 msgid "g:i A,M j,n/j/y" msgstr "" -#: .\templates\postman\base_folder.html.py:51 +#: .\templates\postman\base_folder.html.py:58 msgid "No messages." msgstr "" -#: .\templates\postman\base_write.html.py:20 +#: .\templates\postman\base_write.html.py:33 msgid "Send" msgstr "" @@ -485,8 +485,8 @@ msgstr "" msgid "Received" msgstr "" -#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:25 -#: .\templates\postman\view.html.py:28 .\templates\postman\view.html.py:31 +#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:26 +#: .\templates\postman\view.html.py:29 .\templates\postman\view.html.py:32 msgid "Reply" msgstr "" @@ -504,18 +504,18 @@ msgid "" "storage, use instead the archive folder." msgstr "" -#: .\templates\postman\view.html.py:5 +#: .\templates\postman\view.html.py:6 msgid "Conversation" msgstr "" -#: .\templates\postman\view.html.py:13 +#: .\templates\postman\view.html.py:14 msgid ":" msgstr "" -#: .\templates\postman\view.html.py:20 +#: .\templates\postman\view.html.py:21 msgid "Back" msgstr "" -#: .\templatetags\postman_tags.py:35 +#: .\templatetags\postman_tags.py:48 msgid "" msgstr "" diff --git a/postman/locale/es/LC_MESSAGES/django.mo b/postman/locale/es/LC_MESSAGES/django.mo index b59c406c3c6e64037f7f89df5c5b7889c500884b..321bbb6bb55c0429cef9fa1aff70a117390bfd13 100644 GIT binary patch delta 1067 zcmYk*Pe{{Y9LMqRGTSs)PI1|0HCGmqvu#OHN=lI+DKZZeqKFbZ<%(DaS^WaZ>L3)O zAUh;M^yiSuAm|`;h&pvxhX@S2)wzQ3Ak_QQo_@sf%)xQs#kgOwO$wCd|Igb`GNR@8*uF7Cxa;uAQ4bEt6^F*^%>JcD`c!9~gVrd!qoN&aaTqmW9(Us;^0Qa`UBi!<#|+1$_IJ+Tm?YlLv8}}+=P)YoIXs5f zF^h{Hg+mn5o69S@h#6uJJF$d1k#$?l_G1%j=UJ@7lURcnQ2jjDK84!hedi3S{|h{V z3#j~FMa-;&LN_v(T|ph)L+4{`Cw`8)>m}65e8Zi%j9nOSHrtD*QR5%rKAb^q@Uv@= z#{b=l4I&%yY?K1mWn-w9<_>D*PjMU0V+(#lEno$ec=guuU3Q|zO<)?QQTaZg7Wf^x z6$_Cpfo;g4+i{FAzg?!F3GbnH_6T)%^BBVg)PN<_5wD;YQq8J#6?LfoQB@Yy7;y8jjMl;`g}{M&-Y8=w*O}65~cGz zl{|Xotk4|T<+EacV8Z7cE0(IVHU8YG(UGe*Uii_{Q0Nce2&NM$e#uyR&w*sR_%-ZX H|9_Xi490T` delta 1100 zcmZY8O-R#m9LMqR7Cx*rTZNhrHO)zqTid8n*&zw6)}ite6bPO25FP9gfgp6L?m_Pl`_U!X_WFH)58vP8ejlCgdj4UZS7K(h zrDheFzy+UKH&zkowHL{KN+I*O(o`Moi)WYW!nt!gUD>$WyC~dp6*H)TbEqSHiAwm!#qXUTUHvlZ@4JFLX#0^#7u?p2c9Cx$ zUp=|8Oikf#-<524;SHb9vde*Dx`wqmD a+0UiElKTHT{u>zDH8Ikc8XX>*Y_PxN$9?+% diff --git a/postman/locale/es/LC_MESSAGES/django.po b/postman/locale/es/LC_MESSAGES/django.po index f123d2f..1ae5071 100644 --- a/postman/locale/es/LC_MESSAGES/django.po +++ b/postman/locale/es/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: django-postman 1.0.x\n" "Report-Msgid-Bugs-To: http://bitbucket.org/psam/django-postman/issues\n" -"POT-Creation-Date: 2010-12-27 15:16+0100\n" +"POT-Creation-Date: 2012-12-10 23:02+0100\n" "PO-Revision-Date: 2012-10-19 14:04+0000\n" "Last-Translator: matiasherranz \n" "Language-Team: LANGUAGE \n" @@ -21,71 +21,70 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: .\admin.py:22 +#: .\admin.py:25 msgid "Sender and Recipient cannot be both undefined." msgstr "Remitente y el destinatario no puede ser indefinido." -#: .\admin.py:29 +#: .\admin.py:32 msgid "Visitor's email is in excess." msgstr "Correo del visitante esta en exceso." -#: .\admin.py:34 +#: .\admin.py:37 msgid "Visitor's email is missing." msgstr "Correo del visitante no se encuentra." -#: .\admin.py:40 +#: .\admin.py:43 msgid "Reading date must be later to sending date." msgstr "Fecha de lectura debe ser posterior a la fecha de envío." -#: .\admin.py:45 +#: .\admin.py:48 msgid "Deletion date by sender must be later to sending date." msgstr "" -"Fecha de eliminación por el remitente debe ser posterior a la fecha de " -"envío." +"Fecha de eliminación por el remitente debe ser posterior a la fecha de envío." -#: .\admin.py:50 +#: .\admin.py:53 msgid "Deletion date by recipient must be later to sending date." msgstr "" "Fecha de eliminación por el destinatario debe ser posterior a la fecha de " "envío." -#: .\admin.py:58 +#: .\admin.py:61 msgid "Response date must be later to sending date." msgstr "Fecha de respuesta debe ser posterior a la fecha de envío." -#: .\admin.py:60 +#: .\admin.py:63 msgid "The message cannot be replied without having been read." msgstr "El mensaje no puede ser respondido sin haberlo leído." -#: .\admin.py:62 +#: .\admin.py:65 msgid "Response date must be later to reading date." msgstr "Fecha de respuesta debe ser posterior a la fecha de lectura." -#: .\admin.py:64 +#: .\admin.py:67 msgid "Response date cannot be set without at least one reply." msgstr "Fecha de respuesta no se puede establecer sin al menos una respuesta." -#: .\admin.py:66 +#: .\admin.py:69 msgid "The message cannot be replied without being in a conversation." msgstr "El mensaje no puede ser respondido sin estar en una conversación." -#: .\admin.py:88 .\admin.py:157 .\templates\postman\view.html.py:5 +#: .\admin.py:92 .\admin.py:170 .\templates\postman\view.html.py:6 msgid "Message" msgstr "Mensaje" -#: .\admin.py:93 +#: .\admin.py:97 msgid "Dates" msgstr "Fechas" -#: .\admin.py:98 .\admin.py:161 +#: .\admin.py:102 .\admin.py:174 msgid "Moderation" msgstr "Moderación" -#: .\fields.py:22 +#: .\fields.py:27 msgid "Some usernames are unknown or no more active: {users}." msgstr "Algunos usuarios son desconocidos o no están activos: {users}." -#: .\fields.py:23 +#: .\fields.py:28 msgid "" "Ensure this value has at most {limit_value} distinct items (it has " "{show_value})." @@ -93,7 +92,7 @@ msgstr "" "Asegúrese de que este valor tiene mas de {limit_value} elementos distintos " "(este tiene {show_value})." -#: .\fields.py:24 +#: .\fields.py:29 msgid "" "Ensure this value has at least {limit_value} distinct items (it has " "{show_value})." @@ -101,156 +100,156 @@ msgstr "" "Asegúrese de que este valor tiene por lo menos {limit_value} elementos " "distintos (este tiene {show_value})." -#: .\fields.py:25 +#: .\fields.py:30 msgid "Some usernames are rejected: {users}." msgstr "Algunos usuarios son rechazados: {users}." -#: .\fields.py:26 .\forms.py:65 -msgid "{user.username}" -msgstr "{user.username}" +#: .\fields.py:31 .\forms.py:71 +msgid "{username}" +msgstr "{username}" -#: .\fields.py:27 .\forms.py:66 -msgid "{user.username} ({reason})" -msgstr "{user.username} ({reason})" +#: .\fields.py:32 .\forms.py:72 +msgid "{username} ({reason})" +msgstr "{username} ({reason})" -#: .\forms.py:64 +#: .\forms.py:70 msgid "Writing to some users is not possible: {users}." msgstr "La escritura a algunos usuarios no es posible: {users}." -#: .\forms.py:148 .\forms.py:160 +#: .\forms.py:155 .\forms.py:168 msgid "Recipients" msgstr "Destinatarios" -#: .\forms.py:148 .\forms.py:160 .\templates\postman\base_folder.html.py:26 +#: .\forms.py:155 .\forms.py:168 .\templates\postman\base_folder.html.py:34 #: .\templates\postman\reply.html.py:4 msgid "Recipient" msgstr "Destinatario" -#: .\forms.py:159 +#: .\forms.py:167 msgid "Email" msgstr "Correo" -#: .\forms.py:175 +#: .\forms.py:184 msgid "Undefined recipient." msgstr "Destinatario no definido." -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipients" msgstr "Destinatarios adicionales" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipient" msgstr "Destinatario adicional" -#: .\models.py:19 +#: .\models.py:27 msgid "Pending" msgstr "Pendiente" -#: .\models.py:20 +#: .\models.py:28 msgid "Accepted" msgstr "Aceptado" -#: .\models.py:21 .\templates\postman\view.html.py:13 +#: .\models.py:29 .\templates\postman\view.html.py:14 msgid "Rejected" msgstr "Rechazado" -#: .\models.py:197 +#: .\models.py:242 msgid "subject" msgstr "asunto" -#: .\models.py:198 +#: .\models.py:243 msgid "body" msgstr "contenido" -#: .\models.py:199 .\models.py:281 +#: .\models.py:244 .\models.py:326 msgid "sender" msgstr "emisor" -#: .\models.py:200 .\models.py:305 +#: .\models.py:245 .\models.py:350 msgid "recipient" msgstr "destinatario" -#: .\models.py:201 +#: .\models.py:246 msgid "visitor" msgstr "visitante" -#: .\models.py:202 +#: .\models.py:247 msgid "parent message" msgstr "mensaje padre" -#: .\models.py:203 +#: .\models.py:248 msgid "root message" msgstr "mensaje raíz" -#: .\models.py:204 +#: .\models.py:249 msgid "sent at" msgstr "enviado a" -#: .\models.py:205 +#: .\models.py:250 msgid "read at" msgstr "leído a" -#: .\models.py:206 +#: .\models.py:251 msgid "replied at" msgstr "respondido a" -#: .\models.py:207 +#: .\models.py:252 msgid "archived by sender" msgstr "archivado por el remitente" -#: .\models.py:208 +#: .\models.py:253 msgid "archived by recipient" msgstr "archivado por el destinatario" -#: .\models.py:209 +#: .\models.py:254 msgid "deleted by sender at" msgstr "eliminado por el remitente el" -#: .\models.py:210 +#: .\models.py:255 msgid "deleted by recipient at" msgstr "eliminado por el destinatario el" -#: .\models.py:212 +#: .\models.py:257 msgid "status" msgstr "estado" -#: .\models.py:214 +#: .\models.py:259 msgid "moderator" msgstr "moderador" -#: .\models.py:215 +#: .\models.py:260 msgid "moderated at" msgstr "moderado el" -#: .\models.py:216 +#: .\models.py:261 msgid "rejection reason" msgstr "motivo de rechazo" -#: .\models.py:221 +#: .\models.py:266 msgid "message" msgstr "mensaje" -#: .\models.py:222 +#: .\models.py:267 msgid "messages" msgstr "mensajes" -#: .\models.py:333 +#: .\models.py:378 msgid "Undefined sender." msgstr "Remitente no definido." -#: .\models.py:473 +#: .\models.py:523 msgid "pending message" msgstr "mensaje pendiente" -#: .\models.py:474 +#: .\models.py:524 msgid "pending messages" msgstr "mensajes pendientes" -#: .\utils.py:32 +#: .\utils.py:37 msgid "> " msgstr "> " -#: .\utils.py:48 +#: .\utils.py:53 msgid "" "\n" "\n" @@ -262,55 +261,55 @@ msgstr "" "{sender} scribió:\n" "{body}\n" -#: .\utils.py:57 +#: .\utils.py:63 msgid "Re: {subject}" msgstr "Re: {subject}" -#: .\views.py:129 .\views.py:187 +#: .\views.py:144 .\views.py:206 msgid "Message successfully sent." msgstr "Mensaje enviado con éxito." -#: .\views.py:131 .\views.py:189 +#: .\views.py:146 .\views.py:208 msgid "Message rejected for at least one recipient." msgstr "Mensaje rechazado por al menos un destinatario." -#: .\views.py:276 +#: .\views.py:299 msgid "Select at least one object." msgstr "Seleccione al menos un objeto." -#: .\views.py:282 +#: .\views.py:306 msgid "Messages or conversations successfully archived." msgstr "Mensajes o conversaciones archivado con éxito." -#: .\views.py:287 +#: .\views.py:312 msgid "Messages or conversations successfully deleted." msgstr "Mensajes o conversaciones eliminado con éxito." -#: .\views.py:292 +#: .\views.py:318 msgid "Messages or conversations successfully recovered." msgstr "Mensajes o conversaciones recuperado con éxito." -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Message Rejected" msgstr "Mensaje rechazado" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Your message has been rejected" msgstr "Tu mensaje ha sido rechazada" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "Message Received" msgstr "Mensaje recibido" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "You have received a message" msgstr "Ha recibido un mensaje" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "Reply Received" msgstr "Respuesta recibida" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "You have received a reply" msgstr "Ha recibido una respuesta" @@ -340,81 +339,81 @@ msgstr "" "Los mensajes en esta carpeta no serán eliminados. Puede utilizar esta " "carpeta para el almacenamiento a largo plazo." -#: .\templates\postman\base.html.py:3 +#: .\templates\postman\base.html.py:4 msgid "Messaging" msgstr "Mensajería" -#: .\templates\postman\base.html.py:6 +#: .\templates\postman\base.html.py:13 msgid "Inbox" msgstr "Recibidos" -#: .\templates\postman\base.html.py:7 .\templates\postman\sent.html.py:3 +#: .\templates\postman\base.html.py:14 .\templates\postman\sent.html.py:3 msgid "Sent Messages" msgstr "Mensajes enviados" -#: .\templates\postman\base.html.py:8 .\templates\postman\write.html.py:3 +#: .\templates\postman\base.html.py:15 .\templates\postman\write.html.py:3 msgid "Write" msgstr "Escribe" -#: .\templates\postman\base.html.py:9 +#: .\templates\postman\base.html.py:16 msgid "Archives" msgstr "Archivos" -#: .\templates\postman\base.html.py:10 +#: .\templates\postman\base.html.py:17 msgid "Trash" msgstr "Papelera" -#: .\templates\postman\base_folder.html.py:9 +#: .\templates\postman\base_folder.html.py:16 msgid "Sorry, this page number is invalid." msgstr "Lo sentimos, este número de la página no es válida." -#: .\templates\postman\base_folder.html.py:12 +#: .\templates\postman\base_folder.html.py:20 msgid "by conversation" msgstr "por conversación" -#: .\templates\postman\base_folder.html.py:13 +#: .\templates\postman\base_folder.html.py:21 msgid "by message" msgstr "por mensaje" -#: .\templates\postman\base_folder.html.py:17 -#: .\templates\postman\view.html.py:22 +#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\view.html.py:23 msgid "Delete" msgstr "Eliminar" -#: .\templates\postman\base_folder.html.py:18 -#: .\templates\postman\view.html.py:23 +#: .\templates\postman\base_folder.html.py:26 +#: .\templates\postman\view.html.py:24 msgid "Archive" msgstr "Archivar" -#: .\templates\postman\base_folder.html.py:19 +#: .\templates\postman\base_folder.html.py:27 msgid "Undelete" msgstr "Recuperar" -#: .\templates\postman\base_folder.html.py:24 +#: .\templates\postman\base_folder.html.py:32 msgid "Action" msgstr "Acción" -#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\base_folder.html.py:33 msgid "Sender" msgstr "Emisor" -#: .\templates\postman\base_folder.html.py:27 +#: .\templates\postman\base_folder.html.py:35 msgid "Subject" msgstr "Asunto" -#: .\templates\postman\base_folder.html.py:28 +#: .\templates\postman\base_folder.html.py:36 msgid "Date" msgstr "Fecha" -#: .\templates\postman\base_folder.html.py:43 +#: .\templates\postman\base_folder.html.py:51 msgid "g:i A,M j,n/j/y" msgstr "G:i,j b,j/n/y" -#: .\templates\postman\base_folder.html.py:51 +#: .\templates\postman\base_folder.html.py:58 msgid "No messages." msgstr "No hay mensajes." -#: .\templates\postman\base_write.html.py:20 +#: .\templates\postman\base_write.html.py:33 msgid "Send" msgstr "Enviar" @@ -426,7 +425,9 @@ msgstr "Estimado usuario," #: .\templates\postman\email_visitor.txt.py:3 #, python-format msgid "On %(date)s, you asked to send a message to the user '%(recipient)s'." -msgstr "En la fecha %(date)s, solicitaste que se envíe un mensaje al usuario '%(recipient)s'." +msgstr "" +"En la fecha %(date)s, solicitaste que se envíe un mensaje al usuario '%" +"(recipient)s'." #: .\templates\postman\email_user.txt.py:5 #: .\templates\postman\email_visitor.txt.py:5 @@ -451,8 +452,7 @@ msgstr "Su interlocutor le ha dado una respuesta." #: .\templates\postman\email_user.txt.py:11 #, python-format msgid "You have received a copy of a response from the user '%(sender)s'." -msgstr "" -"Usted ha recibido una copia de una respuesta del usuario '%(sender)s'." +msgstr "Usted ha recibido una copia de una respuesta del usuario '%(sender)s'." #: .\templates\postman\email_user.txt.py:13 #, python-format @@ -499,8 +499,7 @@ msgstr "A continuación encontrará la respuesta de su interlocutor." #: .\templates\postman\email_visitor.txt.py:15 msgid "For more comfort, we encourage you to open an account on the site." -msgstr "" -"Para mayor comodidad, le recomendamos que abra una cuenta en el sitio." +msgstr "Para mayor comodidad, le recomendamos que abra una cuenta en el sitio." #: .\templates\postman\inbox.html.py:3 msgid "Received Messages" @@ -510,8 +509,8 @@ msgstr "Mensajes recibidos" msgid "Received" msgstr "Recibido" -#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:25 -#: .\templates\postman\view.html.py:28 .\templates\postman\view.html.py:31 +#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:26 +#: .\templates\postman\view.html.py:29 .\templates\postman\view.html.py:32 msgid "Reply" msgstr "Responder" @@ -527,20 +526,22 @@ msgstr "Mensajes eliminados" msgid "" "Messages in this folder can be removed from time to time. For long term " "storage, use instead the archive folder." -msgstr "Los mensajes en esta carpeta pueden ser borrados de tanto en tanto. No utilice esta carpeta para almacenamiento a largo plazo." +msgstr "" +"Los mensajes en esta carpeta pueden ser borrados de tanto en tanto. No " +"utilice esta carpeta para almacenamiento a largo plazo." -#: .\templates\postman\view.html.py:5 +#: .\templates\postman\view.html.py:6 msgid "Conversation" msgstr "Conversación" -#: .\templates\postman\view.html.py:13 +#: .\templates\postman\view.html.py:14 msgid ":" msgstr " :" -#: .\templates\postman\view.html.py:20 +#: .\templates\postman\view.html.py:21 msgid "Back" msgstr "Volver" -#: .\templatetags\postman_tags.py:35 +#: .\templatetags\postman_tags.py:48 msgid "" msgstr "" diff --git a/postman/locale/fa_IR/LC_MESSAGES/django.mo b/postman/locale/fa_IR/LC_MESSAGES/django.mo index 7584c0533554f06556a312bbea86a24aafdae300..c9a6670930cd7100b04fd65e31cebf60aae01e5b 100644 GIT binary patch delta 970 zcmXZaK}b|V9LMqhX1!f>msU5+(k)kMwbf!>i?FQiR)-)-?6Aq2)KUl;Dl37=J9tqH zFB?K3b;@oLd8jT0MyF0j(6KBch!83w@L+y_?kxM>=Rfo2&HVo}?_qW}`}BN;UukBa zqGq-D0~Z4X)n;*cTw`_s-=ey|p@-jb8?Ippf8kDCckRlU*&f<4tj9LgI%lyNFCt6W zc+7koBA9jq{-74vaP1wt$^)agoBk$j!YT;89$_Be;T^$QsI(R$)8M0p}ge(0+;J zU_Vhi?eT%Nu)bvo(sbld6V0MNrg>B%i>OLpUk5~CXSVL#N-N%lfRz%#|A8AziO`!+aCq=$VbUf_f1`IJnZq6Y(~X(V6X~v{ c`RcEc2KTr)Rv6t18(Swv3xi{~h9?i%CV}N_WdHyG delta 990 zcmZY7KWI}?6vy!sE$JgRG_g(9w9%%bt=fbnriy=~2$g~$DmoNJ3yDUd6rId&9hZ~*IgOz&|u z=J*@NA=G*gU4jh+Pf-hhK)!-CunB+S3Jk6BPZC9)pac6bk2?7ck!vv5r}MhgvAo<)1Wx{j|>q-o*m# zc_at>j;eHw3)aj2wwoYFM;W!y9n@udfJ$T*b}DI{0(P~#qBi$2av0`7~wMb@@2sEr+NmP(pLKCk6a2_6hQ8uXt+C2$!jqFwjy zg*&y7HS_G@Im4shzQ6yZP6TACr<^=-bV~pL diff --git a/postman/locale/fa_IR/LC_MESSAGES/django.po b/postman/locale/fa_IR/LC_MESSAGES/django.po index 3e8e9af..e6f65cc 100644 --- a/postman/locale/fa_IR/LC_MESSAGES/django.po +++ b/postman/locale/fa_IR/LC_MESSAGES/django.po @@ -1,14 +1,14 @@ # Persian IR translation of django-postman. # Copyright (C) 2012 Patrick Samson # This file is distributed under the same license as the django-postman package. -# +# # Translators: # Alireza Savand , 2012. msgid "" msgstr "" "Project-Id-Version: django-postman\n" "Report-Msgid-Bugs-To: http://bitbucket.org/psam/django-postman/issues\n" -"POT-Creation-Date: 2010-12-27 14:21+0100\n" +"POT-Creation-Date: 2012-12-10 23:09+0100\n" "PO-Revision-Date: 2012-05-20 13:00+0000\n" "Last-Translator: Alireza Savand \n" "Language-Team: LANGUAGE \n" @@ -18,284 +18,288 @@ msgstr "" "Language: fa_IR\n" "Plural-Forms: nplurals=1; plural=0\n" -#: .\admin.py:22 +#: .\admin.py:25 msgid "Sender and Recipient cannot be both undefined." msgstr "گیرنده و ارسال کننده نمی‌توانند هر دو معرفی نشده باشند." -#: .\admin.py:29 +#: .\admin.py:32 msgid "Visitor's email is in excess." msgstr "ایمیل بازدیدکننده اضافی است." -#: .\admin.py:34 +#: .\admin.py:37 msgid "Visitor's email is missing." msgstr "ایمیل بازدیدکننده گم شده." -#: .\admin.py:40 +#: .\admin.py:43 msgid "Reading date must be later to sending date." msgstr "تاریخ خواندن پیام باید بعد از تاریخ ارسال آن باشد." -#: .\admin.py:45 +#: .\admin.py:48 msgid "Deletion date by sender must be later to sending date." msgstr "" -#: .\admin.py:50 +#: .\admin.py:53 msgid "Deletion date by recipient must be later to sending date." msgstr "" -#: .\admin.py:58 +#: .\admin.py:61 msgid "Response date must be later to sending date." msgstr "" -#: .\admin.py:60 +#: .\admin.py:63 msgid "The message cannot be replied without having been read." msgstr "پیام نمی تواند ارسال شود بدون اینکه خوانده شود." -#: .\admin.py:62 +#: .\admin.py:65 msgid "Response date must be later to reading date." msgstr "" -#: .\admin.py:64 +#: .\admin.py:67 msgid "Response date cannot be set without at least one reply." msgstr "" -#: .\admin.py:66 +#: .\admin.py:69 msgid "The message cannot be replied without being in a conversation." msgstr "" -#: .\admin.py:88 .\admin.py:157 .\templates\postman\view.html.py:5 +#: .\admin.py:92 .\admin.py:170 .\templates\postman\view.html.py:6 msgid "Message" msgstr "پیام" -#: .\admin.py:93 +#: .\admin.py:97 msgid "Dates" msgstr "تاریخ‌ها" -#: .\admin.py:98 .\admin.py:161 +#: .\admin.py:102 .\admin.py:174 msgid "Moderation" msgstr "مدیریت" -#: .\fields.py:22 +#: .\fields.py:27 msgid "Some usernames are unknown or no more active: {users}." msgstr "بعضی از نام‌کاربری‌ها ناشناس هستند یا دیگر فعال نیستند : {users}." -#: .\fields.py:23 +#: .\fields.py:28 msgid "" "Ensure this value has at most {limit_value} distinct items (it has " "{show_value})." msgstr "" -#: .\fields.py:24 +#: .\fields.py:29 msgid "" "Ensure this value has at least {limit_value} distinct items (it has " "{show_value})." msgstr "" -#: .\fields.py:25 +#: .\fields.py:30 msgid "Some usernames are rejected: {users}." msgstr "" -#: .\fields.py:26 .\forms.py:65 -msgid "{user.username}" -msgstr "{user.username}" +#: .\fields.py:31 .\forms.py:71 +msgid "{username}" +msgstr "{username}" -#: .\fields.py:27 .\forms.py:66 -msgid "{user.username} ({reason})" -msgstr "{user.username} ({reason})" +#: .\fields.py:32 .\forms.py:72 +msgid "{username} ({reason})" +msgstr "{username} ({reason})" -#: .\forms.py:64 +#: .\forms.py:70 msgid "Writing to some users is not possible: {users}." msgstr "نوشتن برای برخی کاربران امکان پذیر نیست : {users}." -#: .\forms.py:148 .\forms.py:160 +#: .\forms.py:155 .\forms.py:168 msgid "Recipients" msgstr "گیرندگان" -#: .\forms.py:148 .\forms.py:160 .\templates\postman\base_folder.html.py:26 +#: .\forms.py:155 .\forms.py:168 .\templates\postman\base_folder.html.py:34 #: .\templates\postman\reply.html.py:4 msgid "Recipient" msgstr "گیرنده" -#: .\forms.py:159 +#: .\forms.py:167 msgid "Email" msgstr "ایمیل" -#: .\forms.py:175 +#: .\forms.py:184 msgid "Undefined recipient." msgstr "گیرنده معرفی نشده." -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipients" msgstr "گیرندگان مضاعف" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipient" msgstr "گیرنده مضاعف" -#: .\models.py:19 +#: .\models.py:27 msgid "Pending" msgstr "در نوبت" -#: .\models.py:20 +#: .\models.py:28 msgid "Accepted" msgstr "قبول شده" -#: .\models.py:21 .\templates\postman\view.html.py:13 +#: .\models.py:29 .\templates\postman\view.html.py:14 msgid "Rejected" msgstr "در شده" -#: .\models.py:197 +#: .\models.py:242 msgid "subject" msgstr "موضوع" -#: .\models.py:198 +#: .\models.py:243 msgid "body" msgstr "محتوا" -#: .\models.py:199 .\models.py:281 +#: .\models.py:244 .\models.py:326 msgid "sender" msgstr "ارسال کننده" -#: .\models.py:200 .\models.py:305 +#: .\models.py:245 .\models.py:350 msgid "recipient" msgstr "گیرنده" -#: .\models.py:201 +#: .\models.py:246 msgid "visitor" msgstr "بازدیدکننده" -#: .\models.py:202 +#: .\models.py:247 msgid "parent message" msgstr "پیام بالاسری" -#: .\models.py:203 +#: .\models.py:248 msgid "root message" msgstr "پیام اصلی" -#: .\models.py:204 +#: .\models.py:249 msgid "sent at" msgstr "ارسال شده در" -#: .\models.py:205 +#: .\models.py:250 msgid "read at" msgstr "خوانده شده در" -#: .\models.py:206 +#: .\models.py:251 msgid "replied at" msgstr "جواب داده شده در" -#: .\models.py:207 +#: .\models.py:252 msgid "archived by sender" msgstr "آرشیو شده توسط ارسال کننده" -#: .\models.py:208 +#: .\models.py:253 msgid "archived by recipient" msgstr "آرشیو شده توسط گیرنده" -#: .\models.py:209 +#: .\models.py:254 msgid "deleted by sender at" msgstr "حذف شده توسط ارسال کننده در" -#: .\models.py:210 +#: .\models.py:255 msgid "deleted by recipient at" msgstr "حذف شده توسط گیرنده در" -#: .\models.py:212 +#: .\models.py:257 msgid "status" msgstr "وضعیت" -#: .\models.py:214 +#: .\models.py:259 msgid "moderator" msgstr "مدیر" -#: .\models.py:215 +#: .\models.py:260 msgid "moderated at" msgstr "میدریت شده در" -#: .\models.py:216 +#: .\models.py:261 msgid "rejection reason" msgstr "دلیل رد شدن" -#: .\models.py:221 +#: .\models.py:266 msgid "message" msgstr "پیام" -#: .\models.py:222 +#: .\models.py:267 msgid "messages" msgstr "پیام‌ها" -#: .\models.py:333 +#: .\models.py:378 msgid "Undefined sender." msgstr "ارسال کننده معرفی نشده." -#: .\models.py:473 +#: .\models.py:523 msgid "pending message" msgstr "پیام در صف" -#: .\models.py:474 +#: .\models.py:524 msgid "pending messages" msgstr "پیام‌های در صف" -#: .\utils.py:32 +#: .\utils.py:37 msgid "> " msgstr " <" -#: .\utils.py:48 +#: .\utils.py:53 msgid "" "\n" "\n" "{sender} wrote:\n" "{body}\n" -msgstr "\n\n{sender} نوشت :\n{body}\n" +msgstr "" +"\n" +"\n" +"{sender} نوشت :\n" +"{body}\n" -#: .\utils.py:57 +#: .\utils.py:63 msgid "Re: {subject}" msgstr "در جواب: {subject}" -#: .\views.py:129 .\views.py:187 +#: .\views.py:144 .\views.py:206 msgid "Message successfully sent." msgstr "پیام با موفقیت ارسال شد." -#: .\views.py:131 .\views.py:189 +#: .\views.py:146 .\views.py:208 msgid "Message rejected for at least one recipient." msgstr "پیام رد شد حداقل برای یک گیرنده." -#: .\views.py:276 +#: .\views.py:299 msgid "Select at least one object." msgstr "حداقل یکی انتخاب کنید." -#: .\views.py:282 +#: .\views.py:306 msgid "Messages or conversations successfully archived." msgstr "پیام یا بحث با موفقیت بایگانی شد." -#: .\views.py:287 +#: .\views.py:312 msgid "Messages or conversations successfully deleted." msgstr "پیام یا بحث با موفقیت حذف شد." -#: .\views.py:292 +#: .\views.py:318 msgid "Messages or conversations successfully recovered." msgstr "پیام یا بحث با موفقیت بازگردانی شد." -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Message Rejected" msgstr "پیام رد شد" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Your message has been rejected" msgstr "پیام شما رد شد" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "Message Received" msgstr "پیام دریافت شد" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "You have received a message" msgstr "شما یک پیام دریافت کردید" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "Reply Received" msgstr "پاسخ دریافت شد" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "You have received a reply" msgstr "شما یک پاسخ دریافت کردید" @@ -322,81 +326,81 @@ msgid "" "long term storage." msgstr "" -#: .\templates\postman\base.html.py:3 +#: .\templates\postman\base.html.py:4 msgid "Messaging" msgstr "پیام نوشتن" -#: .\templates\postman\base.html.py:6 +#: .\templates\postman\base.html.py:13 msgid "Inbox" msgstr "صندوق" -#: .\templates\postman\base.html.py:7 .\templates\postman\sent.html.py:3 +#: .\templates\postman\base.html.py:14 .\templates\postman\sent.html.py:3 msgid "Sent Messages" msgstr "پیام‌های ارسال شده" -#: .\templates\postman\base.html.py:8 .\templates\postman\write.html.py:3 +#: .\templates\postman\base.html.py:15 .\templates\postman\write.html.py:3 msgid "Write" msgstr "نوشتن" -#: .\templates\postman\base.html.py:9 +#: .\templates\postman\base.html.py:16 msgid "Archives" msgstr "آرشیو‌ها" -#: .\templates\postman\base.html.py:10 +#: .\templates\postman\base.html.py:17 msgid "Trash" msgstr "سطل زباله" -#: .\templates\postman\base_folder.html.py:9 +#: .\templates\postman\base_folder.html.py:16 msgid "Sorry, this page number is invalid." msgstr "شرمنده، شماره این صفحه اشتباه است." -#: .\templates\postman\base_folder.html.py:12 +#: .\templates\postman\base_folder.html.py:20 msgid "by conversation" msgstr "توسط بحث" -#: .\templates\postman\base_folder.html.py:13 +#: .\templates\postman\base_folder.html.py:21 msgid "by message" msgstr "توسط پیام" -#: .\templates\postman\base_folder.html.py:17 -#: .\templates\postman\view.html.py:22 +#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\view.html.py:23 msgid "Delete" msgstr "حذف" -#: .\templates\postman\base_folder.html.py:18 -#: .\templates\postman\view.html.py:23 +#: .\templates\postman\base_folder.html.py:26 +#: .\templates\postman\view.html.py:24 msgid "Archive" msgstr "آرشیو" -#: .\templates\postman\base_folder.html.py:19 +#: .\templates\postman\base_folder.html.py:27 msgid "Undelete" msgstr "برگرداندن" -#: .\templates\postman\base_folder.html.py:24 +#: .\templates\postman\base_folder.html.py:32 msgid "Action" msgstr "حرکت" -#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\base_folder.html.py:33 msgid "Sender" msgstr "ارسال کننده" -#: .\templates\postman\base_folder.html.py:27 +#: .\templates\postman\base_folder.html.py:35 msgid "Subject" msgstr "موضوع" -#: .\templates\postman\base_folder.html.py:28 +#: .\templates\postman\base_folder.html.py:36 msgid "Date" msgstr "تاریخ" -#: .\templates\postman\base_folder.html.py:43 +#: .\templates\postman\base_folder.html.py:51 msgid "g:i A,M j,n/j/y" msgstr "g:i A,M j,n/j/y" -#: .\templates\postman\base_folder.html.py:51 +#: .\templates\postman\base_folder.html.py:58 msgid "No messages." msgstr "بودن پیام." -#: .\templates\postman\base_write.html.py:20 +#: .\templates\postman\base_write.html.py:33 msgid "Send" msgstr "ارسال" @@ -477,7 +481,8 @@ msgstr "لظفا جواب خود را در زیر از مخاطب خود پید #: .\templates\postman\email_visitor.txt.py:15 msgid "For more comfort, we encourage you to open an account on the site." -msgstr "برای راحتی بیشتر پیشنهاد میدهیم، یک حساب کاربری روی این سایت ایجاد کنید." +msgstr "" +"برای راحتی بیشتر پیشنهاد میدهیم، یک حساب کاربری روی این سایت ایجاد کنید." #: .\templates\postman\inbox.html.py:3 msgid "Received Messages" @@ -487,8 +492,8 @@ msgstr "پیام‌های دریافت شده" msgid "Received" msgstr "دریافت شده" -#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:25 -#: .\templates\postman\view.html.py:28 .\templates\postman\view.html.py:31 +#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:26 +#: .\templates\postman\view.html.py:29 .\templates\postman\view.html.py:32 msgid "Reply" msgstr "پاسخ" @@ -506,18 +511,18 @@ msgid "" "storage, use instead the archive folder." msgstr "" -#: .\templates\postman\view.html.py:5 +#: .\templates\postman\view.html.py:6 msgid "Conversation" msgstr "بحث" -#: .\templates\postman\view.html.py:13 +#: .\templates\postman\view.html.py:14 msgid ":" msgstr ":" -#: .\templates\postman\view.html.py:20 +#: .\templates\postman\view.html.py:21 msgid "Back" msgstr "برگرد" -#: .\templatetags\postman_tags.py:35 +#: .\templatetags\postman_tags.py:48 msgid "" msgstr "<من>" diff --git a/postman/locale/fr/LC_MESSAGES/django.mo b/postman/locale/fr/LC_MESSAGES/django.mo index 717f65a143a9d21e96c6078510b394b00dce83f2..017af69da1be829aca9a667ed4b47188ff664e38 100644 GIT binary patch delta 1174 zcmXZbT}V@57{Kv&rfq&_AIsGAXd3x(oK7QMVWE{FE+xdGo0#n|mu+Y5oMmOQ(2I(S zE`*9MiZH^fuq5cVNQfe&?!2i$=t88sg6g9FPdl*f_df5(^M3Aa|4RS-n|0|trBsbq zsV%7E6PHpwxSe=)t5Vz0Q>s*!^urvibK*wy5H~yS!S%!kumXFr62ngWG;Som>BJ99 zRazaQVvY(K_#F%I2WDdyv&)2TEWtu7!Ya(gW~aUbhl%@e2p^#=>?a!d7sF_jDHX(b zxEV{!(kAKE?gGin5@FDw1Lc%887lB%DM!v0Etp?xSpI&T$^)q+X)* ze~m}+6Lw>|TFXonMn38>KayY(W#u2R50_EuYpXL?(S$zYE*m z&Rln2Eg7ej;433!J8Gud)96wQLC>_yb$;Pv?r?!S9*P;0YGS6tyKn45-Z3L#CT%@v zMWSK7I~B3?Av2(j+IAw~^NmF9k<{ri!)`W{5nsXz#eCs2p?Jj96Q*UyLUCWzvQmbX zH#jh)_au#w9W~?n!H{hPG=EF0Uzbmd=JyBM+ZX1&$>IuU@|0yH{};7g6AZJ=_+-8M E2gNLy_5c6? delta 1129 zcmZY7Ur5tY6u|Mba&9x7e+BRvbBvOTG2u%Ew&!SOb7$XHG9a}))F)QJ?tT* zqF}EDz7!z@g?p(W2omcpA$y1-m=Muh^j1lI5Bt$e;QX9(fA@EP=bn2v60Z}FUu`w& zMI_)B@nICFEh0&5BVTC|@!|$#INYYpXfjb)#ok^PGqo^IZiMMeHXE4S#BUr*HelhhjxrRJ}+we5%dgpKg zb2x$@4T1rJee_9Rn8$;-fN@+wEy%h<neToP09qQ$C z^0F4#i!@ozU>IjmpD&@0@5?HI?yQUr_ziXEztE31zTS@As4ebCoqr1Tl8vIyKW~~v zy`=M~xBV8na1pIoLOrr)=u8l-66gZ&bpXp|{vGvBY@!wIT@{_EA8tlH(>Bx&1d9u{ z>v}da#ZTYR?MxRt?7fyN%Sn5|Vv*%F$8c?9D4$DZC&w%0D2<=?9Q?%8Z=ESH&_ H+bw?q@*atq diff --git a/postman/locale/fr/LC_MESSAGES/django.po b/postman/locale/fr/LC_MESSAGES/django.po index 0de4c64..ede6bf4 100644 --- a/postman/locale/fr/LC_MESSAGES/django.po +++ b/postman/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: django-postman 1.0.x\n" "Report-Msgid-Bugs-To: http://bitbucket.org/psam/django-postman/issues\n" -"POT-Creation-Date: 2010-12-27 14:21+0100\n" +"POT-Creation-Date: 2012-12-10 22:44+0100\n" "PO-Revision-Date: 2010-12-15 17:19+0100\n" "Last-Translator: Patrick Samson \n" "Language-Team: LANGUAGE \n" @@ -17,73 +17,73 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=n>1;\n" -#: .\admin.py:22 +#: .\admin.py:25 msgid "Sender and Recipient cannot be both undefined." msgstr "" "Expéditeur et Destinataire ne peuvent pas être indéfinis tous les deux." -#: .\admin.py:29 +#: .\admin.py:32 msgid "Visitor's email is in excess." msgstr "Le courriel du visiteur est en trop." -#: .\admin.py:34 +#: .\admin.py:37 msgid "Visitor's email is missing." msgstr "Le courriel du visiteur est manquant." -#: .\admin.py:40 +#: .\admin.py:43 msgid "Reading date must be later to sending date." msgstr "La date de lecture doit être postérieure à la date d'envoi." -#: .\admin.py:45 +#: .\admin.py:48 msgid "Deletion date by sender must be later to sending date." msgstr "" "La date de suppression par l'expéditeur doit être postérieure à la date " "d'envoi." -#: .\admin.py:50 +#: .\admin.py:53 msgid "Deletion date by recipient must be later to sending date." msgstr "" "La date de suppression par le destinataire doit être postérieure à la date " "d'envoi." -#: .\admin.py:58 +#: .\admin.py:61 msgid "Response date must be later to sending date." msgstr "La date de réponse doit être postérieure à la date d'envoi." -#: .\admin.py:60 +#: .\admin.py:63 msgid "The message cannot be replied without having been read." msgstr "Le message ne peut pas être répondu sans avoir été lu." -#: .\admin.py:62 +#: .\admin.py:65 msgid "Response date must be later to reading date." msgstr "La date de réponse doit être postérieure à la date de lecture." -#: .\admin.py:64 +#: .\admin.py:67 msgid "Response date cannot be set without at least one reply." msgstr "" "La date de réponse ne peut pas être positionnée sans au moins une réponse." -#: .\admin.py:66 +#: .\admin.py:69 msgid "The message cannot be replied without being in a conversation." msgstr "Le message ne peut pas être répondu sans être dans une conversation." -#: .\admin.py:88 .\admin.py:157 .\templates\postman\view.html.py:5 +#: .\admin.py:92 .\admin.py:170 .\templates\postman\view.html.py:6 msgid "Message" msgstr "Message" -#: .\admin.py:93 +#: .\admin.py:97 msgid "Dates" msgstr "Dates" -#: .\admin.py:98 .\admin.py:161 +#: .\admin.py:102 .\admin.py:174 msgid "Moderation" msgstr "Modération" -#: .\fields.py:22 +#: .\fields.py:27 msgid "Some usernames are unknown or no more active: {users}." msgstr "Des noms d'utilisateur sont inconnus ou ne sont plus actifs : {users}." -#: .\fields.py:23 +#: .\fields.py:28 msgid "" "Ensure this value has at most {limit_value} distinct items (it has " "{show_value})." @@ -91,7 +91,7 @@ msgstr "" "Assurez-vous que cette valeur a au plus {limit_value} éléments distincts " "(elle en a {show_value})." -#: .\fields.py:24 +#: .\fields.py:29 msgid "" "Ensure this value has at least {limit_value} distinct items (it has " "{show_value})." @@ -99,156 +99,156 @@ msgstr "" "Assurez-vous que cette valeur a au moins {limit_value} éléments distincts " "(elle en a {show_value})." -#: .\fields.py:25 +#: .\fields.py:30 msgid "Some usernames are rejected: {users}." msgstr "Des noms d'utilisateur sont rejetés : {users}." -#: .\fields.py:26 .\forms.py:65 -msgid "{user.username}" -msgstr "{user.username}" +#: .\fields.py:31 .\forms.py:71 +msgid "{username}" +msgstr "{username}" -#: .\fields.py:27 .\forms.py:66 -msgid "{user.username} ({reason})" -msgstr "{user.username} ({reason})" +#: .\fields.py:32 .\forms.py:72 +msgid "{username} ({reason})" +msgstr "{username} ({reason})" -#: .\forms.py:64 +#: .\forms.py:70 msgid "Writing to some users is not possible: {users}." msgstr "Écrire à certains utilisateurs n'est pas possible : {users}." -#: .\forms.py:148 .\forms.py:160 +#: .\forms.py:155 .\forms.py:168 msgid "Recipients" msgstr "Destinataires" -#: .\forms.py:148 .\forms.py:160 .\templates\postman\base_folder.html.py:26 +#: .\forms.py:155 .\forms.py:168 .\templates\postman\base_folder.html.py:34 #: .\templates\postman\reply.html.py:4 msgid "Recipient" msgstr "Destinataire" -#: .\forms.py:159 +#: .\forms.py:167 msgid "Email" msgstr "Courriel" -#: .\forms.py:175 +#: .\forms.py:184 msgid "Undefined recipient." msgstr "Destinataire indéfini." -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipients" msgstr "Destinataires supplémentaires" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipient" msgstr "Destinataire supplémentaire" -#: .\models.py:19 +#: .\models.py:27 msgid "Pending" msgstr "En attente" -#: .\models.py:20 +#: .\models.py:28 msgid "Accepted" msgstr "Accepté" -#: .\models.py:21 .\templates\postman\view.html.py:13 +#: .\models.py:29 .\templates\postman\view.html.py:14 msgid "Rejected" msgstr "Rejeté" -#: .\models.py:197 +#: .\models.py:242 msgid "subject" msgstr "objet" -#: .\models.py:198 +#: .\models.py:243 msgid "body" msgstr "contenu" -#: .\models.py:199 .\models.py:281 +#: .\models.py:244 .\models.py:326 msgid "sender" msgstr "expéditeur" -#: .\models.py:200 .\models.py:305 +#: .\models.py:245 .\models.py:350 msgid "recipient" msgstr "destinataire" -#: .\models.py:201 +#: .\models.py:246 msgid "visitor" msgstr "visiteur" -#: .\models.py:202 +#: .\models.py:247 msgid "parent message" msgstr "message parent" -#: .\models.py:203 +#: .\models.py:248 msgid "root message" msgstr "message racine" -#: .\models.py:204 +#: .\models.py:249 msgid "sent at" msgstr "envoyé le" -#: .\models.py:205 +#: .\models.py:250 msgid "read at" msgstr "lu le" -#: .\models.py:206 +#: .\models.py:251 msgid "replied at" msgstr "répondu le" -#: .\models.py:207 +#: .\models.py:252 msgid "archived by sender" msgstr "archivé par l'expéditeur" -#: .\models.py:208 +#: .\models.py:253 msgid "archived by recipient" msgstr "archivé par le destinataire" -#: .\models.py:209 +#: .\models.py:254 msgid "deleted by sender at" msgstr "supprimé par l'expéditeur le" -#: .\models.py:210 +#: .\models.py:255 msgid "deleted by recipient at" msgstr "supprimé par le destinataire le" -#: .\models.py:212 +#: .\models.py:257 msgid "status" msgstr "état" -#: .\models.py:214 +#: .\models.py:259 msgid "moderator" msgstr "modérateur" -#: .\models.py:215 +#: .\models.py:260 msgid "moderated at" msgstr "modéré le" -#: .\models.py:216 +#: .\models.py:261 msgid "rejection reason" msgstr "motif de rejet" -#: .\models.py:221 +#: .\models.py:266 msgid "message" msgstr "message" -#: .\models.py:222 +#: .\models.py:267 msgid "messages" msgstr "messages" -#: .\models.py:333 +#: .\models.py:378 msgid "Undefined sender." msgstr "Expéditeur indéfini." -#: .\models.py:473 +#: .\models.py:523 msgid "pending message" msgstr "message en attente" -#: .\models.py:474 +#: .\models.py:524 msgid "pending messages" msgstr "messages en attente" -#: .\utils.py:32 +#: .\utils.py:37 msgid "> " msgstr "> " -#: .\utils.py:48 +#: .\utils.py:53 msgid "" "\n" "\n" @@ -260,55 +260,55 @@ msgstr "" "{sender} a écrit :\n" "{body}\n" -#: .\utils.py:57 +#: .\utils.py:63 msgid "Re: {subject}" msgstr "Re: {subject}" -#: .\views.py:129 .\views.py:187 +#: .\views.py:144 .\views.py:206 msgid "Message successfully sent." msgstr "Message envoyé avec succès." -#: .\views.py:131 .\views.py:189 +#: .\views.py:146 .\views.py:208 msgid "Message rejected for at least one recipient." msgstr "Message rejeté pour au moins un destinataire." -#: .\views.py:276 +#: .\views.py:299 msgid "Select at least one object." msgstr "Sélectionner au moins un objet." -#: .\views.py:282 +#: .\views.py:306 msgid "Messages or conversations successfully archived." msgstr "Messages ou conversations archivés avec succès." -#: .\views.py:287 +#: .\views.py:312 msgid "Messages or conversations successfully deleted." msgstr "Messages ou conversations supprimés avec succès." -#: .\views.py:292 +#: .\views.py:318 msgid "Messages or conversations successfully recovered." msgstr "Messages ou conversations restaurés avec succès." -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Message Rejected" msgstr "Message Rejeté" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Your message has been rejected" msgstr "Votre message a été rejeté" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "Message Received" msgstr "Message Reçu" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "You have received a message" msgstr "Vous avez reçu un message" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "Reply Received" msgstr "Réponse Reçue" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "You have received a reply" msgstr "Vous avez reçu une réponse" @@ -338,81 +338,81 @@ msgstr "" "Les messages dans ce dossier ne seront jamais supprimés. Vous pouvez " "utiliser ce dossier pour un stockage à long terme." -#: .\templates\postman\base.html.py:3 +#: .\templates\postman\base.html.py:4 msgid "Messaging" msgstr "Messagerie" -#: .\templates\postman\base.html.py:6 +#: .\templates\postman\base.html.py:13 msgid "Inbox" msgstr "Boîte de réception" -#: .\templates\postman\base.html.py:7 .\templates\postman\sent.html.py:3 +#: .\templates\postman\base.html.py:14 .\templates\postman\sent.html.py:3 msgid "Sent Messages" msgstr "Messages envoyés" -#: .\templates\postman\base.html.py:8 .\templates\postman\write.html.py:3 +#: .\templates\postman\base.html.py:15 .\templates\postman\write.html.py:3 msgid "Write" msgstr "Écrire" -#: .\templates\postman\base.html.py:9 +#: .\templates\postman\base.html.py:16 msgid "Archives" msgstr "Archives" -#: .\templates\postman\base.html.py:10 +#: .\templates\postman\base.html.py:17 msgid "Trash" msgstr "Corbeille" -#: .\templates\postman\base_folder.html.py:9 +#: .\templates\postman\base_folder.html.py:16 msgid "Sorry, this page number is invalid." msgstr "Désolé, ce numéro de page est invalide." -#: .\templates\postman\base_folder.html.py:12 +#: .\templates\postman\base_folder.html.py:20 msgid "by conversation" msgstr "par conversation" -#: .\templates\postman\base_folder.html.py:13 +#: .\templates\postman\base_folder.html.py:21 msgid "by message" msgstr "par message" -#: .\templates\postman\base_folder.html.py:17 -#: .\templates\postman\view.html.py:22 +#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\view.html.py:23 msgid "Delete" msgstr "Supprimer" -#: .\templates\postman\base_folder.html.py:18 -#: .\templates\postman\view.html.py:23 +#: .\templates\postman\base_folder.html.py:26 +#: .\templates\postman\view.html.py:24 msgid "Archive" msgstr "Archiver" -#: .\templates\postman\base_folder.html.py:19 +#: .\templates\postman\base_folder.html.py:27 msgid "Undelete" msgstr "Restaurer" -#: .\templates\postman\base_folder.html.py:24 +#: .\templates\postman\base_folder.html.py:32 msgid "Action" msgstr "Action" -#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\base_folder.html.py:33 msgid "Sender" msgstr "Expéditeur" -#: .\templates\postman\base_folder.html.py:27 +#: .\templates\postman\base_folder.html.py:35 msgid "Subject" msgstr "Objet" -#: .\templates\postman\base_folder.html.py:28 +#: .\templates\postman\base_folder.html.py:36 msgid "Date" msgstr "Date" -#: .\templates\postman\base_folder.html.py:43 +#: .\templates\postman\base_folder.html.py:51 msgid "g:i A,M j,n/j/y" msgstr "G:i,j b,j/n/y" -#: .\templates\postman\base_folder.html.py:51 +#: .\templates\postman\base_folder.html.py:58 msgid "No messages." msgstr "Pas de message." -#: .\templates\postman\base_write.html.py:20 +#: .\templates\postman\base_write.html.py:33 msgid "Send" msgstr "Envoyer" @@ -508,8 +508,8 @@ msgstr "Messages reçus" msgid "Received" msgstr "Reçu" -#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:25 -#: .\templates\postman\view.html.py:28 .\templates\postman\view.html.py:31 +#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:26 +#: .\templates\postman\view.html.py:29 .\templates\postman\view.html.py:32 msgid "Reply" msgstr "Répondre" @@ -529,18 +529,18 @@ msgstr "" "Les messages dans ce dossier peuvent être retirés de temps en temps. Pour un " "stockage à long terme, utilisez plutôt le dossier d'archivage." -#: .\templates\postman\view.html.py:5 +#: .\templates\postman\view.html.py:6 msgid "Conversation" msgstr "Conversation" -#: .\templates\postman\view.html.py:13 +#: .\templates\postman\view.html.py:14 msgid ":" msgstr " :" -#: .\templates\postman\view.html.py:20 +#: .\templates\postman\view.html.py:21 msgid "Back" msgstr "Retour" -#: .\templatetags\postman_tags.py:35 +#: .\templatetags\postman_tags.py:48 msgid "" msgstr "" diff --git a/postman/locale/it/LC_MESSAGES/django.mo b/postman/locale/it/LC_MESSAGES/django.mo index 0d65a14a7c41d7510a09755ac44ca4e583222df3..6a89b8244aef5af7f7535c968ed6cc13b9565037 100644 GIT binary patch delta 1031 zcmXZbPe{{Y9LMqRvfMI9YW~@#*=A9OjkZ|?mSYfxMFqBtmkvh53Y_9fiebOHMF|RX zP}nVsppZ(aLx&(3c?=I8s!JU_>cOH85xqb9jQ#d{{{6ns^L(FYGpGLcy_%}>YRv3< zqgfMr_}ph!#&+uIX0s4p#4R|1Tk)2w-^T6K?>Zk~HT5zo-eV+`y+O_M33uTV`f;V% zJnN^hN<#pTwU`AlgPQ2PGmEv<2eA%wsEH@A0q@{8Ea7E*gjet%p2T5xu@hgQ-g}R6 ztc1MH0P8epWz}J`!x+Imcm^NhH5|pNh*=T~n82s5zKjYSXf>Yb%^;_1^Qa9} zFp5i?{hqB;(50!T^$3PAjptASr?4BJx%wB>+5N;0?1-7Aun)Fb>iOR@Z zRE8Ikwc9dAxPSJ`b<`0}FSMg}*onHeNz^Sqfx06Du0My`QQox|QAab4x|DOMIP<7D z?@%fKh|18S+7eQi2P>|L8)1G64-(Ju6`8~hy@ArJ4@2>+l`(|#e z@Yb2xc*rb*m+^_utc070GYw{qcoM6yfGhEmi?8Au;_J>kxSF_xVSJ3FvR7D*A8>o#K*A~^QadWupY1BDtv$^@DZNE0AIfkM^PJn zj(YAL#<1MzRT3;Sp)ad#GTVh)a5EmpdpM4H3{s{9PGSc>bMYc7aecE{9k$>I#_=GQ zuou6g*6nOD>&CR_2BWB*KgAw=iK@s?RKlu_l?sG#EpZf;DCX?Me-%Wn&te9T;2xYt zeZUvg(Qf5W74!Bp(1TgjndDF<9>jJ$gK3;X?YxXy@1s1bR5kWs7g8jfK;^lGyvyz* zr)zVlBP?SpE>!M&w#-0H)68rN+prh=Q3>zjZk%!PC)C;f#x`t^nkDfNQeC@<9KSt8 zRpO8y>Ip?S?K@ka*g&d*36+4o|TKj#}M4*SP^R$TILR~anFwT\n" "Language-Team: LANGUAGE \n" @@ -17,67 +17,68 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: .\admin.py:22 +#: .\admin.py:25 msgid "Sender and Recipient cannot be both undefined." msgstr "" -#: .\admin.py:29 +#: .\admin.py:32 msgid "Visitor's email is in excess." msgstr "La mail del visitatore è piena." -#: .\admin.py:34 +#: .\admin.py:37 msgid "Visitor's email is missing." msgstr "Manca la mail del visitatore." -#: .\admin.py:40 +#: .\admin.py:43 msgid "Reading date must be later to sending date." msgstr "La data di lettura deve essere successiva alla data di invio." -#: .\admin.py:45 +#: .\admin.py:48 msgid "Deletion date by sender must be later to sending date." msgstr "" -#: .\admin.py:50 +#: .\admin.py:53 msgid "Deletion date by recipient must be later to sending date." msgstr "" -#: .\admin.py:58 +#: .\admin.py:61 msgid "Response date must be later to sending date." msgstr "La data di risposta deve essere successiva alla data di invio." -#: .\admin.py:60 +#: .\admin.py:63 msgid "The message cannot be replied without having been read." msgstr "È impossibile rispondere al messaggio se non è stato letto." -#: .\admin.py:62 +#: .\admin.py:65 msgid "Response date must be later to reading date." msgstr "La data di risposta deve essere successiva alla data di lettura." -#: .\admin.py:64 +#: .\admin.py:67 msgid "Response date cannot be set without at least one reply." -msgstr "La data di risposta non può essere impostata senza almeno una risposta." +msgstr "" +"La data di risposta non può essere impostata senza almeno una risposta." -#: .\admin.py:66 +#: .\admin.py:69 msgid "The message cannot be replied without being in a conversation." msgstr "" -#: .\admin.py:88 .\admin.py:157 .\templates\postman\view.html.py:5 +#: .\admin.py:92 .\admin.py:170 .\templates\postman\view.html.py:6 msgid "Message" msgstr "Messaggio" -#: .\admin.py:93 +#: .\admin.py:97 msgid "Dates" msgstr "Date" -#: .\admin.py:98 .\admin.py:161 +#: .\admin.py:102 .\admin.py:174 msgid "Moderation" msgstr "" -#: .\fields.py:22 +#: .\fields.py:27 msgid "Some usernames are unknown or no more active: {users}." msgstr "Alcuni utenti sono sconosciuti o non attivi: {users}." -#: .\fields.py:23 +#: .\fields.py:28 msgid "" "Ensure this value has at most {limit_value} distinct items (it has " "{show_value})." @@ -85,7 +86,7 @@ msgstr "" "Assicurarsi che questo valore abbia al massimo {limit_value} elementi " "distinti (ora ne ha {show_value})." -#: .\fields.py:24 +#: .\fields.py:29 msgid "" "Ensure this value has at least {limit_value} distinct items (it has " "{show_value})." @@ -93,156 +94,156 @@ msgstr "" "Assicurarsi che questo valore abbia almeno {limit_value} elementi distinti " "(ora ne ha {show_value})." -#: .\fields.py:25 +#: .\fields.py:30 msgid "Some usernames are rejected: {users}." msgstr "Alcuni utenti sono stati rifiutati: {users}." -#: .\fields.py:26 .\forms.py:65 -msgid "{user.username}" -msgstr "{user.username}" +#: .\fields.py:31 .\forms.py:71 +msgid "{username}" +msgstr "{username}" -#: .\fields.py:27 .\forms.py:66 -msgid "{user.username} ({reason})" -msgstr "{user.username} ({reason})" +#: .\fields.py:32 .\forms.py:72 +msgid "{username} ({reason})" +msgstr "{username} ({reason})" -#: .\forms.py:64 +#: .\forms.py:70 msgid "Writing to some users is not possible: {users}." msgstr "Non è possibile scrivere ad alcuni utenti: {users}." -#: .\forms.py:148 .\forms.py:160 +#: .\forms.py:155 .\forms.py:168 msgid "Recipients" msgstr "Destinatari" -#: .\forms.py:148 .\forms.py:160 .\templates\postman\base_folder.html.py:26 +#: .\forms.py:155 .\forms.py:168 .\templates\postman\base_folder.html.py:34 #: .\templates\postman\reply.html.py:4 msgid "Recipient" msgstr "Destinatario" -#: .\forms.py:159 +#: .\forms.py:167 msgid "Email" msgstr "Posta" -#: .\forms.py:175 +#: .\forms.py:184 msgid "Undefined recipient." msgstr "Destinatario non specificato." -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipients" msgstr "Destinatari aggiunti" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipient" msgstr "Destinatario aggiunto" -#: .\models.py:19 +#: .\models.py:27 msgid "Pending" msgstr "In attesa" -#: .\models.py:20 +#: .\models.py:28 msgid "Accepted" msgstr "Accettato" -#: .\models.py:21 .\templates\postman\view.html.py:13 +#: .\models.py:29 .\templates\postman\view.html.py:14 msgid "Rejected" msgstr "Rifiutato" -#: .\models.py:197 +#: .\models.py:242 msgid "subject" msgstr "oggetto" -#: .\models.py:198 +#: .\models.py:243 msgid "body" msgstr "contenuto" -#: .\models.py:199 .\models.py:281 +#: .\models.py:244 .\models.py:326 msgid "sender" msgstr "mittente" -#: .\models.py:200 .\models.py:305 +#: .\models.py:245 .\models.py:350 msgid "recipient" msgstr "destinatario" -#: .\models.py:201 +#: .\models.py:246 msgid "visitor" msgstr "visitatore" -#: .\models.py:202 +#: .\models.py:247 msgid "parent message" msgstr "" -#: .\models.py:203 +#: .\models.py:248 msgid "root message" msgstr "messaggio iniziale" -#: .\models.py:204 +#: .\models.py:249 msgid "sent at" msgstr "inviato il" -#: .\models.py:205 +#: .\models.py:250 msgid "read at" msgstr "letto il" -#: .\models.py:206 +#: .\models.py:251 msgid "replied at" msgstr "risposto il" -#: .\models.py:207 +#: .\models.py:252 msgid "archived by sender" msgstr "archiviato dal mittente" -#: .\models.py:208 +#: .\models.py:253 msgid "archived by recipient" msgstr "archiviato dal destinatario" -#: .\models.py:209 +#: .\models.py:254 msgid "deleted by sender at" msgstr "cancellati dal mittente il" -#: .\models.py:210 +#: .\models.py:255 msgid "deleted by recipient at" msgstr "cancellati dal destinatario il" -#: .\models.py:212 +#: .\models.py:257 msgid "status" msgstr "stato" -#: .\models.py:214 +#: .\models.py:259 msgid "moderator" msgstr "moderatore" -#: .\models.py:215 +#: .\models.py:260 msgid "moderated at" msgstr "" -#: .\models.py:216 +#: .\models.py:261 msgid "rejection reason" msgstr "ragione del rifiuto" -#: .\models.py:221 +#: .\models.py:266 msgid "message" msgstr "messaggio" -#: .\models.py:222 +#: .\models.py:267 msgid "messages" msgstr "messaggi" -#: .\models.py:333 +#: .\models.py:378 msgid "Undefined sender." msgstr "Mittente non definito." -#: .\models.py:473 +#: .\models.py:523 msgid "pending message" msgstr "messaggio in sospeso" -#: .\models.py:474 +#: .\models.py:524 msgid "pending messages" msgstr "messaggi in sospeso" -#: .\utils.py:32 +#: .\utils.py:37 msgid "> " msgstr "> " -#: .\utils.py:48 +#: .\utils.py:53 msgid "" "\n" "\n" @@ -254,55 +255,55 @@ msgstr "" "{sender} ha scritto:\n" "{body}\n" -#: .\utils.py:57 +#: .\utils.py:63 msgid "Re: {subject}" msgstr "Re: {subject}" -#: .\views.py:129 .\views.py:187 +#: .\views.py:144 .\views.py:206 msgid "Message successfully sent." msgstr "Messaggio inviato con successo." -#: .\views.py:131 .\views.py:189 +#: .\views.py:146 .\views.py:208 msgid "Message rejected for at least one recipient." msgstr "Messaggio rifiutato per almeno un destinatario." -#: .\views.py:276 +#: .\views.py:299 msgid "Select at least one object." msgstr "Selezionare almeno un oggetto." -#: .\views.py:282 +#: .\views.py:306 msgid "Messages or conversations successfully archived." msgstr "Messaggi o conversazioni archiviati con successo." -#: .\views.py:287 +#: .\views.py:312 msgid "Messages or conversations successfully deleted." msgstr "Messaggi o conversazioni eliminati con successo." -#: .\views.py:292 +#: .\views.py:318 msgid "Messages or conversations successfully recovered." msgstr "Messaggi o conversazioni recuperati con successo." -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Message Rejected" msgstr "Messaggio rifiutato" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Your message has been rejected" msgstr "Il tuo messaggio è stato respinto" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "Message Received" msgstr "Messaggio ricevuto" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "You have received a message" msgstr "Hai ricevuto un messaggio" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "Reply Received" msgstr "Risposta ricevuta" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "You have received a reply" msgstr "Hai ricevuto una risposta" @@ -332,81 +333,81 @@ msgstr "" "I messaggi in questa cartella non saranno mai rimossi. È possibile " "utilizzare questa cartella per archiviarli." -#: .\templates\postman\base.html.py:3 +#: .\templates\postman\base.html.py:4 msgid "Messaging" msgstr "Scrivendo" -#: .\templates\postman\base.html.py:6 +#: .\templates\postman\base.html.py:13 msgid "Inbox" msgstr "Posta in arrivo" -#: .\templates\postman\base.html.py:7 .\templates\postman\sent.html.py:3 +#: .\templates\postman\base.html.py:14 .\templates\postman\sent.html.py:3 msgid "Sent Messages" msgstr "Messaggi inviati" -#: .\templates\postman\base.html.py:8 .\templates\postman\write.html.py:3 +#: .\templates\postman\base.html.py:15 .\templates\postman\write.html.py:3 msgid "Write" msgstr "Scrivi" -#: .\templates\postman\base.html.py:9 +#: .\templates\postman\base.html.py:16 msgid "Archives" msgstr "Archivi" -#: .\templates\postman\base.html.py:10 +#: .\templates\postman\base.html.py:17 msgid "Trash" msgstr "Cestino" -#: .\templates\postman\base_folder.html.py:9 +#: .\templates\postman\base_folder.html.py:16 msgid "Sorry, this page number is invalid." msgstr "Spiacenti, questo numero di pagina non è valido." -#: .\templates\postman\base_folder.html.py:12 +#: .\templates\postman\base_folder.html.py:20 msgid "by conversation" msgstr "per conversazione" -#: .\templates\postman\base_folder.html.py:13 +#: .\templates\postman\base_folder.html.py:21 msgid "by message" msgstr "per messaggio" -#: .\templates\postman\base_folder.html.py:17 -#: .\templates\postman\view.html.py:22 +#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\view.html.py:23 msgid "Delete" msgstr "Eliminare" -#: .\templates\postman\base_folder.html.py:18 -#: .\templates\postman\view.html.py:23 +#: .\templates\postman\base_folder.html.py:26 +#: .\templates\postman\view.html.py:24 msgid "Archive" msgstr "Archiviare" -#: .\templates\postman\base_folder.html.py:19 +#: .\templates\postman\base_folder.html.py:27 msgid "Undelete" msgstr "Ripristinare" -#: .\templates\postman\base_folder.html.py:24 +#: .\templates\postman\base_folder.html.py:32 msgid "Action" msgstr "Azione" -#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\base_folder.html.py:33 msgid "Sender" msgstr "Mittente" -#: .\templates\postman\base_folder.html.py:27 +#: .\templates\postman\base_folder.html.py:35 msgid "Subject" msgstr "Soggetto" -#: .\templates\postman\base_folder.html.py:28 +#: .\templates\postman\base_folder.html.py:36 msgid "Date" msgstr "Data" -#: .\templates\postman\base_folder.html.py:43 +#: .\templates\postman\base_folder.html.py:51 msgid "g:i A,M j,n/j/y" msgstr "G:i,j b,j/n/y" -#: .\templates\postman\base_folder.html.py:51 +#: .\templates\postman\base_folder.html.py:58 msgid "No messages." msgstr "Nessun messaggio." -#: .\templates\postman\base_write.html.py:20 +#: .\templates\postman\base_write.html.py:33 msgid "Send" msgstr "Invia" @@ -418,7 +419,8 @@ msgstr "Caro utente," #: .\templates\postman\email_visitor.txt.py:3 #, python-format msgid "On %(date)s, you asked to send a message to the user '%(recipient)s'." -msgstr "Il %(date)s, hai chiesto di inviare un messaggio all'utente '%(recipient)s'." +msgstr "" +"Il %(date)s, hai chiesto di inviare un messaggio all'utente '%(recipient)s'." #: .\templates\postman\email_user.txt.py:5 #: .\templates\postman\email_visitor.txt.py:5 @@ -481,7 +483,8 @@ msgstr "Caro visitatore," #: .\templates\postman\email_visitor.txt.py:8 msgid "As a reminder, please find below the content of your message." -msgstr "Come promemoria, puoi trovare qui di seguito il contenuto del messaggio." +msgstr "" +"Come promemoria, puoi trovare qui di seguito il contenuto del messaggio." #: .\templates\postman\email_visitor.txt.py:11 msgid "Please find below the answer from your correspondent." @@ -499,8 +502,8 @@ msgstr "Messaggi ricevuti" msgid "Received" msgstr "Ricevuto" -#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:25 -#: .\templates\postman\view.html.py:28 .\templates\postman\view.html.py:31 +#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:26 +#: .\templates\postman\view.html.py:29 .\templates\postman\view.html.py:32 msgid "Reply" msgstr "Rispondi" @@ -517,22 +520,21 @@ msgid "" "Messages in this folder can be removed from time to time. For long term " "storage, use instead the archive folder." msgstr "" -"I messaggi in questa cartella possono essere rimossi di volta in volta. " -"Per la conservazione a lungo termine, utilizzare invece la cartella di " -"archivio." +"I messaggi in questa cartella possono essere rimossi di volta in volta. Per " +"la conservazione a lungo termine, utilizzare invece la cartella di archivio." -#: .\templates\postman\view.html.py:5 +#: .\templates\postman\view.html.py:6 msgid "Conversation" msgstr "Conversazione" -#: .\templates\postman\view.html.py:13 +#: .\templates\postman\view.html.py:14 msgid ":" msgstr " :" -#: .\templates\postman\view.html.py:20 +#: .\templates\postman\view.html.py:21 msgid "Back" msgstr "Indietro" -#: .\templatetags\postman_tags.py:35 +#: .\templatetags\postman_tags.py:48 msgid "" msgstr "" diff --git a/postman/locale/nl/LC_MESSAGES/django.mo b/postman/locale/nl/LC_MESSAGES/django.mo index 73097ce242ec773ff33619898a382f36e0a39d4b..cb43240eb15eed35e876cd977860be4eba31bc14 100644 GIT binary patch delta 623 zcmXZZJxfAi6u|Lw)6`6}tcLKWLJ&D$7fM5K8M3twCLy?SFi^UQ4gvjA$1!40@tV; zG?2683H5+iyZ(WMeADQ97n|w4AnLjZ@>eB>x-O0S#f@zF#}U$>E7{tRGhk@3{fyA+ z74?~}Wji+28_$719ZwO-XgV{M%G4IS9-XE=yuOxSZFi$%rPX|HZDn~g FCVxA1NXGyG delta 638 zcmZY6JxD@P6u|N0SE*TQ;ZWKKM4>~b79^1^tlIKB1BMAfo?%L zG&MvZITS%#1hq9(IP^dIXz6jizk817zH{Gu&A@BmqHQX;MdaKrGJ@AwHHkc;pE&0f zG2)g=*2AzU=E{rgtK^yGx&qrAm|cVz&L8Wi+a!^4&i~T&`nfGXv0%vNR4R_8>kza z$UWs5weAh|2A?>N_Wo{N5cLUTsC6rbYsUZUs0ZJ~Q7jf%=o43P08daG)sZ0$CVc~U zs0V2wJ>>RiSGBH)&)@ag^;f*bEt1(3H6hkR!iR&zb(O1YQt8y$+xUa zu1S7+#LiVq*!C^n@Lo2RNhh~cdCBQAT)MQEOL>RGI=>i;);1gu*6DvWe|si^xlAgV J-AU&|@(cA#Pk#Ua diff --git a/postman/locale/nl/LC_MESSAGES/django.po b/postman/locale/nl/LC_MESSAGES/django.po index 3b73383..8aecf46 100644 --- a/postman/locale/nl/LC_MESSAGES/django.po +++ b/postman/locale/nl/LC_MESSAGES/django.po @@ -2,12 +2,12 @@ # Copyright (C) 2010 Patrick Samson # This file is distributed under the same license as the django-postman package. # FIRST AUTHOR , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-postman 1.0.x\n" "Report-Msgid-Bugs-To: http://bitbucket.org/psam/django-postman/issues\n" -"POT-Creation-Date: 2010-12-27 14:21+0100\n" +"POT-Creation-Date: 2012-12-10 23:13+0100\n" "PO-Revision-Date: 2010-12-27 15:10+0000\n" "Last-Translator: psam \n" "Language-Team: LANGUAGE \n" @@ -17,224 +17,228 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: .\admin.py:22 +#: .\admin.py:25 msgid "Sender and Recipient cannot be both undefined." msgstr "" -#: .\admin.py:29 +#: .\admin.py:32 msgid "Visitor's email is in excess." msgstr "" -#: .\admin.py:34 +#: .\admin.py:37 msgid "Visitor's email is missing." msgstr "" -#: .\admin.py:40 +#: .\admin.py:43 msgid "Reading date must be later to sending date." msgstr "" -#: .\admin.py:45 +#: .\admin.py:48 msgid "Deletion date by sender must be later to sending date." msgstr "" -#: .\admin.py:50 +#: .\admin.py:53 msgid "Deletion date by recipient must be later to sending date." msgstr "" -#: .\admin.py:58 +#: .\admin.py:61 msgid "Response date must be later to sending date." msgstr "" -#: .\admin.py:60 +#: .\admin.py:63 msgid "The message cannot be replied without having been read." msgstr "" -#: .\admin.py:62 +#: .\admin.py:65 msgid "Response date must be later to reading date." msgstr "" -#: .\admin.py:64 +#: .\admin.py:67 msgid "Response date cannot be set without at least one reply." msgstr "" -#: .\admin.py:66 +#: .\admin.py:69 msgid "The message cannot be replied without being in a conversation." msgstr "" -#: .\admin.py:88 .\admin.py:157 .\templates\postman\view.html.py:5 +#: .\admin.py:92 .\admin.py:170 .\templates\postman\view.html.py:6 msgid "Message" msgstr "Bericht" -#: .\admin.py:93 +#: .\admin.py:97 msgid "Dates" msgstr "Data" -#: .\admin.py:98 .\admin.py:161 +#: .\admin.py:102 .\admin.py:174 msgid "Moderation" msgstr "" -#: .\fields.py:22 +#: .\fields.py:27 msgid "Some usernames are unknown or no more active: {users}." msgstr "" -#: .\fields.py:23 -msgid "Ensure this value has at most {limit_value} distinct items (it has {show_value})." +#: .\fields.py:28 +msgid "" +"Ensure this value has at most {limit_value} distinct items (it has " +"{show_value})." msgstr "" -#: .\fields.py:24 -msgid "Ensure this value has at least {limit_value} distinct items (it has {show_value})." +#: .\fields.py:29 +msgid "" +"Ensure this value has at least {limit_value} distinct items (it has " +"{show_value})." msgstr "" -#: .\fields.py:25 +#: .\fields.py:30 msgid "Some usernames are rejected: {users}." msgstr "" -#: .\fields.py:26 .\forms.py:65 -msgid "{user.username}" -msgstr "{user.username}" +#: .\fields.py:31 .\forms.py:71 +msgid "{username}" +msgstr "{username}" -#: .\fields.py:27 .\forms.py:66 -msgid "{user.username} ({reason})" -msgstr "{user.username} ({reason})" +#: .\fields.py:32 .\forms.py:72 +msgid "{username} ({reason})" +msgstr "{username} ({reason})" -#: .\forms.py:64 +#: .\forms.py:70 msgid "Writing to some users is not possible: {users}." msgstr "" -#: .\forms.py:148 .\forms.py:160 +#: .\forms.py:155 .\forms.py:168 msgid "Recipients" msgstr "Ontvangers" -#: .\forms.py:148 .\forms.py:160 .\templates\postman\base_folder.html.py:26 +#: .\forms.py:155 .\forms.py:168 .\templates\postman\base_folder.html.py:34 #: .\templates\postman\reply.html.py:4 msgid "Recipient" msgstr "Ontvanger" -#: .\forms.py:159 +#: .\forms.py:167 msgid "Email" msgstr "E-mail" -#: .\forms.py:175 +#: .\forms.py:184 msgid "Undefined recipient." msgstr "" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipients" msgstr "" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipient" msgstr "" -#: .\models.py:19 +#: .\models.py:27 msgid "Pending" msgstr "" -#: .\models.py:20 +#: .\models.py:28 msgid "Accepted" msgstr "" -#: .\models.py:21 .\templates\postman\view.html.py:13 +#: .\models.py:29 .\templates\postman\view.html.py:14 msgid "Rejected" msgstr "" -#: .\models.py:197 +#: .\models.py:242 msgid "subject" msgstr "onderwerp" -#: .\models.py:198 +#: .\models.py:243 msgid "body" msgstr "inhoud" -#: .\models.py:199 .\models.py:281 +#: .\models.py:244 .\models.py:326 msgid "sender" msgstr "verstuurder" -#: .\models.py:200 .\models.py:305 +#: .\models.py:245 .\models.py:350 msgid "recipient" msgstr "ontvanger" -#: .\models.py:201 +#: .\models.py:246 msgid "visitor" msgstr "bezoeker" -#: .\models.py:202 +#: .\models.py:247 msgid "parent message" msgstr "hoofdbericht" -#: .\models.py:203 +#: .\models.py:248 msgid "root message" msgstr "" -#: .\models.py:204 +#: .\models.py:249 msgid "sent at" msgstr "verstuurd op" -#: .\models.py:205 +#: .\models.py:250 msgid "read at" msgstr "gelezen op" -#: .\models.py:206 +#: .\models.py:251 msgid "replied at" msgstr "beantwoord op" -#: .\models.py:207 +#: .\models.py:252 msgid "archived by sender" msgstr "" -#: .\models.py:208 +#: .\models.py:253 msgid "archived by recipient" msgstr "" -#: .\models.py:209 +#: .\models.py:254 msgid "deleted by sender at" msgstr "" -#: .\models.py:210 +#: .\models.py:255 msgid "deleted by recipient at" msgstr "" -#: .\models.py:212 +#: .\models.py:257 msgid "status" msgstr "" -#: .\models.py:214 +#: .\models.py:259 msgid "moderator" msgstr "" -#: .\models.py:215 +#: .\models.py:260 msgid "moderated at" msgstr "" -#: .\models.py:216 +#: .\models.py:261 msgid "rejection reason" msgstr "" -#: .\models.py:221 +#: .\models.py:266 msgid "message" msgstr "bericht" -#: .\models.py:222 +#: .\models.py:267 msgid "messages" msgstr "berichten" -#: .\models.py:333 +#: .\models.py:378 msgid "Undefined sender." msgstr "" -#: .\models.py:473 +#: .\models.py:523 msgid "pending message" msgstr "" -#: .\models.py:474 +#: .\models.py:524 msgid "pending messages" msgstr "" -#: .\utils.py:32 +#: .\utils.py:37 msgid "> " msgstr "> " -#: .\utils.py:48 +#: .\utils.py:53 msgid "" "\n" "\n" @@ -246,55 +250,55 @@ msgstr "" "{sender} schreef:\n" "{body}\n" -#: .\utils.py:57 +#: .\utils.py:63 msgid "Re: {subject}" msgstr "Antw: {subject}" -#: .\views.py:129 .\views.py:187 +#: .\views.py:144 .\views.py:206 msgid "Message successfully sent." msgstr "Bericht succesvol verstuurd." -#: .\views.py:131 .\views.py:189 +#: .\views.py:146 .\views.py:208 msgid "Message rejected for at least one recipient." msgstr "" -#: .\views.py:276 +#: .\views.py:299 msgid "Select at least one object." msgstr "" -#: .\views.py:282 +#: .\views.py:306 msgid "Messages or conversations successfully archived." msgstr "Berichten of conversaties succesvol gearchiveerd." -#: .\views.py:287 +#: .\views.py:312 msgid "Messages or conversations successfully deleted." msgstr "Berichten of conversaties succesvol verwijderd." -#: .\views.py:292 +#: .\views.py:318 msgid "Messages or conversations successfully recovered." msgstr "Berichten of conversaties succesvol hersteld." -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Message Rejected" msgstr "" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Your message has been rejected" msgstr "" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "Message Received" msgstr "Bericht ontvangen" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "You have received a message" msgstr "U hebt een bericht ontvangen" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "Reply Received" msgstr "Antwoord ontvangen" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "You have received a reply" msgstr "U hebt een antwoord ontvangen" @@ -317,84 +321,86 @@ msgid "Archived Messages" msgstr "" #: .\templates\postman\archives.html.py:7 -msgid "Messages in this folder will never be removed. You can use this folder for long term storage." +msgid "" +"Messages in this folder will never be removed. You can use this folder for " +"long term storage." msgstr "" -#: .\templates\postman\base.html.py:3 +#: .\templates\postman\base.html.py:4 msgid "Messaging" msgstr "" -#: .\templates\postman\base.html.py:6 +#: .\templates\postman\base.html.py:13 msgid "Inbox" msgstr "Postvak In" -#: .\templates\postman\base.html.py:7 .\templates\postman\sent.html.py:3 +#: .\templates\postman\base.html.py:14 .\templates\postman\sent.html.py:3 msgid "Sent Messages" msgstr "Verzonden berichten" -#: .\templates\postman\base.html.py:8 .\templates\postman\write.html.py:3 +#: .\templates\postman\base.html.py:15 .\templates\postman\write.html.py:3 msgid "Write" msgstr "Schrijven" -#: .\templates\postman\base.html.py:9 +#: .\templates\postman\base.html.py:16 msgid "Archives" msgstr "Archieven" -#: .\templates\postman\base.html.py:10 +#: .\templates\postman\base.html.py:17 msgid "Trash" msgstr "Prullenbak" -#: .\templates\postman\base_folder.html.py:9 +#: .\templates\postman\base_folder.html.py:16 msgid "Sorry, this page number is invalid." msgstr "Sorry, deze pagina is ongeldig." -#: .\templates\postman\base_folder.html.py:12 +#: .\templates\postman\base_folder.html.py:20 msgid "by conversation" msgstr "op conversatie" -#: .\templates\postman\base_folder.html.py:13 +#: .\templates\postman\base_folder.html.py:21 msgid "by message" msgstr "per bericht" -#: .\templates\postman\base_folder.html.py:17 -#: .\templates\postman\view.html.py:22 +#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\view.html.py:23 msgid "Delete" msgstr "Verwijderen" -#: .\templates\postman\base_folder.html.py:18 -#: .\templates\postman\view.html.py:23 +#: .\templates\postman\base_folder.html.py:26 +#: .\templates\postman\view.html.py:24 msgid "Archive" msgstr "Archiveren" -#: .\templates\postman\base_folder.html.py:19 +#: .\templates\postman\base_folder.html.py:27 msgid "Undelete" msgstr "Herstellen" -#: .\templates\postman\base_folder.html.py:24 +#: .\templates\postman\base_folder.html.py:32 msgid "Action" msgstr "Actie" -#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\base_folder.html.py:33 msgid "Sender" msgstr "Verstuurder" -#: .\templates\postman\base_folder.html.py:27 +#: .\templates\postman\base_folder.html.py:35 msgid "Subject" msgstr "Onderwerp" -#: .\templates\postman\base_folder.html.py:28 +#: .\templates\postman\base_folder.html.py:36 msgid "Date" msgstr "Datum" -#: .\templates\postman\base_folder.html.py:43 +#: .\templates\postman\base_folder.html.py:51 msgid "g:i A,M j,n/j/y" msgstr "G:i,j b,j/n/y" -#: .\templates\postman\base_folder.html.py:51 +#: .\templates\postman\base_folder.html.py:58 msgid "No messages." msgstr "Geen berichten." -#: .\templates\postman\base_write.html.py:20 +#: .\templates\postman\base_write.html.py:33 msgid "Send" msgstr "Verzenden" @@ -485,8 +491,8 @@ msgstr "Ontvangen berichten" msgid "Received" msgstr "Ontvangen" -#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:25 -#: .\templates\postman\view.html.py:28 .\templates\postman\view.html.py:31 +#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:26 +#: .\templates\postman\view.html.py:29 .\templates\postman\view.html.py:32 msgid "Reply" msgstr "Beantwoorden" @@ -499,21 +505,23 @@ msgid "Deleted Messages" msgstr "Verwijderde berichten" #: .\templates\postman\trash.html.py:10 -msgid "Messages in this folder can be removed from time to time. For long term storage, use instead the archive folder." +msgid "" +"Messages in this folder can be removed from time to time. For long term " +"storage, use instead the archive folder." msgstr "" -#: .\templates\postman\view.html.py:5 +#: .\templates\postman\view.html.py:6 msgid "Conversation" msgstr "Conversatie" -#: .\templates\postman\view.html.py:13 +#: .\templates\postman\view.html.py:14 msgid ":" msgstr " :" -#: .\templates\postman\view.html.py:20 +#: .\templates\postman\view.html.py:21 msgid "Back" msgstr "Terug" -#: .\templatetags\postman_tags.py:35 +#: .\templatetags\postman_tags.py:48 msgid "" msgstr "" diff --git a/postman/locale/pl/LC_MESSAGES/django.mo b/postman/locale/pl/LC_MESSAGES/django.mo index dbcc0f960e547b8d2deed3dc26a241dc8b5252ae..8e6ec14e5c171f65f51606d9a906c8eda3df5776 100644 GIT binary patch delta 1010 zcmXZbPe{{Y9LMqR%Jys7(waI~TB{6=P~5VJSy62enDmEk(PiKyDIIP_izUBH5M8>g zQ^$x7fzk31K|v5iS)S^U$0VYl5gihXir%03jKS;qKF@y7_xJri&uW?Z%)^T-{WWIx zC}P%%&+tpY>>YLxKV@*xJm(5W-a$#SPf$>__EE<3>D=9*(t{ zZ$So=Of+H%mEfB52J$X;6W8G#RDvp!+aBXFoWmiEMXkQy2p%LpkNVwx)c((1{MNY; z_00~mu;eCE?PgbqPdaCDFL5SjmcTL&;53GC0oUUNEx=f9(lu3-zufFV>t+fj*9$X1p{ zbtH@A^X(ji{Y>0Nx@{j(E&q)=yF}cq8;@ca=5Y_+LUP(HYU8h{O1-ViaT9927j-#@ zQFq{sa}-15w*mvb=~dLNtvK(Y&h`naf;TRHk4?m%QO_-+5{K!x&bAd*VHc`%yIh<= z{R{S?3QJ?4QVX64Sml6M42)N*UU%#QE4o4Yj4o3@c$@j*y=?R*vg5faD_34cZikb- l3BLXD84XFBNlz`Y_&8F66Ss{KV8w`w#xEbMXKG delta 1030 zcmZY8&r8#B9LMqZrfvRU=9+D}GN(nWU~3zhwN;etRGHWzBIqDEFXf6YA(`?ep^ic9 z5<&e15tf005LDnH=#*t0>e3}hqX?2t^?dpL(xn~t_`JXSd_M2*`~CUsLvgh@d$qyY zXl9QiW^sIhUwmdCaU1dCX0xsM8U6SN8_^$i;~+K>w_pe(xB+``6DB?L*g`yr%5x5b zSdE%v0R}Z5wBigZ!7a}^@-B7<+wcJ@!2*GM>O4Ftvxj@fa3@NaP^7IBjJyyp@gAU@q`mc<*mALp?dS1^pf@ESHz-Y{Or0epihFiIOo zu?tnm3>NUV!$2FoMvAayR7<~kuAwT{d1zk1vmHB#<9G`9p(>uj0xn=LuAy2T?{e+M z9PwUM9_IoBZ8U~jSVOgR9@E&c-F<-^=7|qt5vzC%pQ6_PMjc&Sw;9c_2&$kIDp3*H z(gsl-xrpR*tis?h4;~`jwy&s`HzwR8DPWR#7gDqE9{UStR(BKt diff --git a/postman/locale/pl/LC_MESSAGES/django.po b/postman/locale/pl/LC_MESSAGES/django.po index dbc4687..00330c7 100644 --- a/postman/locale/pl/LC_MESSAGES/django.po +++ b/postman/locale/pl/LC_MESSAGES/django.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: django-postman 1.0.x\n" "Report-Msgid-Bugs-To: http://bitbucket.org/psam/django-postman/issues\n" -"POT-Creation-Date: 2011-02-07 09:21+0100\n" +"POT-Creation-Date: 2012-12-10 23:14+0100\n" "PO-Revision-Date: 2012-07-27 09:58+0000\n" "Last-Translator: Marek Polanski \n" "Language-Team: LANGUAGE \n" @@ -22,228 +22,229 @@ msgstr "" "Language: pl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: .\admin.py:22 +#: .\admin.py:25 msgid "Sender and Recipient cannot be both undefined." msgstr "Nadawca i Odbiorca nie mogą być niezdefiniowani." -#: .\admin.py:29 +#: .\admin.py:32 msgid "Visitor's email is in excess." msgstr "" -#: .\admin.py:34 +#: .\admin.py:37 msgid "Visitor's email is missing." msgstr "Brakuje adresu email gościa." -#: .\admin.py:40 +#: .\admin.py:43 msgid "Reading date must be later to sending date." msgstr "Data odczytania musi być późniejsza niż data wysłania." -#: .\admin.py:45 +#: .\admin.py:48 msgid "Deletion date by sender must be later to sending date." msgstr "Data usunięcia przez nadawcę musi być późniejsza niż data wysłania." -#: .\admin.py:50 +#: .\admin.py:53 msgid "Deletion date by recipient must be later to sending date." msgstr "Data usunięcia przez odbiorcę musi być późniejsza niż data wysłania." -#: .\admin.py:58 +#: .\admin.py:61 msgid "Response date must be later to sending date." msgstr "Data odpowiedzi musi być późniejsza niż data wysłania." -#: .\admin.py:60 +#: .\admin.py:63 msgid "The message cannot be replied without having been read." msgstr "Nie można odpowiedzieć na wiadomość przed jej przeczytaniem." -#: .\admin.py:62 +#: .\admin.py:65 msgid "Response date must be later to reading date." msgstr "Data odpowiedzi musi być późniejsza niż data przeczytania." -#: .\admin.py:64 +#: .\admin.py:67 msgid "Response date cannot be set without at least one reply." -msgstr "Data odpowiedzi nie może być ustawiona bez przynajmniej jednej odpowiedzi." +msgstr "" +"Data odpowiedzi nie może być ustawiona bez przynajmniej jednej odpowiedzi." -#: .\admin.py:66 +#: .\admin.py:69 msgid "The message cannot be replied without being in a conversation." msgstr "Nie można odpowiedzieć na wiadomość nie będącą w konwersacji." -#: .\admin.py:88 .\admin.py:164 .\templates\postman\view.html.py:5 +#: .\admin.py:92 .\admin.py:170 .\templates\postman\view.html.py:6 msgid "Message" msgstr "Wiadomość" -#: .\admin.py:93 +#: .\admin.py:97 msgid "Dates" msgstr "Daty" -#: .\admin.py:98 .\admin.py:168 +#: .\admin.py:102 .\admin.py:174 msgid "Moderation" msgstr "Moderacja" -#: .\fields.py:22 +#: .\fields.py:27 msgid "Some usernames are unknown or no more active: {users}." msgstr "Część nazw użytkowników jest nieznana lub obecnie nieaktywna: {users}." -#: .\fields.py:23 +#: .\fields.py:28 msgid "" "Ensure this value has at most {limit_value} distinct items (it has " "{show_value})." msgstr "" -#: .\fields.py:24 +#: .\fields.py:29 msgid "" "Ensure this value has at least {limit_value} distinct items (it has " "{show_value})." msgstr "" -#: .\fields.py:25 +#: .\fields.py:30 msgid "Some usernames are rejected: {users}." msgstr "Niektóre nazwy użytkowników zostały odrzucone: {users}." -#: .\fields.py:26 .\forms.py:65 -msgid "{user.username}" -msgstr "{user.username}" +#: .\fields.py:31 .\forms.py:71 +msgid "{username}" +msgstr "{username}" -#: .\fields.py:27 .\forms.py:66 -msgid "{user.username} ({reason})" -msgstr "{user.username} ({reason})" +#: .\fields.py:32 .\forms.py:72 +msgid "{username} ({reason})" +msgstr "{username} ({reason})" -#: .\forms.py:64 +#: .\forms.py:70 msgid "Writing to some users is not possible: {users}." msgstr "Nie można wysłać do niektórych użytkowników: {users}." -#: .\forms.py:148 .\forms.py:160 +#: .\forms.py:155 .\forms.py:168 msgid "Recipients" msgstr "Odbiorcy" -#: .\forms.py:148 .\forms.py:160 .\templates\postman\base_folder.html.py:26 +#: .\forms.py:155 .\forms.py:168 .\templates\postman\base_folder.html.py:34 #: .\templates\postman\reply.html.py:4 msgid "Recipient" msgstr "Odbiorca" -#: .\forms.py:159 +#: .\forms.py:167 msgid "Email" msgstr "Poczta" -#: .\forms.py:175 +#: .\forms.py:184 msgid "Undefined recipient." msgstr "Niezdefiniowany odbiorca." -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipients" msgstr "Dodatkowi odbiorcy" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipient" msgstr "Dodatkowy odbiorca" -#: .\models.py:19 +#: .\models.py:27 msgid "Pending" msgstr "W toku" -#: .\models.py:20 +#: .\models.py:28 msgid "Accepted" msgstr "Zaakceptowana" -#: .\models.py:21 .\templates\postman\view.html.py:13 +#: .\models.py:29 .\templates\postman\view.html.py:14 msgid "Rejected" msgstr "Odrzucona" -#: .\models.py:200 +#: .\models.py:242 msgid "subject" msgstr "temat" -#: .\models.py:201 +#: .\models.py:243 msgid "body" msgstr "treść" -#: .\models.py:202 .\models.py:284 +#: .\models.py:244 .\models.py:326 msgid "sender" msgstr "nadawca" -#: .\models.py:203 .\models.py:308 +#: .\models.py:245 .\models.py:350 msgid "recipient" msgstr "odbiorca" -#: .\models.py:204 +#: .\models.py:246 msgid "visitor" msgstr "gość" -#: .\models.py:205 +#: .\models.py:247 msgid "parent message" msgstr "poprzednia wiadomość" -#: .\models.py:206 +#: .\models.py:248 msgid "root message" msgstr "wiadomość nadrzędna" -#: .\models.py:207 +#: .\models.py:249 msgid "sent at" msgstr "data wysłania" -#: .\models.py:208 +#: .\models.py:250 msgid "read at" msgstr "data przeczytania" -#: .\models.py:209 +#: .\models.py:251 msgid "replied at" msgstr "data odpowiedzi" -#: .\models.py:210 +#: .\models.py:252 msgid "archived by sender" msgstr "zarchiwizowana przez nadawcę" -#: .\models.py:211 +#: .\models.py:253 msgid "archived by recipient" msgstr "zarchiwizowana przez odbiorcę" -#: .\models.py:212 +#: .\models.py:254 msgid "deleted by sender at" msgstr "data usunięcia przez nadawcę" -#: .\models.py:213 +#: .\models.py:255 msgid "deleted by recipient at" msgstr "data usunięcia przez odbiorc" -#: .\models.py:215 +#: .\models.py:257 msgid "status" msgstr "status" -#: .\models.py:217 +#: .\models.py:259 msgid "moderator" msgstr "moderator" -#: .\models.py:218 +#: .\models.py:260 msgid "moderated at" msgstr "" -#: .\models.py:219 +#: .\models.py:261 msgid "rejection reason" msgstr "powód odrzucenia" -#: .\models.py:224 +#: .\models.py:266 msgid "message" msgstr "wiadomość" -#: .\models.py:225 +#: .\models.py:267 msgid "messages" msgstr "wiadomości" -#: .\models.py:336 +#: .\models.py:378 msgid "Undefined sender." msgstr "Nieokreślony nadawca." -#: .\models.py:476 +#: .\models.py:523 msgid "pending message" msgstr "wiadomość w toku" -#: .\models.py:477 +#: .\models.py:524 msgid "pending messages" msgstr "wiadomości w toku" -#: .\utils.py:32 +#: .\utils.py:37 msgid "> " msgstr "> " -#: .\utils.py:48 +#: .\utils.py:53 msgid "" "\n" "\n" @@ -255,55 +256,55 @@ msgstr "" "{sender} napisał:\n" "{body}\n" -#: .\utils.py:57 +#: .\utils.py:63 msgid "Re: {subject}" msgstr "Odp: {subject}" -#: .\views.py:129 .\views.py:189 +#: .\views.py:144 .\views.py:206 msgid "Message successfully sent." msgstr "Wiadomość wysłana." -#: .\views.py:131 .\views.py:191 +#: .\views.py:146 .\views.py:208 msgid "Message rejected for at least one recipient." msgstr "Wiadomość została odrzucona dla przynajmniej jednego odbiorcy." -#: .\views.py:278 +#: .\views.py:299 msgid "Select at least one object." msgstr "Wybierz przynajmniej jeden obiekt." -#: .\views.py:284 +#: .\views.py:306 msgid "Messages or conversations successfully archived." msgstr "Wiadomości lub konwersacje pomyślnie zarchiwizowane." -#: .\views.py:289 +#: .\views.py:312 msgid "Messages or conversations successfully deleted." msgstr "Wiadomości lub konwersacje pomyślnie usunięte." -#: .\views.py:294 +#: .\views.py:318 msgid "Messages or conversations successfully recovered." msgstr "Wiadomości lub konwersacje pomyślnie przywrócone." -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Message Rejected" msgstr "Wiadomość odrzucona" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Your message has been rejected" msgstr "Twoja wiadomość została odrzucona" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "Message Received" msgstr "Wiadomość otrzymana" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "You have received a message" msgstr "Otrzymałeś wiadomość" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "Reply Received" msgstr "Odpowiedź otrzymana" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "You have received a reply" msgstr "Dostałeś odpowiedź" @@ -330,83 +331,85 @@ msgstr "Zarchiwizowane wiadomości" msgid "" "Messages in this folder will never be removed. You can use this folder for " "long term storage." -msgstr "Wiadomości z tego folderu nigdy nie będą usuwane. Możesz używać go do przechowywania wiadomości przez długi czas." +msgstr "" +"Wiadomości z tego folderu nigdy nie będą usuwane. Możesz używać go do " +"przechowywania wiadomości przez długi czas." -#: .\templates\postman\base.html.py:3 +#: .\templates\postman\base.html.py:4 msgid "Messaging" msgstr "" -#: .\templates\postman\base.html.py:6 +#: .\templates\postman\base.html.py:13 msgid "Inbox" msgstr "Wiadomości otrzymane" -#: .\templates\postman\base.html.py:7 .\templates\postman\sent.html.py:3 +#: .\templates\postman\base.html.py:14 .\templates\postman\sent.html.py:3 msgid "Sent Messages" msgstr "Wiadomości wysłane" -#: .\templates\postman\base.html.py:8 .\templates\postman\write.html.py:3 +#: .\templates\postman\base.html.py:15 .\templates\postman\write.html.py:3 msgid "Write" msgstr "Napisz" -#: .\templates\postman\base.html.py:9 +#: .\templates\postman\base.html.py:16 msgid "Archives" msgstr "Archiwa" -#: .\templates\postman\base.html.py:10 +#: .\templates\postman\base.html.py:17 msgid "Trash" msgstr "Kosz" -#: .\templates\postman\base_folder.html.py:9 +#: .\templates\postman\base_folder.html.py:16 msgid "Sorry, this page number is invalid." msgstr "Niestety ten numer strony jest nieprawidłowy." -#: .\templates\postman\base_folder.html.py:12 +#: .\templates\postman\base_folder.html.py:20 msgid "by conversation" msgstr "" -#: .\templates\postman\base_folder.html.py:13 +#: .\templates\postman\base_folder.html.py:21 msgid "by message" msgstr "" -#: .\templates\postman\base_folder.html.py:17 -#: .\templates\postman\view.html.py:22 +#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\view.html.py:23 msgid "Delete" msgstr "Usuń" -#: .\templates\postman\base_folder.html.py:18 -#: .\templates\postman\view.html.py:23 +#: .\templates\postman\base_folder.html.py:26 +#: .\templates\postman\view.html.py:24 msgid "Archive" msgstr "Archiwizuj" -#: .\templates\postman\base_folder.html.py:19 +#: .\templates\postman\base_folder.html.py:27 msgid "Undelete" msgstr "Odzyskaj" -#: .\templates\postman\base_folder.html.py:24 +#: .\templates\postman\base_folder.html.py:32 msgid "Action" msgstr "Akcja" -#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\base_folder.html.py:33 msgid "Sender" msgstr "Nadawca" -#: .\templates\postman\base_folder.html.py:27 +#: .\templates\postman\base_folder.html.py:35 msgid "Subject" msgstr "Temat" -#: .\templates\postman\base_folder.html.py:28 +#: .\templates\postman\base_folder.html.py:36 msgid "Date" msgstr "Data" -#: .\templates\postman\base_folder.html.py:43 +#: .\templates\postman\base_folder.html.py:51 msgid "g:i A,M j,n/j/y" msgstr "G:i,j b,j/n/y" -#: .\templates\postman\base_folder.html.py:51 +#: .\templates\postman\base_folder.html.py:58 msgid "No messages." msgstr "Brak wiadomości." -#: .\templates\postman\base_write.html.py:20 +#: .\templates\postman\base_write.html.py:33 msgid "Send" msgstr "Wyślij" @@ -418,7 +421,8 @@ msgstr "Drogi użytkowniku," #: .\templates\postman\email_visitor.txt.py:3 #, python-format msgid "On %(date)s, you asked to send a message to the user '%(recipient)s'." -msgstr "Dnia %(date)s prosiłeś o wysłanie wiadomości do użytkownika '%(recipient)s'." +msgstr "" +"Dnia %(date)s prosiłeś o wysłanie wiadomości do użytkownika '%(recipient)s'." #: .\templates\postman\email_user.txt.py:5 #: .\templates\postman\email_visitor.txt.py:5 @@ -465,7 +469,9 @@ msgstr "Administrator strony" msgid "" "Note: This message is issued by an automated system.\n" "Do not reply, this would not be taken into account." -msgstr "Uwaga: Ta wiadomość została wysłana automatycznie.\nNie odpisuj na nią, ponieważ nie będzie to wzięte pod uwagę." +msgstr "" +"Uwaga: Ta wiadomość została wysłana automatycznie.\n" +"Nie odpisuj na nią, ponieważ nie będzie to wzięte pod uwagę." #: .\templates\postman\email_user_subject.txt.py:1 #: .\templates\postman\email_visitor_subject.txt.py:1 @@ -497,8 +503,8 @@ msgstr "Odebranych wiadomości" msgid "Received" msgstr "Otrzymane" -#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:25 -#: .\templates\postman\view.html.py:28 .\templates\postman\view.html.py:31 +#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:26 +#: .\templates\postman\view.html.py:29 .\templates\postman\view.html.py:32 msgid "Reply" msgstr "Odpowiedz" @@ -514,20 +520,22 @@ msgstr "Usunięte wiadomości" msgid "" "Messages in this folder can be removed from time to time. For long term " "storage, use instead the archive folder." -msgstr "Wiadomości w tym folderze mogą być usuwane co jakiś czas. Do przechowywania długoterminowego użyj folderu archiwum." +msgstr "" +"Wiadomości w tym folderze mogą być usuwane co jakiś czas. Do przechowywania " +"długoterminowego użyj folderu archiwum." -#: .\templates\postman\view.html.py:5 +#: .\templates\postman\view.html.py:6 msgid "Conversation" msgstr "Konwersacja" -#: .\templates\postman\view.html.py:13 +#: .\templates\postman\view.html.py:14 msgid ":" msgstr ": " -#: .\templates\postman\view.html.py:20 +#: .\templates\postman\view.html.py:21 msgid "Back" msgstr "Wróć" -#: .\templatetags\postman_tags.py:35 +#: .\templatetags\postman_tags.py:48 msgid "" msgstr "" diff --git a/postman/locale/ru/LC_MESSAGES/django.mo b/postman/locale/ru/LC_MESSAGES/django.mo index fac4d9f68b90ec0fc8459c9e96c3b6de6c58af03..1e8f0ecd9b5ca6f57ea63170f52c626dbb96f296 100644 GIT binary patch delta 1067 zcmYk)OGs346vy%3nC56>sX2pY=IEGKI_a2cBr#A)lo^FtQ}{@GtSn8YT=W>|p@mSw zK#OcsJ89D}SR0`zTSiO}1U*EsHnoT-!d>6P+(j^VKIh!IbI$*s|NmRxyS^uL%VN2b zDt(d{gZS4a?ZQg()?#TR_F@L!!c3fS@=07t9(R0%`Q!-<;Y-Kg$Vb&BQay&zgF_{X z=@h|bZrDN=oF9Imn|#SJV~tctz5+MkHnhh5xE_ab1n*%Kb4sNwyoytJ!_mK1x<)>W zw$N}{Oe!QeSSIbjlNi8=5x#X?L~FR@=;1Bw z`Eq2KYQPJ)4{hPG7X(KMimEA&gJ=a3$T83y+Dbp7HEOR(Pv!*nl8@mCenoqc2>WAO zm&83di#?dhK{|{BNJ~9K`o#2^pphFtu?Yj4(uXC2HuCe>j?-vw@&|1a%WI`$*p2ki zQ?v&2=*K1w%vS6|t22QI@DR8we$XON!yf~zoRbNcxb z$2zqCg`K<;8HUavL(?6{8T68WLYw3-EZt9#&2p?j0BtlaXru4J0*s;u$Iy*&v;q$> z7ZYfOXXCfC#|uV@hPkr1Y+j02xNBWXcDS#*To;q6oFks>bNy#eU(uy_s@@y#@ZHR7 W42JkL_#3xu4>c#}eGA3^Kk^R_hk*6~ delta 1100 zcmZY7Ur1AN6u|Mbmb79z*K+v3sbx;v+SVUQC@PW|sS#?CV8hWYYW`uSQ9~~k^yek4 zA=Er+wVGz_)^pF*SJyj4-4~s}U){?iDig@uDF2QTK6sOEQjYZ_sruVRzJc~hmZu%SfNT5t)1BTI# zr_02UBLo-tVFi9M|M-qJaw}b_c3h7o*nqoG3!lKXcm@-A3s0h}LZkpM;Z3|^+E^)a zj(iri(QuU^vXY>uN@N=jU>)8?UHB!&@f$W{v|3~y)A$DCt3^7o)x(81a6i7o8VvHK z>vtl(Nk7ivSscQB26OHq$e|0%sh&eW>OzZHh&$GZbYll<=eJQCeSoX*t?43aK`Y&> zZq)m|$WWyPN3jdFapNh$L4xXfk=;0k`d}702J!;6(+{YHy4U3=a~uzoPhtYUqP|F! z{n0IZhN;gWEYUn=yjA&J=dw9O@yg^ywjG|Jw-kjVDmI;412\n" "Language-Team: LANGUAGE \n" @@ -20,67 +20,67 @@ msgstr "" "Language: ru\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: .\admin.py:22 +#: .\admin.py:25 msgid "Sender and Recipient cannot be both undefined." msgstr "Отправитель и получатель не могут быть не определены вместе." -#: .\admin.py:29 +#: .\admin.py:32 msgid "Visitor's email is in excess." msgstr "Почта посетителя переполнена." -#: .\admin.py:34 +#: .\admin.py:37 msgid "Visitor's email is missing." msgstr "Нет адреса электронной почты посетителя." -#: .\admin.py:40 +#: .\admin.py:43 msgid "Reading date must be later to sending date." msgstr "Дата прочтения должна быть позже даты посылки." -#: .\admin.py:45 +#: .\admin.py:48 msgid "Deletion date by sender must be later to sending date." msgstr "Дата удаления отправителем должна быть позже даты отправления." -#: .\admin.py:50 +#: .\admin.py:53 msgid "Deletion date by recipient must be later to sending date." msgstr "Дата удаления получателем должна быть позже даты отправления." -#: .\admin.py:58 +#: .\admin.py:61 msgid "Response date must be later to sending date." msgstr "Дата ответа должна быть позже даты отправления." -#: .\admin.py:60 +#: .\admin.py:63 msgid "The message cannot be replied without having been read." msgstr "Нельзя ответить на сообщение, не прочитав его." -#: .\admin.py:62 +#: .\admin.py:65 msgid "Response date must be later to reading date." msgstr "Дата ответа должна быть позже даты прочтения." -#: .\admin.py:64 +#: .\admin.py:67 msgid "Response date cannot be set without at least one reply." msgstr "Дата ответа не может быть установлена без хотя бы одного ответа." -#: .\admin.py:66 +#: .\admin.py:69 msgid "The message cannot be replied without being in a conversation." msgstr "Нельзя ответить на сообщение, не находясь в беседе." -#: .\admin.py:88 .\admin.py:164 .\templates\postman\view.html.py:5 +#: .\admin.py:92 .\admin.py:170 .\templates\postman\view.html.py:6 msgid "Message" msgstr "Сообщение" -#: .\admin.py:93 +#: .\admin.py:97 msgid "Dates" msgstr "Даты" -#: .\admin.py:98 .\admin.py:168 +#: .\admin.py:102 .\admin.py:174 msgid "Moderation" msgstr "Модерация" -#: .\fields.py:22 +#: .\fields.py:27 msgid "Some usernames are unknown or no more active: {users}." msgstr "Некоторые пользователи неизвестны или больше не активны: {users}." -#: .\fields.py:23 +#: .\fields.py:28 msgid "" "Ensure this value has at most {limit_value} distinct items (it has " "{show_value})." @@ -88,7 +88,7 @@ msgstr "" "Проверьте, что это значение имеет не больше {limit_value} разных пунктов " "(сейчас их {show_value})." -#: .\fields.py:24 +#: .\fields.py:29 msgid "" "Ensure this value has at least {limit_value} distinct items (it has " "{show_value})." @@ -96,156 +96,156 @@ msgstr "" "Проверьте, что это значение имеет не меньше {limit_value} разных пунктов " "(сейчас их {show_value})." -#: .\fields.py:25 +#: .\fields.py:30 msgid "Some usernames are rejected: {users}." msgstr "Некоторые имена пользователей были отклонены: {users}." -#: .\fields.py:26 .\forms.py:65 -msgid "{user.username}" -msgstr "{user.username}" +#: .\fields.py:31 .\forms.py:71 +msgid "{username}" +msgstr "{username}" -#: .\fields.py:27 .\forms.py:66 -msgid "{user.username} ({reason})" -msgstr "{user.username} ({reason})" +#: .\fields.py:32 .\forms.py:72 +msgid "{username} ({reason})" +msgstr "{username} ({reason})" -#: .\forms.py:64 +#: .\forms.py:70 msgid "Writing to some users is not possible: {users}." msgstr "Нельзя написать некоторым пользователям: {users}." -#: .\forms.py:148 .\forms.py:160 +#: .\forms.py:155 .\forms.py:168 msgid "Recipients" msgstr "Получатели" -#: .\forms.py:148 .\forms.py:160 .\templates\postman\base_folder.html.py:26 +#: .\forms.py:155 .\forms.py:168 .\templates\postman\base_folder.html.py:34 #: .\templates\postman\reply.html.py:4 msgid "Recipient" msgstr "Получатель" -#: .\forms.py:159 +#: .\forms.py:167 msgid "Email" msgstr "Email" -#: .\forms.py:175 +#: .\forms.py:184 msgid "Undefined recipient." msgstr "Неопределенный получатель." -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipients" msgstr "Дополнительные получатели" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipient" msgstr "Дополнительный получатель" -#: .\models.py:19 +#: .\models.py:27 msgid "Pending" msgstr "В ожидании" -#: .\models.py:20 +#: .\models.py:28 msgid "Accepted" msgstr "Принято" -#: .\models.py:21 .\templates\postman\view.html.py:13 +#: .\models.py:29 .\templates\postman\view.html.py:14 msgid "Rejected" msgstr "Отклонено" -#: .\models.py:200 +#: .\models.py:242 msgid "subject" msgstr "тема" -#: .\models.py:201 +#: .\models.py:243 msgid "body" msgstr "сообщение" -#: .\models.py:202 .\models.py:284 +#: .\models.py:244 .\models.py:326 msgid "sender" msgstr "отправитель" -#: .\models.py:203 .\models.py:308 +#: .\models.py:245 .\models.py:350 msgid "recipient" msgstr "получатель" -#: .\models.py:204 +#: .\models.py:246 msgid "visitor" msgstr "посетитель" -#: .\models.py:205 +#: .\models.py:247 msgid "parent message" msgstr "предыдущее сообщение" -#: .\models.py:206 +#: .\models.py:248 msgid "root message" msgstr "начальное сообщение" -#: .\models.py:207 +#: .\models.py:249 msgid "sent at" msgstr "послано в" -#: .\models.py:208 +#: .\models.py:250 msgid "read at" msgstr "прочитано в" -#: .\models.py:209 +#: .\models.py:251 msgid "replied at" msgstr "отвечено в" -#: .\models.py:210 +#: .\models.py:252 msgid "archived by sender" msgstr "архивировано отправителем" -#: .\models.py:211 +#: .\models.py:253 msgid "archived by recipient" msgstr "архивировано получателем" -#: .\models.py:212 +#: .\models.py:254 msgid "deleted by sender at" msgstr "удалено отправителем в" -#: .\models.py:213 +#: .\models.py:255 msgid "deleted by recipient at" msgstr "удалено получателем в" -#: .\models.py:215 +#: .\models.py:257 msgid "status" msgstr "статус" -#: .\models.py:217 +#: .\models.py:259 msgid "moderator" msgstr "модератор" -#: .\models.py:218 +#: .\models.py:260 msgid "moderated at" msgstr "изменено в" -#: .\models.py:219 +#: .\models.py:261 msgid "rejection reason" msgstr "причина отказа" -#: .\models.py:224 +#: .\models.py:266 msgid "message" msgstr "сообщение" -#: .\models.py:225 +#: .\models.py:267 msgid "messages" msgstr "сообщения" -#: .\models.py:336 +#: .\models.py:378 msgid "Undefined sender." msgstr "Неопределенный отправитель." -#: .\models.py:476 +#: .\models.py:523 msgid "pending message" msgstr "сообщение в ожидании" -#: .\models.py:477 +#: .\models.py:524 msgid "pending messages" msgstr "сообщения в ожидании" -#: .\utils.py:32 +#: .\utils.py:37 msgid "> " msgstr "> " -#: .\utils.py:48 +#: .\utils.py:53 msgid "" "\n" "\n" @@ -257,55 +257,55 @@ msgstr "" "{sender} написал:\n" "{body}\n" -#: .\utils.py:57 +#: .\utils.py:63 msgid "Re: {subject}" msgstr "Re: {subject}" -#: .\views.py:129 .\views.py:189 +#: .\views.py:144 .\views.py:206 msgid "Message successfully sent." msgstr "Сообщение успешно отправлено." -#: .\views.py:131 .\views.py:191 +#: .\views.py:146 .\views.py:208 msgid "Message rejected for at least one recipient." msgstr "Сообщение отклонено по крайней мере для одного получателя." -#: .\views.py:278 +#: .\views.py:299 msgid "Select at least one object." msgstr "Выберите по крайней мере один объект." -#: .\views.py:284 +#: .\views.py:306 msgid "Messages or conversations successfully archived." msgstr "Сообщения или беседы успешно заархивированы." -#: .\views.py:289 +#: .\views.py:312 msgid "Messages or conversations successfully deleted." msgstr "Сообщения или беседы успешно удалены." -#: .\views.py:294 +#: .\views.py:318 msgid "Messages or conversations successfully recovered." msgstr "Сообщения или беседы успешно восстановлены." -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Message Rejected" msgstr "Сообщение отклонено" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Your message has been rejected" msgstr "Ваше сообщение было отклонено" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "Message Received" msgstr "Сообщение получено" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "You have received a message" msgstr "Вы получили сообщение" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "Reply Received" msgstr "Получен ответ" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "You have received a reply" msgstr "Вы получили ответ" @@ -336,81 +336,81 @@ msgstr "" "Сообщения в этой папке никогда не будут удалены. Вы можете использовать эту " "папку как длительное хранилище сообщений." -#: .\templates\postman\base.html.py:3 +#: .\templates\postman\base.html.py:4 msgid "Messaging" msgstr "Обмен сообщениями" -#: .\templates\postman\base.html.py:6 +#: .\templates\postman\base.html.py:13 msgid "Inbox" msgstr "Входящие" -#: .\templates\postman\base.html.py:7 .\templates\postman\sent.html.py:3 +#: .\templates\postman\base.html.py:14 .\templates\postman\sent.html.py:3 msgid "Sent Messages" msgstr "Посланные сообщения" -#: .\templates\postman\base.html.py:8 .\templates\postman\write.html.py:3 +#: .\templates\postman\base.html.py:15 .\templates\postman\write.html.py:3 msgid "Write" msgstr "Написать" -#: .\templates\postman\base.html.py:9 +#: .\templates\postman\base.html.py:16 msgid "Archives" msgstr "Архивы" -#: .\templates\postman\base.html.py:10 +#: .\templates\postman\base.html.py:17 msgid "Trash" msgstr "Удалённые" -#: .\templates\postman\base_folder.html.py:9 +#: .\templates\postman\base_folder.html.py:16 msgid "Sorry, this page number is invalid." msgstr "Извините, страницы с таким номером не существует." -#: .\templates\postman\base_folder.html.py:12 +#: .\templates\postman\base_folder.html.py:20 msgid "by conversation" msgstr "по беседам" -#: .\templates\postman\base_folder.html.py:13 +#: .\templates\postman\base_folder.html.py:21 msgid "by message" msgstr "по сообщениям" -#: .\templates\postman\base_folder.html.py:17 -#: .\templates\postman\view.html.py:22 +#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\view.html.py:23 msgid "Delete" msgstr "Удалить" -#: .\templates\postman\base_folder.html.py:18 -#: .\templates\postman\view.html.py:23 +#: .\templates\postman\base_folder.html.py:26 +#: .\templates\postman\view.html.py:24 msgid "Archive" msgstr "Архивировать" -#: .\templates\postman\base_folder.html.py:19 +#: .\templates\postman\base_folder.html.py:27 msgid "Undelete" msgstr "Восстановить" -#: .\templates\postman\base_folder.html.py:24 +#: .\templates\postman\base_folder.html.py:32 msgid "Action" msgstr "Действий" -#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\base_folder.html.py:33 msgid "Sender" msgstr "Отправителя" -#: .\templates\postman\base_folder.html.py:27 +#: .\templates\postman\base_folder.html.py:35 msgid "Subject" msgstr "Тема" -#: .\templates\postman\base_folder.html.py:28 +#: .\templates\postman\base_folder.html.py:36 msgid "Date" msgstr "Дата" -#: .\templates\postman\base_folder.html.py:43 +#: .\templates\postman\base_folder.html.py:51 msgid "g:i A,M j,n/j/y" msgstr "g:i A,M j,n/j/y" -#: .\templates\postman\base_folder.html.py:51 +#: .\templates\postman\base_folder.html.py:58 msgid "No messages." msgstr "Сообщений нет." -#: .\templates\postman\base_write.html.py:20 +#: .\templates\postman\base_write.html.py:33 msgid "Send" msgstr "Отправить" @@ -494,8 +494,7 @@ msgstr "Ниже вы найдете ответ от вашего собесед #: .\templates\postman\email_visitor.txt.py:15 msgid "For more comfort, we encourage you to open an account on the site." -msgstr "" -"Для большего удобства, мы рекомендуем вам зарегистрироваться на сайте." +msgstr "Для большего удобства, мы рекомендуем вам зарегистрироваться на сайте." #: .\templates\postman\inbox.html.py:3 msgid "Received Messages" @@ -505,8 +504,8 @@ msgstr "Входящие сообщения" msgid "Received" msgstr "Получено" -#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:25 -#: .\templates\postman\view.html.py:28 .\templates\postman\view.html.py:31 +#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:26 +#: .\templates\postman\view.html.py:29 .\templates\postman\view.html.py:32 msgid "Reply" msgstr "Ответить" @@ -526,18 +525,18 @@ msgstr "" "Сообщения в этой папке могут быть удалены время от времени. Для длительного " "хранения сообщения используйте архив." -#: .\templates\postman\view.html.py:5 +#: .\templates\postman\view.html.py:6 msgid "Conversation" msgstr "Беседа" -#: .\templates\postman\view.html.py:13 +#: .\templates\postman\view.html.py:14 msgid ":" msgstr ": " -#: .\templates\postman\view.html.py:20 +#: .\templates\postman\view.html.py:21 msgid "Back" msgstr "Назад" -#: .\templatetags\postman_tags.py:35 +#: .\templatetags\postman_tags.py:48 msgid "" msgstr "" diff --git a/postman/locale/tr/LC_MESSAGES/django.mo b/postman/locale/tr/LC_MESSAGES/django.mo index a31635e49478836e089af8ebdad4b87e90248e78..920734c770d1d76e29fecc59faa56f82e4b76728 100644 GIT binary patch delta 924 zcmXZaOGs346vy#1S@+INS&ms|#57QpBl#Goslg}|abpo8go_f=x}u@xqX#9!je=UX zxJJ7ogoxS<3<|DXwFz1kg%Ctki#9=vY8CnY=^uvqod4sV|GDRX9~bTw%15ihq?z^A znC-&z_%voVje8lVYRwXO1evyDxCM*22~S}hyKo!!y7d86-a)L!QS|Tz?#2=-?|iL= zwwd6G+pvH-;3Xt$L0rtRP*o*SG^$aX38CU>n|c<5x%xwt_1711e9l!R!F% zTN8m=a~AcnoI@3I33Vk?n8AmrJ1nDGy@cw-3hHBegX-ja)C+ud^S@D@`|sv`zHIGl zz@(ipYa~#DyjwVlI_M0lW&Nmw2Asplt=L2~=0!1!{&@@hKl7tl5EbIxvCEZP@lU=# xIW!TJY%Ut9nXhhd&hcx@wC6i=$18s7N@AZ|zCIhwtcRJ#xtU;S_UdFQYil#SVx9m1 delta 944 zcmZY7KWI}?6vy%NtmdCqU)uN|G*XdtXiUe+7)ndqNQ#1u^(hL1 zI4DmL7fW$*5sKBNAPP>MTm%;t#i@uoxCm18`y&?@;lbygd+$5{}iJKN0S%pX9etq<2>Kd!+O7{ejlfFo|bf(hbLY{fc8@G5S>o2a}G z+bpoP3?91;Pf!OuLnU6qc6{x8hb_ckks9p>4xlz2gQKW}Zebbkq6+(t%KIBPqL*sE z@23K@PA2v+u?vTAJ&vQk;G**y4in#Y>mN{wR&YQ5LKU3Z+)SLuC~-e3&mgL>lP)g1 z_0fQV64kI9uV5CRIzQu9VxPV#VFr~jhuYtZD!7K!U=7s!cW@A2qCPM|5_P(WeRv4> zVlcx%t(-%(Y5|k@0_m2$LEVurxEp^u+qX4;MK>N~z6Z7cJm&C*i=QJk*fOf%PpCYp z?PeXEZ$$=b&1uwSIfE)>67@@FFpUpT|8NP_>Q|^vETb;dTT~}MqCVi8oBxCAT$~%O z`6Oyz2PUl7tiV7Cj<|*6sDn}#AOjc*Dp0 J+SF{P{RML*Y-Iod diff --git a/postman/locale/tr/LC_MESSAGES/django.po b/postman/locale/tr/LC_MESSAGES/django.po index 1e7583c..87ae52c 100644 --- a/postman/locale/tr/LC_MESSAGES/django.po +++ b/postman/locale/tr/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: django-postman\n" "Report-Msgid-Bugs-To: http://bitbucket.org/psam/django-postman/issues\n" -"POT-Creation-Date: 2010-12-27 14:21+0100\n" +"POT-Creation-Date: 2012-12-10 23:17+0100\n" "PO-Revision-Date: 2012-08-30 00:57+0000\n" "Last-Translator: Ahmet Emre Aladağ \n" "Language-Team: LANGUAGE \n" @@ -20,284 +20,290 @@ msgstr "" "Language: tr\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: .\admin.py:22 +#: .\admin.py:25 msgid "Sender and Recipient cannot be both undefined." msgstr "Gönderen ve Alıcı beraber belirlenmemiş olamaz." -#: .\admin.py:29 +#: .\admin.py:32 msgid "Visitor's email is in excess." msgstr "Ziyaretçinin e-postası fazla." -#: .\admin.py:34 +#: .\admin.py:37 msgid "Visitor's email is missing." msgstr "Ziyaretçini e-postası kayıp." -#: .\admin.py:40 +#: .\admin.py:43 msgid "Reading date must be later to sending date." msgstr "Okuma tarihi gönderme tarihinden geç olmalı." -#: .\admin.py:45 +#: .\admin.py:48 msgid "Deletion date by sender must be later to sending date." msgstr "Gönderen tarafından silme tarihi gönderme tarihinden geç olmalı." -#: .\admin.py:50 +#: .\admin.py:53 msgid "Deletion date by recipient must be later to sending date." msgstr "Alıcı tarafından silme tarihi gönderme tarihinden geç olmalı." -#: .\admin.py:58 +#: .\admin.py:61 msgid "Response date must be later to sending date." msgstr "Cevap tarihi, gönderi taihinden geç olmalı." -#: .\admin.py:60 +#: .\admin.py:63 msgid "The message cannot be replied without having been read." msgstr "Mesaj okunmuş olmadan cevaplanamaz." -#: .\admin.py:62 +#: .\admin.py:65 msgid "Response date must be later to reading date." msgstr "Cevap tarihi, gönderi taihinden geç olmalı." -#: .\admin.py:64 +#: .\admin.py:67 msgid "Response date cannot be set without at least one reply." msgstr "En az bir cevap olmadan, cevap tarihi belirlenemez." -#: .\admin.py:66 +#: .\admin.py:69 msgid "The message cannot be replied without being in a conversation." msgstr "" -#: .\admin.py:88 .\admin.py:157 .\templates\postman\view.html.py:5 +#: .\admin.py:92 .\admin.py:170 .\templates\postman\view.html.py:6 msgid "Message" msgstr "Mesaj" -#: .\admin.py:93 +#: .\admin.py:97 msgid "Dates" msgstr "Tarihler" -#: .\admin.py:98 .\admin.py:161 +#: .\admin.py:102 .\admin.py:174 msgid "Moderation" msgstr "Moderasyon" -#: .\fields.py:22 +#: .\fields.py:27 msgid "Some usernames are unknown or no more active: {users}." msgstr "Bazı kullanıcı adları bilinmiyor yada artık aktif değiller: {users}." -#: .\fields.py:23 +#: .\fields.py:28 msgid "" "Ensure this value has at most {limit_value} distinct items (it has " "{show_value})." -msgstr "Bu değerin en çok {limit_value} farklı öğesi ({show_value} si var) olduğuna emin olun." +msgstr "" +"Bu değerin en çok {limit_value} farklı öğesi ({show_value} si var) olduğuna " +"emin olun." -#: .\fields.py:24 +#: .\fields.py:29 msgid "" "Ensure this value has at least {limit_value} distinct items (it has " "{show_value})." msgstr "" -#: .\fields.py:25 +#: .\fields.py:30 msgid "Some usernames are rejected: {users}." msgstr "Bazı kullanıcı adları reddedildi: {users}." -#: .\fields.py:26 .\forms.py:65 -msgid "{user.username}" -msgstr "{user.username}" +#: .\fields.py:31 .\forms.py:71 +msgid "{username}" +msgstr "{username}" -#: .\fields.py:27 .\forms.py:66 -msgid "{user.username} ({reason})" -msgstr "{user.username} ({reason})" +#: .\fields.py:32 .\forms.py:72 +msgid "{username} ({reason})" +msgstr "{username} ({reason})" -#: .\forms.py:64 +#: .\forms.py:70 msgid "Writing to some users is not possible: {users}." msgstr "Bazı kullanıcılıara yazmak mümkün değil: {users}." -#: .\forms.py:148 .\forms.py:160 +#: .\forms.py:155 .\forms.py:168 msgid "Recipients" msgstr "Alıcılar" -#: .\forms.py:148 .\forms.py:160 .\templates\postman\base_folder.html.py:26 +#: .\forms.py:155 .\forms.py:168 .\templates\postman\base_folder.html.py:34 #: .\templates\postman\reply.html.py:4 msgid "Recipient" msgstr "Alıcı" -#: .\forms.py:159 +#: .\forms.py:167 msgid "Email" msgstr "Eposta" -#: .\forms.py:175 +#: .\forms.py:184 msgid "Undefined recipient." msgstr "Belirsiz alıcı." -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipients" msgstr "Ek alıcılar" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipient" msgstr "Ek alıcı" -#: .\models.py:19 +#: .\models.py:27 msgid "Pending" msgstr "Bekleyenler" -#: .\models.py:20 +#: .\models.py:28 msgid "Accepted" msgstr "Kabul edildi" -#: .\models.py:21 .\templates\postman\view.html.py:13 +#: .\models.py:29 .\templates\postman\view.html.py:14 msgid "Rejected" msgstr "Reddedildi" -#: .\models.py:197 +#: .\models.py:242 msgid "subject" msgstr "konu" -#: .\models.py:198 +#: .\models.py:243 msgid "body" msgstr "gövde" -#: .\models.py:199 .\models.py:281 +#: .\models.py:244 .\models.py:326 msgid "sender" msgstr "gönderen" -#: .\models.py:200 .\models.py:305 +#: .\models.py:245 .\models.py:350 msgid "recipient" msgstr "alıcı" -#: .\models.py:201 +#: .\models.py:246 msgid "visitor" msgstr "ziyaretçi" -#: .\models.py:202 +#: .\models.py:247 msgid "parent message" msgstr "ana mesaj" -#: .\models.py:203 +#: .\models.py:248 msgid "root message" msgstr "kök mesaj" -#: .\models.py:204 +#: .\models.py:249 msgid "sent at" msgstr "de gönderildi" -#: .\models.py:205 +#: .\models.py:250 msgid "read at" msgstr "de okundu" -#: .\models.py:206 +#: .\models.py:251 msgid "replied at" msgstr "de cevaplandı" -#: .\models.py:207 +#: .\models.py:252 msgid "archived by sender" msgstr "kullanıcı tarafından arşivlendi" -#: .\models.py:208 +#: .\models.py:253 msgid "archived by recipient" msgstr "alıcı tarafından arşivlendi" -#: .\models.py:209 +#: .\models.py:254 msgid "deleted by sender at" msgstr "de gönderen tarafından silindi" -#: .\models.py:210 +#: .\models.py:255 msgid "deleted by recipient at" msgstr "de alıcı tarafından silindi" -#: .\models.py:212 +#: .\models.py:257 msgid "status" msgstr "durum" -#: .\models.py:214 +#: .\models.py:259 msgid "moderator" msgstr "moderatör" -#: .\models.py:215 +#: .\models.py:260 msgid "moderated at" msgstr "" -#: .\models.py:216 +#: .\models.py:261 msgid "rejection reason" msgstr "reddedilme sebebi" -#: .\models.py:221 +#: .\models.py:266 msgid "message" msgstr "mesaj" -#: .\models.py:222 +#: .\models.py:267 msgid "messages" msgstr "mesajlar" -#: .\models.py:333 +#: .\models.py:378 msgid "Undefined sender." msgstr "Belirsiz gönderen." -#: .\models.py:473 +#: .\models.py:523 msgid "pending message" msgstr "bekleyen mesaj" -#: .\models.py:474 +#: .\models.py:524 msgid "pending messages" msgstr "bekleyen mesajlar" -#: .\utils.py:32 +#: .\utils.py:37 msgid "> " msgstr "> " -#: .\utils.py:48 +#: .\utils.py:53 msgid "" "\n" "\n" "{sender} wrote:\n" "{body}\n" -msgstr "\n\n{sender} yazdı:\n{body}\n" +msgstr "" +"\n" +"\n" +"{sender} yazdı:\n" +"{body}\n" -#: .\utils.py:57 +#: .\utils.py:63 msgid "Re: {subject}" msgstr "Ynt: {subject}" -#: .\views.py:129 .\views.py:187 +#: .\views.py:144 .\views.py:206 msgid "Message successfully sent." msgstr "Mesaj başarıyla gönderildi." -#: .\views.py:131 .\views.py:189 +#: .\views.py:146 .\views.py:208 msgid "Message rejected for at least one recipient." msgstr "Mesaj en az bir alıcı için reddedildi." -#: .\views.py:276 +#: .\views.py:299 msgid "Select at least one object." msgstr "En az bir öğe seçin." -#: .\views.py:282 +#: .\views.py:306 msgid "Messages or conversations successfully archived." msgstr "" -#: .\views.py:287 +#: .\views.py:312 msgid "Messages or conversations successfully deleted." msgstr "" -#: .\views.py:292 +#: .\views.py:318 msgid "Messages or conversations successfully recovered." msgstr "" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Message Rejected" msgstr "Mesaj Reddedildi" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Your message has been rejected" msgstr "Mesajınız reddedildi" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "Message Received" msgstr "Mesaj Alındı" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "You have received a message" msgstr "Bir mesaj aldınız" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "Reply Received" msgstr "Cevap Alındı" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "You have received a reply" msgstr "Bir mesaj aldınız" @@ -324,81 +330,81 @@ msgid "" "long term storage." msgstr "" -#: .\templates\postman\base.html.py:3 +#: .\templates\postman\base.html.py:4 msgid "Messaging" msgstr "Mesajlaşma" -#: .\templates\postman\base.html.py:6 +#: .\templates\postman\base.html.py:13 msgid "Inbox" msgstr "Gelen Kutusu" -#: .\templates\postman\base.html.py:7 .\templates\postman\sent.html.py:3 +#: .\templates\postman\base.html.py:14 .\templates\postman\sent.html.py:3 msgid "Sent Messages" msgstr "Gönderilen Mesajlar" -#: .\templates\postman\base.html.py:8 .\templates\postman\write.html.py:3 +#: .\templates\postman\base.html.py:15 .\templates\postman\write.html.py:3 msgid "Write" msgstr "Yaz" -#: .\templates\postman\base.html.py:9 +#: .\templates\postman\base.html.py:16 msgid "Archives" msgstr "Arşivler" -#: .\templates\postman\base.html.py:10 +#: .\templates\postman\base.html.py:17 msgid "Trash" msgstr "Çöp Kutusu" -#: .\templates\postman\base_folder.html.py:9 +#: .\templates\postman\base_folder.html.py:16 msgid "Sorry, this page number is invalid." msgstr "Üzgünüz, bu sayfa numarası geçersiz." -#: .\templates\postman\base_folder.html.py:12 +#: .\templates\postman\base_folder.html.py:20 msgid "by conversation" msgstr "sohbete göre" -#: .\templates\postman\base_folder.html.py:13 +#: .\templates\postman\base_folder.html.py:21 msgid "by message" msgstr "mesaja göre" -#: .\templates\postman\base_folder.html.py:17 -#: .\templates\postman\view.html.py:22 +#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\view.html.py:23 msgid "Delete" msgstr "Sil" -#: .\templates\postman\base_folder.html.py:18 -#: .\templates\postman\view.html.py:23 +#: .\templates\postman\base_folder.html.py:26 +#: .\templates\postman\view.html.py:24 msgid "Archive" msgstr "Arşiv" -#: .\templates\postman\base_folder.html.py:19 +#: .\templates\postman\base_folder.html.py:27 msgid "Undelete" msgstr "Silmeyi geri al" -#: .\templates\postman\base_folder.html.py:24 +#: .\templates\postman\base_folder.html.py:32 msgid "Action" msgstr "Eylem" -#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\base_folder.html.py:33 msgid "Sender" msgstr "Gönderici" -#: .\templates\postman\base_folder.html.py:27 +#: .\templates\postman\base_folder.html.py:35 msgid "Subject" msgstr "Konu" -#: .\templates\postman\base_folder.html.py:28 +#: .\templates\postman\base_folder.html.py:36 msgid "Date" msgstr "Tarih" -#: .\templates\postman\base_folder.html.py:43 +#: .\templates\postman\base_folder.html.py:51 msgid "g:i A,M j,n/j/y" msgstr "" -#: .\templates\postman\base_folder.html.py:51 +#: .\templates\postman\base_folder.html.py:58 msgid "No messages." msgstr "Mesaj yok." -#: .\templates\postman\base_write.html.py:20 +#: .\templates\postman\base_write.html.py:33 msgid "Send" msgstr "Gönder" @@ -410,7 +416,8 @@ msgstr "Sayın kullanıcı," #: .\templates\postman\email_visitor.txt.py:3 #, python-format msgid "On %(date)s, you asked to send a message to the user '%(recipient)s'." -msgstr "%(date)s tarihinde, '%(recipient)s' kullanıcısına mesaj göndermek istediniz." +msgstr "" +"%(date)s tarihinde, '%(recipient)s' kullanıcısına mesaj göndermek istediniz." #: .\templates\postman\email_user.txt.py:5 #: .\templates\postman\email_visitor.txt.py:5 @@ -489,8 +496,8 @@ msgstr "Alınan Mesajlar" msgid "Received" msgstr "Alındı" -#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:25 -#: .\templates\postman\view.html.py:28 .\templates\postman\view.html.py:31 +#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:26 +#: .\templates\postman\view.html.py:29 .\templates\postman\view.html.py:32 msgid "Reply" msgstr "Cevapla" @@ -508,18 +515,18 @@ msgid "" "storage, use instead the archive folder." msgstr "" -#: .\templates\postman\view.html.py:5 +#: .\templates\postman\view.html.py:6 msgid "Conversation" msgstr "Sohbet" -#: .\templates\postman\view.html.py:13 +#: .\templates\postman\view.html.py:14 msgid ":" msgstr ":" -#: .\templates\postman\view.html.py:20 +#: .\templates\postman\view.html.py:21 msgid "Back" msgstr "Geri" -#: .\templatetags\postman_tags.py:35 +#: .\templatetags\postman_tags.py:48 msgid "" msgstr "" diff --git a/postman/locale/zh_CN/LC_MESSAGES/django.mo b/postman/locale/zh_CN/LC_MESSAGES/django.mo index 7dc0cf1bcf91fd85d706c0372f8004dbeb7ddbce..2309d93e0d5e39a27a70811767e824df77d78a8f 100644 GIT binary patch delta 1043 zcmXZbOGs2<6u|Lwle%g%J#l>7b!bq_DMz!%fPsY}h%JIFs6e49gEDb27h*RUB653O zwFwI{2_hQAjkM^oaAhqjYEeRq)E2d9Q;Y0><{p^K@0{~}_k54x1}E0Lp1m&eOGP9e z6Dh+a-giWfV>S7=^02;+l%=dfWFwa22CT(R=$Q@XKHN&Z-R!dZY0J-Bezih;X=7s6 z3Nz+YbIx4A9n5=Wez5u~>O#Lz`$%Qz0gR9iVmFSOFYqL}TP0G0eN}#Vf_@6k6fUDK zG=9ORnnanbx?Mr*>p`^|%>{W|a*_F@Ol`UGi$@2FQ9uNC1i z(u7GohPt6)Y``4q&Yz$*oU{CmxrEy1ljY0i8tRSwM!hMgF6`>W|r{yxc}@Fpav< zW7Lg2w|p6O;WbR)Up$1~E)haGi~9Z;?!lX=H#lp4Mm^AGuQ1P-Is!d$!aRz)(=(_I zFPb?lB7cC5_z3mpmQeqiQvQb&dZ-JW!rhob?LUdy@1c#qEZ8IRoj=>dmP0(`F~?d)7diCPH3-1D(YMFBkGs= z1@&;N!Cm*x_A#Pi9{mQl@kmf#yw{O@Z*k6XZsgyU^hMmEfoquw84nJ}?nPUZDSj

y$GB~oLq8Sw@*nKgb)5hJ delta 1078 zcmZY8&r8#B9LMqZn&norT;w#Z-0X*Ix#f38mQZ#mGs=Pvbx6nsGYXnE$sieDqC-DG zI?PiC`vWS_z62ct2_g!L2fF^jhYB0bnZ{iRl<2E%nCw51UjV*(dpGcLiD>6klEb34r=)<0==ztzKa z;z}D6OV*e)ADUCS#uusMt-B-)UtJcp4(}I)5zxK zCThSP)P?S&Zsd{Gv#1Nt<3_A#6lup4(vnlC?_b6gUPHY>&-{dXpqlu?JXewo^u$}u zZq%LTPy-9*CwvMdhy@@T4Z2E8FzZc`lkzzhKG*BpQmcOEWeyacg diff --git a/postman/locale/zh_CN/LC_MESSAGES/django.po b/postman/locale/zh_CN/LC_MESSAGES/django.po index c839833..a186ef3 100644 --- a/postman/locale/zh_CN/LC_MESSAGES/django.po +++ b/postman/locale/zh_CN/LC_MESSAGES/django.po @@ -2,12 +2,12 @@ # Copyright (C) 2011 Patrick Samson # This file is distributed under the same license as the django-postman package. # mikecool , 2011. -# +# msgid "" msgstr "" "Project-Id-Version: django-postman 1.0.x\n" "Report-Msgid-Bugs-To: http://bitbucket.org/psam/django-postman/issues\n" -"POT-Creation-Date: 2010-12-27 14:21+0100\n" +"POT-Creation-Date: 2012-12-10 23:19+0100\n" "PO-Revision-Date: 2011-02-03 08:41+0000\n" "Last-Translator: mikecool \n" "Language-Team: LANGUAGE \n" @@ -17,224 +17,228 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0\n" -#: .\admin.py:22 +#: .\admin.py:25 msgid "Sender and Recipient cannot be both undefined." msgstr "寄件人和收件人不能同时未定义。" -#: .\admin.py:29 +#: .\admin.py:32 msgid "Visitor's email is in excess." msgstr "游客的电子邮件过量。" -#: .\admin.py:34 +#: .\admin.py:37 msgid "Visitor's email is missing." msgstr "游客的电子邮件为空。" -#: .\admin.py:40 +#: .\admin.py:43 msgid "Reading date must be later to sending date." msgstr "阅读日期必须晚于发送日期。" -#: .\admin.py:45 +#: .\admin.py:48 msgid "Deletion date by sender must be later to sending date." msgstr "寄件人的删除日期必须晚于发送日期。" -#: .\admin.py:50 +#: .\admin.py:53 msgid "Deletion date by recipient must be later to sending date." msgstr "收件人的删除日期必须晚于发送日期。" -#: .\admin.py:58 +#: .\admin.py:61 msgid "Response date must be later to sending date." msgstr "回应日期必须晚于发送日期。" -#: .\admin.py:60 +#: .\admin.py:63 msgid "The message cannot be replied without having been read." msgstr "该消息不能被回复而没有被阅读过。" -#: .\admin.py:62 +#: .\admin.py:65 msgid "Response date must be later to reading date." msgstr "回应日期必须晚于阅读日期。" -#: .\admin.py:64 +#: .\admin.py:67 msgid "Response date cannot be set without at least one reply." msgstr "设置回应日期时至少需要有一个答复。" -#: .\admin.py:66 +#: .\admin.py:69 msgid "The message cannot be replied without being in a conversation." msgstr "该消息未在对话中所以不能被回复。" -#: .\admin.py:88 .\admin.py:157 .\templates\postman\view.html.py:5 +#: .\admin.py:92 .\admin.py:170 .\templates\postman\view.html.py:6 msgid "Message" msgstr "消息" -#: .\admin.py:93 +#: .\admin.py:97 msgid "Dates" msgstr "日期" -#: .\admin.py:98 .\admin.py:161 +#: .\admin.py:102 .\admin.py:174 msgid "Moderation" msgstr "适度" -#: .\fields.py:22 +#: .\fields.py:27 msgid "Some usernames are unknown or no more active: {users}." msgstr "有些用户名是未知的或非活动的:{users}。" -#: .\fields.py:23 -msgid "Ensure this value has at most {limit_value} distinct items (it has {show_value})." +#: .\fields.py:28 +msgid "" +"Ensure this value has at most {limit_value} distinct items (it has " +"{show_value})." msgstr "确保该值至多{limit_value}个不同的项目(有{show_value}个)。" -#: .\fields.py:24 -msgid "Ensure this value has at least {limit_value} distinct items (it has {show_value})." +#: .\fields.py:29 +msgid "" +"Ensure this value has at least {limit_value} distinct items (it has " +"{show_value})." msgstr "确保该值至少{limit_value}个不同的项目(有{show_value}个)。" -#: .\fields.py:25 +#: .\fields.py:30 msgid "Some usernames are rejected: {users}." msgstr "一些用户名被拒绝:{users}。" -#: .\fields.py:26 .\forms.py:65 -msgid "{user.username}" -msgstr "{user.username}" +#: .\fields.py:31 .\forms.py:71 +msgid "{username}" +msgstr "{username}" -#: .\fields.py:27 .\forms.py:66 -msgid "{user.username} ({reason})" -msgstr "{user.username} ({reason})" +#: .\fields.py:32 .\forms.py:72 +msgid "{username} ({reason})" +msgstr "{username} ({reason})" -#: .\forms.py:64 +#: .\forms.py:70 msgid "Writing to some users is not possible: {users}." msgstr "不可能写给一些用户:{users}。" -#: .\forms.py:148 .\forms.py:160 +#: .\forms.py:155 .\forms.py:168 msgid "Recipients" msgstr "收件人" -#: .\forms.py:148 .\forms.py:160 .\templates\postman\base_folder.html.py:26 +#: .\forms.py:155 .\forms.py:168 .\templates\postman\base_folder.html.py:34 #: .\templates\postman\reply.html.py:4 msgid "Recipient" msgstr "收件人" -#: .\forms.py:159 +#: .\forms.py:167 msgid "Email" msgstr "电子邮件" -#: .\forms.py:175 +#: .\forms.py:184 msgid "Undefined recipient." msgstr "未定义的收件人。" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipients" msgstr "其他收件人" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipient" msgstr "其他收件人" -#: .\models.py:19 +#: .\models.py:27 msgid "Pending" msgstr "未决" -#: .\models.py:20 +#: .\models.py:28 msgid "Accepted" msgstr "接受" -#: .\models.py:21 .\templates\postman\view.html.py:13 +#: .\models.py:29 .\templates\postman\view.html.py:14 msgid "Rejected" msgstr "被拒绝" -#: .\models.py:197 +#: .\models.py:242 msgid "subject" msgstr "主题" -#: .\models.py:198 +#: .\models.py:243 msgid "body" msgstr "主体" -#: .\models.py:199 .\models.py:281 +#: .\models.py:244 .\models.py:326 msgid "sender" msgstr "寄件人" -#: .\models.py:200 .\models.py:305 +#: .\models.py:245 .\models.py:350 msgid "recipient" msgstr "收件人" -#: .\models.py:201 +#: .\models.py:246 msgid "visitor" msgstr "游客" -#: .\models.py:202 +#: .\models.py:247 msgid "parent message" msgstr "父消息" -#: .\models.py:203 +#: .\models.py:248 msgid "root message" msgstr "根消息" -#: .\models.py:204 +#: .\models.py:249 msgid "sent at" msgstr "发送于" -#: .\models.py:205 +#: .\models.py:250 msgid "read at" msgstr "阅读于" -#: .\models.py:206 +#: .\models.py:251 msgid "replied at" msgstr "回答于" -#: .\models.py:207 +#: .\models.py:252 msgid "archived by sender" msgstr "被发件人存档" -#: .\models.py:208 +#: .\models.py:253 msgid "archived by recipient" msgstr "被收件人存档" -#: .\models.py:209 +#: .\models.py:254 msgid "deleted by sender at" msgstr "被发件人删除" -#: .\models.py:210 +#: .\models.py:255 msgid "deleted by recipient at" msgstr "被收件人删除" -#: .\models.py:212 +#: .\models.py:257 msgid "status" msgstr "状态" -#: .\models.py:214 +#: .\models.py:259 msgid "moderator" msgstr "主持人" -#: .\models.py:215 +#: .\models.py:260 msgid "moderated at" msgstr "主持于" -#: .\models.py:216 +#: .\models.py:261 msgid "rejection reason" msgstr "拒绝原因" -#: .\models.py:221 +#: .\models.py:266 msgid "message" msgstr "消息" -#: .\models.py:222 +#: .\models.py:267 msgid "messages" msgstr "消息" -#: .\models.py:333 +#: .\models.py:378 msgid "Undefined sender." msgstr "未定义的发件人。" -#: .\models.py:473 +#: .\models.py:523 msgid "pending message" msgstr "未决消息" -#: .\models.py:474 +#: .\models.py:524 msgid "pending messages" msgstr "未决消息" -#: .\utils.py:32 +#: .\utils.py:37 msgid "> " msgstr "> " -#: .\utils.py:48 +#: .\utils.py:53 msgid "" "\n" "\n" @@ -246,55 +250,55 @@ msgstr "" "{sender}写到:\n" "{body}\n" -#: .\utils.py:57 +#: .\utils.py:63 msgid "Re: {subject}" msgstr "回复:{subject}" -#: .\views.py:129 .\views.py:187 +#: .\views.py:144 .\views.py:206 msgid "Message successfully sent." msgstr "邮件成功发送。" -#: .\views.py:131 .\views.py:189 +#: .\views.py:146 .\views.py:208 msgid "Message rejected for at least one recipient." msgstr "邮件的收件人至少有一个被拒绝了。" -#: .\views.py:276 +#: .\views.py:299 msgid "Select at least one object." msgstr "至少选择一个对象。" -#: .\views.py:282 +#: .\views.py:306 msgid "Messages or conversations successfully archived." msgstr "邮件或对话已成功存档。" -#: .\views.py:287 +#: .\views.py:312 msgid "Messages or conversations successfully deleted." msgstr "邮件或对话已成功删除。" -#: .\views.py:292 +#: .\views.py:318 msgid "Messages or conversations successfully recovered." msgstr "邮件或对话已成功回收。" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Message Rejected" msgstr "邮件被拒绝" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Your message has been rejected" msgstr "您的邮件已被拒绝" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "Message Received" msgstr "消息接收到了" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "You have received a message" msgstr "您收到一条消息" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "Reply Received" msgstr "收到答复" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "You have received a reply" msgstr "您已收到答复" @@ -316,84 +320,86 @@ msgid "Archived Messages" msgstr "归档的邮件" #: .\templates\postman\archives.html.py:7 -msgid "Messages in this folder will never be removed. You can use this folder for long term storage." +msgid "" +"Messages in this folder will never be removed. You can use this folder for " +"long term storage." msgstr "此文件夹中的信息将永远不会被删除。你可以使用此文件夹为长期贮存。" -#: .\templates\postman\base.html.py:3 +#: .\templates\postman\base.html.py:4 msgid "Messaging" msgstr "消息" -#: .\templates\postman\base.html.py:6 +#: .\templates\postman\base.html.py:13 msgid "Inbox" msgstr "收件箱" -#: .\templates\postman\base.html.py:7 .\templates\postman\sent.html.py:3 +#: .\templates\postman\base.html.py:14 .\templates\postman\sent.html.py:3 msgid "Sent Messages" msgstr "发送的邮件" -#: .\templates\postman\base.html.py:8 .\templates\postman\write.html.py:3 +#: .\templates\postman\base.html.py:15 .\templates\postman\write.html.py:3 msgid "Write" msgstr "写" -#: .\templates\postman\base.html.py:9 +#: .\templates\postman\base.html.py:16 msgid "Archives" msgstr "归档" -#: .\templates\postman\base.html.py:10 +#: .\templates\postman\base.html.py:17 msgid "Trash" msgstr "垃圾" -#: .\templates\postman\base_folder.html.py:9 +#: .\templates\postman\base_folder.html.py:16 msgid "Sorry, this page number is invalid." msgstr "对不起,此页号无效。" -#: .\templates\postman\base_folder.html.py:12 +#: .\templates\postman\base_folder.html.py:20 msgid "by conversation" msgstr "在对话" -#: .\templates\postman\base_folder.html.py:13 +#: .\templates\postman\base_folder.html.py:21 msgid "by message" msgstr "通过消息" -#: .\templates\postman\base_folder.html.py:17 -#: .\templates\postman\view.html.py:22 +#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\view.html.py:23 msgid "Delete" msgstr "删除" -#: .\templates\postman\base_folder.html.py:18 -#: .\templates\postman\view.html.py:23 +#: .\templates\postman\base_folder.html.py:26 +#: .\templates\postman\view.html.py:24 msgid "Archive" msgstr "归档" -#: .\templates\postman\base_folder.html.py:19 +#: .\templates\postman\base_folder.html.py:27 msgid "Undelete" msgstr "取消删除" -#: .\templates\postman\base_folder.html.py:24 +#: .\templates\postman\base_folder.html.py:32 msgid "Action" msgstr "动作" -#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\base_folder.html.py:33 msgid "Sender" msgstr "寄件人" -#: .\templates\postman\base_folder.html.py:27 +#: .\templates\postman\base_folder.html.py:35 msgid "Subject" msgstr "主体" -#: .\templates\postman\base_folder.html.py:28 +#: .\templates\postman\base_folder.html.py:36 msgid "Date" msgstr "日期" -#: .\templates\postman\base_folder.html.py:43 +#: .\templates\postman\base_folder.html.py:51 msgid "g:i A,M j,n/j/y" msgstr "G:i,M j,y/n/j" -#: .\templates\postman\base_folder.html.py:51 +#: .\templates\postman\base_folder.html.py:58 msgid "No messages." msgstr "没有邮件。" -#: .\templates\postman\base_write.html.py:20 +#: .\templates\postman\base_write.html.py:33 msgid "Send" msgstr "发送" @@ -486,8 +492,8 @@ msgstr "收到的邮件" msgid "Received" msgstr "收到的" -#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:25 -#: .\templates\postman\view.html.py:28 .\templates\postman\view.html.py:31 +#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:26 +#: .\templates\postman\view.html.py:29 .\templates\postman\view.html.py:32 msgid "Reply" msgstr "回复的" @@ -500,21 +506,23 @@ msgid "Deleted Messages" msgstr "已删除邮件" #: .\templates\postman\trash.html.py:10 -msgid "Messages in this folder can be removed from time to time. For long term storage, use instead the archive folder." +msgid "" +"Messages in this folder can be removed from time to time. For long term " +"storage, use instead the archive folder." msgstr "此文件夹中的邮件可时不时被删除。为了长期保存,使用规档文件夹作为取代。" -#: .\templates\postman\view.html.py:5 +#: .\templates\postman\view.html.py:6 msgid "Conversation" msgstr "对话" -#: .\templates\postman\view.html.py:13 +#: .\templates\postman\view.html.py:14 msgid ":" msgstr ":" -#: .\templates\postman\view.html.py:20 +#: .\templates\postman\view.html.py:21 msgid "Back" msgstr "返回" -#: .\templatetags\postman_tags.py:35 +#: .\templatetags\postman_tags.py:48 msgid "" msgstr "<我>" diff --git a/postman/locale/zh_TW/LC_MESSAGES/django.mo b/postman/locale/zh_TW/LC_MESSAGES/django.mo index d90a0e3bf488ea29aedad258dc2c0a7925b076c5..0b5d1336dfeca6262be478a2efb9d64942d07377 100644 GIT binary patch delta 1040 zcmXZbUr1AN6u|Mbq&C-LwQw#qoz}I9Eo>6*#Rmy#6e9|eup)&PM6^ONi6Iw?sGt|S z2KAB=WJD2-p)b-~WDp?|NMRJz>t6cz)drK___m_fb?_t}zDgi1${-W=SExoMjtY1IfGiDggVeQ z+>LiEE~5^-gbu#PKKzMX($(g_pF=TK)hZ!Xq4 zh`cpFTfU0g|DRdc;qO$~3k0{PwL*%Fnzbi6^Em1uoU-`5HxO)gwAKt6^}acW`e)9g zF0Sm|4&K~0Me8!R{)1b&#cL0B2c(h@T@M7VR95SUBf;X>#lp0dyli|noJsHJ>PcpL dD{Jv@n_KMJ{k5LPAq0K0xFnBq9hR zN8A_$xycAJh9Yp$EDAR+GKdI?q9|I_b~g6Y2Hev~e%_cK}+Ban$wS2e5=Pb_DiX%}9 zhb=K@J}@7f&#;=h=jLn6e?i^oJGSCaGvRj!?Zac_2h1FHX&sj1$vVe9K@Z2@OX31* z!&~NEOb|c9ZTJz-VgdWHi)#wuqWRwZgL*TefNKP`ZybB@5FW%?heaEUcc>FpZ+EXe zfZBLJ>dCut4-TN#O`$ftWAQ`tDeA^~igdN!NxFx4#x04>Z^Hc@ekA+3vhjUpg3y(6Q~3Bq5glesKd!vXybX*$rj9f zu|VXN`PuRX)cTUJ>n7Bj+G;kK5!8N3^N8g;%`@oTKtX@@cxio9Tihn4t!K@9<~$Zh zL%w;E&)z7#Ud2ML@X?>-7CxidP+7BQB-c?k>G4QzrTmn)DmFZn9?bM!N>9kRE@Ro4 mZ@MB8ZAnIxsbI^#+_LXO, 2011. # , 2012. @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: django-postman\n" "Report-Msgid-Bugs-To: http://bitbucket.org/psam/django-postman/issues\n" -"POT-Creation-Date: 2010-12-27 14:21+0100\n" +"POT-Creation-Date: 2012-12-10 23:21+0100\n" "PO-Revision-Date: 2012-06-26 12:57+0000\n" "Last-Translator: lueo \n" "Language-Team: LANGUAGE \n" @@ -19,284 +19,288 @@ msgstr "" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0\n" -#: .\admin.py:22 +#: .\admin.py:25 msgid "Sender and Recipient cannot be both undefined." msgstr "寄件人和收件人皆未定義。" -#: .\admin.py:29 +#: .\admin.py:32 msgid "Visitor's email is in excess." msgstr "訪客的email量已超過限額。" -#: .\admin.py:34 +#: .\admin.py:37 msgid "Visitor's email is missing." msgstr "訪客的email未填。" -#: .\admin.py:40 +#: .\admin.py:43 msgid "Reading date must be later to sending date." msgstr "閱讀日期必須晚於發送日期。" -#: .\admin.py:45 +#: .\admin.py:48 msgid "Deletion date by sender must be later to sending date." msgstr "寄件人的刪除日期必須晚於發送日期。" -#: .\admin.py:50 +#: .\admin.py:53 msgid "Deletion date by recipient must be later to sending date." msgstr "收件人的刪除日期必須晚於發送日期。" -#: .\admin.py:58 +#: .\admin.py:61 msgid "Response date must be later to sending date." msgstr "回應日期必須晚於發送日期。" -#: .\admin.py:60 +#: .\admin.py:63 msgid "The message cannot be replied without having been read." msgstr "該消息不能被回覆而沒有被閱讀過。" -#: .\admin.py:62 +#: .\admin.py:65 msgid "Response date must be later to reading date." msgstr "回應日期必須晚於閱讀日期。" -#: .\admin.py:64 +#: .\admin.py:67 msgid "Response date cannot be set without at least one reply." msgstr "設置回應日期時至少要有一個答覆。" -#: .\admin.py:66 +#: .\admin.py:69 msgid "The message cannot be replied without being in a conversation." msgstr "該訊息未在對話中,所以不能被回覆。" -#: .\admin.py:88 .\admin.py:157 .\templates\postman\view.html.py:5 +#: .\admin.py:92 .\admin.py:170 .\templates\postman\view.html.py:6 msgid "Message" msgstr "訊息" -#: .\admin.py:93 +#: .\admin.py:97 msgid "Dates" msgstr "日期" -#: .\admin.py:98 .\admin.py:161 +#: .\admin.py:102 .\admin.py:174 msgid "Moderation" msgstr "適度" -#: .\fields.py:22 +#: .\fields.py:27 msgid "Some usernames are unknown or no more active: {users}." msgstr "有些用戶名是未知的或非活動的:{users}。" -#: .\fields.py:23 +#: .\fields.py:28 msgid "" "Ensure this value has at most {limit_value} distinct items (it has " "{show_value})." msgstr "確保該值至多{limit_value}個不同的項目(有{show_value}個)。" -#: .\fields.py:24 +#: .\fields.py:29 msgid "" "Ensure this value has at least {limit_value} distinct items (it has " "{show_value})." msgstr "確保該值至少{limit_value}個不同的項目(有{show_value}個)。" -#: .\fields.py:25 +#: .\fields.py:30 msgid "Some usernames are rejected: {users}." msgstr "一些用戶名被拒絕:{users}。" -#: .\fields.py:26 .\forms.py:65 -msgid "{user.username}" -msgstr "{user.username}" +#: .\fields.py:31 .\forms.py:71 +msgid "{username}" +msgstr "{username}" -#: .\fields.py:27 .\forms.py:66 -msgid "{user.username} ({reason})" -msgstr "{user.username} ({reason})" +#: .\fields.py:32 .\forms.py:72 +msgid "{username} ({reason})" +msgstr "{username} ({reason})" -#: .\forms.py:64 +#: .\forms.py:70 msgid "Writing to some users is not possible: {users}." msgstr "不可能寫給一些用戶:{users}。" -#: .\forms.py:148 .\forms.py:160 +#: .\forms.py:155 .\forms.py:168 msgid "Recipients" msgstr "收件人" -#: .\forms.py:148 .\forms.py:160 .\templates\postman\base_folder.html.py:26 +#: .\forms.py:155 .\forms.py:168 .\templates\postman\base_folder.html.py:34 #: .\templates\postman\reply.html.py:4 msgid "Recipient" msgstr "收件人" -#: .\forms.py:159 +#: .\forms.py:167 msgid "Email" msgstr "Email" -#: .\forms.py:175 +#: .\forms.py:184 msgid "Undefined recipient." msgstr "未定義的收件人。" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipients" msgstr "其他收件人" -#: .\forms.py:194 +#: .\forms.py:205 msgid "Additional recipient" msgstr "其他收件人" -#: .\models.py:19 +#: .\models.py:27 msgid "Pending" msgstr "待處理" -#: .\models.py:20 +#: .\models.py:28 msgid "Accepted" msgstr "接受" -#: .\models.py:21 .\templates\postman\view.html.py:13 +#: .\models.py:29 .\templates\postman\view.html.py:14 msgid "Rejected" msgstr "被拒絕" -#: .\models.py:197 +#: .\models.py:242 msgid "subject" msgstr "主題" -#: .\models.py:198 +#: .\models.py:243 msgid "body" msgstr "主體" -#: .\models.py:199 .\models.py:281 +#: .\models.py:244 .\models.py:326 msgid "sender" msgstr "寄件人" -#: .\models.py:200 .\models.py:305 +#: .\models.py:245 .\models.py:350 msgid "recipient" msgstr "收件人" -#: .\models.py:201 +#: .\models.py:246 msgid "visitor" msgstr "訪客" -#: .\models.py:202 +#: .\models.py:247 msgid "parent message" msgstr "前訊息" -#: .\models.py:203 +#: .\models.py:248 msgid "root message" msgstr "原訊息" -#: .\models.py:204 +#: .\models.py:249 msgid "sent at" msgstr "發送於" -#: .\models.py:205 +#: .\models.py:250 msgid "read at" msgstr "閱讀於" -#: .\models.py:206 +#: .\models.py:251 msgid "replied at" msgstr "回答於" -#: .\models.py:207 +#: .\models.py:252 msgid "archived by sender" msgstr "被寄件人存檔" -#: .\models.py:208 +#: .\models.py:253 msgid "archived by recipient" msgstr "被收件人存檔" -#: .\models.py:209 +#: .\models.py:254 msgid "deleted by sender at" msgstr "被寄件人刪除" -#: .\models.py:210 +#: .\models.py:255 msgid "deleted by recipient at" msgstr "被收件人刪除" -#: .\models.py:212 +#: .\models.py:257 msgid "status" msgstr "狀態" -#: .\models.py:214 +#: .\models.py:259 msgid "moderator" msgstr "管制者" -#: .\models.py:215 +#: .\models.py:260 msgid "moderated at" msgstr "管制於" -#: .\models.py:216 +#: .\models.py:261 msgid "rejection reason" msgstr "拒絕原因" -#: .\models.py:221 +#: .\models.py:266 msgid "message" msgstr "訊息" -#: .\models.py:222 +#: .\models.py:267 msgid "messages" msgstr "訊息" -#: .\models.py:333 +#: .\models.py:378 msgid "Undefined sender." msgstr "未定義的寄件人。" -#: .\models.py:473 +#: .\models.py:523 msgid "pending message" msgstr "待處理消息" -#: .\models.py:474 +#: .\models.py:524 msgid "pending messages" msgstr "待處理消息" -#: .\utils.py:32 +#: .\utils.py:37 msgid "> " msgstr "> " -#: .\utils.py:48 +#: .\utils.py:53 msgid "" "\n" "\n" "{sender} wrote:\n" "{body}\n" -msgstr "\n\n{sender}寫道:\n{body}\n" +msgstr "" +"\n" +"\n" +"{sender}寫道:\n" +"{body}\n" -#: .\utils.py:57 +#: .\utils.py:63 msgid "Re: {subject}" msgstr "回覆:{subject}" -#: .\views.py:129 .\views.py:187 +#: .\views.py:144 .\views.py:206 msgid "Message successfully sent." msgstr "郵件成功發送。" -#: .\views.py:131 .\views.py:189 +#: .\views.py:146 .\views.py:208 msgid "Message rejected for at least one recipient." msgstr "郵件的收件人至少有一個被拒絕了。" -#: .\views.py:276 +#: .\views.py:299 msgid "Select at least one object." msgstr "至少選擇一個對象。" -#: .\views.py:282 +#: .\views.py:306 msgid "Messages or conversations successfully archived." msgstr "訊息或對話已成功存檔。" -#: .\views.py:287 +#: .\views.py:312 msgid "Messages or conversations successfully deleted." msgstr "訊息或對話已成功刪除。" -#: .\views.py:292 +#: .\views.py:318 msgid "Messages or conversations successfully recovered." msgstr "訊息或對話已成功回收。" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Message Rejected" msgstr "郵件被拒絕" -#: .\management\__init__.py:14 +#: .\management\__init__.py:15 msgid "Your message has been rejected" msgstr "您的郵件已被拒絕" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "Message Received" msgstr "接收到訊息" -#: .\management\__init__.py:15 +#: .\management\__init__.py:16 msgid "You have received a message" msgstr "您收到一則訊息" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "Reply Received" msgstr "收到答覆" -#: .\management\__init__.py:16 +#: .\management\__init__.py:17 msgid "You have received a reply" msgstr "您已收到答覆" @@ -323,81 +327,81 @@ msgid "" "long term storage." msgstr "此文件夾中的信息將永遠不會被刪除。你可以使用此文件夾以做為長期保存。" -#: .\templates\postman\base.html.py:3 +#: .\templates\postman\base.html.py:4 msgid "Messaging" msgstr "訊息" -#: .\templates\postman\base.html.py:6 +#: .\templates\postman\base.html.py:13 msgid "Inbox" msgstr "收件匣" -#: .\templates\postman\base.html.py:7 .\templates\postman\sent.html.py:3 +#: .\templates\postman\base.html.py:14 .\templates\postman\sent.html.py:3 msgid "Sent Messages" msgstr "發送的訊息" -#: .\templates\postman\base.html.py:8 .\templates\postman\write.html.py:3 +#: .\templates\postman\base.html.py:15 .\templates\postman\write.html.py:3 msgid "Write" msgstr "編寫" -#: .\templates\postman\base.html.py:9 +#: .\templates\postman\base.html.py:16 msgid "Archives" msgstr "歸檔" -#: .\templates\postman\base.html.py:10 +#: .\templates\postman\base.html.py:17 msgid "Trash" msgstr "垃圾" -#: .\templates\postman\base_folder.html.py:9 +#: .\templates\postman\base_folder.html.py:16 msgid "Sorry, this page number is invalid." msgstr "對不起,此頁號無效。" -#: .\templates\postman\base_folder.html.py:12 +#: .\templates\postman\base_folder.html.py:20 msgid "by conversation" msgstr "以對話排序" -#: .\templates\postman\base_folder.html.py:13 +#: .\templates\postman\base_folder.html.py:21 msgid "by message" msgstr "以訊息排序" -#: .\templates\postman\base_folder.html.py:17 -#: .\templates\postman\view.html.py:22 +#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\view.html.py:23 msgid "Delete" msgstr "刪除" -#: .\templates\postman\base_folder.html.py:18 -#: .\templates\postman\view.html.py:23 +#: .\templates\postman\base_folder.html.py:26 +#: .\templates\postman\view.html.py:24 msgid "Archive" msgstr "歸檔" -#: .\templates\postman\base_folder.html.py:19 +#: .\templates\postman\base_folder.html.py:27 msgid "Undelete" msgstr "取消刪除" -#: .\templates\postman\base_folder.html.py:24 +#: .\templates\postman\base_folder.html.py:32 msgid "Action" msgstr "動作" -#: .\templates\postman\base_folder.html.py:25 +#: .\templates\postman\base_folder.html.py:33 msgid "Sender" msgstr "寄件人" -#: .\templates\postman\base_folder.html.py:27 +#: .\templates\postman\base_folder.html.py:35 msgid "Subject" msgstr "主體" -#: .\templates\postman\base_folder.html.py:28 +#: .\templates\postman\base_folder.html.py:36 msgid "Date" msgstr "日期" -#: .\templates\postman\base_folder.html.py:43 +#: .\templates\postman\base_folder.html.py:51 msgid "g:i A,M j,n/j/y" msgstr "g:i A,M j,n/j/y" -#: .\templates\postman\base_folder.html.py:51 +#: .\templates\postman\base_folder.html.py:58 msgid "No messages." msgstr "沒有訊息。" -#: .\templates\postman\base_write.html.py:20 +#: .\templates\postman\base_write.html.py:33 msgid "Send" msgstr "發送" @@ -456,7 +460,9 @@ msgstr "網站管理員" msgid "" "Note: This message is issued by an automated system.\n" "Do not reply, this would not be taken into account." -msgstr "註:此郵件是由系統自動發出。\n請勿回覆。回覆的郵件將無法接收。" +msgstr "" +"註:此郵件是由系統自動發出。\n" +"請勿回覆。回覆的郵件將無法接收。" #: .\templates\postman\email_user_subject.txt.py:1 #: .\templates\postman\email_visitor_subject.txt.py:1 @@ -488,8 +494,8 @@ msgstr "收到的郵件" msgid "Received" msgstr "收到的" -#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:25 -#: .\templates\postman\view.html.py:28 .\templates\postman\view.html.py:31 +#: .\templates\postman\reply.html.py:3 .\templates\postman\view.html.py:26 +#: .\templates\postman\view.html.py:29 .\templates\postman\view.html.py:32 msgid "Reply" msgstr "回覆的" @@ -507,18 +513,18 @@ msgid "" "storage, use instead the archive folder." msgstr "此文件夾中的郵件隨時會被刪除。如要長期保存,請使用歸檔文件夾。" -#: .\templates\postman\view.html.py:5 +#: .\templates\postman\view.html.py:6 msgid "Conversation" msgstr "對話" -#: .\templates\postman\view.html.py:13 +#: .\templates\postman\view.html.py:14 msgid ":" msgstr ":" -#: .\templates\postman\view.html.py:20 +#: .\templates\postman\view.html.py:21 msgid "Back" msgstr "返回" -#: .\templatetags\postman_tags.py:35 +#: .\templatetags\postman_tags.py:48 msgid "" msgstr "<我>" diff --git a/postman/management/__init__.py b/postman/management/__init__.py index cefbc1c..45a96bc 100644 --- a/postman/management/__init__.py +++ b/postman/management/__init__.py @@ -1,3 +1,4 @@ +from __future__ import unicode_literals import sys from django.conf import settings diff --git a/postman/management/commands/postman_checkup.py b/postman/management/commands/postman_checkup.py index 374076e..4d53dad 100644 --- a/postman/management/commands/postman_checkup.py +++ b/postman/management/commands/postman_checkup.py @@ -1,3 +1,4 @@ +from __future__ import unicode_literals import datetime from django.core.management.base import NoArgsCommand @@ -5,6 +6,7 @@ from django.db.models import Q, F, Count from postman.models import Message + class Command(NoArgsCommand): help = "Can be run as a cron job or directly to check-up data consistency in the database." diff --git a/postman/management/commands/postman_cleanup.py b/postman/management/commands/postman_cleanup.py index 509d8a7..5f9378e 100644 --- a/postman/management/commands/postman_cleanup.py +++ b/postman/management/commands/postman_cleanup.py @@ -1,3 +1,4 @@ +from __future__ import unicode_literals from datetime import timedelta from optparse import make_option @@ -11,6 +12,7 @@ except ImportError: from postman.models import Message + class Command(NoArgsCommand): help = """Can be run as a cron job or directly to clean out old data from the database: Messages or conversations marked as deleted by both sender and recipient, diff --git a/postman/models.py b/postman/models.py index 7decc78..3018e1b 100644 --- a/postman/models.py +++ b/postman/models.py @@ -1,7 +1,11 @@ +from __future__ import unicode_literals import hashlib from django.conf import settings -from django.contrib.auth.models import User +try: + from django.contrib.auth import get_user_model # Django 1.5 +except ImportError: + from postman.future_1_5 import get_user_model from django.core.exceptions import ValidationError from django.db import models from django.utils.text import truncate_words @@ -27,8 +31,8 @@ STATUS_CHOICES = ( # ordering constants ORDER_BY_KEY = 'o' # as 'order' ORDER_BY_FIELDS = { - 'f': 'sender__username', # as 'from' - 't': 'recipient__username', # as 'to' + 'f': 'sender__' + get_user_model().USERNAME_FIELD, # as 'from' + 't': 'recipient__' + get_user_model().USERNAME_FIELD, # as 'to' 's': 'subject', # as 'subject' 'd': 'sent_at', # as 'date' } @@ -48,9 +52,9 @@ def get_order_by(query_dict): >>> get_order_by({}) >>> get_order_by({ORDER_BY_KEY: 'f'}) - 'sender__username' + u'sender__username' >>> get_order_by({ORDER_BY_KEY: 'D'}) - '-sent_at' + u'-sent_at' """ if ORDER_BY_KEY in query_dict: code = query_dict[ORDER_BY_KEY] # code may be uppercase or lowercase @@ -237,8 +241,8 @@ class Message(models.Model): subject = models.CharField(_("subject"), max_length=SUBJECT_MAX_LENGTH) body = models.TextField(_("body"), blank=True) - sender = models.ForeignKey(User, related_name='sent_messages', null=True, blank=True, verbose_name=_("sender")) - recipient = models.ForeignKey(User, related_name='received_messages', null=True, blank=True, verbose_name=_("recipient")) + sender = models.ForeignKey(get_user_model(), related_name='sent_messages', null=True, blank=True, verbose_name=_("sender")) + recipient = models.ForeignKey(get_user_model(), related_name='received_messages', null=True, blank=True, verbose_name=_("recipient")) email = models.EmailField(_("visitor"), blank=True) # instead of either sender or recipient, for an AnonymousUser parent = models.ForeignKey('self', related_name='next_messages', null=True, blank=True, verbose_name=_("parent message")) thread = models.ForeignKey('self', related_name='child_messages', null=True, blank=True, verbose_name=_("root message")) @@ -251,7 +255,7 @@ class Message(models.Model): recipient_deleted_at = models.DateTimeField(_("deleted by recipient at"), null=True, blank=True) # moderation fields moderation_status = models.CharField(_("status"), max_length=1, choices=STATUS_CHOICES, default=STATUS_PENDING) - moderation_by = models.ForeignKey(User, related_name='moderated_messages', + moderation_by = models.ForeignKey(get_user_model(), related_name='moderated_messages', null=True, blank=True, verbose_name=_("moderator")) moderation_date = models.DateTimeField(_("moderated at"), null=True, blank=True) moderation_reason = models.CharField(_("rejection reason"), max_length=120, blank=True) @@ -264,7 +268,7 @@ class Message(models.Model): ordering = ['-sent_at', '-id'] def __unicode__(self): - return u"{0}>{1}:{2}".format(self.obfuscated_sender, self.obfuscated_recipient, truncate_words(self.subject, 5)) + return "{0}>{1}:{2}".format(self.obfuscated_sender, self.obfuscated_recipient, truncate_words(self.subject,5)) @models.permalink def get_absolute_url(self): @@ -305,7 +309,7 @@ class Message(models.Model): shrunken_digest = '..'.join((digest[:4], digest[-4:])) # 32 characters is too long and is useless bits = email.split('@') if len(bits) != 2: - return u'' + return '' domain = bits[1] return '@'.join((shrunken_digest, domain.rsplit('.', 1)[0])) # leave off the TLD to gain some space diff --git a/postman/templatetags/pagination_tags.py b/postman/templatetags/pagination_tags.py index 4b8f957..acb805c 100644 --- a/postman/templatetags/pagination_tags.py +++ b/postman/templatetags/pagination_tags.py @@ -9,21 +9,27 @@ as it may be the case for the test suite run in a minimal configuration. To deactivate this mock and use the real implementation, just make sure that 'pagination' is declared before 'postman' in the INSTALLED_APPS setting. """ +from __future__ import unicode_literals + from django.template import Node, Library register = Library() + class AutoPaginateNode(Node): def render(self, context): - return u'' + return '' + @register.tag def autopaginate(parser, token): return AutoPaginateNode() + class PaginateNode(Node): def render(self, context): - return u'' + return '' + @register.tag def paginate(parser, token): diff --git a/postman/templatetags/postman_admin_modify.py b/postman/templatetags/postman_admin_modify.py index 7c3052a..375cef2 100644 --- a/postman/templatetags/postman_admin_modify.py +++ b/postman/templatetags/postman_admin_modify.py @@ -4,10 +4,13 @@ to define a customized version of 'submit_row' tag with a cutomized html templat In use in templates/admin/postman/pendingmessage/change_form.html. """ +from __future__ import unicode_literals + from django import template register = template.Library() + @register.inclusion_tag('admin/postman/pendingmessage/submit_line.html') def postman_submit_row(): return {} diff --git a/postman/templatetags/postman_tags.py b/postman/templatetags/postman_tags.py index 639369d..7ca48eb 100644 --- a/postman/templatetags/postman_tags.py +++ b/postman/templatetags/postman_tags.py @@ -1,7 +1,11 @@ +from __future__ import unicode_literals import datetime from django import VERSION -from django.contrib.auth.models import User +try: + from django.contrib.auth import get_user_model # Django 1.5 +except ImportError: + from postman.future_1_5 import get_user_model from django.http import QueryDict from django.template import Node from django.template import TemplateSyntaxError @@ -14,10 +18,10 @@ from postman.models import ORDER_BY_KEY, ORDER_BY_MAPPER, Message,\ register = Library() + ########## # filters ########## - @register.filter def sub(value, arg): """Subtract the arg from the value.""" @@ -36,10 +40,11 @@ def or_me(value, arg): Typical usage: message.obfuscated_sender|or_me:user """ + user_model = get_user_model() if not isinstance(value, (unicode, str)): - value = (get_user_representation if isinstance(value, User) else unicode)(value) + value = (get_user_representation if isinstance(value, user_model) else unicode)(value) if not isinstance(arg, (unicode, str)): - arg = (get_user_representation if isinstance(arg, User) else unicode)(arg) + arg = (get_user_representation if isinstance(arg, user_model) else unicode)(arg) return _('') if value == arg else value @@ -52,16 +57,16 @@ def compact_date(value, arg): Typical usage: |compact_date:_("G:i,j b,j/n/y") """ - bits = arg.split(u',') + bits = arg.split(',') if len(bits) < 3: return value # Invalid arg. today = datetime.date.today() return date(value, bits[0] if value.date() == today else bits[1] if value.year == today.year else bits[2]) + ####### # tags ####### - class OrderByNode(Node): "For use in the postman_order_by tag" def __init__(self, code): @@ -84,7 +89,7 @@ class OrderByNode(Node): else: code = None if self.code: - gets[ORDER_BY_KEY] = self.code if self.code <> code else self.code.upper() + gets[ORDER_BY_KEY] = self.code if self.code != code else self.code.upper() return '?'+gets.urlencode() if gets else '' diff --git a/postman/test_urls.py b/postman/test_urls.py index f47bb02..dff34ca 100644 --- a/postman/test_urls.py +++ b/postman/test_urls.py @@ -2,38 +2,49 @@ URLconf for tests.py usage. """ +from __future__ import unicode_literals + from django.conf import settings try: - from django.conf.urls import patterns, include, url # django 1.4 + from django.conf.urls import patterns, include, url # django 1.4 +except ImportError: + from django.conf.urls.defaults import * # "patterns, include, url" is enough for django 1.3, "*" for django 1.2 +try: + from django.contrib.auth import get_user_model # Django 1.5 except ImportError: - from django.conf.urls.defaults import * # "patterns, include, url" is enough for django 1.3, "*" for django 1.2 + from postman.future_1_5 import get_user_model from django.forms import ValidationError -from django.views.generic.simple import redirect_to +from django.views.generic.base import RedirectView from postman.urls import OPTIONS + # user_filter function set def user_filter_reason(user): - if user.username == 'bar': return 'some reason' + if user.get_username() == 'bar': + return 'some reason' return None def user_filter_no_reason(user): return '' def user_filter_false(user): return False def user_filter_exception(user): - if user.username == 'bar': raise ValidationError(['first good reason',"anyway, I don't like {0}".format(user.username)]) + if user.get_username() == 'bar': + raise ValidationError(['first good reason', "anyway, I don't like {0}".format(user.get_username())]) return None # exchange_filter function set def exch_filter_reason(sender, recipient, recipients_list): - if recipient.username=='bar': return 'some reason' + if recipient.get_username() == 'bar': + return 'some reason' return None def exch_filter_no_reason(sender, recipient, recipients_list): return '' def exch_filter_false(sender, recipient, recipients_list): return False def exch_filter_exception(sender, recipient, recipients_list): - if recipient.username == 'bar': raise ValidationError(['first good reason',"anyway, I don't like {0}".format(recipient.username)]) + if recipient.get_username() == 'bar': + raise ValidationError(['first good reason', "anyway, I don't like {0}".format(recipient.get_username())]) return None # auto-moderation function set @@ -62,7 +73,7 @@ postman_patterns = patterns('postman.views', url(r'^archive/$', 'archive', name='postman_archive'), url(r'^delete/$', 'delete', name='postman_delete'), url(r'^undelete/$', 'undelete', name='postman_undelete'), - (r'^$', redirect_to, {'url': 'inbox/'}), + (r'^$', RedirectView.as_view(url='inbox/')), # Customized set # 'success_url' @@ -115,18 +126,18 @@ postman_patterns = patterns('postman.views', ) urlpatterns = patterns('', - (r'^accounts/login/$', 'django.contrib.auth.views.login'), # because of the login_required decorator + (r'^accounts/login/$', 'django.contrib.auth.views.login'), # because of the login_required decorator (r'^messages/', include(postman_patterns)), ) # because of fields.py/AutoCompleteWidget/render()/reverse() if 'ajax_select' in settings.INSTALLED_APPS: urlpatterns += patterns('', - (r'^ajax_select/', include('ajax_select.urls')), # django-ajax-selects + (r'^ajax_select/', include('ajax_select.urls')), # django-ajax-selects ) # optional if 'notification' in settings.INSTALLED_APPS: urlpatterns += patterns('', - (r'^notification/', include('notification.urls')), # django-notification + (r'^notification/', include('notification.urls')), # django-notification ) diff --git a/postman/tests.py b/postman/tests.py index deb2894..22a38d9 100644 --- a/postman/tests.py +++ b/postman/tests.py @@ -31,6 +31,7 @@ INSTALLED_APPS = ( ) """ +from __future__ import unicode_literals import copy from datetime import datetime, timedelta import re @@ -38,7 +39,11 @@ import sys from django.conf import settings from django.contrib.auth import REDIRECT_FIELD_NAME -from django.contrib.auth.models import User, AnonymousUser +try: + from django.contrib.auth import get_user_model # Django 1.5 +except ImportError: + from postman.future_1_5 import get_user_model +from django.contrib.auth.models import AnonymousUser from django.core import mail from django.core.exceptions import ValidationError from django.core.urlresolvers import reverse, clear_url_caches, get_resolver, get_urlconf @@ -71,7 +76,7 @@ class GenericTest(TestCase): Usual generic tests. """ def test_version(self): - self.assertEqual(sys.modules['postman'].__version__, "2.1.0a1") + self.assertEqual(sys.modules['postman'].__version__, "2.1.0") class BaseTest(TestCase): @@ -99,9 +104,9 @@ class BaseTest(TestCase): } self.reload_modules() - self.user1 = User.objects.create_user('foo', 'foo@domain.com', 'pass') - self.user2 = User.objects.create_user('bar', 'bar@domain.com', 'pass') - self.user3 = User.objects.create_user('baz', 'baz@domain.com', 'pass') + self.user1 = get_user_model().objects.create_user('foo', 'foo@domain.com', 'pass') + self.user2 = get_user_model().objects.create_user('bar', 'bar@domain.com', 'pass') + self.user3 = get_user_model().objects.create_user('baz', 'baz@domain.com', 'pass') self.email = 'qux@domain.com' def check_now(self, dt): @@ -297,7 +302,8 @@ class ViewTest(BaseTest): response = self.client.get(url + '?subject=that%20is%20the%20subject') self.assertContains(response, 'value="that is the subject"') response = self.client.get(url + '?body=this%20is%20my%20body') - self.assertContains(response, 'name="body">this is my body') + # before Dj 1.5: 'name="body">this is my body' ; after: 'name="body">\r\nthis is my body' + self.assertContains(response, 'this is my body') def test_write_querystring(self): "Test the prefilling by query string." @@ -309,7 +315,7 @@ class ViewTest(BaseTest): self.assertEqual(m.body, body) self.assertEqual(m.email, 'a@b.com' if is_anonymous else '') self.assertEqual(m.sender, self.user1 if not is_anonymous else None) - self.assertEqual(m.recipient.username, recipient_username) + self.assertEqual(m.recipient.get_username(), recipient_username) if is_anonymous: self.check_status(m, sender_deleted_at=True) self.assertEqual(len(mail.outbox), 0) @@ -318,7 +324,7 @@ class ViewTest(BaseTest): "Check message generation, redirection, and mandatory fields." url = reverse('postman_write') url_with_success_url = reverse('postman_write_with_success_url_to_sent') - data = {'recipients': self.user2.username, 'subject': 's', 'body': 'b'} + data = {'recipients': self.user2.get_username(), 'subject': 's', 'body': 'b'} data.update(extra) # default redirect is to the requestor page response = self.client.post(url, data, HTTP_REFERER=url) @@ -358,7 +364,7 @@ class ViewTest(BaseTest): url = reverse('postman_write') data = { 'email': 'a@b.com', 'subject': 's', 'body': 'b', - 'recipients': '{0}, {1}'.format(self.user2.username, self.user3.username)} + 'recipients': '{0}, {1}'.format(self.user2.get_username(), self.user3.get_username())} # anonymous response = self.client.post(url, data, HTTP_REFERER=url) self.assertFormError(response, 'form', 'recipients', CommaSeparatedUserField.default_error_messages['max'].format(limit_value=1, show_value=2)) @@ -384,7 +390,7 @@ class ViewTest(BaseTest): url = reverse('postman_write') data = { 'subject': 's', 'body': 'b', - 'recipients': '{0}, {1}'.format(self.user2.username, self.user3.username)} + 'recipients': '{0}, {1}'.format(self.user2.get_username(), self.user3.get_username())} self.assert_(self.client.login(username='foo', password='pass')) response = self.client.post(reverse('postman_write_with_user_filter_reason'), data, HTTP_REFERER=url) @@ -414,7 +420,7 @@ class ViewTest(BaseTest): def test_write_post_moderate(self): "Test 'auto_moderators' parameter." url = reverse('postman_write') - data = {'subject': 's', 'body': 'b', 'recipients': self.user2.username} + data = {'subject': 's', 'body': 'b', 'recipients': self.user2.get_username()} self.assert_(self.client.login(username='foo', password='pass')) response = self.client.post(reverse('postman_write_moderate'), data, HTTP_REFERER=url) self.assertRedirects(response, url) @@ -436,7 +442,7 @@ class ViewTest(BaseTest): from postman.forms import FullReplyForm self.assert_(isinstance(response.context['form'], FullReplyForm)) self.assertContains(response, 'value="Re: s"') - self.assertContains(response, 'name="body">\n\nbar wrote:\n> this is my body') + self.assertContains(response, '\n\nbar wrote:\n> this is my body\n') self.assertEqual(response.context['recipient'], 'bar') def test_reply_formatters(self): @@ -448,7 +454,7 @@ class ViewTest(BaseTest): response = self.client.get(url) self.assertTemplateUsed(response, template) self.assertContains(response, 'value="Re_ s"') - self.assertContains(response, 'name="body">bar _ this is my body') + self.assertContains(response, 'bar _ this is my body') def test_reply_auto_complete(self): "Test the 'autocomplete_channel' parameter." @@ -520,7 +526,7 @@ class ViewTest(BaseTest): "Test number of recipients constraint." pk = self.c21().pk url = reverse('postman_reply', args=[pk]) - data = {'subject': 's', 'body': 'b', 'recipients': self.user3.username} + data = {'subject': 's', 'body': 'b', 'recipients': self.user3.get_username()} self.assert_(self.client.login(username='foo', password='pass')) response = self.client.post(url, data, HTTP_REFERER=url) self.assertRedirects(response, url) @@ -528,7 +534,7 @@ class ViewTest(BaseTest): self.check_message(Message.objects.get(pk=pk+2), recipient_username='baz') url_with_max = reverse('postman_reply_with_max', args=[pk]) - data.update(recipients='{0}, {1}'.format(self.user2.username, self.user3.username)) + data.update(recipients='{0}, {1}'.format(self.user2.get_username(), self.user3.get_username())) response = self.client.post(url_with_max, data, HTTP_REFERER=url) self.assertFormError(response, 'form', 'recipients', CommaSeparatedUserField.default_error_messages['max'].format(limit_value=1, show_value=2)) @@ -543,7 +549,7 @@ class ViewTest(BaseTest): "Test user- and exchange- filters." pk = self.c21().pk url = reverse('postman_reply', args=[pk]) - data = {'subject': 's', 'body': 'b', 'recipients': '{0}, {1}'.format(self.user2.username, self.user3.username)} + data = {'subject': 's', 'body': 'b', 'recipients': '{0}, {1}'.format(self.user2.get_username(), self.user3.get_username())} self.assert_(self.client.login(username='foo', password='pass')) response = self.client.post(reverse('postman_reply_with_user_filter_reason', args=[pk]), data, HTTP_REFERER=url) @@ -619,7 +625,7 @@ class ViewTest(BaseTest): response = self.client.get(url) self.assertTemplateUsed(response, template) self.assertNotContains(response, 'value="Re_ s"') - self.assertContains(response, 'name="body">bar _ this is my body') + self.assertContains(response, 'bar _ this is my body') def check_view_404(self, pk): self.check_404('postman_view', pk) @@ -1052,18 +1058,18 @@ class MessageTest(BaseTest): m.clean() else: self.assertRaises(ValidationError, m.clean) - self.assertEqual(m.admin_sender(), s.username if s else '<'+email+'>') + self.assertEqual(m.admin_sender(), s.get_username() if s else '<'+email+'>') self.assertEqual(m.clear_sender, m.admin_sender()) if s: - self.assertEqual(m.obfuscated_sender, s.username) + self.assertEqual(m.obfuscated_sender, s.get_username()) elif email: self.assert_(obfuscated_email_re.match(m.obfuscated_sender)) else: self.assertEqual(m.obfuscated_sender, '') - self.assertEqual(m.admin_recipient(), r.username if r else '<'+email+'>') + self.assertEqual(m.admin_recipient(), r.get_username() if r else '<'+email+'>') self.assertEqual(m.clear_recipient, m.admin_recipient()) if r: - self.assertEqual(m.obfuscated_recipient, r.username) + self.assertEqual(m.obfuscated_recipient, r.get_username()) elif email: self.assert_(obfuscated_email_re.match(m.obfuscated_recipient)) else: @@ -1525,10 +1531,10 @@ class FiltersTest(BaseTest): self.check_compact_date(dt, default, format='one') self.check_compact_date(dt, default, format='one,two') self.check_compact_date(dt, dt.strftime('%H:%M')) - dt = now() - timedelta(days=1) # little fail: do not work on Jan, 1st, because the year changes as well - self.check_compact_date(dt, dt.strftime('%d %b').lower()) # filter's 'b' is lowercase - dt = now() - timedelta(days=365) - self.check_compact_date(dt, dt.strftime('%d/%m/%y')) + dt2 = dt - timedelta(days=1) # little fail: do not work on Jan, 1st, because the year changes as well + self.check_compact_date(dt2, dt2.strftime('%d %b').lower()) # filter's 'b' is lowercase + dt2 = dt - timedelta(days=365) + self.check_compact_date(dt2, dt2.strftime('%d/%m/%y')) class TagsTest(BaseTest): @@ -1630,7 +1636,7 @@ class ApiTest(BaseTest): self.assertEqual(m.body, body) self.assertEqual(m.email, '') self.assertEqual(m.sender, self.user1) - self.assertEqual(m.recipient.username, recipient_username) + self.assertEqual(m.recipient.get_username(), recipient_username) def test_pm_broadcast(self): "Test the case of a single recipient." diff --git a/postman/urls.py b/postman/urls.py index 49d44c9..b9a63cc 100644 --- a/postman/urls.py +++ b/postman/urls.py @@ -6,7 +6,7 @@ this one in your root URLconf to set up the default URLs:: Otherwise you may customize the behavior by passing extra parameters. -Recipients Max +Recipients Max -------------- Views supporting the parameter are: ``write``, ``reply``. Example:: @@ -86,11 +86,13 @@ Refer to documentation. ..., {'formatters': (format_subject,format_body)}, name='postman_view'), """ +from __future__ import unicode_literals + try: - from django.conf.urls import patterns, include, url # django 1.4 + from django.conf.urls import patterns, include, url # django 1.4 except ImportError: - from django.conf.urls.defaults import patterns, include, url # django 1.3 -from django.views.generic.simple import redirect_to + from django.conf.urls.defaults import patterns, include, url # django 1.3 +from django.views.generic.base import RedirectView OPTION_MESSAGES = 'm' OPTIONS = OPTION_MESSAGES @@ -107,5 +109,5 @@ urlpatterns = patterns('postman.views', url(r'^archive/$', 'archive', name='postman_archive'), url(r'^delete/$', 'delete', name='postman_delete'), url(r'^undelete/$', 'undelete', name='postman_undelete'), - (r'^$', redirect_to, {'url': 'inbox/'}), + (r'^$', RedirectView.as_view(url='inbox/')), ) diff --git a/postman/utils.py b/postman/utils.py index d9a2c98..88074f8 100644 --- a/postman/utils.py +++ b/postman/utils.py @@ -1,3 +1,4 @@ +from __future__ import unicode_literals import re import sys from textwrap import TextWrapper @@ -32,6 +33,7 @@ DISABLE_USER_EMAILING = getattr(settings, 'POSTMAN_DISABLE_USER_EMAILING', False # default wrap width; referenced in forms.py WRAP_WIDTH = 55 + def format_body(sender, body, indent=_("> "), width=WRAP_WIDTH): """ Wrap the text and prepend lines with a prefix. @@ -44,12 +46,13 @@ def format_body(sender, body, indent=_("> "), width=WRAP_WIDTH): Used for quoting messages in replies. """ - indent = force_unicode(indent) # join() doesn't work on lists with lazy translation objects + indent = force_unicode(indent) # join() doesn't work on lists with lazy translation objects wrapper = TextWrapper(width=width, initial_indent=indent, subsequent_indent=indent) # rem: TextWrapper doesn't add the indent on an empty text quote = '\n'.join([line.startswith(indent) and indent+line or wrapper.fill(line) or indent for line in body.splitlines()]) return ugettext("\n\n{sender} wrote:\n{body}\n").format(sender=sender, body=quote) + def format_subject(subject): """ Prepend a pattern to the subject, unless already there. @@ -61,6 +64,7 @@ def format_subject(subject): pattern = '^' + str.replace('{subject}', '.*') + '$' return subject if re.match(pattern, subject, re.IGNORECASE) else str.format(subject=subject) + def email(subject_template, message_template, recipient_list, object, action=None): """Compose and send an email.""" site = Site.objects.get_current() @@ -72,10 +76,12 @@ def email(subject_template, message_template, recipient_list, object, action=Non # during the development phase, consider using the setting: EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, recipient_list, fail_silently=True) + def email_visitor(object, action): """Email a visitor.""" email('postman/email_visitor_subject.txt', 'postman/email_visitor.txt', [object.email], object, action) + def notify_user(object, action): """Notify a user.""" if action == 'rejection': diff --git a/postman/views.py b/postman/views.py index 12ba197..511d91c 100644 --- a/postman/views.py +++ b/postman/views.py @@ -1,9 +1,13 @@ +from __future__ import unicode_literals import urlparse from django.conf import settings from django.contrib import messages from django.contrib.auth.decorators import login_required -from django.contrib.auth.models import User +try: + from django.contrib.auth import get_user_model # Django 1.5 +except ImportError: + from postman.future_1_5 import get_user_model from django.core.urlresolvers import reverse from django.db.models import Q from django.http import Http404 @@ -11,7 +15,7 @@ from django.shortcuts import render_to_response, get_object_or_404, redirect from django.template import RequestContext from django.utils.translation import ugettext as _ try: - from django.utils.timezone import now # Django 1.4 aware datetimes + from django.utils.timezone import now # Django 1.4 aware datetimes except ImportError: from datetime import datetime now = datetime.now @@ -22,6 +26,7 @@ from postman.models import Message, get_order_by from postman.urls import OPTION_MESSAGES from postman.utils import format_subject, format_body + ########## # Helpers ########## @@ -29,7 +34,8 @@ def _get_referer(request): """Return the HTTP_REFERER, if existing.""" if 'HTTP_REFERER' in request.META: sr = urlparse.urlsplit(request.META['HTTP_REFERER']) - return urlparse.urlunsplit(('','',sr.path,sr.query,sr.fragment)) + return urlparse.urlunsplit(('', '', sr.path, sr.query, sr.fragment)) + ######## # Views @@ -44,15 +50,16 @@ def _folder(request, folder_name, view_name, option, template_name): kwargs.update(order_by=order_by) msgs = getattr(Message.objects, folder_name)(request.user, **kwargs) return render_to_response(template_name, { - 'pm_messages': msgs, # avoid 'messages', already used by contrib.messages + 'pm_messages': msgs, # avoid 'messages', already used by contrib.messages 'by_conversation': option is None, 'by_message': option == OPTION_MESSAGES, 'by_conversation_url': reverse(view_name), 'by_message_url': reverse(view_name, args=[OPTION_MESSAGES]), 'current_url': request.get_full_path(), - 'gets': request.GET, # useful to postman_order_by template tag + 'gets': request.GET, # useful to postman_order_by template tag }, context_instance=RequestContext(request)) + @login_required def inbox(request, option=None, template_name='postman/inbox.html'): """ @@ -67,6 +74,7 @@ def inbox(request, option=None, template_name='postman/inbox.html'): """ return _folder(request, 'inbox', 'postman_inbox', option, template_name) + @login_required def sent(request, option=None, template_name='postman/sent.html'): """ @@ -77,6 +85,7 @@ def sent(request, option=None, template_name='postman/sent.html'): """ return _folder(request, 'sent', 'postman_sent', option, template_name) + @login_required def archives(request, option=None, template_name='postman/archives.html'): """ @@ -87,6 +96,7 @@ def archives(request, option=None, template_name='postman/archives.html'): """ return _folder(request, 'archives', 'postman_archives', option, template_name) + @login_required def trash(request, option=None, template_name='postman/trash.html'): """ @@ -97,6 +107,7 @@ def trash(request, option=None, template_name='postman/trash.html'): """ return _folder(request, 'trash', 'postman_trash', option, template_name) + def write(request, recipients=None, form_classes=(WriteForm, AnonymousWriteForm), autocomplete_channels=None, template_name='postman/write.html', success_url=None, user_filter=None, exchange_filter=None, max=None, auto_moderators=[]): @@ -135,14 +146,15 @@ def write(request, recipients=None, form_classes=(WriteForm, AnonymousWriteForm) messages.warning(request, _("Message rejected for at least one recipient."), fail_silently=True) return redirect(request.GET.get('next', success_url or next_url or 'postman_inbox')) else: - initial = dict(request.GET.items()) # allow optional initializations by query string + initial = dict(request.GET.items()) # allow optional initializations by query string if recipients: # order_by() is not mandatory, but: a) it doesn't hurt; b) it eases the test suite # and anyway the original ordering cannot be respected. - usernames = list(User.objects.values_list('username', flat=True).filter( + user_model = get_user_model() + usernames = list(user_model.objects.values_list(user_model.USERNAME_FIELD, flat=True).filter( is_active=True, - username__in=[r.strip() for r in recipients.split(':') if r and not r.isspace()], - ).order_by('username')) + **{'{0}__in'.format(user_model.USERNAME_FIELD): [r.strip() for r in recipients.split(':') if r and not r.isspace()]} + ).order_by(user_model.USERNAME_FIELD)) if usernames: initial.update(recipients=', '.join(usernames)) form = form_class(initial=initial, channel=channel) @@ -154,6 +166,7 @@ def write(request, recipients=None, form_classes=(WriteForm, AnonymousWriteForm) if getattr(settings, 'POSTMAN_DISALLOW_ANONYMOUS', False): write = login_required(write) + @login_required def reply(request, message_id, form_class=FullReplyForm, formatters=(format_subject,format_body), autocomplete_channel=None, template_name='postman/reply.html', success_url=None, @@ -180,7 +193,7 @@ def reply(request, message_id, form_class=FullReplyForm, formatters=(format_subj next_url = _get_referer(request) if request.method == 'POST': post = request.POST.copy() - if 'subject' not in post: # case of the quick reply form + if 'subject' not in post: # case of the quick reply form post['subject'] = initial['subject'] form = form_class(post, sender=user, recipient=parent.sender or parent.email, channel=autocomplete_channel, @@ -195,7 +208,7 @@ def reply(request, message_id, form_class=FullReplyForm, formatters=(format_subj messages.warning(request, _("Message rejected for at least one recipient."), fail_silently=True) return redirect(request.GET.get('next', success_url or next_url or 'postman_inbox')) else: - initial.update(request.GET.items()) # allow overwriting of the defaults by query string + initial.update(request.GET.items()) # allow overwriting of the defaults by query string form = form_class(initial=initial, channel=autocomplete_channel) return render_to_response(template_name, { 'form': form, @@ -204,6 +217,7 @@ def reply(request, message_id, form_class=FullReplyForm, formatters=(format_subj 'next_url': request.GET.get('next', next_url), }, context_instance=RequestContext(request)) + def _view(request, filter, form_class=QuickReplyForm, formatters=(format_subject,format_body), template_name='postman/view.html'): """ @@ -237,21 +251,24 @@ def _view(request, filter, form_class=QuickReplyForm, formatters=(format_subject 'pm_messages': msgs, 'archived': archived, 'reply_to_pk': received.pk if received else None, - 'form' : form_class(initial=received.quote(*formatters)) if received else None, + 'form': form_class(initial=received.quote(*formatters)) if received else None, 'next_url': request.GET.get('next', reverse('postman_inbox')), }, context_instance=RequestContext(request)) raise Http404 + @login_required def view(request, message_id, *args, **kwargs): """Display one specific message.""" return _view(request, Q(pk=message_id), *args, **kwargs) + @login_required def view_conversation(request, thread_id, *args, **kwargs): """Display a conversation.""" return _view(request, Q(thread=thread_id), *args, **kwargs) + def _update(request, field_bit, success_msg, field_value=None, success_url=None): """ Code common to the archive/delete/undelete actions. @@ -275,23 +292,26 @@ def _update(request, field_bit, success_msg, field_value=None, success_url=None) recipient_rows = Message.objects.as_recipient(user, filter).update(**{'recipient_{0}'.format(field_bit): field_value}) sender_rows = Message.objects.as_sender(user, filter).update(**{'sender_{0}'.format(field_bit): field_value}) if not (recipient_rows or sender_rows): - raise Http404 # abnormal enough, like forged ids + raise Http404 # abnormal enough, like forged ids messages.success(request, success_msg, fail_silently=True) return redirect(request.GET.get('next', success_url or next_url)) else: messages.warning(request, _("Select at least one object."), fail_silently=True) return redirect(next_url) + @login_required def archive(request, *args, **kwargs): """Mark messages/conversations as archived.""" return _update(request, 'archived', _("Messages or conversations successfully archived."), True, *args, **kwargs) + @login_required def delete(request, *args, **kwargs): """Mark messages/conversations as deleted.""" return _update(request, 'deleted_at', _("Messages or conversations successfully deleted."), now(), *args, **kwargs) + @login_required def undelete(request, *args, **kwargs): """Revert messages/conversations from marked as deleted.""" -- 2.39.5