diff --git a/dev/Styles/User/FolderList.less b/dev/Styles/User/FolderList.less
index 6157ec2e1..d920dfd90 100644
--- a/dev/Styles/User/FolderList.less
+++ b/dev/Styles/User/FolderList.less
@@ -82,7 +82,7 @@
border-left: 3px solid transparent;
color: var(--folders-color, #333);
display: block;
- line-height: 34px;
+ line-height: 2.2em;
padding: 0 2em 0 @folderItemPadding;
position: relative;
text-decoration: none;
@@ -151,7 +151,7 @@
color: var(--unread-count-color, #fff);
font-size: 80%;
line-height: 1.5em;
- margin-top: 7px;
+ margin-top: 0.5em;
min-width: 1.7em;
padding: 1px 4px;
text-align: center;
diff --git a/integrations/nextcloud/snappymail/appinfo/info.xml b/integrations/nextcloud/snappymail/appinfo/info.xml
index d73ef28a0..d85ad52ed 100644
--- a/integrations/nextcloud/snappymail/appinfo/info.xml
+++ b/integrations/nextcloud/snappymail/appinfo/info.xml
@@ -63,8 +63,9 @@ There, click on the link to go to the SnappyMail admin panel.
uuid
xxtea
zip
+
-->
-
+
OCA\SnappyMail\Settings\AdminSettings
diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Base/DateTimeHelper.php b/snappymail/v/0.0.0/app/libraries/MailSo/Base/DateTimeHelper.php
index c4cb6c4bc..74bb1cc25 100644
--- a/snappymail/v/0.0.0/app/libraries/MailSo/Base/DateTimeHelper.php
+++ b/snappymail/v/0.0.0/app/libraries/MailSo/Base/DateTimeHelper.php
@@ -54,11 +54,22 @@ abstract class DateTimeHelper
\DateTime::createFromFormat('d M Y H:i:s O', $sDateTime, static::GetUtcTimeZoneObject())
// Using T (obsolete timezone abbreviation)
?: \DateTime::createFromFormat('d M Y H:i:s T', $sDateTime, static::GetUtcTimeZoneObject());
- // 398045302 is 1982-08-13 00:08:22 the date RFC 822 was created
- if (!$oDateTime || 398045302 > $oDateTime->getTimestamp()) {
- \SnappyMail\Log::notice('', "Failed to parse RFC 2822 date '{$sDateTime}'");
+
+ try {
+ $timestamp = $oDateTime->getTimestamp();
+
+ // 398045302 is 1982-08-13 00:08:22, the date RFC 822 was created
+ if (398045302 > $timestamp) {
+ \SnappyMail\Log::notice('', "Failed to parse RFC 2822 date '{$sDateTime}'");
+ return 0;
+ }
+
+ return $timestamp;
+ } catch (\Throwable $error) {
+ // Catch integer overflow or other fatal errors
+ \SnappyMail\Log::notice('', "Failed to parse RFC 2822 date '{$sDateTime}'. {$error->getMessage()}");
+ return 0;
}
- return $oDateTime ? $oDateTime->getTimestamp() : 0;
}
/**
diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Base/Utils.php b/snappymail/v/0.0.0/app/libraries/MailSo/Base/Utils.php
index 5cf2f68ca..f16598be8 100644
--- a/snappymail/v/0.0.0/app/libraries/MailSo/Base/Utils.php
+++ b/snappymail/v/0.0.0/app/libraries/MailSo/Base/Utils.php
@@ -59,7 +59,7 @@ abstract class Utils
return 'iso-8859-8';
}
- return \preg_replace('/^(cp-?|windows?)(12[\d])/', 'windows-$1', $sEncoding);
+ return \preg_replace('/^(cp|windows)-?(12[\d]*)/i', 'windows-$2', $sEncoding);
}
public static function NormalizeCharsetByValue(string $sCharset, string $sValue) : string
diff --git a/snappymail/v/0.0.0/app/localization/fr/user.json b/snappymail/v/0.0.0/app/localization/fr/user.json
index 08a5b3dee..e95d93e90 100644
--- a/snappymail/v/0.0.0/app/localization/fr/user.json
+++ b/snappymail/v/0.0.0/app/localization/fr/user.json
@@ -247,7 +247,7 @@
"DISCARD_UNSAVED_DATA": "Abandonner les données non enregistrées ?",
"ATTACH_FILES": "Joindre des fichiers",
"ATTACH_DROP_FILES_DESC": "Glisser les fichiers ici",
- "REPLY_MESSAGE_TITLE": "%DATETIME% %EMAIL% a écrit",
+ "REPLY_MESSAGE_TITLE": "%DATETIME% %EMAIL% a écrit ",
"FORWARD_MESSAGE_TOP_TITLE": "-------- Message transféré -------",
"FORWARD_MESSAGE_TOP_SENT": "Envoyé",
"EMPTY_TO_ERROR_DESC": "Merci de spécifier au moins un destinataire",
diff --git a/snappymail/v/0.0.0/app/localization/ru/user.json b/snappymail/v/0.0.0/app/localization/ru/user.json
index 2a0a16c18..1e67f7943 100644
--- a/snappymail/v/0.0.0/app/localization/ru/user.json
+++ b/snappymail/v/0.0.0/app/localization/ru/user.json
@@ -31,7 +31,7 @@
"SAVE": "Сохранить",
"SAVE_CHANGES": "Сохранить изменения?",
"SEARCH": "Поиск",
- "SPAM": "В спам",
+ "SPAM": "Спам",
"SUBJECT": "Тема",
"TEST": "Тест",
"TO": "Кому",
@@ -60,12 +60,12 @@
"UNSEEN": "Непрочитанные",
"DATE": "Дата",
"DATE_ALL": "За всё время",
- "BEFORE_3_DAYS": "Older then 3 days",
- "BEFORE_7_DAYS": "Older then 1 week",
- "BEFORE_MONTH": "Older then 1 month",
- "BEFORE_3_MONTHS": "Older then 3 months",
- "BEFORE_6_MONTHS": "Older then 6 months",
- "BEFORE_YEAR": "Older then 1 year",
+ "BEFORE_3_DAYS": "Старше 3 дней",
+ "BEFORE_7_DAYS": "Старше недели",
+ "BEFORE_MONTH": "Старше месяца",
+ "BEFORE_3_MONTHS": "Старше 3 месяцев",
+ "BEFORE_6_MONTHS": "Старше полугода",
+ "BEFORE_YEAR": "Старше года",
"SINCE_3_DAYS": "За три дня",
"SINCE_7_DAYS": "За неделю",
"SINCE_MONTH": "За месяц",
@@ -130,8 +130,8 @@
"QUOTA_SIZE": "Использовано %SIZE% (%PROC%%)<\/strong> из %LIMIT%<\/strong>",
"SORT": "Сортировка",
"NO_SORT": "Почтовый сервер не поддерживает сортировку",
- "SORT_ARRIVAL_ASC": "Arrived ascending",
- "SORT_ARRIVAL_DESC": "Arrived descending",
+ "SORT_ARRIVAL_ASC": "Получено (по возрастанию)",
+ "SORT_ARRIVAL_DESC": "Получено (по убыванию)",
"SORT_DATE_ASC": "Дата по возрастанию",
"SORT_DATE_DESC": "Дата по убыванию",
"SORT_SIZE_ASC": "Размер по возрастанию",
@@ -160,7 +160,7 @@
"MENU_VIEW_ORIGINAL": "Просмотреть оригинал",
"HTML_VIEW": "Просмотр сообщения в HTML",
"PLAIN_VIEW": "Просмотр простого текстового сообщения",
- "SWAP_COLORS": "Swap default (background)color",
+ "SWAP_COLORS": "Переключить цвет фона по умолчанию",
"MENU_DOWNLOAD_ORIGINAL": "Скачать как .eml файл",
"MENU_FILTER_SIMILAR": "Фильтровать похожие",
"MENU_PRINT": "Распечатать",
@@ -176,8 +176,8 @@
"HAS_VIRUS_WARNING": "ВНИМАНИЕ: Обнаружен вирус!",
"TAGS": "Метки",
"NEW_TAG": "Новая метка",
- "ENABLE_TRACKING_LINKS": "Enable tracking links",
- "TRACKING_ENABLED": "Links are now tracked when clicked!"
+ "ENABLE_TRACKING_LINKS": "Включить отслеживание ссылок",
+ "TRACKING_ENABLED": "Теперь клики по ссылкам отслеживаются!"
},
"MESSAGE_TAGS": {
"$important": "Важное",
@@ -303,13 +303,13 @@
"VERIFY": "Проверить",
"GOOD_SIGNATURE": "Подтвержденная сигнатура для %USER%",
"ERROR": "%TYPE% ошибка: %ERROR%",
- "CREATE_SELF_SIGNED": "Create self-signed",
- "VALID_UNTIL": "Valid until",
- "PRIVATE_KEY": "Private key",
- "CHANGE_PASS": "Change passphrase",
- "CURRENT_PASS": "Current passphrase",
- "NEW_PASS": "New passphrase",
- "ASK_CRYPTKEY_PASS": "Your login passphrase has changed. Please fill in your old login passphrase to decrypt data"
+ "CREATE_SELF_SIGNED": "Создать самоподписанный",
+ "VALID_UNTIL": "Действителен до",
+ "PRIVATE_KEY": "Закрытый ключ (PK)",
+ "CHANGE_PASS": "Изменить парольную фразу",
+ "CURRENT_PASS": "Текущая парольная фраза",
+ "NEW_PASS": "Новая парольная фраза",
+ "ASK_CRYPTKEY_PASS": "Ваша парольная фраза была изменена. Введите вашу старую фразу для расшифровки данных"
},
"OPENPGP": {
"POPUP_IMPORT_TITLE": "Импорт OpenPGP ключа",
@@ -321,20 +321,20 @@
"LABEL_KEY_TYPE": "Тип",
"SIGNED_MESSAGE": "OpenPGP подписанное сообщение",
"ENCRYPTED_MESSAGE": "OpenPGP шифрованное сообщение",
- "STORE_IN_GNUPG": "Хранить на сервере в GnuPG",
- "STORE_PUBLIC_KEY_IN_GNUPG": "Store public key on server in GnuPG",
- "STORE_PRIVATE_KEY_IN_GNUPG": "Store private key on server in GnuPG",
+ "STORE_IN_GNUPG": "Хранение на сервере в GnuPG",
+ "STORE_PUBLIC_KEY_IN_GNUPG": "Хранение открытого ключа на сервере в GnuPG",
+ "STORE_PRIVATE_KEY_IN_GNUPG": "Хранение закрытого ключа на сервере в GnuPG",
"BACKUP_ON_SERVER": "Хранить (с шифрованием) на сервере",
- "BACKUP_PUBLIC_KEY_ON_SERVER": "Backup public key on server",
- "BACKUP_PRIVATE_KEY_ON_SERVER": "Backup private key on server"
+ "BACKUP_PUBLIC_KEY_ON_SERVER": "Хранить открытый ключ на сервере",
+ "BACKUP_PRIVATE_KEY_ON_SERVER": "Хранить закрытый ключ на сервере"
},
"SMIME": {
- "POPUP_IMPORT_TITLE": "Import S\/MIME certificate",
- "CERTIFICATE": "Certificate",
- "CERTIFICATES": "S\/MIME Certificates",
+ "POPUP_IMPORT_TITLE": "Импорт сертификата S\/MIME",
+ "CERTIFICATE": "Сертификат",
+ "CERTIFICATES": "Сертификаты S\/MIME",
"SIGNED_MESSAGE": "S\/MIME подписанное сообщение",
"ENCRYPTED_MESSAGE": "S\/MIME шифрованное сообщение",
- "PRIVATE_KEY_OF": "S\/MIME private key of %EMAIL%"
+ "PRIVATE_KEY_OF": "S\/MIME приватный ключ для %EMAIL%"
},
"POPUPS_FILTER": {
"TITLE_CREATE_FILTER": "Создать фильтр",
@@ -409,31 +409,31 @@
"EDITOR": {
"PLAIN": "HTML <-> TEXT",
"SOURCE": "HTML <-> SOURCE",
- "FONTFAMILY": "Font family",
- "FONTSIZE": "Font size",
- "DIR": "Text direction",
- "DIR_LTR": "Left to right",
- "DIR_RTL": "Right to left",
- "DIR_AUTO": "Automatic",
- "TEXTCOLOR": "Text color",
- "BACKGROUNDCOLOR": "Background color",
- "BOLD": "Bold",
- "ITALIC": "Italic",
- "UNDERLINE": "Underline",
- "STRIKE": "Strikethrough",
- "SUB": "Subscript",
- "SUP": "Superscript",
- "OL": "Ordered list",
- "UL": "Unordered list",
- "QUOTE": "Blockquote",
- "INDENTDECREASE": "Decrease indent",
- "INDENTINCREASE": "Increase indent",
- "LINK": "Link",
- "IMAGEURL": "Image URL",
- "IMAGEUPLOAD": "Image select",
- "UNDO": "Undo",
- "REDO": "Redo",
- "REMOVESTYLE": "Remove style"
+ "FONTFAMILY": "Шрифт",
+ "FONTSIZE": "Размер шрифта",
+ "DIR": "Направление текста",
+ "DIR_LTR": "Слева направо",
+ "DIR_RTL": "Справа налево",
+ "DIR_AUTO": "Автоматически",
+ "TEXTCOLOR": "Цвет текста",
+ "BACKGROUNDCOLOR": "Цвет фона",
+ "BOLD": "Жирный",
+ "ITALIC": "Курсив",
+ "UNDERLINE": "Подчеркнутый",
+ "STRIKE": "Зачеркнутый",
+ "SUB": "Подстрочный индекс",
+ "SUP": "Надстрочный индекс",
+ "OL": "Упорядоченный список",
+ "UL": "Неупорядоченный список",
+ "QUOTE": "Блок-цитата",
+ "INDENTDECREASE": "Уменьшить отступ",
+ "INDENTINCREASE": "Увеличить отступ",
+ "LINK": "Ссылка",
+ "IMAGEURL": "URL-адрес изображения",
+ "IMAGEUPLOAD": "Выбрать на устройстве",
+ "UNDO": "Отменить",
+ "REDO": "Повторить",
+ "REMOVESTYLE": "Очистить стиль"
},
"SETTINGS_LABELS": {
"GENERAL": "Основные",
@@ -457,7 +457,7 @@
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Безопасность",
"LABEL_AUTOLOGOUT": "Автоматический выход",
- "FORGET_KEY_PASS": "Forget private key passphrase",
+ "FORGET_KEY_PASS": "Забыть парольную фразу закрытого ключа",
"NEVER": "Никогда"
},
"SETTINGS_GENERAL": {
@@ -477,7 +477,7 @@
"HIDE_DELETED_MESSAGES": "Скрыть сообщения, помеченные для удаления",
"USE_CHECKBOXES_IN_LIST": "Показывать чекбоксы в списках",
"USE_THREADS": "Сворачивать письма в переписках",
- "THREAD_ALGORITHM": "Threads algorithm",
+ "THREAD_ALGORITHM": "Группировка по беседам",
"REPLY_SAME_FOLDER": "Помещать ответы в ту же папку, где находится оригинал",
"PREFER_HTML": "Предпочитать HTML обычному тексту",
"PREFER_HTML_INFO": "Сообщения иногда приходят в обоих форматах. Этот параметр определяет, хотите ли вы, чтобы отображалась HTML-часть или обычный текст.",
@@ -503,9 +503,9 @@
"IMAGES_OPTION_WHITELIST": "Белый список или спрашивать",
"IMAGES_OPTION_ALWAYS": "Показать всегда",
"IMAGES_WHITELIST": "Форматы из белого списка",
- "MESSAGE_POPUP_WINDOW": "Popup in new window instead of tab",
- "MAILTO": "Register as 'mailto:' links handler",
- "HTML_TO_MD": "Convert HTML to Markdown instead of plain text"
+ "MESSAGE_POPUP_WINDOW": "Всплывающее окно в новом окне вместо вкладки",
+ "MAILTO": "Установить в качестве обработчика ссылок 'mailto:' по умолчанию",
+ "HTML_TO_MD": "Преобразование HTML в Markdown вместо обычного текста"
},
"SETTINGS_CONTACTS": {
"LABEL_CONTACTS_AUTOSAVE": "Автоматически добавлять получателей писем в адресную книгу",
@@ -562,7 +562,7 @@
"SETTINGS_OPENPGP": {
"BUTTON_IMPORT_KEY": "Импортировать ключ",
"BUTTON_GENERATE_KEY_PAIR": "Новый ключ",
- "IMPORT_FROM_SERVER": "Import from server",
+ "IMPORT_FROM_SERVER": "Импортировать с сервера",
"TITLE_PRIVATE": "Приватный",
"TITLE_PUBLIC": "Публичный",
"GET_MAILVELOPE": "Получить дополнение для браузера Mailvelope."
@@ -614,7 +614,7 @@
"DomainAlreadyExists": "Домен уже существует",
"DomainNotAllowed": "Данный домен не разрешен",
"AccountNotAllowed": "Данный аккаунт не разрешен",
- "CryptKeyError": "Your login passphrase has changed",
+ "CryptKeyError": "Ваша парольная фраза была изменена",
"ContactsSyncError": "Ошибка синхронизации контактов",
"CantGetMessageList": "Не могу получить список писем",
"CantGetMessage": "Не могу получить письмо",
diff --git a/snappymail/v/0.0.0/app/localization/uk/user.json b/snappymail/v/0.0.0/app/localization/uk/user.json
index 75e58db04..ccb7705ec 100644
--- a/snappymail/v/0.0.0/app/localization/uk/user.json
+++ b/snappymail/v/0.0.0/app/localization/uk/user.json
@@ -31,7 +31,7 @@
"SAVE": "Зберегти",
"SAVE_CHANGES": "Зберегти зміни?",
"SEARCH": "Пошук",
- "SPAM": "В спам",
+ "SPAM": "Спам",
"SUBJECT": "Тема",
"TEST": "Тест",
"TO": "Кому",