diff --git a/components/providers/intl-provider.tsx b/components/providers/intl-provider.tsx index 9454e24b..66228b33 100644 --- a/components/providers/intl-provider.tsx +++ b/components/providers/intl-provider.tsx @@ -11,6 +11,7 @@ import itMessages from '@/locales/it/common.json'; import deMessages from '@/locales/de/common.json'; import nlMessages from '@/locales/nl/common.json'; import ptMessages from '@/locales/pt/common.json'; +import ruMessages from '@/locales/ru/common.json'; // Pre-loaded translations (loaded at build time, not runtime) const ALL_MESSAGES = { @@ -22,6 +23,7 @@ const ALL_MESSAGES = { de: deMessages, nl: nlMessages, pt: ptMessages, + ru: ruMessages, }; interface IntlProviderProps { diff --git a/components/ui/language-switcher.tsx b/components/ui/language-switcher.tsx index fa000095..c918c651 100644 --- a/components/ui/language-switcher.tsx +++ b/components/ui/language-switcher.tsx @@ -16,7 +16,8 @@ export function LanguageSwitcher({ className }: { className?: string }) { { value: 'it', label: 'Italiano' }, { value: 'de', label: 'Deutsch' }, { value: 'nl', label: 'Nederlands' }, - { value: 'pt', label: 'Português' } + { value: 'pt', label: 'Português' }, + { value: 'ru', label: 'Русский' } ]; return ( diff --git a/i18n/request.ts b/i18n/request.ts index 32349866..d62b07eb 100644 --- a/i18n/request.ts +++ b/i18n/request.ts @@ -32,6 +32,9 @@ export default getRequestConfig(async ({ requestLocale }) => { case 'pt': messages = (await import('../locales/pt/common.json')).default; break; + case 'ru': + messages = (await import('../locales/ru/common.json')).default; + break; default: messages = (await import('../locales/en/common.json')).default; } diff --git a/i18n/routing.ts b/i18n/routing.ts index 5296c9d1..27a11349 100644 --- a/i18n/routing.ts +++ b/i18n/routing.ts @@ -1,7 +1,7 @@ import { defineRouting } from 'next-intl/routing'; export const routing = defineRouting({ - locales: ['en', 'fr', 'de', 'es', 'it', 'ja', 'nl', 'pt'], + locales: ['en', 'fr', 'de', 'es', 'it', 'ja', 'nl', 'pt', 'ru'], defaultLocale: 'en', localePrefix: 'never' }); diff --git a/locales/de/common.json b/locales/de/common.json index 968765fc..eb5fe020 100644 --- a/locales/de/common.json +++ b/locales/de/common.json @@ -583,6 +583,7 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", "select_language": "Sprache auswählen", "switch_to_english": "Zu Englisch wechseln", "switch_to_french": "Zu Französisch wechseln", @@ -592,6 +593,7 @@ "switch_to_german": "Zu Deutsch wechseln", "switch_to_dutch": "Zu Niederländisch wechseln", "switch_to_portuguese": "Zu Portugiesisch wechseln", + "switch_to_russian": "Zu Russisch wechseln", "switching": "Sprache wird gewechselt..." }, "settings": { diff --git a/locales/en/common.json b/locales/en/common.json index 269c82f1..64bafe70 100644 --- a/locales/en/common.json +++ b/locales/en/common.json @@ -583,6 +583,7 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", "select_language": "Select language", "switch_to_english": "Switch to English", "switch_to_french": "Switch to French", @@ -592,6 +593,7 @@ "switch_to_german": "Switch to German", "switch_to_dutch": "Switch to Dutch", "switch_to_portuguese": "Switch to Portuguese", + "switch_to_russian": "Switch to Russian", "switching": "Changing language..." }, "settings": { diff --git a/locales/es/common.json b/locales/es/common.json index dc0770b9..8b9f73a2 100644 --- a/locales/es/common.json +++ b/locales/es/common.json @@ -583,6 +583,7 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", "select_language": "Seleccionar idioma", "switch_to_english": "Cambiar a inglés", "switch_to_french": "Cambiar a francés", @@ -592,6 +593,7 @@ "switch_to_german": "Cambiar a alemán", "switch_to_dutch": "Cambiar a neerlandés", "switch_to_portuguese": "Cambiar a portugués", + "switch_to_russian": "Cambiar a ruso", "switching": "Cambiando idioma..." }, "settings": { diff --git a/locales/fr/common.json b/locales/fr/common.json index ec1dded2..4ec982b8 100644 --- a/locales/fr/common.json +++ b/locales/fr/common.json @@ -583,6 +583,7 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", "select_language": "Sélectionner la langue", "switch_to_english": "Passer à l'anglais", "switch_to_french": "Passer au français", @@ -592,6 +593,7 @@ "switch_to_german": "Passer à l'allemand", "switch_to_dutch": "Passer au néerlandais", "switch_to_portuguese": "Passer au portugais", + "switch_to_russian": "Passer au russe", "switching": "Changement de langue..." }, "settings": { diff --git a/locales/it/common.json b/locales/it/common.json index eb4221ef..e66b7260 100644 --- a/locales/it/common.json +++ b/locales/it/common.json @@ -583,6 +583,7 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", "select_language": "Seleziona lingua", "switch_to_english": "Passa all'inglese", "switch_to_french": "Passa al francese", @@ -592,6 +593,7 @@ "switch_to_german": "Passa al tedesco", "switch_to_dutch": "Passa all'olandese", "switch_to_portuguese": "Passa al portoghese", + "switch_to_russian": "Passa al russo", "switching": "Cambio lingua in corso..." }, "settings": { diff --git a/locales/ja/common.json b/locales/ja/common.json index 34e38d89..0c684e6d 100644 --- a/locales/ja/common.json +++ b/locales/ja/common.json @@ -583,6 +583,7 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", "select_language": "言語を選択", "switch_to_english": "英語に切り替え", "switch_to_french": "フランス語に切り替え", @@ -592,6 +593,7 @@ "switch_to_german": "ドイツ語に切り替え", "switch_to_dutch": "オランダ語に切り替え", "switch_to_portuguese": "ポルトガル語に切り替え", + "switch_to_russian": "ロシア語に切り替え", "switching": "言語を変更中..." }, "settings": { diff --git a/locales/nl/common.json b/locales/nl/common.json index 83e89f5f..fc718683 100644 --- a/locales/nl/common.json +++ b/locales/nl/common.json @@ -583,6 +583,7 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", "select_language": "Selecteer taal", "switch_to_english": "Overschakelen naar Engels", "switch_to_french": "Overschakelen naar Frans", @@ -592,6 +593,7 @@ "switch_to_german": "Overschakelen naar Duits", "switch_to_dutch": "Overschakelen naar Nederlands", "switch_to_portuguese": "Overschakelen naar Portugees", + "switch_to_russian": "Overschakelen naar Russisch", "switching": "Taal wijzigen..." }, "settings": { diff --git a/locales/pt/common.json b/locales/pt/common.json index 6f3a363e..47687b8f 100644 --- a/locales/pt/common.json +++ b/locales/pt/common.json @@ -583,6 +583,7 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", "select_language": "Selecionar idioma", "switch_to_english": "Mudar para Inglês", "switch_to_french": "Mudar para Francês", @@ -592,6 +593,7 @@ "switch_to_german": "Mudar para Alemão", "switch_to_dutch": "Mudar para Holandês", "switch_to_portuguese": "Mudar para Português", + "switch_to_russian": "Mudar para Russo", "switching": "Alterando idioma..." }, "settings": { diff --git a/locales/ru/common.json b/locales/ru/common.json new file mode 100644 index 00000000..580c18ce --- /dev/null +++ b/locales/ru/common.json @@ -0,0 +1,2378 @@ +{ + "login": { + "title": "Веб-почта", + "username_label": "Электронная почта", + "username_placeholder": "user@пример.рф", + "password_label": "Пароль", + "password_placeholder": "Введите пароль", + "sign_in": "Войти", + "signing_in": "Вход...", + "loading": "Загрузка...", + "reconnecting": "Соединение потеряно. Попытка переподключения…", + "error": { + "invalid_credentials": "Неверный email или пароль. Проверьте учётные данные и повторите попытку.", + "connection_failed": "Не удалось подключиться к серверу. Проверьте интернет-соединение и попробуйте снова.", + "cors_blocked": "Сервер доступен, но блокирует запросы от других источников. Проверьте настройки CORS вашего JMAP-сервера и разрешите этот домен.", + "server_error": "Сервер временно недоступен. Повторите попытку позже.", + "generic": "Произошла непредвиденная ошибка. Если она повторяется, обратитесь к администратору.", + "totp_invalid": "Неверный код аутентификации. Проверьте приложение аутентификатора и повторите попытку.", + "oauth_discovery_failed": "SSO включён, но поставщик удостоверений недоступен. Проверьте настройки OAuth." + }, + "show_password": "Показать пароль", + "hide_password": "Скрыть пароль", + "totp_toggle": "У меня есть код 2FA", + "remember_me": "Запомнить меня", + "config_error": { + "title": "Ошибка конфигурации", + "fetch_failed": "Не удалось загрузить конфигурацию приложения. Повторите попытку позже.", + "server_not_configured": "Почтовый сервер не настроен. Обратитесь к администратору." + }, + "remove_from_history": "Удалить из истории", + "totp_label": "Код аутентификации", + "totp_placeholder": "000000", + "session_expired": "Срок действия сессии истёк. Войдите снова.", + "dismiss": "Закрыть", + "or": "или", + "sign_in_sso": "Войти через SSO", + "add_account_title": "Добавить аккаунт", + "add_account_subtitle": "Войдите с другим аккаунтом", + "cancel": "Отмена", + "website": "Веб-сайт", + "imprint": "Выходные данные", + "privacy_policy": "Политика конфиденциальности", + "try_demo": "Попробовать демо", + "demo_description": "Исследуйте с примерными данными — аккаунт не нужен", + "demo_launching": "Запуск демо...", + "demo_login_button": "Запустить демо", + "demo_tagline": "Попробуйте полнофункциональный почтовый клиент. Аккаунт не нужен.", + "demo_no_signup": "Регистрация не требуется — исследуйте свободно с примерными данными", + "oauth_completing": "Завершение входа...", + "oauth_error": { + "title": "Ошибка аутентификации", + "invalid_state": "Ошибка проверки безопасности. Попробуйте войти снова.", + "missing_params": "Отсутствуют данные авторизации. Попробуйте войти снова.", + "token_exchange_failed": "Не удалось завершить аутентификацию. Повторите попытку.", + "access_denied": "Доступ запрещён. Обратитесь к администратору.", + "back_to_login": "Вернуться ко входу" + } + }, + "sidebar": { + "close": "Закрыть", + "compose": "Создать", + "compose_hint": "Создать (c)", + "search_placeholder": "Поиск почты...", + "search_placeholder_hint": "Поиск почты... (нажмите /)", + "storage": "Хранилище", + "storage_used": "Использовано", + "storage_free": "Свободно", + "storage_total": "Всего", + "sign_out": "Выйти", + "sign_out_of": "Выйти из {account}", + "sign_out_all": "Выйти из всех аккаунтов", + "add_account": "Добавить аккаунт", + "set_as_default": "Установить по умолчанию", + "switch_account": "Сменить аккаунт", + "contacts": "Контакты", + "calendar": "Календарь", + "settings": "Настройки", + "files": "Файлы", + "loading_mailboxes": "Загрузка папок...", + "push_connected": "Обновления в реальном времени активны", + "push_disconnected": "Обновления в реальном времени неактивны", + "keyboard_shortcuts": "Сочетания клавиш", + "theme": { + "light": "Светлая тема", + "dark": "Тёмная тема", + "system": "Системная тема" + }, + "language": { + "title": "Язык" + }, + "mailboxes": { + "inbox": "Входящие", + "sent": "Отправленные", + "drafts": "Черновики", + "trash": "Корзина", + "archive": "Архив", + "starred": "Помечённые", + "all_mail": "Вся почта", + "spam": "Спам", + "important": "Важные" + }, + "expand": "Развернуть", + "collapse": "Свернуть", + "expand_tooltip": "Развернуть", + "collapse_tooltip": "Свернуть", + "mobile": { + "search": "Поиск", + "compose": "Создать", + "go_back": "Назад" + }, + "clear_search": "Очистить поиск", + "vacation_active": "Автоответ на отпуск активен", + "demo_banner": "Режим демо", + "demo_reset": "Сбросить", + "demo_tour": "Тур", + "tags": "Теги", + "mail": "Почта", + "nav_label": "Навигация", + "add_app": "Приложения" + }, + "sidebar_apps": { + "modal_title": "Приложения боковой панели", + "add_new": "Добавить приложение", + "edit_app": "Редактировать приложение", + "name_label": "Название", + "name_placeholder": "Моё приложение", + "name_required": "Название обязательно", + "url_label": "URL-адрес", + "url_required": "URL обязателен", + "url_invalid": "Введите корректный URL http или https", + "icon_label": "Иконка", + "icon_required": "Иконка обязательна", + "open_mode_label": "Режим открытия", + "open_new_tab": "Новая вкладка", + "open_inline": "Встроенный", + "cancel": "Отмена", + "add": "Добавить", + "update": "Обновить", + "delete": "Удалить", + "delete_confirm_title": "Удалить приложение", + "delete_confirm": "Вы уверены, что хотите удалить \"{name}\"?", + "no_apps": "Приложения ещё не добавлены", + "no_apps_hint": "Добавьте пользовательские приложения и ссылки в боковую панель", + "search_icons": "Поиск иконок...", + "show_popular": "Популярные", + "show_all": "Все", + "no_icons_found": "Иконки не найдены", + "inline_badge": "Встроенный", + "tab_badge": "Вкладка", + "show_on_mobile": "Показывать на мобильном" + }, + "email_list": { + "no_emails": "Сообщений не найдено", + "no_emails_description": "Папка пуста", + "no_search_results": "Результатов не найдено", + "no_search_results_description": "Попробуйте изменить поисковый запрос или фильтры", + "loading": "Загрузка писем...", + "unread": "непрочитанные", + "to_me": "Мне", + "to_recipients": "{count} получателям", + "and_others": "и ещё {count}", + "draft": "Черновик", + "starred": "Помечено", + "conversations_count": "{count} из {total} бесед", + "conversations_count_plus": "{count}+ бесед", + "conversations_count_simple": "{count} бесед", + "no_conversations": "Нет бесед", + "loading_more": "Загрузка писем...", + "no_more_emails": "Больше писем нет", + "batch_actions": { + "select": "Выбрать письма", + "select_all": "Выбрать все", + "mark_read": "Отметить прочитанными", + "mark_unread": "Отметить непрочитанными", + "delete": "Удалить", + "delete_confirm_title": "Удалить письма", + "delete_confirm_message": "Вы уверены, что хотите удалить {count, plural, one {1 письмо} other {# писем}}?", + "clear_selection": "Снять выделение" + }, + "permanent_delete": "Удалить навсегда", + "permanent_delete_confirm_title": "Удалить навсегда", + "permanent_delete_confirm_message": "Это письмо будет удалено навсегда. Действие нельзя отменить.", + "permanent_delete_confirm_batch_message": "{count, plural, one {1 письмо} other {# писем}} будут удалены навсегда. Действие нельзя отменить.", + "empty_folder": { + "button": "Очистить папку", + "confirm_title": "Очистить папку", + "confirm_message": "Все письма в этой папке будут удалены навсегда. Действие нельзя отменить.", + "confirm_button": "Очистить папку", + "junk_hint": "Вы можете очистить папку Спам для постоянного удаления всех сообщений.", + "trash_hint": "Вы можете очистить Корзину для постоянного удаления всех сообщений." + } + }, + "email_viewer": { + "no_email_selected": "Письмо не выбрано", + "no_email_description": "Выберите письмо из списка, чтобы просмотреть его здесь", + "no_conversation_selected": "Беседа не выбрана", + "no_conversation_description": "Выберите беседу из списка, чтобы прочитать её здесь", + "no_subject": "(Без темы)", + "loading_email": "Загрузка письма...", + "loading": "Загрузка...", + "reply": "Ответить", + "reply_all": "Ответить всем", + "forward": "Переслать", + "delete": "Удалить", + "archive": "Архивировать", + "star": "Пометить", + "unstar": "Снять пометку", + "mark_unread": "Отметить непрочитанным", + "mark_read": "Отметить прочитанным", + "print": "Распечатать", + "view_source": "Просмотреть исходный код", + "export_email": "Экспортировать как .eml", + "import_email": "Импортировать .eml", + "keyboard_shortcuts": "Сочетания клавиш (?)", + "email_source": "Исходный код письма", + "draft_banner": "Это письмо является черновиком", + "edit_draft": "Редактировать", + "copy_source": "Копировать в буфер обмена", + "source_copied": "Исходный код скопирован в буфер обмена", + "attachments": "Вложения", + "important": "Важное", + "download": "Скачать", + "download_all": "Скачать все", + "from": "От", + "to": "Кому", + "cc": "Копия", + "bcc": "Скрытая копия", + "date": "Дата", + "subject": "Тема", + "show_details": "Показать детали", + "hide_details": "Скрыть детали", + "external_content_warning": "Изображения и внешнее содержимое заблокированы", + "load_external_content": "Загрузить изображения", + "trust_sender": "Всегда доверять этому отправителю", + "back_to_list": "Вернуться к списку", + "view_contact": "Просмотреть контакт", + "message_details": "Детали сообщения", + "more_reply_options": "Дополнительные параметры ответа", + "set_color": "Установить тег", + "tag": "Тег", + "more_actions": "Другие действия", + "previous": "Пред.", + "next": "След.", + "move_to": "Переместить в...", + "remove_color": "Удалить тег", + "more_count": "+{count} ещё", + "characters_count": "{count} символов", + "quick_reply_placeholder": "Написать быстрый ответ...", + "more_options": "Другие параметры", + "sending": "Отправка...", + "security_authentication": "Безопасность и аутентификация", + "technical_details": "Технические детали", + "message_id_label": "Идентификатор сообщения:", + "reply_to_label": "Адрес для ответа:", + "delivery_time_label": "Время доставки:", + "conversation_part_label": "Часть беседы:", + "previous_messages": "{count} предыдущее сообщение", + "previous_messages_plural": "{count} предыдущих сообщений", + "time": { + "day": "день", + "days": "дней", + "hour": "час", + "hours": "часов", + "minute": "минута", + "minutes": "минут" + }, + "unknown_sender": "Неизвестно", + "recipient_me": "я", + "recipient_and_others": "{name} и ещё {count}", + "recipient_to_prefix": "Кому:", + "authentication": { + "title": "Аутентификация", + "status": { + "verified": "Подтверждено", + "warning": "Предупреждение", + "none": "Не аутентифицировано" + }, + "spf": { + "pass": "SPF прошёл", + "fail": "SPF не прошёл", + "none": "SPF отсутствует" + }, + "dkim": { + "pass": "DKIM действителен", + "fail": "DKIM недействителен", + "none": "DKIM отсутствует" + }, + "dmarc": { + "pass": "DMARC прошёл", + "fail": "DMARC не прошёл", + "none": "DMARC отсутствует" + }, + "spam_score": "Оценка спама" + }, + "headers": { + "routing": "Маршрутизация", + "received": "Получено", + "message_id": "Идентификатор сообщения", + "list_info": "Информация о рассылке" + }, + "color_tag": { + "title": "Цветной тег", + "red": "Красный", + "orange": "Оранжевый", + "yellow": "Жёлтый", + "green": "Зелёный", + "blue": "Синий", + "purple": "Фиолетовый", + "pink": "Розовый", + "none": "Нет" + }, + "tooltips": { + "reply": "Ответить (r)", + "reply_all": "Ответить всем (a)", + "forward": "Переслать (f)", + "archive": "Архивировать (e)", + "delete": "Удалить (# или Del)", + "star": "Пометить (s)", + "unstar": "Снять пометку (s)", + "compose": "Создать (c)", + "previous": "Предыдущее письмо", + "next": "Следующее письмо", + "edit_draft": "Редактировать черновик" + }, + "spam": { + "button_title": "Пожаловаться на спам", + "not_spam_title": "Отметить как не спам", + "toast_success": "Перемещено в Спам", + "toast_batch": "{count} писем перемещено в Спам", + "toast_undo": "Отменить", + "toast_not_spam_success": "Перемещено во Входящие", + "toast_not_spam_batch": "{count} писем перемещено во Входящие", + "error": "Не удалось пожаловаться на спам", + "error_not_spam": "Не удалось восстановить письмо" + }, + "unsubscribe_banner": { + "label": "Рассылка", + "button": "Отписаться", + "confirm_title": "Отписаться от этого отправителя?", + "confirm_button": "Подтвердить", + "cancel": "Отмена", + "success_http": "Страница отписки открыта в новой вкладке", + "success_mailto": "Запрос на отписку отправлен в ваш почтовый клиент", + "error": "Не удалось отписаться", + "dismiss": "Закрыть" + }, + "calendar_invitation": { + "loading": "Загрузка деталей события…", + "title": "Приглашение в календарь", + "published_title": "Опубликованное событие", + "response_title": "Ответ на событие", + "update_title": "Обновление события", + "counter_title": "Встречное предложение", + "refresh_title": "Запрос обновления", + "declined_counter_title": "Встречное предложение отклонено", + "cancelled_title": "Событие отменено", + "organizer": "Организовано {name}", + "attendees": "{count, plural, one {# участник} other {# участников}}", + "accept": "Принять", + "maybe": "Возможно", + "decline": "Отклонить", + "add_to_calendar": "Добавить в календарь", + "added": "Добавлено в календарь", + "rsvp_sent": "Ответ отправлен", + "parse_error": "Не удалось прочитать приглашение", + "action_failed": "Не удалось выполнить действие с календарём.", + "no_calendar": "Календарь недоступен", + "published_info": "Это событие опубликовано для ознакомления.", + "response_info": "Это сообщение содержит ответ участника.", + "response_info_organizer": "Этот ответ участника обновляет ваше событие.", + "update_info": "Это сообщение обновляет существующее событие.", + "counter_info": "Это сообщение предлагает изменения в событии.", + "counter_info_organizer": "Этот участник предложил изменения в вашем событии.", + "refresh_info": "Это сообщение запрашивает последние детали события.", + "refresh_info_organizer": "Участник запросил последние детали события.", + "declined_counter_info": "Организатор отклонил встречное предложение.", + "authentication_failed_info": "Проверка подлинности почты для этого приглашения не пройдена. Будьте осторожны с действиями в календаре.", + "authentication_missing_info": "Это приглашение не содержит подтверждённой аутентификации почты. Если что-то кажется необычным, уточните детали у организатора.", + "sender_mismatch_info": "Это приглашение отправлено от {sender}, тогда как организатором в данных календаря указан {organizer}.", + "sender_mismatch_unverified_info": "Это приглашение отправлено от {sender}, тогда как организатором указан {organizer}, и сообщение не удалось проверить.", + "organizer_role": "Вы являетесь организатором этого события", + "your_response": "Ваш ответ: {status}", + "response_needed": "Требуется ответ", + "response_accepted": "Принято", + "response_tentative": "Под вопросом", + "response_declined": "Отклонено", + "response_delegated": "Делегировано", + "actor_sent_info": "Отправлено {name}.", + "actor_response_info": "{name} ответил {status}.", + "actor_counter_info": "{name} предложил изменения в этом событии.", + "actor_refresh_info": "{name} запросил последние детали события.", + "actor_declined_counter_info": "{name} отклонил встречное предложение.", + "actor_note": "Примечание: {comment}", + "actor_unknown": "Кто-то", + "proposed_changes": "Предложенные изменения", + "change_title": "Заголовок", + "change_time": "Время", + "change_location": "Местоположение", + "change_description": "Описание", + "change_empty": "Нет", + "change_from_to": "{before} -> {after}", + "apply_proposal": "Применить предложенные изменения", + "proposal_applied": "Предложенные изменения применены.", + "review_proposal": "Просмотреть предложение", + "review_request": "Просмотреть запрос", + "view_in_calendar": "Открыть в календаре", + "select_calendar": "Выбрать календарь", + "already_in_calendar": "Уже в вашем календаре", + "request_info": "Вас пригласили на это событие. Ответьте, чтобы организатор знал о вашей доступности.", + "cancel_info": "Организатор отменил это событие.", + "event_updated": "Обновление №{sequence}", + "event_status_tentative": "Под вопросом", + "event_status_cancelled": "Отменено" + }, + "send": "Отправить", + "more": "ещё" + }, + "email_composer": { + "new_message": "Новое письмо", + "reply": "Ответить", + "reply_all": "Ответить всем", + "forward": "Переслать", + "reply_to": "Ответить", + "reply_all_to": "Ответить всем", + "forward_message": "Переслать", + "from": "От", + "to": "Кому", + "cc": "Копия", + "bcc": "Скрытая копия", + "subject": "Тема", + "body_placeholder": "Напишите сообщение...", + "send": "Отправить", + "cancel": "Отмена", + "attach": "Прикрепить", + "discard": "Удалить", + "discard_draft_title": "Удалить черновик?", + "discard_draft_confirm": "Есть несохранённые изменения. Удалить этот черновик?", + "saving": "Сохранение...", + "draft_saved": "Черновик сохранён", + "save_failed": "Не удалось сохранить", + "to_placeholder": "Адреса получателей", + "cc_placeholder": "Получатели копии", + "bcc_placeholder": "Получатели скрытой копии", + "subject_placeholder": "Тема", + "cc_label": "Копия:", + "bcc_label": "Скрытая копия:", + "subject_label": "Тема:", + "file_size_kb": "КБ", + "prefix": { + "forward": "Пересл:", + "reply": "Ответ:" + }, + "no_subject": "(Без темы)", + "unknown_sender": "Неизвестный", + "quote": { + "reply_header": "{date}, {sender} написал(а):", + "forward_header": "---------- Пересланное сообщение ----------", + "from": "От: {sender}", + "date": "Дата: {date}", + "subject": "Тема: {subject}", + "to": "Кому: {recipients}" + }, + "remove_sub_address": "Удалить суб-адрес", + "use_template": "Шаблон", + "save_as_template": "Сохранить как шаблон", + "validation": { + "recipient_required": "Укажите получателя для отправки", + "subject_required": "Укажите тему", + "body_required": "Напишите сообщение или прикрепите файл" + }, + "upload_progress": "Загрузка {uploaded} / {total}", + "upload_cancel": "Отменить загрузку", + "upload_failed": "Не удалось загрузить {filename}", + "drop_files": "Перетащите файлы для прикрепления", + "show_less": "Свернуть", + "send_failed": "Не удалось отправить письмо", + "continue_draft": "Продолжить черновик", + "close_draft_title": "Сохранить или удалить черновик?", + "close_draft_message": "Есть несохранённые изменения. Сохранить как черновик или удалить?", + "save_draft": "Сохранить черновик", + "smime_sign_on": "Подпись S/MIME включена", + "smime_sign_off": "Включить подпись S/MIME", + "smime_encrypt_on": "Шифрование S/MIME включено", + "smime_encrypt_off": "Включить шифрование S/MIME", + "smime_encrypt_unavailable": "Шифрование S/MIME недоступно — отсутствует сертификат получателя", + "smime_unlock_title": "Разблокировать ключ S/MIME", + "smime_unlock_message": "Введите парольную фразу для разблокировки вашего ключа подписи S/MIME.", + "smime_unlock_button": "Разблокировать", + "smime_passphrase_placeholder": "Парольная фраза" + }, + "confirm_dialog": { + "confirm": "Подтвердить", + "cancel": "Отмена" + }, + "common": { + "loading": "Загрузка...", + "error": "Ошибка", + "success": "Успешно", + "cancel": "Отмена", + "save": "Сохранить", + "delete": "Удалить", + "edit": "Редактировать", + "close": "Закрыть", + "search": "Поиск", + "refresh": "Обновить", + "settings": "Настройки", + "help": "Помощь", + "logout": "Выйти", + "yes": "Да", + "no": "Нет", + "unknown": "Неизвестно", + "app_title": "Веб-почта", + "reconnecting": "Соединение потеряно. Попытка переподключения…" + }, + "notifications": { + "email_sent": "Письмо успешно отправлено", + "email_deleted": "Письмо удалено", + "email_archived": "Письмо архивировано", + "email_starred": "Письмо помечено", + "email_unstarred": "Пометка снята", + "email_marked_read": "Письмо отмечено прочитанным", + "email_marked_unread": "Письмо отмечено непрочитанным", + "copied_to_clipboard": "Скопировано в буфер обмена", + "source_copied": "Исходный код скопирован в буфер обмена", + "error_sending": "Не удалось отправить письмо", + "error_deleting": "Не удалось удалить письмо", + "error_loading": "Не удалось загрузить письма", + "new_email": "Новое письмо", + "new_email_from": "От {sender}", + "click_to_view": "Нажмите для просмотра", + "email_moved": "Письмо перемещено", + "emails_moved": "{count} писем перемещено", + "moved_to_mailbox": "Перемещено в {mailbox}", + "move_failed": "Ошибка перемещения", + "move_error": "Не удалось переместить письма в выбранную папку", + "email_tagged": "Письмо помечено тегом", + "emails_tagged": "{count} писем помечено тегом", + "tag_failed": "Ошибка тегирования", + "identity_created": "Удостоверение успешно создано", + "identity_updated": "Удостоверение успешно обновлено", + "identity_deleted": "Удостоверение удалено", + "identity_set_primary": "Основное удостоверение обновлено", + "identity_create_failed": "Не удалось создать удостоверение: {error}", + "identity_update_failed": "Не удалось обновить удостоверение: {error}", + "identity_delete_failed": "Не удалось удалить удостоверение: {error}", + "identity_unauthorized": "У вас нет прав для отправки с этого email-адреса", + "identity_not_found": "Удостоверение не найдено", + "vacation_saved": "Настройки автоответа на отпуск сохранены", + "vacation_save_failed": "Не удалось сохранить настройки автоответа на отпуск", + "filters_saved": "Фильтры успешно сохранены", + "filters_save_failed": "Не удалось сохранить фильтры", + "filters_deleted": "Правило фильтра удалено", + "templates_exported": "Шаблоны успешно экспортированы", + "templates_imported": "{count, plural, one {# шаблон} other {# шаблонов}} импортировано", + "templates_import_errors": "Некоторые шаблоны не удалось импортировать", + "templates_import_empty": "В файле не найдено шаблонов", + "export_email_error": "Не удалось экспортировать письмо", + "import_email_success": "Письмо успешно импортировано", + "import_email_error": "Не удалось импортировать письмо" + }, + "date": { + "today": "Сегодня", + "yesterday": "Вчера", + "this_week": "На этой неделе", + "last_week": "На прошлой неделе", + "this_month": "В этом месяце", + "older": "Давно", + "just_now": "Только что", + "minutes_ago": "{count} минуту назад", + "minutes_ago_plural": "{count} минут назад", + "hours_ago": "{count} час назад", + "hours_ago_plural": "{count} часов назад", + "days_ago": "{count} день назад", + "days_ago_plural": "{count} дней назад" + }, + "language": { + "title": "Язык", + "english": "English", + "french": "Français", + "japanese": "日本語", + "spanish": "Español", + "italian": "Italiano", + "german": "Deutsch", + "dutch": "Nederlands", + "portuguese": "Português", + "russian": "Русский", + "select_language": "Выбрать язык", + "switch_to_english": "Переключить на английский", + "switch_to_french": "Переключить на французский", + "switch_to_japanese": "Переключить на японский", + "switch_to_spanish": "Переключить на испанский", + "switch_to_italian": "Переключить на итальянский", + "switch_to_german": "Переключить на немецкий", + "switch_to_dutch": "Переключить на нидерландский", + "switch_to_portuguese": "Переключить на португальский", + "switch_to_russian": "Переключить на русский", + "switching": "Смена языка..." + }, + "settings": { + "title": "Настройки", + "back_to_mail": "Вернуться к почте", + "save_success": "Настройки успешно сохранены", + "import_success": "Настройки успешно импортированы", + "import_error": "Не удалось импортировать настройки", + "reset_confirm": "Вы уверены, что хотите сбросить все настройки до значений по умолчанию?", + "unsaved_changes": "У вас есть несохранённые изменения", + "discard_changes": "Отменить несохранённые изменения?", + "discard": "Отменить", + "keep_editing": "Продолжить редактирование", + "tabs": { + "appearance": "Внешний вид", + "language": "Язык и регион", + "email": "Поведение почты", + "composer": "Редактор", + "privacy": "Конфиденциальность и безопасность", + "account": "Аккаунт", + "identities": "Удостоверения", + "vacation": "Автоответ на отпуск", + "advanced": "Дополнительно", + "calendar": "Календарь", + "filters": "Фильтры", + "templates": "Шаблоны", + "folders": "Папки", + "keywords": "Ключевые слова", + "security": "Безопасность", + "files": "Файлы", + "contacts": "Контакты", + "encryption": "Шифрование", + "sidebar_apps": "Приложения боковой панели", + "notifications": "Уведомления" + }, + "tab_groups": { + "general": "Общие", + "account": "Аккаунт и удостоверение", + "organization": "Организация почты", + "apps": "Приложения", + "system": "Система" + }, + "appearance": { + "title": "Внешний вид", + "description": "Настройте внешний вид веб-почты", + "theme": { + "label": "Тема", + "description": "Выберите предпочтительную цветовую схему", + "light": "Светлая", + "dark": "Тёмная", + "system": "Системная" + }, + "language": { + "label": "Язык", + "description": "Выберите предпочтительный язык" + }, + "font_size": { + "label": "Размер шрифта", + "description": "Регулируйте размер текста для лучшей читаемости", + "small": "Малый", + "medium": "Средний", + "large": "Большой" + }, + "list_density": { + "label": "Плотность", + "description": "Управляйте расстояниями и отступами в интерфейсе", + "extra_compact": "Максимально компактный", + "compact": "Компактный", + "regular": "Обычный", + "comfortable": "Просторный" + }, + "animations": { + "label": "Включить анимации", + "description": "Показывать плавные переходы и эффекты" + }, + "toolbar_position": { + "label": "Положение панели инструментов", + "description": "Где отображать кнопки действий письма (Ответить, Архивировать, Удалить и др.)", + "top": "Сверху", + "below_subject": "Под темой" + }, + "toolbar_labels": { + "label": "Показывать подписи панели инструментов", + "description": "Отображать текстовые подписи рядом с иконками панели. Отключите для экономии места, когда освоитесь с иконками." + } + }, + "keywords": { + "title": "Ключевые слова писем", + "description": "Определите ключевые слова (метки/теги) для организации писем с помощью цветов. Они хранятся как ключевые слова JMAP на сервере.", + "add_keyword": "Добавить ключевое слово", + "reset_defaults": "Сбросить по умолчанию", + "label_field": "Отображаемое название", + "label_placeholder": "напр., Работа, Личное, Срочно", + "id_field": "Идентификатор ключевого слова", + "id_placeholder": "напр., work, personal", + "color_field": "Цвет", + "id_exists": "Этот идентификатор ключевого слова уже существует", + "edit": "Редактировать ключевое слово", + "delete": "Удалить ключевое слово", + "save": "Сохранить", + "add": "Добавить", + "cancel": "Отмена", + "migrating": "Обновление ключевого слова в существующих письмах…", + "migration_error": "Не удалось обновить ключевое слово в существующих письмах" + }, + "notifications": { + "test_sound": "Проверить звук уведомления", + "sounds": { + "default": "По умолчанию (Сигнал)", + "cheerful": "Радостный", + "involved": "Вовлечённый", + "swift": "Быстрый жест", + "relax": "Релакс" + }, + "sound_selection": { + "title": "Звук уведомления", + "description": "Выберите звук для уведомлений", + "choose": "Звук", + "choose_desc": "Выберите звук уведомления и нажмите значок динамика для предпросмотра" + }, + "email": { + "title": "Уведомления о почте", + "description": "Настройте уведомления о входящих письмах", + "enabled": "Уведомления о почте", + "enabled_desc": "Показывать уведомления при получении новых писем", + "sound": "Звук уведомления", + "sound_desc": "Воспроизводить звуковой сигнал при получении новых писем" + }, + "calendar": { + "title": "Уведомления календаря", + "description": "Настройте уведомления о событиях календаря", + "enabled": "Уведомления о событиях", + "enabled_desc": "Показывать оповещения о предстоящих событиях календаря", + "sound": "Звук уведомления", + "sound_desc": "Воспроизводить звуковой сигнал для напоминаний календаря", + "invitation_parsing": "Распознавать приглашения по почте", + "invitation_parsing_desc": "Обнаруживать приглашения календаря во вложениях писем и показывать действия календаря" + } + }, + "language_region": { + "title": "Язык и регион", + "description": "Настройте языковые и региональные предпочтения", + "language": { + "label": "Язык", + "description": "Выберите предпочтительный язык", + "english": "Английский", + "french": "Французский" + }, + "date_format": { + "label": "Формат даты", + "description": "Как отображать даты", + "regional": "Региональный", + "iso": "ISO 8601", + "custom": "Пользовательский" + }, + "time_format": { + "label": "Формат времени", + "description": "Выберите формат 12- или 24-часовой нотации", + "12h": "12-часовой", + "24h": "24-часовой" + }, + "first_day": { + "label": "Первый день недели", + "description": "Начинать неделю с воскресенья или понедельника", + "sunday": "Воскресенье", + "monday": "Понедельник" + } + }, + "email_behavior": { + "title": "Поведение почты", + "description": "Настройте обработку писем", + "mark_read": { + "label": "Отметить прочитанным", + "description": "Когда отмечать письма прочитанными при открытии", + "instant": "Немедленно", + "delay_3s": "Через 3 секунды", + "delay_5s": "Через 5 секунд", + "never": "Никогда" + }, + "delete_action": { + "label": "Действие при удалении", + "description": "Что происходит при удалении письма", + "trash": "Переместить в корзину", + "permanent": "Удалить навсегда", + "warning": "Письма будут удалены навсегда и не могут быть восстановлены. Это действие необратимо." + }, + "archive_mode": { + "label": "Архивировать в", + "description": "Как организовывать письма при архивировании", + "single": "Одну папку", + "year": "Папку на каждый год", + "month": "Папку на каждый месяц", + "reorganize": "Реорганизовать существующий архив", + "reorganize_success": "{count, plural, =0 {Нет писем для реорганизации} =1 {1 письмо реорганизовано} other {# писем реорганизовано}}", + "reorganize_error": "Не удалось реорганизовать архив" + }, + "permanently_delete_junk": { + "label": "Удалять спам навсегда", + "description": "Удалять письма из папки «Спам» навсегда вместо перемещения в корзину" + }, + "show_preview": { + "label": "Показывать текст предпросмотра", + "description": "Отображать предпросмотр письма в списке" + }, + "attachment_click_action": { + "label": "Действие при нажатии на вложение", + "description": "Выберите, предпросмотр или немедленная загрузка при нажатии на вложение", + "preview": "Предпросмотр, если возможно", + "download": "Скачать немедленно" + }, + "attachment_position": { + "label": "Расположение вложений", + "description": "Где отображать вложения в заголовке письма", + "beside-sender": "Рядом с отправителем", + "below-header": "Под заголовком" + }, + "emails_per_page": { + "10": "10 писем", + "25": "25 писем", + "50": "50 писем", + "100": "100 писем", + "label": "Писем на странице", + "description": "Количество писем для загрузки за раз" + }, + "always_light_mode": { + "label": "Всегда показывать письма в светлом режиме", + "description": "Отображать содержимое писем в светлом режиме даже когда приложение в тёмном режиме, избегая проблем преобразования" + }, + "external_content": { + "label": "Внешнее содержимое", + "description": "Как обрабатывать изображения и внешнее содержимое", + "ask": "Всегда спрашивать", + "block": "Всегда блокировать", + "allow": "Всегда разрешать" + }, + "trusted_senders": { + "label": "Доверенные отправители", + "description": "Управляйте отправителями, чьи изображения загружаются автоматически", + "count_zero": "Нет", + "count_one": "1 отправитель", + "count_other": "{count} отправителей", + "modal_title": "Доверенные отправители", + "empty_title": "Нет доверенных отправителей", + "empty_description": "При просмотре письма с заблокированными изображениями нажмите «Всегда доверять этому отправителю», чтобы добавить его сюда.", + "add_manually": "Добавить отправителя вручную", + "add_button": "Добавить", + "add_placeholder": "Введите email-адрес", + "search_placeholder": "Поиск отправителей...", + "no_results": "Отправители не найдены", + "remove": "Удалить", + "close": "Закрыть", + "invalid_email": "Введите корректный email-адрес", + "already_added": "Этот отправитель уже является доверенным" + }, + "hover_actions": { + "label": "Быстрые действия при наведении", + "description": "Выберите быстрые действия, отображаемые при наведении на письмо в списке", + "delete": "Удалить", + "star": "Пометить / Снять пометку", + "mark_read": "Прочитано / Непрочитано", + "archive": "Архивировать", + "tag": "Тег", + "spam": "Отметить как спам", + "none_selected": "Действия не выбраны" + }, + "default_mail_program": { + "label": "Почтовая программа по умолчанию", + "description": "Зарегистрировать {appName} как почтовую программу по умолчанию для ссылок mailto:", + "button": "Установить по умолчанию", + "success": "Браузер запрошен для установки по умолчанию", + "error": "Ваш браузер не поддерживает эту функцию" + } + }, + "composer": { + "title": "Редактор", + "description": "Настройте параметры написания писем", + "autosave": { + "label": "Интервал автосохранения", + "description": "Как часто автоматически сохранять черновики", + "30s": "Каждые 30 секунд", + "1m": "Каждую минуту", + "2m": "Каждые 2 минуты", + "5m": "Каждые 5 минут" + }, + "send_confirmation": { + "label": "Подтверждение отправки", + "description": "Запрашивать подтверждение перед отправкой писем" + }, + "default_reply": { + "label": "Режим ответа по умолчанию", + "description": "Действие по умолчанию при нажатии «Ответить»", + "reply": "Ответить", + "reply_all": "Ответить всем" + } + }, + "privacy": { + "title": "Конфиденциальность и безопасность", + "description": "Управляйте настройками конфиденциальности и безопасности", + "external_images": { + "label": "Блокировать внешние изображения", + "description": "Предотвращать отслеживание через внешние изображения" + }, + "session_timeout": { + "label": "Тайм-аут сессии", + "description": "Автоматически выходить после бездействия", + "never": "Никогда", + "30m": "30 минут", + "1h": "1 час", + "4h": "4 часа" + }, + "clear_cache": { + "label": "Очистить кэш", + "description": "Удалить кэшированные данные и временные файлы", + "button": "Очистить кэш", + "confirm": "Вы уверены, что хотите очистить кэш?", + "success": "Кэш успешно очищен" + } + }, + "account": { + "title": "Аккаунт", + "description": "Просмотрите данные своего аккаунта", + "name_label": "Отображаемое имя", + "username_label": "Имя пользователя", + "account_type_label": "Тип аккаунта", + "auth_method_label": "Аутентификация", + "auth_method_oauth": "Единый вход (OAuth/OIDC)", + "auth_method_basic": "Пароль", + "demo_account": "Демо-аккаунт", + "email": { + "label": "Email-адрес", + "value": "{email}" + }, + "server": { + "label": "JMAP-сервер", + "value": "{server}" + }, + "storage": { + "label": "Использование хранилища", + "used": "{used} из {total} использовано", + "percentage": "{percent}% использовано" + }, + "last_sync": { + "label": "Последняя синхронизация", + "value": "{time}" + } + }, + "security": { + "title": "Безопасность аккаунта", + "description": "Управляйте паролем, двухфакторной аутентификацией и настройками безопасности", + "detecting": "Определение возможностей сервера...", + "not_available": "Управление безопасностью аккаунта недоступно для этого почтового сервера.", + "password": { + "title": "Изменить пароль", + "current": "Текущий пароль", + "new": "Новый пароль", + "confirm": "Подтвердите новый пароль", + "submit": "Изменить пароль", + "success": "Пароль успешно изменён", + "error_title": "Не удалось изменить пароль", + "error_mismatch": "Новые пароли не совпадают", + "error_min_length": "Пароль должен содержать не менее 8 символов", + "error_generic": "Не удалось изменить пароль" + }, + "display_name": { + "label": "Отображаемое имя", + "description": "Ваше имя, отображаемое на сервере", + "save": "Сохранить", + "success": "Отображаемое имя обновлено", + "error": "Не удалось обновить отображаемое имя" + }, + "totp": { + "section_title": "Двухфакторная аутентификация", + "label": "Аутентификация TOTP", + "description": "Добавьте дополнительный уровень безопасности с помощью одноразового пароля", + "active": "Включена", + "inactive": "Отключена", + "enabled": "Двухфакторная аутентификация включена", + "disabled": "Двухфакторная аутентификация отключена", + "enable_error": "Не удалось включить 2FA", + "disable_error": "Не удалось отключить 2FA", + "setup_instructions": "Скопируйте этот URL в приложение-аутентификатор (Google Authenticator, Authy и др.):" + }, + "app_passwords": { + "title": "Пароли приложений", + "description": "Создавайте пароли для приложений, не поддерживающих двухфакторную аутентификацию", + "add": "Добавить", + "create": "Создать", + "cancel": "Отмена", + "generate": "Сгенерировать", + "name_label": "Название приложения", + "name_placeholder": "напр., Thunderbird, iPhone Mail", + "password_label": "Пароль (оставьте пустым для автогенерации)", + "password_placeholder": "Автогенерация, если пусто", + "added": "Пароль приложения создан", + "removed": "Пароль приложения удалён", + "add_error": "Не удалось создать пароль приложения", + "remove_error": "Не удалось удалить пароль приложения", + "none": "Пароли приложений не настроены" + }, + "encryption": { + "section_title": "Шифрование хранилища", + "label": "Шифрование почты", + "description": "Шифровать хранимые письма на сервере для дополнительной конфиденциальности", + "active": "Шифрование {type} включено", + "inactive": "Отключено", + "enabled": "Шифрование хранилища включено", + "disabled_success": "Шифрование хранилища отключено", + "error": "Не удалось обновить настройки шифрования" + } + }, + "identities": { + "title": "Удостоверения отправителя", + "description": "Управляйте email-адресами, с которых можно отправлять письма", + "identities_count": { + "label": "Ваши удостоверения", + "description": "Email-адреса, настроенные для отправки", + "count_zero": "Нет удостоверений", + "count_one": "1 удостоверение", + "count_other": "{count} удостоверений" + }, + "manage": "Управление удостоверениями", + "sub_addressing": { + "label": "Суб-адресация", + "description": "Используйте теги вида user+tag@domain.com для организации входящей почты", + "learn_more": "Подробнее" + } + }, + "vacation": { + "title": "Автоответ на отпуск", + "description": "Автоматически отвечать на входящие письма в ваше отсутствие", + "loading": "Загрузка настроек автоответа...", + "not_supported": "Ваш почтовый сервер не поддерживает автоответы на отпуск.", + "fetch_error": "Не удалось загрузить настройки автоответа. Повторите попытку.", + "status": { + "label": "Автоответ на отпуск", + "description": "Отправлять автоматический ответ на входящие письма", + "active": "Активен", + "inactive": "Неактивен" + }, + "date_range": { + "title": "Диапазон дат", + "description": "Ограничьте автоответ определённым периодом (необязательно)", + "start": "Дата начала", + "start_description": "Оставьте пустым для без ограничения", + "end": "Дата окончания", + "end_description": "Оставьте пустым для без ограничения" + }, + "message": { + "title": "Сообщение автоответа", + "description": "Сообщение, которое будет отправляться в качестве ответа", + "subject_label": "Тема", + "subject_description": "Тема автоответа", + "subject_placeholder": "Вне офиса", + "body_label": "Текст сообщения", + "body_description": "Содержимое сообщения в виде обычного текста", + "body_placeholder": "Спасибо за ваше письмо. Я сейчас вне офиса и отвечу, когда вернусь." + }, + "preview": { + "title": "Предпросмотр", + "show": "Показать предпросмотр", + "hide": "Скрыть предпросмотр" + }, + "save": "Сохранить изменения", + "saving": "Сохранение...", + "warnings": { + "end_before_start": "Дата окончания должна быть позже даты начала", + "start_in_past": "Дата начала в прошлом", + "empty_body": "Текст сообщения пуст — получатели получат пустой ответ" + } + }, + "folders": { + "title": "Папки", + "description": "Управляйте папками почты и назначайте стандартные роли", + "folder_list": "Ваши папки", + "folder_list_description": "Нажмите на значок папки для настройки", + "standard_roles": "Стандартные роли папок", + "standard_roles_description": "Назначьте папки для стандартных ролей: Входящие, Отправленные, Корзина и др.", + "role_inbox": "Входящие", + "role_drafts": "Черновики", + "role_sent": "Отправленные", + "role_trash": "Корзина", + "role_junk": "Спам", + "role_archive": "Архив", + "role_none": "Нет", + "create_folder": "Создать папку", + "create_subfolder": "Создать подпапку", + "subfolder_of": "Внутри {name}", + "subfolder_name": "Название подпапки", + "new_folder_name": "Название папки", + "rename": "Переименовать", + "change_icon": "Изменить значок", + "delete": "Удалить", + "confirm_delete": "Вы уверены, что хотите удалить \"{name}\"? Письма в этой папке будут перемещены в корзину.", + "create": "Создать", + "cancel": "Отмена", + "no_folders": "Нет пользовательских папок", + "cannot_delete_role": "Нельзя удалить папку со стандартной ролью. Сначала снимите роль.", + "folder_created": "Папка создана", + "folder_renamed": "Папка переименована", + "folder_deleted": "Папка удалена", + "role_updated": "Роль папки обновлена", + "error_create": "Не удалось создать папку", + "error_rename": "Не удалось переименовать папку", + "error_delete": "Не удалось удалить папку", + "error_role": "Не удалось обновить роль папки" + }, + "advanced": { + "title": "Дополнительно", + "description": "Расширенные параметры и настройки разработчика", + "debug_mode": { + "label": "Режим отладки", + "description": "Включить подробное журналирование для диагностики" + }, + "settings_sync": { + "label": "Синхронизация настроек", + "description": "Синхронизировать настройки между браузерами и устройствами" + }, + "sender_favicons": { + "label": "Фавиконы отправителей (Экспериментально)", + "description": "Показывать иконки сайтов как аватары для корпоративных отправителей" + }, + "keyboard_shortcuts": { + "label": "Сочетания клавиш", + "description": "Просмотреть доступные сочетания клавиш", + "button": "Показать сочетания" + }, + "reset_settings": { + "label": "Сбросить настройки", + "description": "Восстановить все настройки до значений по умолчанию", + "button": "Сбросить" + }, + "export_settings": { + "label": "Экспортировать настройки", + "description": "Скачать настройки в формате JSON", + "button": "Экспортировать" + }, + "import_settings": { + "label": "Импортировать настройки", + "description": "Загрузить настройки из файла JSON", + "button": "Импортировать" + } + }, + "sidebar_apps": { + "title": "Приложения боковой панели", + "description": "Управляйте пользовательскими приложениями и ссылками в боковой панели", + "keep_loaded": "Держать приложения загруженными", + "keep_loaded_description": "Держать встроенные приложения в фоне при переключении между ними, чтобы избежать перезагрузки", + "manage_title": "Пользовательские приложения", + "manage_description": "Добавляйте, редактируйте и удаляйте пользовательские приложения из боковой панели" + }, + "contacts": { + "title": "Контакты", + "description": "Импортируйте и экспортируйте ваши контакты", + "import_label": "Импорт контактов", + "import_description": "Импортировать контакты из файла vCard (.vcf)", + "export_label": "Экспорт контактов", + "export_description": "Экспортировать все контакты в виде файла vCard (.vcf)" + }, + "filters": { + "title": "Фильтры почты", + "description": "Создавайте правила для автоматической сортировки, маркировки и управления входящими письмами", + "add_rule": "Добавить правило", + "no_rules": "Нет правил фильтрации", + "no_rules_description": "Создайте правила для автоматической организации входящей почты", + "edit_rule": "Редактировать правило", + "new_rule": "Новое правило", + "delete_rule": "Удалить правило", + "delete_confirm": "Вы уверены, что хотите удалить это правило?", + "enable": "Включить", + "disable": "Отключить", + "raw_editor": "Редактор Sieve", + "raw_editor_warning": "Редактирование Sieve-скрипта может нарушить визуальное редактирование правил. Изменения здесь переопределяют визуальный конструктор.", + "validate": "Проверить", + "validation_success": "Скрипт корректен", + "validation_error": "Скрипт содержит ошибки", + "save": "Сохранить правила", + "saving": "Сохранение...", + "saved": "Фильтры успешно сохранены", + "save_failed": "Не удалось сохранить фильтры", + "loading": "Загрузка фильтров...", + "not_supported": "Ваш почтовый сервер не поддерживает фильтры.", + "rule_name": "Название правила", + "rule_name_placeholder": "напр., Сортировка рассылок", + "match_all": "Совпадают ВСЕ условия", + "match_any": "Совпадает ЛЮБОЕ условие", + "conditions": "Условия", + "add_condition": "Добавить условие", + "actions": "Действия", + "add_action": "Добавить действие", + "stop_processing": "Прекратить обработку последующих правил", + "condition_fields": { + "from": "От", + "to": "Кому", + "cc": "Копия", + "subject": "Тема", + "header": "Пользовательский заголовок", + "size": "Размер", + "body": "Тело" + }, + "comparators": { + "contains": "содержит", + "not_contains": "не содержит", + "is": "точно совпадает", + "not_is": "не равно", + "starts_with": "начинается с", + "ends_with": "заканчивается на", + "matches": "соответствует шаблону", + "greater_than": "больше чем", + "less_than": "меньше чем" + }, + "action_types": { + "move": "Переместить в папку", + "copy": "Копировать в папку", + "forward": "Переслать на", + "mark_read": "Отметить прочитанным", + "star": "Пометить сообщение", + "add_label": "Добавить метку", + "discard": "Удалить (без уведомления)", + "reject": "Отклонить с сообщением", + "keep": "Оставить во входящих", + "stop": "Прекратить обработку" + }, + "move_to_folder": "Выбрать папку", + "copy_to_folder": "Выбрать папку", + "forward_to": "Переслать на адрес электронной почты", + "forward_placeholder": "user@пример.рф", + "reject_message": "Сообщение об отклонении", + "reject_placeholder": "Ваше письмо было отклонено", + "label_name": "Название метки", + "label_placeholder": "напр., важное", + "header_name": "Имя заголовка", + "header_placeholder": "напр., X-Mailing-List", + "size_bytes": "Размер в байтах", + "size_placeholder": "напр., 1000000", + "system_managed": "Правило, управляемое системой", + "opaque_warning": "Этот скрипт был отредактирован вне визуального конструктора. Доступно только редактирование необработанного Sieve.", + "open_sieve_editor": "Открыть редактор Sieve", + "fetch_error": "Не удалось загрузить фильтры", + "expanded_view": "Расширенный вид", + "expanded_view_description": "Показывать правила фильтрации с подробными блоками условий и действий", + "if": "Если", + "then": "То", + "match_all_conditions": "все совпадают", + "match_any_condition": "любое совпадает", + "and": "и", + "or": "или", + "cancel": "Отмена", + "confirm_delete": "Удалить", + "rule_list": "Правила фильтрации", + "drag_to_reorder": "Перетащите для изменения порядка", + "match_type": "Тип совпадения", + "reset_to_visual": "Сбросить до визуального конструктора", + "reset_warning": "Это удалит текущий скрипт и начнёт заново.", + "confirm_reset": "Сбросить", + "validation_empty_name": "Требуется название правила", + "validation_empty_conditions": "Требуется хотя бы одно условие со значением", + "validation_empty_actions": "Требуется хотя бы одно действие", + "templates_section": "Начать с шаблона", + "template_newsletters": "Перемещать рассылки в папку", + "template_receipts": "Автоархивировать квитанции", + "template_important": "Помечать важные письма", + "template_notifications": "Фильтровать уведомления", + "sieve_editor": { + "title": "Редактор Sieve-скрипта", + "warning": "Редактирование Sieve-скрипта может нарушить визуальное редактирование правил. Изменения здесь переопределяют визуальный конструктор.", + "script_content": "Sieve-скрипт", + "valid": "Скрипт корректен", + "invalid": "Скрипт содержит ошибки", + "save_warning": "Сохранение перезапишет визуальные правила. Это нельзя отменить. Нажмите «Сохранить» ещё раз для подтверждения.", + "validating": "Проверка...", + "validate": "Проверить", + "cancel": "Отмена", + "save": "Сохранить", + "confirm_save": "Подтвердить сохранение", + "validation_failed": "Ошибка запроса проверки" + }, + "rule_summary": { + "conditions_count": "{count, plural, one {# условие} other {# условий}}", + "actions_count": "{count, plural, one {# действие} other {# действий}}" + } + }, + "templates": { + "title": "Шаблоны писем", + "description": "Создавайте многоразовые шаблоны писем с переменными-заполнителями", + "add": "Новый шаблон", + "edit": "Редактировать шаблон", + "name": "Название шаблона", + "name_placeholder": "напр., Письмо-напоминание", + "category": "Категория", + "category_placeholder": "напр., Работа, Личное", + "subject": "Тема", + "subject_placeholder": "Тема письма", + "body": "Текст", + "body_placeholder": "Текст письма...", + "recipients_placeholder": "user@пример.рф", + "identity": "Отправить как", + "default_identity": "Удостоверение по умолчанию", + "favorite": "Избранное", + "cancel": "Отмена", + "create": "Создать", + "update": "Обновить", + "confirm_delete": "Удалить", + "no_templates": "Шаблоны отсутствуют", + "manage": "Управление шаблонами", + "count": "{count, plural, one {# шаблон} other {# шаблонов}}", + "export_import": "Экспорт и импорт", + "export_import_description": "Резервная копия шаблонов или перенос на другое устройство", + "export": "Экспортировать", + "import": "Импортировать", + "validation": { + "empty": "Название шаблона обязательно", + "too_long": "Название шаблона не должно превышать 200 символов" + } + }, + "files": { + "display": { + "title": "Отображение", + "description": "Настройте отображение файлов и папок" + }, + "folder_layout": { + "label": "Навигация по папкам", + "description": "Выберите, как отображать папки: встроенно с файлами или в боковом дереве", + "inline": "Встроенно", + "sidebar": "Боковая панель" + }, + "default_view": { + "label": "Вид по умолчанию", + "description": "Выберите между сеткой и списком", + "list": "Список", + "grid": "Сетка" + }, + "default_sort": { + "label": "Сортировка по умолчанию", + "description": "Выберите способ сортировки файлов по умолчанию", + "name": "Имя", + "size": "Размер", + "modified": "Дата изменения" + }, + "sort_direction": { + "label": "Направление сортировки", + "description": "Выберите порядок: по возрастанию или убыванию", + "ascending": "По возрастанию", + "descending": "По убыванию" + }, + "icons": { + "title": "Иконки", + "description": "Настройте внешний вид иконок файлов" + }, + "show_icons": { + "label": "Показывать иконки файлов", + "description": "Отображать иконки рядом с файлами и папками" + }, + "colored_icons": { + "label": "Цветные иконки", + "description": "Использовать цветные иконки вместо монохромных" + }, + "show_thumbnails": { + "label": "Показывать миниатюры", + "description": "Отображать предпросмотр изображений вместо иконок для изображений" + }, + "behavior": { + "title": "Поведение", + "description": "Настройте поведение файлового менеджера" + }, + "show_hidden": { + "label": "Показывать скрытые файлы", + "description": "Отображать файлы и папки, начинающиеся с точки" + }, + "preview": { + "label": "Предпросмотр" + } + } + }, + "errors": { + "page_error_title": "Что-то пошло не так", + "page_error_description": "Произошла непредвиденная ошибка. Пожалуйста, попробуйте снова или вернитесь на главную страницу.", + "sidebar_error": "Не удалось загрузить почтовые ящики", + "email_list_error": "Не удалось загрузить письма", + "viewer_error_title": "Не удалось отобразить письмо", + "viewer_error_description": "Произошла проблема при отображении этого письма. Оно может содержать неподдерживаемый контент.", + "composer_error": "Не удалось загрузить редактор письма", + "settings_error_title": "Настройки недоступны", + "settings_error_description": "Не удалось загрузить настройки. Ваши предпочтения могут не быть сохранены.", + "try_again": "Попробовать снова", + "reload": "Перезагрузить", + "reload_emails": "Перезагрузить письма", + "reload_settings": "Перезагрузить настройки", + "retry": "Повторить", + "go_home": "В папку «Входящие»" + }, + "context_menu": { + "reply": "Ответить", + "reply_all": "Ответить всем", + "forward": "Переслать", + "mark_read": "Отметить как прочитанное", + "mark_unread": "Отметить как непрочитанное", + "star": "Добавить звёздочку", + "unstar": "Убрать звёздочку", + "move_to": "Переместить в...", + "archive": "В архив", + "delete": "Удалить", + "mark_as_spam": "Отметить как спам", + "not_spam": "Не спам", + "color_tag": "Метка", + "remove_color": "Убрать метку", + "items_selected": "{count} писем выбрано", + "edit_draft": "Редактировать черновик" + }, + "shortcuts": { + "title": "Сочетания клавиш", + "tip": "Нажмите ? в любое время для отображения справки", + "sections": { + "navigation": "Навигация", + "actions": "Действия с письмом", + "global": "Глобальные", + "threads": "Цепочки", + "composer": "Редактор" + }, + "navigation": { + "next_email": "Следующее письмо", + "previous_email": "Предыдущее письмо", + "open_email": "Открыть письмо", + "close_email": "Закрыть / Отменить выбор" + }, + "actions": { + "reply": "Ответить", + "reply_all": "Ответить всем", + "forward": "Переслать", + "star": "Переключить звёздочку", + "archive": "В архив", + "delete": "Удалить", + "mark_unread": "Отметить как непрочитанное", + "mark_read": "Отметить как прочитанное", + "toggle_spam": "Отметить спам / Не спам" + }, + "global": { + "compose": "Написать новое письмо", + "search": "Перейти к поиску", + "help": "Показать сочетания клавиш", + "refresh": "Обновить письма", + "select_all": "Выбрать все" + }, + "threads": { + "expand_collapse": "Развернуть/свернуть цепочку" + }, + "composer": { + "template_picker": "Открыть выбор шаблонов" + } + }, + "threads": { + "messages_one": "{count} сообщение", + "messages_other": "{count} сообщений", + "messages_tooltip": "{count, plural, one {# сообщение в этом разговоре} other {# сообщений в этом разговоре}}", + "expand": "Развернуть разговор", + "collapse": "Свернуть разговор", + "loading": "Загрузка разговора...", + "mark_read": "Отметить разговор как прочитанный", + "mark_unread": "Отметить разговор как непрочитанный", + "archive": "Архивировать разговор", + "delete": "Удалить разговор", + "star": "Добавить звёздочку к разговору", + "unstar": "Убрать звёздочку у разговора", + "toggle_thread": "Переключить цепочку" + }, + "identities": { + "modal_title": "Управление идентификациями отправителя", + "create_new": "Создать новую идентификацию", + "edit_identity": "Редактировать идентификацию", + "delete_confirm": "Удалить эту идентификацию? Это действие нельзя отменить.", + "cannot_delete": "Эту идентификацию нельзя удалить", + "primary_identity": "Основная", + "set_as_primary": "Сделать основной", + "no_identities": "Идентификации не найдены", + "display": { + "reply_to": "Ответить на:", + "bcc": "СК:", + "signature": "Подпись:", + "preview": "Предпросмотр:" + }, + "validation_errors": { + "invalid_emails": "Неверные адреса: {emails}", + "unknown_error": "Неизвестная ошибка" + }, + "form": { + "name_label": "Отображаемое имя", + "name_placeholder": "напр., Рабочая почта, Личная", + "name_required": "Имя обязательно", + "email_label": "Адрес электронной почты", + "email_placeholder": "user@пример.рф", + "email_required": "Email обязателен", + "email_invalid": "Введите корректный адрес электронной почты", + "email_immutable": "Адрес электронной почты нельзя изменить после создания", + "reply_to_label": "Ответить на (необязательно)", + "reply_to_placeholder": "other@email.com", + "bcc_label": "Авто СК (необязательно)", + "bcc_placeholder": "archive@пример.рф", + "text_signature_label": "Текстовая подпись", + "html_signature_label": "HTML-подпись", + "save": "Сохранить идентификацию", + "cancel": "Отмена", + "creating": "Создание...", + "updating": "Обновление..." + }, + "sub_address": { + "button_tooltip": "Использовать суб-адрес", + "popover_title": "Добавить тег суб-адреса", + "tag_input_placeholder": "Введите тег (напр., shopping)", + "preview_label": "Предпросмотр:", + "recent_tags": "Недавние теги", + "suggested_tags": "Предложения", + "use_address": "Использовать этот адрес", + "invalid_tag": "Тег должен содержать только буквы, цифры и дефисы", + "tag_too_long": "Тег не должен превышать 30 символов", + "help_text": "Письма на адрес user+tag@domain.com будут приходить в ваш ящик", + "validation": { + "empty": "Тег не может быть пустым", + "too_long": "Тег не должен превышать {max} символов", + "invalid_chars": "Тег должен содержать только буквы, цифры и дефисы" + } + }, + "badge": { + "sent_via": "через", + "sub_address_tag": "Отправлено через суб-адрес: {tag}", + "identity_name": "Отправлено через идентификацию: {name}", + "identity_short": "через {name}", + "subaddress_tag": "+{tag}" + }, + "delete_button": "Удалить", + "delete_confirm_title": "Удалить идентификацию" + }, + "templates": { + "picker_title": "Выбрать шаблон", + "search_placeholder": "Поиск шаблонов...", + "section_favorites": "Избранное", + "section_recent": "Недавние", + "section_uncategorized": "Другие", + "no_templates": "Шаблоны ещё не созданы", + "no_results": "Шаблоны не найдены", + "fill_placeholders": "Заполнить значения переменных", + "enter_value": "Введите значение...", + "preview": "Предпросмотр", + "insert_with_values": "Вставить со значениями", + "insert_raw": "Вставить без изменений", + "copy_suffix": "(копия)", + "placeholder": "Переменная", + "placeholders": { + "recipient_name": "Имя получателя", + "company": "Название компании", + "date": "Текущая дата", + "day_of_week": "День недели", + "sender_name": "Ваше имя" + } + }, + "contacts": { + "title": "Контакты", + "search_placeholder": "Поиск контактов...", + "create_new": "Новый контакт", + "no_category": "Без категории", + "category_added": "Контакт добавлен в {name}", + "category_added_plural": "{count} контактов добавлено в {name}", + "empty_state": "Контактов пока нет", + "empty_state_title": "Контактов пока нет", + "empty_state_subtitle": "Создайте первый контакт или импортируйте из файла vCard", + "empty_search": "Нет контактов, соответствующих вашему запросу", + "empty_search_hint": "Попробуйте другой поисковый запрос", + "clear_search": "Очистить поиск", + "import_vcard": "Импорт vCard", + "delete_confirm_title": "Удалить контакт", + "delete_confirm": "Вы уверены, что хотите удалить этот контакт?", + "local_mode": "Контакты хранятся локально (сервер не поддерживает JMAP Contacts)", + "back_to_mail": "Вернуться к почте", + "tabs": { + "all": "Все", + "groups": "Группы" + }, + "shared": { + "title": "Общий" + }, + "address_books": { + "title": "Мои адресные книги", + "shared_prefix": "Общая: {name}", + "moved": "Контакт перемещён в {name}", + "moved_plural": "{count} контактов перемещено в {name}", + "move_failed": "Не удалось переместить контакт", + "address_book": "Адресная книга" + }, + "detail": { + "emails": "Адреса электронной почты", + "phones": "Номера телефонов", + "organizations": "Организации", + "addresses": "Адреса", + "notes": "Заметки", + "titles": "Должности и роли", + "online_services": "Онлайн-сервисы", + "anniversaries": "Даты", + "personal_info": "Личная информация", + "languages": "Языки", + "categories": "Категории", + "related_contacts": "Связанные контакты", + "crypto_keys": "Криптографические ключи", + "cert_issuer": "Издатель", + "cert_expires": "Истекает", + "cert_expired": "Истёк", + "cert_fingerprint": "Отпечаток", + "cert_algorithm": "Алгоритм", + "import_to_smime": "Импортировать в S/MIME", + "cert_already_imported": "Уже импортировано в S/MIME", + "cert_imported": "Сертификат импортирован в хранилище S/MIME", + "cert_import_failed": "Не удалось импортировать сертификат", + "no_contact_selected": "Выберите контакт для просмотра деталей", + "compose_email": "Написать письмо", + "copy_email": "Скопировать email", + "copy_phone": "Скопировать номер телефона", + "copy_url": "Скопировать URL", + "copied": "Скопировано в буфер обмена", + "copy_failed": "Не удалось скопировать в буфер обмена", + "created": "Создан", + "updated": "Последнее обновление", + "timezone": "Часовой пояс", + "anniversary_birth": "День рождения", + "anniversary_death": "Дата смерти", + "anniversary_wedding": "Годовщина", + "anniversary_other": "Другое", + "personal_expertise": "Экспертиза", + "personal_hobby": "Хобби", + "personal_interest": "Интерес", + "personal_other": "Другое", + "gender": "Пол", + "gender_masculine": "Мужской", + "gender_feminine": "Женский", + "gender_other": "Другой", + "gender_none": "Не применимо", + "gender_unknown": "Неизвестно", + "calendar": "Календарь", + "calendar_uri": "URL календаря", + "scheduling_uri": "URL планирования", + "freebusy_uri": "URL доступности" + }, + "form": { + "create_title": "Новый контакт", + "edit_title": "Редактировать контакт", + "section_address_book": "Каталог", + "select_address_book": "Выберите каталог...", + "section_identity": "Имя и личность", + "section_work": "Работа и организация", + "prefix": "Префикс", + "prefix_placeholder": "Д-р., Г-н., Г-жа.", + "given_name": "Имя", + "middle_name": "Отчество", + "surname": "Фамилия", + "suffix": "Суффикс", + "suffix_placeholder": "Мл., Ст., III", + "nickname": "Псевдоним", + "nickname_placeholder": "Псевдоним", + "email": "Электронная почта", + "email_placeholder": "user@пример.рф", + "phone": "Телефон", + "phone_placeholder": "+7 234 567 890", + "phone_type": "Тип", + "phone_voice": "Голосовой", + "phone_cell": "Мобильный", + "phone_fax": "Факс", + "phone_pager": "Пейджер", + "phone_video": "Видео", + "phone_text": "Текст", + "organization": "Организация", + "organization_placeholder": "Название компании", + "department": "Отдел", + "department_placeholder": "Отдел", + "job_title": "Должность", + "job_title_placeholder": "напр., инженер-программист", + "role": "Роль", + "role_placeholder": "напр., руководитель группы", + "addresses": "Адреса", + "add_address": "Добавить адрес", + "street": "Улица", + "city": "Город", + "region": "Штат / Регион", + "postcode": "Почтовый индекс", + "country": "Страна", + "online_services": "Онлайн-сервисы", + "add_online_service": "Добавить онлайн-сервис", + "url_placeholder": "https://пример.рф", + "service_placeholder": "Сервис", + "anniversaries": "Даты", + "add_anniversary": "Добавить дату", + "anniversary_birth": "День рождения", + "anniversary_wedding": "Годовщина", + "anniversary_death": "Памятная дата", + "anniversary_other": "Другое", + "personal_info": "Личная информация", + "add_personal_info": "Добавить запись", + "personal_info_placeholder": "напр., Фотография", + "personal_expertise": "Экспертиза", + "personal_hobby": "Хобби", + "personal_interest": "Интерес", + "personal_other": "Другое", + "level": "Уровень", + "level_high": "Высокий", + "level_medium": "Средний", + "level_low": "Низкий", + "categories": "Категории", + "categories_placeholder": "напр., Семья, Друзья, Коллеги", + "categories_hint": "Введите для поиска или добавления категорий", + "category_add": "Добавить", + "note": "Заметки", + "note_placeholder": "Добавьте заметку...", + "gender": "Пол", + "gender_sex": "Биологический пол", + "gender_male": "Мужской", + "gender_female": "Женский", + "gender_other": "Другой", + "gender_none": "Не применимо", + "gender_unknown": "Неизвестно", + "gender_identity": "Гендерная идентичность", + "gender_identity_placeholder": "Гендерная идентичность...", + "calendar": "Календарь", + "calendar_uri": "URL календаря", + "scheduling_uri": "URL планирования", + "freebusy_uri": "URL доступности", + "context_work": "Рабочий", + "context_private": "Личный", + "add_email": "Добавить email", + "add_phone": "Добавить телефон", + "save": "Сохранить", + "cancel": "Отмена", + "creating": "Создание...", + "updating": "Обновление...", + "name_required": "Требуется хотя бы имя или фамилия", + "email_invalid": "Введите корректный адрес электронной почты", + "email_error_inline": "Неверный формат email", + "save_failed": "Не удалось сохранить контакт", + "delete": "Удалить" + }, + "groups": { + "create": "Новая группа", + "edit": "Редактировать группу", + "empty": "Групп пока нет", + "delete_confirm_title": "Удалить группу", + "delete_confirm": "Вы уверены, что хотите удалить эту группу?", + "name_label": "Название группы", + "name_placeholder": "напр., Команда, Семья", + "name_required": "Название группы обязательно", + "save_failed": "Не удалось сохранить группу", + "members_label": "Участники", + "search_members": "Поиск контактов для добавления...", + "no_members": "В этой группе нет участников", + "member_count": "{count, plural, =0 {Нет участников} one {1 участник} other {# участников}}" + }, + "import": { + "title": "Импорт контактов", + "drop_hint": "Нажмите для выбора файла vCard", + "file_types": "Файлы .vcf или .vcard", + "no_contacts": "Контакты в файле не найдены", + "parse_error": "Не удалось разобрать файл vCard", + "found": "{count, plural, one {1 контакт найден} other {# контактов найдено}}", + "duplicate": "Дубликат", + "select_all": "Выбрать все", + "deselect_all": "Снять выделение", + "selected": "{count, plural, one {1 выбран} other {# выбрано}}", + "import_button": "Импортировать", + "importing": "Импортирование...", + "success": "{count, plural, one {1 контакт импортирован} other {# контактов импортировано}}", + "failed": "Импорт не выполнен", + "close": "Закрыть", + "file_too_large": "Файл слишком большой (макс. 5 МБ)" + }, + "export": { + "title": "Экспорт контактов", + "success": "{count, plural, one {1 контакт экспортирован} other {# контактов экспортировано}}" + }, + "bulk": { + "selected": "{count, plural, one {1 выбран} other {# выбрано}}", + "select_all": "Выбрать все", + "delete": "Удалить", + "delete_confirm_title": "Удалить контакты", + "delete_confirm": "Удалить {count, plural, one {1 контакт} other {# контактов}}?", + "deleted": "{count, plural, one {1 контакт удалён} other {# контактов удалено}}", + "add_to_group": "Добавить в группу", + "choose_group": "Выбрать группу", + "adding_contacts": "Добавляем {count, plural, one {1 контакт} other {# контактов}}", + "added_to_group": "Контакты добавлены в группу", + "export": "Экспорт", + "clear": "Очистить выбор" + }, + "toast": { + "created": "Контакт создан", + "updated": "Контакт обновлён", + "deleted": "Контакт удалён", + "error_create": "Не удалось создать контакт", + "error_update": "Не удалось обновить контакт", + "error_delete": "Не удалось удалить контакт" + } + }, + "calendar": { + "title": "Календарь", + "back_to_email": "Вернуться к почте", + "my_calendars": "Календари", + "mini_calendar_change": "Нажмите для смены месяца", + "views": { + "month": "Месяц", + "week": "Неделя", + "day": "День", + "agenda": "Повестка", + "today": "Сегодня", + "month_hint": "Месяц (m)", + "week_hint": "Неделя (w)", + "day_hint": "День (d)", + "agenda_hint": "Повестка (a)", + "tasks": "Задачи", + "tasks_hint": "Задачи (k)" + }, + "events": { + "create": "Создать событие", + "edit": "Редактировать событие", + "delete": "Удалить событие", + "details": "Детали события", + "no_events": "Нет событий", + "all_day": "Весь день", + "more": "ещё {count}", + "no_title": "(Без названия)", + "resize": "Изменить размер события", + "duplicate": "Дублировать", + "today_header": "Сегодня", + "tomorrow_header": "Завтра" + }, + "detail": { + "add_note": "Добавить заметку...", + "save_note": "Сохранить", + "note_saved": "Заметка добавлена", + "open_link": "Открыть ссылку", + "meeting_link": "Ссылка на встречу", + "tentative": "Предварительно", + "cancelled": "Отменено", + "delete_confirm": "Удалить это событие?" + }, + "form": { + "title": "Название", + "description": "Описание", + "location": "Место", + "start_date": "Дата начала", + "end_date": "Дата окончания", + "start_time": "Время начала", + "end_time": "Время окончания", + "all_day_event": "Событие на весь день", + "calendar_select": "Календарь", + "save": "Сохранить", + "cancel": "Отмена", + "delete_confirm": "Вы уверены, что хотите удалить это событие?", + "color": "Цвет" + }, + "participants": { + "title": "Участники", + "add": "Добавить участника", + "organizer": "Организатор", + "attendee": "Участник", + "accepted": "Принято", + "declined": "Отклонено", + "tentative": "Предварительно", + "needs_action": "Требует ответа", + "remove": "Удалить", + "email_placeholder": "Добавьте адрес или найдите контакт", + "send_invitations": "Отправить приглашения участникам", + "status_summary": "{accepted} принято, {pending} ожидает", + "invited_by": "Приглашение от {name}", + "respond_below": "Ответьте с помощью кнопок ниже", + "rsvp_label": "Ваш ответ", + "cancel_notification": "Участники будут уведомлены об отмене", + "you_organizer": "Вы являетесь организатором", + "you_attendee": "Вы являетесь участником", + "no_participants": "Нет участников", + "count": "{count, plural, one {# участник} other {# участников}}" + }, + "recurrence": { + "title": "Повторение", + "none": "Не повторяется", + "daily": "Ежедневно", + "weekly": "Еженедельно", + "monthly": "Ежемесячно", + "yearly": "Ежегодно", + "every_n_days": "Каждые {count} дней", + "every_n_weeks": "Каждые {count} недель", + "every_n_months": "Каждые {count} месяцев", + "until": "До", + "occurrences": "{count} повторений" + }, + "recurrence_scope": { + "edit_title": "Редактировать повторяющееся событие", + "delete_title": "Удалить повторяющееся событие", + "description": "Это повторяющееся событие. Какие события вы хотите изменить?", + "this_event": "Только это событие", + "this_and_future": "Это и последующие события", + "all_events": "Все события", + "cancel": "Отмена", + "save": "Сохранить", + "delete": "Удалить" + }, + "alerts": { + "title": "Напоминание", + "none": "Без напоминания", + "at_time": "В момент события", + "minutes_before": "{count, plural, one {За # минуту} other {За # минут}}", + "hours_before": "{count, plural, one {За # час} other {За # часов}}", + "days_before": "{count, plural, one {За # день} other {За # дней}}" + }, + "settings": { + "title": "Настройки календаря", + "default_view": "Вид по умолчанию", + "week_starts_on": "Неделя начинается с", + "time_format": "Формат времени", + "default_calendar": "Календарь по умолчанию", + "default_reminder": "Напоминание по умолчанию", + "time_format_12h": "12-часовой", + "time_format_24h": "24-часовой", + "notifications_enabled": "Уведомления о событиях", + "notifications_enabled_desc": "Показывать оповещения о предстоящих событиях", + "notification_sound": "Звук уведомления", + "notification_sound_desc": "Воспроизводить звук для оповещений календаря", + "invitation_parsing": "Разбор приглашений по email", + "invitation_parsing_desc": "Определять приглашения календаря во вложениях email и показывать действия", + "show_time_in_month_view": "Показывать время в виде месяца", + "show_time_in_month_view_desc": "Отображать время события в виде месячного календаря", + "show_week_numbers": "Показывать номера недель", + "show_week_numbers_desc": "Отображать номера недель в мини-календаре", + "enable_tasks": "Включить задачи", + "enable_tasks_desc": "Показывать представление задач в календаре для управления делами", + "show_tasks_on_calendar": "Показывать задачи в календаре", + "show_tasks_on_calendar_desc": "Отображать чипы задач в видах «день» и «неделя»" + }, + "days": { + "monday": "Понедельник", + "tuesday": "Вторник", + "wednesday": "Среда", + "thursday": "Четверг", + "friday": "Пятница", + "saturday": "Суббота", + "sunday": "Воскресенье", + "mon": "Пн", + "tue": "Вт", + "wed": "Ср", + "thu": "Чт", + "fri": "Пт", + "sat": "Сб", + "sun": "Вс" + }, + "notifications": { + "event_created": "Событие создано", + "event_updated": "Событие обновлено", + "event_deleted": "Событие удалено", + "calendar_created": "Календарь создан", + "calendar_deleted": "Календарь удалён", + "event_move_error": "Не удалось переместить событие", + "event_resize_error": "Не удалось изменить размер события", + "alert_title": "Предстоящее событие", + "alert_now": "Начинается сейчас", + "alert_in_minutes": "Через {count} мин", + "invitation_sent": "Приглашения отправлены", + "rsvp_updated": "Ответ обновлён", + "rsvp_error": "Не удалось обновить ответ", + "event_duplicated": "Событие дублировано", + "event_error": "Не удалось сохранить событие", + "task_due": "Срок задачи" + }, + "status": { + "loading_calendars": "Загрузка календарей...", + "loading_events": "Загрузка событий..." + }, + "quick_create": { + "placeholder": "Название нового события", + "aria_label": "Быстрое создание события" + }, + "nav_prev": "Предыдущий", + "nav_next": "Следующий", + "import": { + "title": "Импорт календаря", + "tab_file": "Файл", + "tab_url": "URL-адрес", + "select_file": "Выберите файл .ics", + "drop_file": "или перетащите файл сюда", + "supported_formats": "Поддерживает файлы iCalendar (.ics)", + "url_description": "Введите URL внешней ленты iCalendar (.ics) для импорта событий.", + "url_placeholder": "https://пример.рф/календарь.ics", + "url_hint": "Поддерживает URL CalDAV и iCalendar (.ics)", + "fetch": "Получить", + "invalid_url": "Введите корректный URL", + "url_fetch_failed": "Не удалось получить календарь по URL", + "parsing": "Разбор файла календаря...", + "parsed_events": "Найдено {count} событий", + "no_events": "События в файле не найдены", + "select_all": "Выбрать все", + "deselect_all": "Снять выделение", + "target_calendar": "Импортировать в календарь", + "import_button": "Импортировать выбранные", + "importing": "Импортирование событий...", + "success": "{count} событий успешно импортировано", + "error": "Не удалось импортировать календарь", + "file_too_large": "Файл превышает лимит 5 МБ", + "invalid_format": "Неверный формат файла календаря" + }, + "management": { + "title": "Управление календарями", + "description": "Создавайте, переименовывайте и настраивайте свои календари. Щёлкните правой кнопкой мыши на календаре в боковой панели для быстрой смены цвета.", + "name": "Имя", + "name_placeholder": "Название календаря", + "color": "Цвет", + "change_color": "Изменить цвет", + "add_calendar": "Добавить календарь", + "edit": "Редактировать", + "delete": "Удалить", + "save": "Сохранить", + "create": "Создать", + "cancel": "Отмена", + "default": "По умолчанию", + "confirm_delete": "Удалить «{name}»? Все события в этом календаре будут удалены.", + "confirm_clear": "Очистить все события из «{name}»? Это действие нельзя отменить.", + "clear_events": "Очистить события", + "events_cleared": "{count} событий очищено", + "error_clear": "Не удалось очистить события календаря", + "calendar_created": "Календарь создан", + "calendar_updated": "Календарь обновлён", + "calendar_deleted": "Календарь удалён", + "color_updated": "Цвет календаря обновлён", + "error_create": "Не удалось создать календарь", + "error_update": "Не удалось обновить календарь", + "error_delete": "Не удалось удалить календарь", + "caldav_url": "URL CalDAV", + "copy_url": "Скопировать CalDAV URL", + "url_copied": "CalDAV URL скопирован в буфер обмена" + }, + "subscription": { + "title": "Подписка iCal", + "section_title": "Подписки iCal", + "description": "Подпишитесь на внешнюю ленту iCalendar. События будут автоматически синхронизированы в отдельном календаре. Поддерживает URLs вида https:// и webcal://.", + "url_label": "URL календаря", + "url_placeholder": "https://example.com/calendar.ics или webcal://...", + "name_label": "Название календаря", + "name_placeholder": "напр. Государственные праздники", + "color_label": "Цвет", + "refresh_interval": "Интервал обновления", + "interval_15": "Каждые 15 минут", + "interval_30": "Каждые 30 минут", + "interval_60": "Каждый час", + "interval_360": "Каждые 6 часов", + "interval_1440": "Каждый день", + "subscribe": "Подписаться", + "subscribing": "Подписка...", + "invalid_url": "Введите корректный URL", + "success": "Подписка на «{name}» оформлена", + "error": "Не удалось добавить подписку", + "refresh": "Обновить сейчас", + "refresh_success": "Подписка обновлена", + "refresh_error": "Не удалось обновить подписку", + "unsubscribe": "Отписаться", + "confirm_delete": "Отписаться от «{name}»? Календарь и все его события будут удалены.", + "deleted": "Подписка удалена", + "delete_error": "Не удалось удалить подписку", + "last_refreshed": "Последнее обновление: {time}" + }, + "tasks": { + "label": "Задачи", + "no_tasks": "Нет задач", + "no_title": "(Без названия)", + "mark_complete": "Отметить как выполненное", + "mark_incomplete": "Отметить как невыполненное", + "filter_all": "Все", + "filter_pending": "Ожидающие", + "filter_completed": "Завершённые", + "filter_overdue": "Просроченные", + "show_completed": "Показывать завершённые", + "create": "Новая задача", + "edit": "Редактировать задачу", + "title_placeholder": "Название задачи", + "description_placeholder": "Добавьте описание...", + "due_date": "Срок выполнения", + "include_time": "Включить время", + "priority": "Приоритет", + "priority_none": "Нет", + "priority_high": "Высокий", + "priority_medium": "Средний", + "priority_low": "Низкий", + "progress": "Статус", + "progress_needs_action": "Требует действия", + "progress_in_process": "В процессе", + "progress_completed": "Завершено", + "progress_cancelled": "Отменено", + "calendar": "Календарь", + "alert": "Напоминание", + "alert_none": "Нет", + "alert_at_time": "В момент срока", + "alert_5min": "За 5 минут", + "alert_15min": "За 15 минут", + "alert_30min": "За 30 минут", + "alert_1hr": "За 1 час", + "alert_1day": "За 1 день", + "delete": "Удалить", + "cancel": "Отмена", + "save": "Сохранить", + "quick_add_placeholder": "Добавить задачу...", + "due_today": "Сегодня", + "due_tomorrow": "Завтра", + "overdue": "Просрочено" + } + }, + "advanced_search": { + "title": "Расширенный поиск", + "from": "От", + "from_placeholder": "Email или имя отправителя", + "to": "Кому", + "to_placeholder": "Email или имя получателя", + "subject": "Тема", + "subject_placeholder": "Тема содержит...", + "body": "Текст письма", + "body_placeholder": "Текст содержит...", + "folder": "Папка", + "all_folders": "Все папки", + "has_attachment": "Вложения", + "date_after": "После", + "date_before": "До", + "starred": "Со звёздочкой", + "unread": "Непрочитанные", + "read": "Прочитанные", + "yes": "Да", + "no": "Нет", + "clear": "Очистить", + "clear_all": "Очистить всё", + "filters_active": "{count} фильтр", + "filters_active_plural": "{count} фильтров", + "toggle_filters": "Ещё", + "search_hint": "Используйте расширенные фильтры для точного поиска", + "advanced_filters_tooltip": "Расширенные фильтры поиска", + "results_found": "{count, plural, =0 {Ничего не найдено} one {# результат} other {# результатов}}", + "results_found_more": "Найдено {count}+ результатов" + }, + "welcome": { + "title": "Добро пожаловать в ваш почтовый ящик", + "tip_compose": "Нажмите c для создания нового письма", + "tip_shortcuts": "Нажмите ? для просмотра всех сочетаний клавиш", + "tip_sidebar": "Найдите Календарь, Контакты и Настройки в боковом меню", + "tip_settings": "Настройте интерфейс в разделе «Настройки»", + "got_it": "Понятно", + "settings": "Настройки", + "dismiss": "Закрыть", + "start_tour": "Начать тур" + }, + "demo_welcome": { + "title": "Добро пожаловать в Bulwark Mail", + "description": "Откройте для себя полнофункциональный веб-клиент электронной почты — прямо в браузере. Все данные хранятся на вашем устройстве, поэтому вы можете смело всё проверить.", + "feature_email": "Чтение и написание писем", + "feature_organize": "Метки, звёздочки и папки", + "feature_shortcuts": "Сочетания клавиш", + "feature_privacy": "100% конфиденциальный демо-режим", + "hint": "Нажмите на любое письмо слева, чтобы начать, или пройдите тур ниже." + }, + "files": { + "title": "Файлы", + "search_placeholder": "Поиск файлов...", + "empty_state_title": "Файлов пока нет", + "empty_state_description": "Загрузите файлы или создайте папки для начала", + "upload": "Загрузить", + "upload_files": "Загрузить файлы", + "new_folder": "Новая папка", + "new_folder_name": "Название папки", + "rename": "Переименовать", + "rename_title": "Переименовать", + "new_name": "Новое название", + "delete": "Удалить", + "delete_confirm_title": "Удалить ресурс", + "delete_confirm_message": "Вы уверены, что хотите удалить «{name}»? Это действие нельзя отменить.", + "download": "Скачать", + "name": "Имя", + "size": "Размер", + "modified": "Дата изменения", + "type": "Тип", + "folder": "Папка", + "file": "Файл", + "parent_directory": "Родительский каталог", + "breadcrumb_root": "Главная", + "drop_files_here": "Перетащите файлы или папки сюда для загрузки", + "uploading": "Загрузка...", + "upload_success": "{count, plural, one {1 файл загружен} other {# файлов загружено}}", + "upload_error": "Не удалось загрузить файл", + "create_folder_success": "Папка создана", + "create_folder_error": "Не удалось создать папку", + "delete_success": "Успешно удалено", + "delete_error": "Не удалось удалить", + "rename_success": "Успешно переименовано", + "rename_error": "Не удалось переименовать", + "download_error": "Не удалось скачать", + "not_available": "Хранилище файлов недоступно на этом сервере", + "cancel": "Отмена", + "create": "Создать", + "save": "Сохранить", + "no_results": "Нет файлов, соответствующих вашему запросу", + "batch_delete_confirm_message": "Вы уверены, что хотите удалить {count, plural, one {1 элемент} other {# элементов}}? Это действие нельзя отменить.", + "batch_delete_success": "{count, plural, one {1 элемент удалён} other {# элементов удалено}}", + "grid_view": "Сеткой", + "list_view": "Списком", + "details": "Подробности", + "path": "Путь", + "preview": "Предпросмотр", + "preview_error": "Не удалось загрузить предпросмотр", + "cut": "Вырезать", + "copy": "Копировать", + "paste": "Вставить", + "move_success": "{count, plural, one {1 элемент перемещён} other {# элементов перемещено}}", + "move_error": "Не удалось переместить", + "paste_success": "Вставлено успешно", + "paste_error": "Не удалось вставить", + "new_text_file": "Новый текстовый файл", + "file_name": "Имя файла", + "retry": "Повторить", + "refresh": "Обновить", + "toggle_favorite": "Переключить избранное", + "duplicate": "Дублировать", + "duplicate_success": "Дублирование выполнено успешно", + "duplicate_error": "Не удалось дублировать", + "create_file_success": "Файл создан", + "create_file_error": "Не удалось создать файл", + "favorites": "Избранное", + "recent": "Недавние", + "properties": "Свойства", + "open_folder": "Открыть папку", + "upload_folder": "Загрузить папку", + "file_too_large": "«{name}» превышает максимальный размер файла ({max})", + "undo": "Отменить", + "undo_success": "Действие отменено", + "undo_error": "Не удалось отменить", + "toolbar": "Действия с файлами", + "file_list": "Файлы и папки", + "context_menu": "Действия", + "settings_title": "Настройки файлов", + "settings_display": "Отображение", + "settings_default_view": "Вид по умолчанию", + "settings_default_view_desc": "Выберите между сеткой и списком", + "settings_default_sort": "Сортировка по умолчанию", + "settings_default_sort_desc": "Выберите способ сортировки файлов по умолчанию", + "settings_sort_direction": "Направление сортировки", + "settings_sort_direction_desc": "Выберите порядок: по возрастанию или убыванию", + "settings_ascending": "По возрастанию", + "settings_descending": "По убыванию", + "settings_icons": "Иконки", + "settings_show_icons": "Показывать иконки файлов", + "settings_show_icons_desc": "Отображать иконки рядом с файлами и папками", + "settings_colored_icons": "Цветные иконки", + "settings_colored_icons_desc": "Использовать цветные иконки вместо монохромных", + "settings_show_thumbnails": "Показывать миниатюры", + "settings_show_thumbnails_desc": "Отображать предпросмотр изображений вместо иконок", + "settings_behavior": "Поведение", + "settings_show_hidden": "Показывать скрытые файлы", + "settings_show_hidden_desc": "Отображать файлы и папки, начинающиеся с точки", + "settings_folder_layout": "Навигация по папкам", + "settings_folder_layout_desc": "Выберите, как отображать папки: встроенно с файлами или в боковом дереве", + "settings_folder_layout_inline": "Встроенно", + "settings_folder_layout_sidebar": "Боковая панель" + }, + "smime": { + "your_certificates": "Ваши сертификаты", + "your_certificates_desc": "Импортируйте и управляйте своими сертификатами S/MIME для подписи и шифрования писем", + "recipient_certificates": "Сертификаты получателей", + "recipient_certificates_desc": "Публичные сертификаты для шифрования писем получателям", + "identity_bindings": "Привязки ключей к удостоверениям", + "identity_bindings_desc": "Привяжите сертификаты S/MIME к вашим почтовым удостоверениям", + "defaults_title": "Параметры по умолчанию", + "defaults_desc": "Настройте поведение подписи и шифрования по умолчанию", + "import_pkcs12": "Импорт PKCS#12 (.p12/.pfx)", + "import_public_cert": "Импортировать сертификат", + "no_certificates": "Сертификаты ещё не импортированы", + "no_recipient_certs": "Нет сертификатов получателей", + "expires": "Истекает", + "expired": "Истёк", + "bound_to": "Привязан к", + "no_key_bound": "Нет", + "lock": "Заблокировать ключ", + "unlock": "Разблокировать ключ", + "details": "Показать подробности", + "delete": "Удалить", + "encrypt_by_default": "Шифровать по умолчанию", + "encrypt_by_default_desc": "Автоматически шифровать письма, когда у всех получателей есть сертификаты", + "remember_unlocked": "Запоминать разблокированные ключи", + "remember_unlocked_desc": "Оставлять ключи разблокированными на время этой сессии браузера", + "sign_default_for": "Подписывать по умолчанию для", + "enter_p12_passphrase": "Введите парольную фразу PKCS#12", + "p12_passphrase_desc": "Введите парольную фразу, которая защищает этот файл сертификата", + "enter_storage_passphrase": "Установите парольную фразу хранилища", + "storage_passphrase_desc": "Выберите парольную фразу для защиты этого ключа при хранении в браузере", + "next": "Далее", + "import": "Импортировать", + "unlock_key": "Разблокировать ключ", + "unlock_key_desc": "Введите парольную фразу хранилища, чтобы разблокировать ключ для подписи или расшифрования", + "passphrase_placeholder": "Введите парольную фразу", + "confirm_passphrase_placeholder": "Подтвердите парольную фразу", + "passphrase_mismatch": "Парольные фразы не совпадают", + "cancel": "Отмена", + "processing": "Обработка…", + "close": "Закрыть", + "certificate_details": "Сведения о сертификате", + "cert_subject": "Субъект", + "cert_issuer": "Издатель", + "cert_email": "Электронная почта", + "cert_serial": "Серийный номер", + "cert_validity": "Срок действия", + "cert_fingerprint": "Отпечаток (SHA-256)", + "cert_algorithm": "Алгоритм", + "cert_capabilities": "Возможности", + "cert_source": "Источник", + "cert_expired": "Срок действия этого сертификата истёк", + "cert_not_yet_valid": "Этот сертификат ещё не действует", + "cap_sign": "Подпись", + "cap_encrypt": "Шифрование", + "cap_none": "Нет", + "show_passphrase": "Показать парольную фразу", + "hide_passphrase": "Скрыть парольную фразу", + "sign_toggle": "Подписывать", + "encrypt_toggle": "Шифровать", + "missing_recipient_certs": "Отсутствуют сертификаты для: {emails}", + "missing_sender_cert": "К этому удостоверению не привязан сертификат", + "status_encrypted_ok": "Это сообщение было зашифровано", + "status_encrypted_no_key": "Сообщение зашифровано, но подходящий ключ не найден", + "status_encrypted_failed": "Не удалось расшифровать это сообщение", + "status_signed_valid": "Подпись проверена", + "status_signed_invalid": "Проверка подписи не удалась", + "status_signed_expired_cert": "Подписано просроченным сертификатом", + "status_signed_mismatch": "Подпись действительна, но подписант не совпадает с отправителем", + "status_unsupported": "Неподдерживаемый формат S/MIME", + "auto_import_signer_certs": "Автоимпорт сертификатов подписантов", + "auto_import_signer_certs_desc": "Автоматически сохранять сертификаты из проверенных подписанных писем для будущего шифрования", + "export": "Экспорт", + "enter_export_passphrase": "Установите парольную фразу для экспорта", + "export_passphrase_desc": "Выберите парольную фразу для защиты экспортируемого файла PKCS#12", + "export_storage_desc": "Введите парольную фразу хранилища для расшифрования ключа перед экспортом", + "incorrect_passphrase": "Неверная парольная фраза" + }, + "tour": { + "step_counter": "Шаг {current} из {total}", + "skip": "Пропустить тур", + "back": "Назад", + "next": "Далее", + "finish": "Завершить", + "take_a_tour": "Пройдите тур по интерфейсу", + "restart_title": "Ознакомительный тур", + "restart_desc": "Повторить пошаговое руководство по интерфейсу", + "restart_button": "Перезапустить тур", + "sidebar_title": "Ваши почтовые ящики", + "sidebar_desc": "Это боковая панель с папками. Нажмите на любой почтовый ящик для просмотра писем. Вы можете создавать папки, перетаскивать письма между ними и видеть количество непрочитанных.", + "compose_title": "Написать письмо", + "compose_desc": "Нажмите здесь, чтобы написать новое письмо. Вы можете добавить получателей, вложения и использовать форматирование текста.", + "search_title": "Поиск почты", + "search_desc": "Ищите по отправителю, теме или содержимому. Нажмите на значок фильтра для расширенных параметров: диапазон дат, вложения и письма со звёздочкой.", + "email_list_title": "Список писем", + "email_list_desc": "Здесь отображаются письма. Нажмите на письмо для чтения справа. Используйте флажок для выбора нескольких писем, затем массово переместите, удалите или пометьте их.", + "email_viewer_title": "Панель чтения", + "email_viewer_desc": "Выбранное письмо открывается здесь. Ответьте, перешлите, архивируйте или удалите с помощью кнопок панели. Также можно добавить звёздочку или цветную метку.", + "keywords_title": "Цветные метки", + "keywords_desc": "Организуйте почту с помощью цветных меток. Перетащите письмо на метку для маркировки или щёлкните правой кнопкой мыши для назначения меток.", + "calendar_title": "Календарь", + "calendar_desc": "Перейдите в календарь для управления событиями. Создавайте события, устанавливайте напоминания и просматривайте день, неделю или месяц.", + "contacts_title": "Контакты", + "contacts_desc": "Здесь находится ваша адресная книга. Импортируйте контакты, создавайте группы и нажмите на контакт для просмотра подробностей.", + "settings_title": "Настройки", + "settings_desc": "Настройте всё: тему, плотность, подписи, фильтры, сочетания клавиш, параметры календаря и многое другое.", + "shortcuts_title": "Сочетания клавиш", + "shortcuts_desc": "Опытные пользователи оценят это. Нажмите ? в любое время для просмотра доступных сочетаний. Вы можете перемещаться, создавать и управлять письмами без мыши.", + "compose_open_title": "Редактор писем", + "compose_open_desc": "Это редактор писем. Добавьте получателей, напишите сообщение, прикрепите файлы и используйте форматирование. Также можно сохранять черновики и использовать шаблоны.", + "calendar_view_title": "Ваш календарь", + "calendar_view_desc": "Вот ваш календарь с примерными событиями. Вы можете переключаться между видами «день», «неделя», «месяц» и «повестка» с помощью панели инструментов.", + "create_event_title": "Создать событие", + "create_event_desc": "Нажмите эту кнопку для создания нового события. Вы можете указать название, дату, время и добавить участников.", + "event_modal_title": "Детали события", + "event_modal_desc": "Это форма события. Заполните название, выберите дату и время, добавьте место или участников. Нажмите «Сохранить» после завершения — или закройте и продолжайте.", + "contacts_list_title": "Ваши контакты", + "contacts_list_desc": "Здесь ваши контакты. Нажмите на контакт для просмотра подробностей справа. Вы также можете создавать новые контакты, импортировать vCard или организовывать контакты в группы.", + "settings_tabs_title": "Меню настроек", + "settings_tabs_desc": "Здесь все категории настроек. Настройте внешний вид, управляйте идентификациями, настраивайте фильтры, конфигурируйте календарь и многое другое.", + "files_title": "Хранилище файлов", + "files_desc": "Файловый менеджер позволяет загружать, организовывать и делиться файлами — как личное облачное хранилище в вашей почте.", + "demo_banner_title": "Элементы управления демо", + "demo_banner_desc": "Вы в демо-режиме — всё остаётся в вашем браузере. Нажмите «Сбросить демо» в любое время, чтобы начать заново с чистыми данными.", + "quota_title": "Использование хранилища", + "quota_desc": "Отслеживайте размер вашего почтового ящика здесь. Круг заполняется по мере использования пространства." + } +} diff --git a/package-lock.json b/package-lock.json index fbe66aa3..903c4a35 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9854,7 +9854,7 @@ "asn1js": "^3.0.5", "core-js": "^3.35.1", "des.js": "^1.1.0", - "elliptic": "git+https://github.com/mahrud/elliptic.git", + "elliptic": "^6.6.1", "pvtsutils": "^1.3.5", "tslib": "^2.6.2", "webcrypto-core": "^1.7.8"