From 147c05d74ae34c90f5644ee5ee890b5daf30203d Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Sun, 9 Jul 2017 13:32:32 +0300 Subject: [PATCH 1/6] Add application config --- django_mailbox/__init__.py | 2 ++ django_mailbox/apps.py | 7 +++++++ 2 files changed, 9 insertions(+) create mode 100644 django_mailbox/apps.py diff --git a/django_mailbox/__init__.py b/django_mailbox/__init__.py index ba01fa3..376f996 100644 --- a/django_mailbox/__init__.py +++ b/django_mailbox/__init__.py @@ -1 +1,3 @@ __version__ = '4.5.4' + +default_app_config = 'django_mailbox.apps.MailBoxConfig' diff --git a/django_mailbox/apps.py b/django_mailbox/apps.py new file mode 100644 index 0000000..87eb64b --- /dev/null +++ b/django_mailbox/apps.py @@ -0,0 +1,7 @@ +from django.apps import AppConfig +from django.utils.translation import ugettext_lazy as _ + + +class MailBoxConfig(AppConfig): + name = 'django_mailbox' + verbose_name = _("Mail Box") From e2ba20d629fb35225140008437ddd93bcf516ba7 Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Sun, 9 Jul 2017 13:33:56 +0300 Subject: [PATCH 2/6] Add translation for action short descriptions --- django_mailbox/admin.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/django_mailbox/admin.py b/django_mailbox/admin.py index 25eaa71..c586b40 100644 --- a/django_mailbox/admin.py +++ b/django_mailbox/admin.py @@ -10,6 +10,7 @@ import logging from django.conf import settings from django.contrib import admin +from django.utils.translation import ugettext_lazy as _ from django_mailbox.models import MessageAttachment, Message, Mailbox from django_mailbox.signals import message_received @@ -25,7 +26,7 @@ def get_new_mail(mailbox_admin, request, queryset): mailbox.get_new_mail() -get_new_mail.short_description = 'Get new mail' +get_new_mail.short_description = _('Get new mail') def resend_message_received_signal(message_admin, request, queryset): @@ -35,7 +36,7 @@ def resend_message_received_signal(message_admin, request, queryset): resend_message_received_signal.short_description = ( - 'Re-send message received signal' + _('Re-send message received signal') ) @@ -65,6 +66,8 @@ class MessageAdmin(admin.ModelAdmin): def attachment_count(self, msg): return msg.attachments.count() + attachment_count.short_description = _('Attachment count') + def subject(self, msg): return convert_header_to_unicode(msg.subject) From 29fa6faad5f817550398aa8cbbfe833184c8a5cf Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Sun, 9 Jul 2017 13:34:50 +0300 Subject: [PATCH 3/6] Add verbose_name for models --- django_mailbox/models.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/django_mailbox/models.py b/django_mailbox/models.py index fd0ecf8..d5fb3da 100644 --- a/django_mailbox/models.py +++ b/django_mailbox/models.py @@ -406,7 +406,8 @@ class Mailbox(models.Model): return self.name class Meta: - verbose_name_plural = "Mailboxes" + verbose_name = _('Mailbox') + verbose_name_plural = _('Mailboxes') class IncomingMessageManager(models.Manager): @@ -711,6 +712,10 @@ class Message(models.Model): def __unicode__(self): return self.subject + class Meta: + verbose_name = _('E-mail message') + verbose_name_plural = _('E-mail messages') + class MessageAttachment(models.Model): message = models.ForeignKey( @@ -783,3 +788,7 @@ class MessageAttachment(models.Model): def __unicode__(self): return self.document.url + + class Meta: + verbose_name = _('Message attachment') + verbose_name_plural = _('Message attachments') From 16a5d3423358db97f6caad647ca426f7c0e453d4 Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Sun, 9 Jul 2017 13:35:26 +0300 Subject: [PATCH 4/6] Add locale files to package --- MANIFEST.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MANIFEST.in b/MANIFEST.in index 355d641..85e79bb 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -5,3 +5,5 @@ recursive-include django_mailbox *.eml recursive-include docs *.py recursive-include docs *.rst recursive-include docs Makefile +recursive-include django_mailbox/locale *.po +recursive-include django_mailbox/locale *.mo From 4ccb0bb702ec275875d472aeac06a9f6c4242743 Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Sun, 9 Jul 2017 13:38:08 +0300 Subject: [PATCH 5/6] Add Russian translation --- .../locale/ru_RU/LC_MESSAGES/django.mo | Bin 0 -> 5358 bytes .../locale/ru_RU/LC_MESSAGES/django.po | 193 ++++++++++++++++++ 2 files changed, 193 insertions(+) create mode 100644 django_mailbox/locale/ru_RU/LC_MESSAGES/django.mo create mode 100644 django_mailbox/locale/ru_RU/LC_MESSAGES/django.po diff --git a/django_mailbox/locale/ru_RU/LC_MESSAGES/django.mo b/django_mailbox/locale/ru_RU/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..2b589a60c912ec7368b8a81567c83d51d6c332cf GIT binary patch literal 5358 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 literal 0 HcmV?d00001 diff --git a/django_mailbox/locale/ru_RU/LC_MESSAGES/django.po b/django_mailbox/locale/ru_RU/LC_MESSAGES/django.po new file mode 100644 index 0000000..2af155e --- /dev/null +++ b/django_mailbox/locale/ru_RU/LC_MESSAGES/django.po @@ -0,0 +1,193 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-09 05:36-0500\n" +"PO-Revision-Date: 2017-07-09 13:37+0300\n" +"Last-Translator: Ivlev Denis \n" +"Language-Team: \n" +"Language: ru_RU\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" +"X-Generator: Poedit 1.8.7.1\n" + +#: django_mailbox/admin.py:29 +msgid "Get new mail" +msgstr "Получить новые сообщения" + +#: django_mailbox/admin.py:39 +msgid "Re-send message received signal" +msgstr "Повторно отправить сигнал о получении" + +#: django_mailbox/admin.py:69 +msgid "Attachment count" +msgstr "Кол-во вложений\t" + +#: django_mailbox/apps.py:7 +msgid "Mail Box" +msgstr "Почтовый ящик" + +#: django_mailbox/models.py:49 +msgid "Name" +msgstr "Название" + +#: django_mailbox/models.py:54 +msgid "URI" +msgstr "URI" + +#: django_mailbox/models.py:57 +msgid "" +"Example: imap+ssl://myusername:mypassword@someserver

Internet " +"transports include 'imap' and 'pop3'; common local file transports include " +"'maildir', 'mbox', and less commonly 'babyl', 'mh', and 'mmdf'.

Be sure to urlencode your username and password should they contain illegal " +"characters (like @, :, etc)." +msgstr "" +"Пример: imap+ssl://myusername:mypassword@someserver

Интернет-" +"транспорт может быть 'imap' или 'pop3'; поддерживаются локальные файловые " +"транспорты 'maildir', 'mbox', а также 'babyl', 'mh', and 'mmdf'.

Используйте urlencode, если имя пользователя или пароль содержат " +"недопустипыесимволы (@, :, и т.д.)." + +#: django_mailbox/models.py:72 +msgid "From email" +msgstr "От" + +#: django_mailbox/models.py:75 +msgid "" +"Example: MailBot <mailbot@yourdomain.com>
'From' header to set " +"for outgoing email.

If you do not use this e-mail inbox for " +"outgoing mail, this setting is unnecessary.
If you send e-mail without " +"setting this, your 'From' header will'be set to match the setting " +"`DEFAULT_FROM_EMAIL`." +msgstr "" +"Пример: MailBot <mailbot@yourdomain.com>
Исходящая электронная " +"почта.

Если вы не используете этот почтовый ящик для исходящей " +"почты, этот параметр не нужен.
Если вы не указали данный параметр, " +"будет использоваться указанный в настройках `DEFAULT_FROM_EMAIL`." + +#: django_mailbox/models.py:89 +msgid "Active" +msgstr "Активный" + +#: django_mailbox/models.py:91 +msgid "" +"Check this e-mail inbox for new e-mail messages during polling cycles. This " +"checkbox does not have an effect upon whether mail is collected here when " +"this mailbox receives mail from a pipe, and does not affect whether e-mail " +"messages can be dispatched from this mailbox. " +msgstr "" +"Параметр указывает на необходимость проверки почтового ящика на наличие " +"новых сообщений в цикле опроса. Этот флажок не влияет на сбор почты, когда " +"этот почтовый ящик получает почту из канала и не влияет на отправку " +"сообщений электронной почты из этого почтового ящика." + +#: django_mailbox/models.py:102 +msgid "Last polling" +msgstr "Последний опрос" + +#: django_mailbox/models.py:103 +msgid "" +"The time of last successful polling for messages.It is blank for new " +"mailboxes and is not set for mailboxes that only receive messages via a pipe." +msgstr "" +"Время последнего успешного опроса сообщений. Для нового почтового ящикане " +"установлено. Также не устанавливается для почтовых ящиков " +"обнновляющихсообщения через pipe." + +#: django_mailbox/models.py:409 django_mailbox/models.py:438 +msgid "Mailbox" +msgstr "Почтовый ящик" + +#: django_mailbox/models.py:410 +msgid "Mailboxes" +msgstr "Почтовые ящики" + +#: django_mailbox/models.py:442 +msgid "Subject" +msgstr "Тема" + +#: django_mailbox/models.py:447 +msgid "Message ID" +msgstr "Идентификатор сообщения" + +#: django_mailbox/models.py:456 +msgid "In reply to" +msgstr "Ответ на" + +#: django_mailbox/models.py:460 +msgid "From header" +msgstr "Заголовок От(From)" + +#: django_mailbox/models.py:465 +msgid "To header" +msgstr "Заголовок Кому(To)" + +#: django_mailbox/models.py:469 +msgid "Outgoing" +msgstr "Исходящее" + +#: django_mailbox/models.py:475 +msgid "Body" +msgstr "Тело" + +#: django_mailbox/models.py:479 +msgid "Encoded" +msgstr "Закодировано" + +#: django_mailbox/models.py:481 +msgid "True if the e-mail body is Base64 encoded" +msgstr "True если тело сообщения закодировано в Base64" + +#: django_mailbox/models.py:485 +msgid "Processed" +msgstr "Обработано" + +#: django_mailbox/models.py:490 +msgid "Read" +msgstr "Прочитано" + +#: django_mailbox/models.py:497 +msgid "Raw message contents" +msgstr "Сырое содержимое сообщения" + +#: django_mailbox/models.py:500 +msgid "Original full content of message" +msgstr "Полное содержимое сообщения" + +#: django_mailbox/models.py:716 +msgid "E-mail message" +msgstr "Сообщение" + +#: django_mailbox/models.py:717 +msgid "E-mail messages" +msgstr "Сообщения" + +#: django_mailbox/models.py:726 +msgid "Message" +msgstr "Сообщение" + +#: django_mailbox/models.py:730 +msgid "Headers" +msgstr "Заголовки" + +#: django_mailbox/models.py:736 +msgid "Document" +msgstr "Документ" + +#: django_mailbox/models.py:793 +msgid "Message attachment" +msgstr "Вложение" + +#: django_mailbox/models.py:794 +msgid "Message attachments" +msgstr "Вложения" From 00c21dd8786baecc0641b5b7cf1ad4ca6e0d624d Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Sun, 9 Jul 2017 17:50:24 +0300 Subject: [PATCH 6/6] Fix Russian translation --- .../locale/ru_RU/LC_MESSAGES/django.mo | Bin 5358 -> 5329 bytes .../locale/ru_RU/LC_MESSAGES/django.po | 16 ++++++++-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/django_mailbox/locale/ru_RU/LC_MESSAGES/django.mo b/django_mailbox/locale/ru_RU/LC_MESSAGES/django.mo index 2b589a60c912ec7368b8a81567c83d51d6c332cf..06dd2c9e8c0550671d97cef5a6fb48e395c4f0e7 100644 GIT binary patch delta 361 zcmXZXJ4iz@6vpurtx|2J&3%BcN(U7?C=~=dDuOsv7big-MR0U+kt*1si?1wBZtmiB zC=~802topmqGNH;+0p;i3n9OJhm&yfU2&EBx@wGz$j_ii7Q>v#mlB!4A~`=K;$bPZ zio@g;e4=j~-*B=ZlA*4&2v12r&Y{NS{!;2DmdJZJf@fM9e}`KNV-(tH<15aRyO<0T z@=D@#>LMWJAcj}rpwvT4ltC~-*OPBSJ3bB2#9e3f*UCXvz(`e5( K2Z3*{f}LO5ggo{D delta 385 zcmZwCF)su`6u|K}xXW?5xZPVqgj3kW708MB03sAF6q-{|`T`Qs$Y~TJT(J_>UHAfW zOeA7Md!m}D6&i&|Xes^YY$=(U-@Lc)P2SqlSE*G|wNVlI=@ZG|U{>T)i4-wUoXd&$ zIF?w(A>u`BQ@4pP81{?wkXN3FdoPXCIDxKz9VwCRs+o#jF5Oj*YJi@ z_>FFmkfd`yaT(``tH_cQjsP!k7H@G0-;pIVg})zMz%m1`V3GWOz*rS74Z6GWLvM7& z8P%(U>~ku5%}@I0re(BwG%@>zeLo(hy;arJRnF9+8
Используйте urlencode, если имя пользователя или пароль содержат " -"недопустипыесимволы (@, :, и т.д.)." +"недопустипые символы (@, :, и т.д.)." #: django_mailbox/models.py:72 msgid "From email" @@ -100,9 +100,9 @@ msgid "" "The time of last successful polling for messages.It is blank for new " "mailboxes and is not set for mailboxes that only receive messages via a pipe." msgstr "" -"Время последнего успешного опроса сообщений. Для нового почтового ящикане " +"Время последнего успешного опроса сообщений. Для нового почтового ящика не " "установлено. Также не устанавливается для почтовых ящиков " -"обнновляющихсообщения через pipe." +"обновляющих сообщения через pipe." #: django_mailbox/models.py:409 django_mailbox/models.py:438 msgid "Mailbox" @@ -122,15 +122,15 @@ msgstr "Идентификатор сообщения" #: django_mailbox/models.py:456 msgid "In reply to" -msgstr "Ответ на" +msgstr "В ответ на" #: django_mailbox/models.py:460 msgid "From header" -msgstr "Заголовок От(From)" +msgstr "От(From)" #: django_mailbox/models.py:465 msgid "To header" -msgstr "Заголовок Кому(To)" +msgstr "Кому(To)" #: django_mailbox/models.py:469 msgid "Outgoing" @@ -158,7 +158,7 @@ msgstr "Прочитано" #: django_mailbox/models.py:497 msgid "Raw message contents" -msgstr "Сырое содержимое сообщения" +msgstr "Исходное содержимое сообщения" #: django_mailbox/models.py:500 msgid "Original full content of message"