diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d430667..0ba756d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -83,6 +83,7 @@ This project uses **next-intl** for internationalization. Please follow these gu 2. **Translation file locations**: - English: `/locales/en/common.json` - French: `/locales/fr/common.json` + - Other languages follow the same scheme 3. **Namespace organization**: - `login.*` - Login page strings diff --git a/app/layout.tsx b/app/layout.tsx index caf6c46..9ed0f7a 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -6,12 +6,12 @@ import "./globals.css"; const geistSans = Geist({ variable: "--font-geist-sans", - subsets: ["latin"], + subsets: ["latin", "cyrillic"], }); const geistMono = Geist_Mono({ variable: "--font-geist-mono", - subsets: ["latin"], + subsets: ["latin", "cyrillic"], }); export const metadata: Metadata = { diff --git a/components/providers/intl-provider.tsx b/components/providers/intl-provider.tsx index 95243f1..11c8207 100644 --- a/components/providers/intl-provider.tsx +++ b/components/providers/intl-provider.tsx @@ -3,25 +3,30 @@ import { useEffect, useState } from 'react'; import { NextIntlClientProvider } from 'next-intl'; import { useLocaleStore } from '@/stores/locale-store'; +import type { Locale } from '@/i18n/routing'; import enMessages from '@/locales/en/common.json'; -import frMessages from '@/locales/fr/common.json'; -import jaMessages from '@/locales/ja/common.json'; +import deMessages from '@/locales/de/common.json'; import esMessages from '@/locales/es/common.json'; +import frMessages from '@/locales/fr/common.json'; import itMessages from '@/locales/it/common.json'; -import deMessages from '@/locales/de/common.json'; +import jaMessages from '@/locales/ja/common.json'; import nlMessages from '@/locales/nl/common.json'; import ptMessages from '@/locales/pt/common.json'; +import ruMessages from '@/locales/ru/common.json'; +import ukMessages from '@/locales/uk/common.json'; // Pre-loaded translations (loaded at build time, not runtime) -const ALL_MESSAGES = { +const ALL_MESSAGES: Record = { en: enMessages, - fr: frMessages, - ja: jaMessages, + de: deMessages, es: esMessages, + fr: frMessages, it: itMessages, - de: deMessages, + ja: jaMessages, nl: nlMessages, pt: ptMessages, + ru: ruMessages, + uk: ukMessages, }; interface IntlProviderProps { @@ -62,10 +67,13 @@ export function IntlProvider({ locale: initialLocale, children }: IntlProviderPr } }, [currentLocale]); + const messages = + ALL_MESSAGES[activeLocale as Locale] ?? ALL_MESSAGES.en; + return ( {children} diff --git a/components/ui/language-switcher.tsx b/components/ui/language-switcher.tsx index fa00009..6668bb1 100644 --- a/components/ui/language-switcher.tsx +++ b/components/ui/language-switcher.tsx @@ -1,23 +1,31 @@ "use client"; import { useLocale } from 'next-intl'; +import { locales, type Locale } from '@/i18n/routing'; import { useLocaleStore } from '@/stores/locale-store'; import { Select } from '@/components/settings/settings-section'; +const NATIVE_LANGUAGE_LABELS: Record = { + en: 'English', + de: 'Deutsch', + es: 'Español', + fr: 'Français', + it: 'Italiano', + ja: '日本語', + nl: 'Nederlands', + pt: 'Português', + ru: 'Русский', + uk: 'Українська', +}; + export function LanguageSwitcher({ className }: { className?: string }) { const currentLocale = useLocale(); const setLocale = useLocaleStore((state) => state.setLocale); - const languages = [ - { value: 'en', label: 'English' }, - { value: 'fr', label: 'Français' }, - { value: 'ja', label: '日本語' }, - { value: 'es', label: 'Español' }, - { value: 'it', label: 'Italiano' }, - { value: 'de', label: 'Deutsch' }, - { value: 'nl', label: 'Nederlands' }, - { value: 'pt', label: 'Português' } - ]; + const languages = locales.map((code) => ({ + value: code, + label: NATIVE_LANGUAGE_LABELS[code], + })); return (
diff --git a/i18n/request.ts b/i18n/request.ts index deb9a27..7668393 100644 --- a/i18n/request.ts +++ b/i18n/request.ts @@ -8,10 +8,7 @@ export default getRequestConfig(async ({ requestLocale }) => { locale = routing.defaultLocale; } - // Use static imports for better compatibility - const messages = locale === 'fr' - ? (await import('../locales/fr/common.json')).default - : (await import('../locales/en/common.json')).default; + const messages = (await import(`../locales/${locale}/common.json`)).default; return { locale, diff --git a/i18n/routing.ts b/i18n/routing.ts index 25b0363..5074b65 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'], + locales: ['en', 'de', 'es', 'fr', 'it', 'ja', 'nl', 'pt', 'ru', 'uk'], defaultLocale: 'en', localePrefix: 'never' }); diff --git a/locales/de/common.json b/locales/de/common.json index 15047c4..f0dc239 100644 --- a/locales/de/common.json +++ b/locales/de/common.json @@ -515,6 +515,8 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", + "ukrainian": "Українська", "select_language": "Sprache auswählen", "switch_to_english": "Zu Englisch wechseln", "switch_to_french": "Zu Französisch wechseln", @@ -524,6 +526,8 @@ "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", + "switch_to_ukrainian": "Zu Ukrainisch wechseln", "switching": "Sprache wird gewechselt..." }, "settings": { diff --git a/locales/en/common.json b/locales/en/common.json index 624d6db..6e5ab81 100644 --- a/locales/en/common.json +++ b/locales/en/common.json @@ -519,6 +519,8 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", + "ukrainian": "Українська", "select_language": "Select language", "switch_to_english": "Switch to English", "switch_to_french": "Switch to French", @@ -528,6 +530,8 @@ "switch_to_german": "Switch to German", "switch_to_dutch": "Switch to Dutch", "switch_to_portuguese": "Switch to Portuguese", + "switch_to_russian": "Switch to Russian", + "switch_to_ukrainian": "Switch to Ukrainian", "switching": "Changing language..." }, "settings": { diff --git a/locales/es/common.json b/locales/es/common.json index 9a77679..2712603 100644 --- a/locales/es/common.json +++ b/locales/es/common.json @@ -515,6 +515,8 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", + "ukrainian": "Українська", "select_language": "Seleccionar idioma", "switch_to_english": "Cambiar a inglés", "switch_to_french": "Cambiar a francés", @@ -524,6 +526,8 @@ "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", + "switch_to_ukrainian": "Cambiar a ucraniano", "switching": "Cambiando idioma..." }, "settings": { diff --git a/locales/fr/common.json b/locales/fr/common.json index b96803f..0504198 100644 --- a/locales/fr/common.json +++ b/locales/fr/common.json @@ -515,6 +515,8 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", + "ukrainian": "Українська", "select_language": "Sélectionner la langue", "switch_to_english": "Passer à l'anglais", "switch_to_french": "Passer au français", @@ -524,6 +526,8 @@ "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", + "switch_to_ukrainian": "Passer à l'ukrainien", "switching": "Changement de langue..." }, "settings": { diff --git a/locales/it/common.json b/locales/it/common.json index 68ef3da..e72b666 100644 --- a/locales/it/common.json +++ b/locales/it/common.json @@ -515,6 +515,8 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", + "ukrainian": "Українська", "select_language": "Seleziona lingua", "switch_to_english": "Passa all'inglese", "switch_to_french": "Passa al francese", @@ -524,6 +526,8 @@ "switch_to_german": "Passa al tedesco", "switch_to_dutch": "Passa all'olandese", "switch_to_portuguese": "Passa al portoghese", + "switch_to_russian": "Passa al russo", + "switch_to_ukrainian": "Passa all'ucraino", "switching": "Cambio lingua in corso..." }, "settings": { diff --git a/locales/ja/common.json b/locales/ja/common.json index bc0fc7d..361690c 100644 --- a/locales/ja/common.json +++ b/locales/ja/common.json @@ -515,6 +515,8 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", + "ukrainian": "Українська", "select_language": "言語を選択", "switch_to_english": "英語に切り替え", "switch_to_french": "フランス語に切り替え", @@ -524,6 +526,8 @@ "switch_to_german": "ドイツ語に切り替え", "switch_to_dutch": "オランダ語に切り替え", "switch_to_portuguese": "ポルトガル語に切り替え", + "switch_to_russian": "ロシア語に切り替え", + "switch_to_ukrainian": "ウクライナ語に切り替え", "switching": "言語を変更中..." }, "settings": { diff --git a/locales/nl/common.json b/locales/nl/common.json index 53f4d31..f3b44ff 100644 --- a/locales/nl/common.json +++ b/locales/nl/common.json @@ -515,6 +515,8 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", + "ukrainian": "Українська", "select_language": "Selecteer taal", "switch_to_english": "Overschakelen naar Engels", "switch_to_french": "Overschakelen naar Frans", @@ -524,6 +526,8 @@ "switch_to_german": "Overschakelen naar Duits", "switch_to_dutch": "Overschakelen naar Nederlands", "switch_to_portuguese": "Overschakelen naar Portugees", + "switch_to_russian": "Overschakelen naar Russisch", + "switch_to_ukrainian": "Overschakelen naar Oekraïens", "switching": "Taal wijzigen..." }, "settings": { diff --git a/locales/pt/common.json b/locales/pt/common.json index 3323eb8..caffbcc 100644 --- a/locales/pt/common.json +++ b/locales/pt/common.json @@ -515,6 +515,8 @@ "german": "Deutsch", "dutch": "Nederlands", "portuguese": "Português", + "russian": "Русский", + "ukrainian": "Українська", "select_language": "Selecionar idioma", "switch_to_english": "Mudar para Inglês", "switch_to_french": "Mudar para Francês", @@ -524,6 +526,8 @@ "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", + "switch_to_ukrainian": "Mudar para Ucraniano", "switching": "Alterando idioma..." }, "settings": { diff --git a/locales/ru/common.json b/locales/ru/common.json new file mode 100644 index 0000000..ba23a87 --- /dev/null +++ b/locales/ru/common.json @@ -0,0 +1,1498 @@ +{ + "login": { + "title": "Почта", + "username_label": "Почта", + "username_placeholder": "user@example.com", + "password_label": "Пароль", + "password_placeholder": "Введите свой пароль", + "sign_in": "Войти", + "signing_in": "Вход в систему…", + "loading": "Загрузка…", + "error": { + "invalid_credentials": "Неверный адрес почты или пароль. Пожалуйста, проверьте свои учётные данные и повторите попытку.", + "connection_failed": "Невозможно связаться с сервером. Проверьте подключение к Интернету и повторите попытку.", + "cors_blocked": "Сервер доступен, но блокирует запросы между источниками. Проверьте настройки CORS вашего сервера JMAP и разрешите этот домен.", + "server_error": "Сервер временно недоступен. Пожалуйста, повторите попытку позже.", + "generic": "Произошла непредвиденная ошибка. Если проблема не исчезнет, ​​обратитесь к администратору.", + "totp_invalid": "Неверный код аутентификации. Пожалуйста, проверьте приложение для аутентификации и повторите попытку.", + "oauth_discovery_failed": "Единый вход включен, но связаться с поставщиком удостоверений не удалось. Проверьте конфигурацию 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", + "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": "Хранилище", + "sign_out": "Выход", + "contacts": "Контакты", + "calendar": "Календарь", + "settings": "Настройки", + "loading_mailboxes": "Загрузка почтовых ящиков…", + "push_connected": "Обновления в реальном времени активны", + "push_disconnected": "Обновления в реальном времени неактивны", + "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": "Автоответчик активен", + "mail": "Почта", + "nav_label": "Навигация", + "tags": { + "title": "Теги", + "no_tags": "Нет тегов" + }, + "empty_folder": { + "title": "Очистить папку", + "confirm": "Вы уверены, что хотите навсегда удалить {count, plural, one {# письмо} few {все # письма} many {все # писем} other {все # писем}} в {folder}?", + "success": "Папка успешно очищена", + "progress": "Удаление… {deleted}/{total}", + "error": "Не удалось удалить все письма. {deleted} из {total} были удалены.", + "cancel": "Отмена" + }, + "folder_management": { + "new_folder": "Новая папка", + "new_subfolder": "Новая подпапка", + "rename": "Переименовать", + "move_to": "Переместить в…", + "delete_folder": "Удалить папку", + "delete_confirm_title": "Удалить \"{name}\"?", + "delete_confirm_with_contents": "В этой папке {emails} писем и {subfolders} подпапок. Все письма будут перемещены в корзину.", + "delete_confirm_empty": "Эта папка пуста. Она будет удалена навсегда.", + "folder_created": "Папка \"{name}\" создана", + "folder_renamed": "Папка переименована в \"{name}\"", + "folder_moved": "Папка перемещена в \"{destination}\"", + "folder_moved_to_root": "Папка перемещена на верхний уровень", + "folder_deleted": "Папка \"{name}\" удалена", + "folder_name_placeholder": "Имя папки…", + "folder_name_empty_error": "Имя папки не может быть пустым", + "folder_name_exists_error": "Папка с таким названием уже существует", + "folder_name_slash_error": "Имена папок не могут содержать /", + "folder_name_too_long_error": "Имя папки слишком длинное (максимум 200 символов)", + "create_error": "Не удалось создать папку", + "rename_error": "Не удалось переименовать папку", + "move_error": "Не удалось переместить папку", + "delete_error": "Не удалось удалить папку", + "permission_error": "У вас нет разрешения на это действие", + "no_permission": "Нет разрешения", + "drop_to_move_inside": "Отпустите, чтобы переместить", + "enter_to_confirm": "Enter для подтверждения · Escape для отмены", + "enter_to_create": "Enter, чтобы создать · Escape, чтобы отменить", + "no_available_targets": "Нет доступных папок", + "move_to_top_level": "Верхний уровень" + } + }, + "email_list": { + "no_emails": "Нет писем", + "no_emails_description": "Начните с создания нового письма", + "loading": "Загрузка писем…", + "unread": "непрочитанные", + "to_me": "Мне", + "to_recipients": "{count, plural, one {# получатель} few {# получателя} many {# получателей} other {# получателей}}", + "and_others": "и ещё {count, plural, one {# получатель} few {# получателя} many {# получателей} other {# получателей}}", + "draft": "Черновик", + "starred": "В избранном", + "conversations_count": "{count} из {total} {total, plural, one {беседы} few {бесед} many {бесед} other {бесед}}", + "conversations_count_plus": "{count, plural, one {#+ беседа} few {#+ беседы} many {#+ бесед} other {#+ бесед}}", + "conversations_count_simple": "{count, plural, one {# беседа} few {# беседы} many {# бесед} other {# бесед}}", + "no_conversations": "Нет бесед", + "loading_more": "Загрузка дополнительных писем…", + "no_more_emails": "Больше нет писем для загрузки", + "batch_actions": { + "mark_read": "Отметить как прочитанное", + "mark_unread": "Отметить как непрочитанное", + "delete": "Удалить", + "clear_selection": "Очистить выбор", + "delete_confirm_title": "Удалить письма?", + "delete_confirm_message": "Вы уверены, что хотите удалить {count, plural, one {# письмо} few {# письма} many {# писем} other {# писем}}?", + "move_to": "Переместить в…", + "move_success": "Перемещено {count, plural, one {# письмо} few {# письма} many {# писем} other {# писем}} в {folder}", + "move_error": "Не удалось переместить письма", + "selected_count": "{count, plural, one {# письмо} few {# письма} many {# писем} other {# писем}} выбрано" + }, + "select_criteria": { + "label": "Критерии выбора", + "all": "Все", + "none": "Ничего", + "read": "Прочитанные", + "unread": "Непрочитанные", + "starred": "В избранном", + "unstarred": "Не в избранном" + }, + "move_to": { + "search_placeholder": "Поиск папок…", + "no_results": "Папки не найдены", + "no_other_folders": "Нет других папок", + "custom_folders": "Пользовательские папки" + } + }, + "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": "Архивировать", + "send": "Отправить", + "star": "Добавить в избранное", + "unstar": "Удалить из избранного", + "mark_unread": "Отметить как непрочитанное", + "mark_read": "Отметить как прочитанное", + "print": "Распечатать", + "view_source": "Просмотреть исходный текст", + "keyboard_shortcuts": "Сочетания клавиш (?)", + "email_source": "Исходный текст письма", + "copy_source": "Скопировать в буфер обмена", + "source_copied": "Исходный текст скопирован в буфер обмена", + "attachments": "Вложения", + "important": "Важное", + "download": "Скачать", + "from": "От", + "to": "Кому", + "cc": "Копия", + "bcc": "Скрытая копия", + "date": "Дата", + "subject": "Тема", + "show_details": "Показать детали", + "hide_details": "Скрыть детали", + "external_content_warning": "Изображения и внешний контент заблокированы", + "load_external_content": "Загрузить изображения", + "trust_sender": "Всегда доверять этому отправителю", + "back_to_list": "Вернуться к списку", + "message_details": "Подробности сообщения", + "more_reply_options": "Дополнительные варианты ответа", + "set_color": "Установить цвет", + "more_actions": "Дополнительные действия", + "remove_color": "Удалить цвет", + "more_count": "+{count, plural, one {# получатель} few {# получателя} many {# получателей} other {# получателей}}", + "characters_count": "{count, plural, one {# символ} few {# символа} many {# символов} other {# символов}}", + "quick_reply_placeholder": "Напишите быстрый ответ…", + "more_options": "Полный ответ", + "sending": "Отправка…", + "security_authentication": "Безопасность и аутентификация", + "security": { + "tooltip": { + "spf_pass": "Отправляющий сервер имеет право отправлять сообщения от имени этого домена", + "spf_fail": "Сервер-отправитель НЕ имеет права отправлять сообщения с этого домена — это письмо может быть подделанным", + "spf_softfail": "Вероятно, отправляющий сервер не авторизован — относитесь с осторожностью", + "spf_neutral": "Владелец домена не указал, авторизован ли этот сервер", + "spf_temperror": "Произошла временная ошибка при проверке отправителя. Повторите попытку позже.", + "spf_permerror": "Запись SPF домена настроена неправильно", + "spf_none": "Для этого домена не найдена запись SPF", + "dkim_pass": "Содержимое этого письма не было изменено при передаче", + "dkim_fail": "Содержимое этого письма могло быть изменено при передаче", + "dkim_policy": "Подпись DKIM не соответствует требованиям политики домена", + "dkim_neutral": "Проверка DKIM не дала результатов", + "dkim_temperror": "Произошла временная ошибка при проверке подписи", + "dkim_permerror": "Подпись DKIM неверна или ключ отсутствует", + "dmarc_pass": "Домен отправителя подтвердил подлинность этого письма", + "dmarc_fail": "Домену отправителя не удалось проверить подлинность этого письма", + "dmarc_none": "В домене отправителя не настроена политика DMARC" + } + }, + "technical_details": "Технические детали", + "message_id_label": "Идентификатор сообщения:", + "reply_to_label": "Адрес для ответа:", + "delivery_time_label": "Время доставки:", + "conversation_part_label": "Часть беседы:", + "previous_messages": "{count} предыдущее сообщение", + "previous_messages_plural": "{count, plural, one {# предыдущее сообщение} few {# предыдущих сообщения} many {# предыдущих сообщений} other {# предыдущих сообщений}}", + "time": { + "day": "день", + "days": "дни", + "hour": "час", + "hours": "часы", + "minute": "минута", + "minutes": "минуты" + }, + "unknown_sender": "Неизвестный", + "recipient_me": "мне", + "recipient_and_others": "{name} и ещё {count, plural, one {# получатель} few {# получателя} many {# получателей} other {# получателей}}", + "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)" + }, + "spam": { + "button_title": "Сообщить о спаме", + "not_spam_title": "Отметить как законный", + "toast_success": "Перемещено в спам", + "toast_batch": "{count, plural, one {# письмо перемещено} few {# письма перемещены} many {# писем перемещено} other {# писем перемещено}} в папку \"Спам\"", + "toast_undo": "Отменить", + "toast_not_spam_success": "Перемещено во входящие", + "toast_not_spam_batch": "{count, plural, one {# письмо перемещено} few {# письма перемещены} many {# писем перемещено} other {# писем перемещено}} в папку \"Входящие\"", + "error": "Не удалось сообщить о спаме", + "error_not_spam": "Не удалось восстановить письмо" + }, + "unsubscribe_banner": { + "label": "Информационный бюллетень", + "button": "Отписаться", + "confirm_title": "Отписаться от этого отправителя?", + "confirm_button": "Подтвердить", + "cancel": "Отмена", + "success_http": "Страница отказа от подписки открыта в новой вкладке", + "success_mailto": "Запрос на отмену подписки отправлен на ваш почтовый клиент", + "error": "Невозможно отказаться от подписки", + "dismiss": "Закрыть" + }, + "calendar_invitation": { + "loading": "Загрузка сведений о событии…", + "title": "Календарь-приглашение", + "cancelled_title": "Событие отменено", + "organizer": "Организатор: {name}", + "attendees": "{count, plural, one {# участник} few {# участника} many {# участников} other {# участников}}", + "accept": "Принимать", + "maybe": "Может быть", + "decline": "Отклонить", + "add_to_calendar": "Добавить в календарь", + "added": "Добавлено в календарь", + "rsvp_sent": "Ответ отправлен", + "parse_error": "Не удалось прочитать приглашение", + "no_calendar": "Календарь недоступен", + "select_calendar": "Выберите календарь", + "already_in_calendar": "Уже в вашем календаре" + }, + "mobile_actions": { + "reply": "Ответить", + "reply_all": "Ответить всем", + "archive": "Архивировать", + "delete": "Удалить", + "more": "Ещё", + "forward": "Переслать", + "move_to": "Переместить в…", + "star": "Добавить в избранное", + "mark_unread": "Отметить как непрочитанное", + "spam": "Сообщить о спаме" + }, + "sender_info": { + "add_to_contacts": "Добавить в контакты", + "view_all_emails": "Просмотреть все письма от этого отправителя", + "no_contact": "Нет в ваших контактах" + } + }, + "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}»", + "send_failed": "Не удалось отправить письмо" + }, + "confirm_dialog": { + "confirm": "Подтвердить", + "cancel": "Отмена" + }, + "common": { + "loading": "Загрузка…", + "error": "Ошибка", + "success": "Успех", + "cancel": "Отмена", + "save": "Сохранить", + "delete": "Удалить", + "edit": "Редактировать", + "close": "Закрыть", + "search": "Поиск", + "refresh": "Обновить", + "settings": "Настройки", + "help": "Помощь", + "logout": "Выход из системы", + "yes": "Да", + "no": "Нет", + "unknown": "Неизвестный", + "app_title": "Почта" + }, + "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, plural, one {# письмо} few {# письма} many {# писем} other {# писем}}", + "moved_to_mailbox": "Перемещено в {mailbox}", + "move_failed": "Переместить не удалось", + "move_error": "Не удалось переместить письма в выбранную папку", + "identity_created": "Профиль отправителя успешно создан", + "identity_updated": "Профиль отправителя успешно обновлён", + "identity_deleted": "Профиль отправителя удалён", + "identity_create_failed": "Не удалось создать профиль отправителя: {error}", + "identity_update_failed": "Не удалось обновить профиль отправителя: {error}", + "identity_delete_failed": "Не удалось удалить профиль отправителя: {error}", + "identity_unauthorized": "У вас нет прав на отправку с этого адреса почты", + "identity_not_found": "Профиль отправителя не найден", + "vacation_saved": "Настройки автоответчика сохранены", + "vacation_save_failed": "Не удалось сохранить настройки автоответчика", + "filters_saved": "Фильтры успешно сохранены", + "filters_save_failed": "Не удалось сохранить фильтры", + "filters_deleted": "Правило фильтра удалено", + "templates_exported": "Шаблоны успешно экспортированы", + "templates_imported": "Импортировано {count, plural, one {# шаблон} few {# шаблона} many {# шаблонов} other {# шаблонов}}", + "templates_import_errors": "Некоторые шаблоны не удалось импортировать", + "templates_import_empty": "В файле не найдено шаблонов" + }, + "date": { + "today": "Сегодня", + "yesterday": "Вчера", + "this_week": "На этой неделе", + "last_week": "На прошлой неделе", + "this_month": "В этом месяце", + "older": "Ранее", + "just_now": "Прямо сейчас", + "minutes_ago": "{count} минуту назад", + "minutes_ago_plural": "{count, plural, one {# минуту назад} few {# минуты назад} many {# минут назад} other {# минут назад}}", + "hours_ago": "{count} час назад", + "hours_ago_plural": "{count, plural, one {# час назад} few {# часа назад} many {# часов назад} other {# часов назад}}", + "days_ago": "{count} день назад", + "days_ago_plural": "{count, plural, one {# день назад} few {# дня назад} many {# дней назад} other {# дней назад}}" + }, + "language": { + "title": "Язык", + "english": "English", + "french": "Français", + "japanese": "日本語", + "spanish": "Español", + "italian": "Italiano", + "german": "Deutsch", + "dutch": "Nederlands", + "portuguese": "Português", + "russian": "Русский", + "ukrainian": "Українська", + "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": "Сменить язык на русский", + "switch_to_ukrainian": "Сменить язык на украинский", + "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": "Шаблоны" + }, + "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": "Показывать плавные переходы и эффекты" + } + }, + "language_region": { + "title": "Язык и регион", + "description": "Настройка языковых и региональных предпочтений", + "language": { + "label": "Язык", + "description": "Выберите язык", + "english": "English", + "french": "Français" + }, + "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": "Удалить навсегда" + }, + "show_preview": { + "label": "Показать текст предварительного просмотра", + "description": "Предпросмотр письма в списке" + }, + "emails_per_page": { + "25": "25 писем", + "50": "50 писем", + "100": "100 писем", + "label": "Писем на странице", + "description": "Количество писем для загрузки одновременно" + }, + "external_content": { + "label": "Внешний контент", + "description": "Как обращаться с изображениями и внешним контентом", + "ask": "Всегда спрашивайте", + "block": "Всегда блокировать", + "allow": "Всегда разрешать" + }, + "trusted_senders": { + "label": "Доверенные отправители", + "description": "Управляйте отправителями, чьи изображения загружаются автоматически", + "count_zero": "Нет", + "count_one": "1 отправитель", + "count_other": "{count, plural, one {# отправитель} few {# отправителя} many {# отправителей} other {# отправителей}}", + "modal_title": "Доверенные отправители", + "empty_title": "Доверенных отправителей пока нет", + "empty_description": "При просмотре письма с заблокированными изображениями нажмите «Всегда доверять этому отправителю», чтобы добавить их сюда", + "add_manually": "Добавить отправителя вручную", + "add_button": "Добавлять", + "add_placeholder": "Введите адрес почты", + "search_placeholder": "Найти отправителей…", + "no_results": "Нет отправителей, соответствующих вашему запросу", + "remove": "Удалить", + "close": "Закрыть", + "invalid_email": "Пожалуйста, введите действительный адрес почты", + "already_added": "Этому отправителю уже доверяют" + } + }, + "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": "Просмотр информации о вашей учётной записи", + "email": { + "label": "Адрес почты", + "value": "{email}" + }, + "server": { + "label": "JMAP-сервер", + "value": "{server}" + }, + "storage": { + "label": "Использование хранилища", + "used": "{used} из {total} использовано", + "percentage": "{percent} % использовано" + }, + "last_sync": { + "label": "Последняя синхронизация", + "value": "{time}" + } + }, + "identities": { + "title": "Профили отправителей", + "description": "Управляйте адресами почты, с которых вы можете отправлять сообщения", + "identities_count": { + "label": "Ваши профили отправителей", + "description": "Адреса почты, настроенные для отправки", + "count_zero": "Нет профилей отправителей", + "count_one": "1 профиль отправителя", + "count_other": "{count, plural, one {# профиль отправителя} few {# профиля} many {# профилей} other {# профилей}}" + }, + "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": "Тело сообщения пусто — получатели получат пустой ответ" + } + }, + "advanced": { + "title": "Дополнительно", + "description": "Расширенные параметры и настройки разработчика", + "debug_mode": { + "label": "Режим отладки", + "description": "Включить подробное ведение журнала для устранения неполадок" + }, + "keyboard_shortcuts": { + "label": "Сочетания клавиш", + "description": "Просмотр доступных сочетаний клавиш", + "button": "Показать сочетания клавіш" + }, + "reset_settings": { + "label": "Сбросить настройки", + "description": "Сбросить все настройки", + "button": "Сброс" + }, + "export_settings": { + "label": "Экспорт настроек", + "description": "Загрузите свои настройки в формате JSON", + "button": "Экспорт" + }, + "import_settings": { + "label": "Импортировать настройки", + "description": "Загрузить настройки из файла JSON", + "button": "Импорт" + } + }, + "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": "email@example.com", + "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": "Не удалось загрузить фильтры", + "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 {# условие} few {# условия} many {# условий} other {# условий}}", + "actions_count": "{count, plural, one {# действие} few {# действия} many {# действий} other {# действий}}" + } + }, + "templates": { + "title": "Шаблоны писем", + "description": "Создавайте шаблоны писем с подставляемыми переменными", + "add": "Новый шаблон", + "edit": "Редактировать шаблон", + "name": "Имя шаблона", + "name_placeholder": "например, дополнительное письмо", + "category": "Категория", + "category_placeholder": "например, Работа, Личное", + "subject": "Тема", + "subject_placeholder": "Тема письма", + "body": "Тело", + "body_placeholder": "Текст письма…", + "recipients_placeholder": "email@example.com", + "identity": "Отправить как", + "default_identity": "Профиль отправителя по умолчанию", + "favorite": "Избранное", + "cancel": "Отмена", + "create": "Создать", + "update": "Обновлять", + "confirm_delete": "Удалить", + "no_templates": "Шаблонов пока нет", + "manage": "Управление шаблонами", + "count": "{count, plural, one {# шаблон} few {# шаблона} many {# шаблонов} other {# шаблонов}}", + "export_import": "Экспорт и импорт", + "export_import_description": "Создайте резервную копию своих шаблонов или переместите их на другое устройство", + "export": "Экспорт", + "import": "Импорт", + "validation": { + "empty": "Укажите название шаблона", + "too_long": "Название шаблона должно содержать не более 200 символов" + } + } + }, + "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, plural, one {# письмо} few {# письма} many {# писем} other {# писем}}" + }, + "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, plural, one {# сообщение} few {# сообщения} many {# сообщений} other {# сообщений}}", + "messages_tooltip": "{count, plural, one {# сообщение} few {# сообщения} many {# сообщений} 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": "Основной", + "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": "your.email@example.com", + "email_required": "Требуется указать почтовый адрес", + "email_invalid": "Некорректный формат почтового адреса", + "email_immutable": "Адрес почты не может быть изменен после создания", + "reply_to_label": "Адрес для ответа (необязательно)", + "reply_to_placeholder": "different@email.com", + "bcc_label": "Автоматическая скрытая копия (необязательно)", + "bcc_placeholder": "archive@email.com", + "text_signature_label": "Текстовая подпись", + "html_signature_label": "HTML-подпись", + "save": "Сохранить профиль отправителя", + "cancel": "Отмена", + "creating": "Создание…", + "updating": "Обновление…" + }, + "sub_address": { + "button_tooltip": "Использовать дополнительный адрес", + "popover_title": "Добавить тег суб-адреса", + "tag_input_placeholder": "Введите тег (например, покупки)", + "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": "+{тег}" + } + }, + "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": "Новый контакт", + "empty_state": "Пока нет контактов", + "empty_state_title": "Пока нет контактов", + "empty_state_subtitle": "Создайте свой первый контакт или импортируйте его из файла vCard", + "empty_search": "Нет контактов, соответствующих вашему запросу", + "empty_search_hint": "Попробуйте другой поисковый запрос", + "clear_search": "Очистить поиск", + "import_vcard": "Импортировать визитную карточку", + "delete_confirm": "Вы уверены, что хотите удалить этот контакт?", + "local_mode": "Контакты хранятся локально (сервер не поддерживает контакты JMAP)", + "back_to_mail": "Вернуться к почте", + "tabs": { + "all": "Все", + "groups": "Группы" + }, + "detail": { + "emails": "Адреса почты", + "phones": "Номера телефонов", + "organizations": "Организации", + "addresses": "Адреса", + "notes": "Примечания", + "no_contact_selected": "Выберите контакт, чтобы просмотреть подробности", + "compose_email": "Написать письмо", + "copy_email": "Копировать письмо", + "copy_phone": "Скопировать номер телефона", + "copied": "Скопировано в буфер обмена", + "copy_failed": "Не удалось скопировать в буфер обмена", + "created": "Создан", + "updated": "Обновлен" + }, + "form": { + "create_title": "Новый контакт", + "edit_title": "Редактировать контакт", + "given_name": "Имя", + "surname": "Фамилия", + "email": "Почта", + "email_placeholder": "email@example.com", + "phone": "Телефон", + "phone_placeholder": "+1 234 567 890", + "organization": "Организация", + "organization_placeholder": "Название компании", + "note": "Примечания", + "note_placeholder": "Добавить примечание…", + "context_work": "Работа", + "context_private": "Частный", + "add_email": "Добавить адрес почты", + "add_phone": "Добавить телефон", + "save": "Сохранять", + "cancel": "Отмена", + "creating": "Создание…", + "updating": "Обновление…", + "name_required": "Нужно ввести имя или фамилию", + "email_invalid": "Пожалуйста, введите действительный адрес почты", + "email_error_inline": "Неверный формат адреса", + "save_failed": "Не удалось сохранить контакт" + }, + "groups": { + "create": "Новая группа", + "edit": "Редактировать группу", + "empty": "Групп пока нет", + "delete_confirm": "Вы уверены, что хотите удалить эту группу?", + "name_label": "Имя группы", + "name_placeholder": "например, Команда, Семья", + "name_required": "Укажите название группы", + "save_failed": "Не удалось сохранить группу", + "members_label": "Участники", + "search_members": "Найдите контакты, чтобы добавить…", + "no_members": "В этой группе нет участников", + "member_count": "{count, plural, =0 {Нет участников} one {# участник} few {# участника} many {# участников} other {# участников}}" + }, + "import": { + "title": "Импортировать контакты", + "drop_hint": "Нажмите, чтобы выбрать файл vCard", + "file_types": "Файлы .vcf или .vcard", + "no_contacts": "В файле не найдены контакты", + "parse_error": "Не удалось проанализировать файл vCard", + "found": "{count, plural, one {Найден 1 контакт} few {Найдено # контакта} many {Найдено # контактов} other {Найдено # контактов}}", + "duplicate": "Дублировать", + "select_all": "Выбрать все", + "deselect_all": "Отменить выбор для всех", + "selected": "{count, plural, one {# выбрано} other {# выбрано}}", + "import_button": "Импорт", + "importing": "Импорт…", + "success": "{count, plural, one {Импортирован 1 контакт} few {Импортировано # контакта} many {Импортировано # контактов} other {Импортировано # контактов}}", + "failed": "Импорт не удался", + "close": "Закрывать", + "file_too_large": "Файл слишком большой (максимум 5 МБ)" + }, + "export": { + "title": "Экспорт контактов", + "success": "{count, plural, one {Экспортирован 1 контакт} few {Экспортировано # контакта} many {Экспортировано # контактов} other {Экспортировано # контактов}}" + }, + "bulk": { + "selected": "{count, plural, one {# выбрано} other {# выбрано}}", + "actions": "Массовые действия", + "select_all": "Выбрать все", + "delete": "Удалить", + "delete_confirm": "Удалить {count, plural, one {# контакт} few {# контакта} many {# контактов} other {# контактов}}?", + "deleted": "{count, plural, one {Удалён 1 контакт} few {Удалено # контакта} many {Удалено # контактов} other {Удалено # контактов}}", + "add_to_group": "Добавить в группу", + "choose_group": "Выберите группу", + "adding_contacts": "Добавление {count, plural, one {# контакта} few {# контактов} many {# контактов} 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)" + }, + "events": { + "create": "Создать событие", + "edit": "Редактировать событие", + "delete": "Удалить событие", + "details": "Подробности события", + "no_events": "Нет событий", + "all_day": "Весь день", + "more": "+{count, plural, one {# событие} few {# события} many {# событий} other {# событий}}", + "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 {# участник} few {# участника} many {# участников} other {# участников}}" + }, + "recurrence": { + "title": "Повторение", + "none": "Не повторяется", + "daily": "Ежедневно", + "weekly": "Еженедельно", + "monthly": "Ежемесячно", + "yearly": "Ежегодно", + "every_n_days": "Каждые {count, plural, one {# день} few {# дня} many {# дней} other {# дней}}", + "every_n_weeks": "Каждые {count, plural, one {# неделю} few {# недели} many {# недель} other {# недель}}", + "every_n_months": "Каждые {count, plural, one {# месяц} few {# месяца} many {# месяцев} other {# месяцев}}", + "until": "До", + "occurrences": "{count, plural, one {# повтор} few {# повтора} many {# повторов} other {# повторов}}" + }, + "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 {# минуту} few {# минуты} many {# минут} other {# минут}} до начала", + "hours_before": "За {count, plural, one {# час} few {# часа} many {# часов} other {# часов}} до начала", + "days_before": "За {count, plural, one {# день} few {# дня} many {# дней} 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": "Воспроизведение звука для оповещений календаря" + }, + "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": "Не удалось сохранить событие" + }, + "status": { + "loading_calendars": "Загрузка календарей…", + "loading_events": "Загрузка событий…" + }, + "quick_create": { + "placeholder": "Название нового события", + "aria_label": "Быстрое создание события" + }, + "nav_prev": "Назад", + "nav_next": "Вперёд", + "import": { + "title": "Импортировать календарь", + "select_file": "Выберите файл .ics", + "drop_file": "или перетащите файл сюда", + "supported_formats": "Поддерживает файлы iCalendar (.ics)", + "parsing": "Анализ файла календаря…", + "parsed_events": "Найдено {count, plural, one {# событие} few {# события} many {# событий} other {# событий}}", + "no_events": "В файле не найдено событий", + "select_all": "Выбрать все", + "deselect_all": "Отменить выбор всех", + "target_calendar": "Импортировать в календарь", + "import_button": "Импортировать выбранное", + "importing": "Импорт событий…", + "success": "Успешно импортировано {count, plural, one {# событие} few {# события} many {# событий} other {# событий}}", + "error": "Не удалось импортировать календарь", + "file_too_large": "Размер файла превышает лимит 5 МБ", + "invalid_format": "Неверный формат файла календаря" + } + }, + "advanced_search": { + "title": "Расширенный поиск", + "from": "От", + "from_placeholder": "Адрес почты или имя отправителя", + "to": "Кому", + "to_placeholder": "Адрес почты или имя получателя", + "subject": "Тема", + "subject_placeholder": "Тема содержит…", + "body": "Тело", + "has_attachment": "Вложения", + "date_after": "После", + "date_before": "До", + "starred": "В избранном", + "unread": "Непрочитанные", + "read": "Прочитанные", + "yes": "Да", + "no": "Нет", + "clear": "Очистить", + "clear_all": "Очистить все", + "filters_active": "{count} фильтр", + "filters_active_plural": "{count, plural, one {# фильтр} few {# фильтра} many {# фильтров} other {# фильтров}}", + "toggle_filters": "Фильтры", + "search_hint": "Используйте расширенные фильтры для точного поиска", + "advanced_filters_tooltip": "Фильтры расширенного поиска" + }, + "welcome": { + "title": "Добро пожаловать в ваш почтовый ящик", + "tip_compose": "Нажмите \"c\", чтобы создать новое письмо.", + "tip_shortcuts": "Нажмите \"?\", чтобы увидеть все сочетания клавиш", + "tip_sidebar": "Календарь, Контакты и Настройка находятся в меню боковой панели", + "tip_settings": "Внешний вид, язык, фильтры и конфиденциальность — в разделе «Настройки»", + "got_it": "Понятно", + "dismiss": "Закрыть" + } +} diff --git a/locales/uk/common.json b/locales/uk/common.json new file mode 100644 index 0000000..f51c353 --- /dev/null +++ b/locales/uk/common.json @@ -0,0 +1,1498 @@ +{ + "login": { + "title": "Пошта", + "username_label": "Пошта", + "username_placeholder": "user@example.com", + "password_label": "Пароль", + "password_placeholder": "Введіть свій пароль", + "sign_in": "Увійдіть", + "signing_in": "Вхід…", + "loading": "Завантаження…", + "error": { + "invalid_credentials": "Неправильна адреса пошти або пароль. Перевірте свої облікові дані та повторіть спробу.", + "connection_failed": "Не вдалося підключитися до сервера. Перевірте підключення до Інтернету та повторіть спробу.", + "cors_blocked": "Сервер доступний, але він блокує перехресні запити. Перевірте налаштування CORS свого сервера JMAP і дозвольте цей домен.", + "server_error": "Сервер тимчасово недоступний. Спробуйте пізніше.", + "generic": "Сталася неочікувана помилка. Якщо проблема повторюватиметься, зверніться до адміністратора.", + "totp_invalid": "Недійсний код автентифікації. Перевірте свою програму автентифікації та повторіть спробу.", + "oauth_discovery_failed": "Система єдиного входу ввімкнена, але зв’язатися з постачальником ідентифікаційної інформації не вдалося. Перевірте конфігурацію 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", + "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": "Зберігання", + "sign_out": "Вийти", + "contacts": "Контакти", + "calendar": "Календар", + "settings": "Налаштування", + "loading_mailboxes": "Завантаження поштових скриньок…", + "push_connected": "Активні оновлення в реальному часі", + "push_disconnected": "Оновлення в реальному часі неактивні", + "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": "Автовідповідач активний", + "mail": "Пошта", + "nav_label": "Навігація", + "tags": { + "title": "Теги", + "no_tags": "Без тегів" + }, + "empty_folder": { + "title": "Спорожнити папку", + "confirm": "Ви впевнені, що бажаєте назавжди видалити {count, plural, one {# лист} few {всі # листи} many {всі # листів} other {всі # листів}} у {folder}?", + "success": "Папку успішно очищено", + "progress": "Видалення… {deleted}/{total}", + "error": "Не вдалося видалити всі листи. Видалено {deleted} із {total}.", + "cancel": "Скасувати" + }, + "folder_management": { + "new_folder": "Нова папка", + "new_subfolder": "Нова вкладена папка", + "rename": "Перейменувати", + "move_to": "Перемістити в…", + "delete_folder": "Видалити папку", + "delete_confirm_title": "Видалити \"{name}\"?", + "delete_confirm_with_contents": "У цій папці {emails} листів і {subfolders} підпапок. Усі листи буде переміщено в кошик.", + "delete_confirm_empty": "Ця папка порожня. Її буде остаточно видалено.", + "folder_created": "Створено папку \"{name}\"", + "folder_renamed": "Папку перейменовано на \"{name}\"", + "folder_moved": "Папку переміщено до \"{destination}\"", + "folder_moved_to_root": "Папку переміщено на верхній рівень", + "folder_deleted": "Папку \"{name}\" видалено", + "folder_name_placeholder": "Назва папки…", + "folder_name_empty_error": "Назва папки не може бути пустою", + "folder_name_exists_error": "Папка з такою назвою вже існує", + "folder_name_slash_error": "Імена папок не можуть містити /", + "folder_name_too_long_error": "Назва папки задовга (максимум 200 символів)", + "create_error": "Не вдалося створити папку", + "rename_error": "Не вдалося перейменувати папку", + "move_error": "Не вдалося перемістити папку", + "delete_error": "Не вдалося видалити папку", + "permission_error": "Ви не маєте дозволу на цю дію", + "no_permission": "Немає дозволу", + "drop_to_move_inside": "Відпустіть, щоб перемістити всередину", + "enter_to_confirm": "Enter для підтвердження · Escape для скасування", + "enter_to_create": "Enter для створення · Escape для скасування", + "no_available_targets": "Немає доступних папок", + "move_to_top_level": "Найвищий рівень" + } + }, + "email_list": { + "no_emails": "Немає листів", + "no_emails_description": "Почніть зі створення нового листа", + "loading": "Завантаження листів…", + "unread": "непрочитані", + "to_me": "Мені", + "to_recipients": "{count, plural, one {# одержувач} few {# одержувачі} many {# одержувачів} other {# одержувачів}}", + "and_others": "та ще {count, plural, one {# одержувач} few {# одержувачі} many {# одержувачів} other {# одержувачів}}", + "draft": "Чернетка", + "starred": "У обраному", + "conversations_count": "{count} із {total} {total, plural, one {бесіди} few {бесід} many {бесід} other {бесід}}", + "conversations_count_plus": "{count, plural, one {#+ бесіда} few {#+ бесіди} many {#+ бесід} other {#+ бесід}}", + "conversations_count_simple": "{count, plural, one {# бесіда} few {# бесіди} many {# бесід} other {# бесід}}", + "no_conversations": "Немає бесід", + "loading_more": "Завантаження інших листів…", + "no_more_emails": "Більше не потрібно завантажувати листи", + "batch_actions": { + "mark_read": "Позначити як прочитане", + "mark_unread": "Позначити як непрочитане", + "delete": "Видалити", + "clear_selection": "Очистити вибір", + "delete_confirm_title": "Видалити листи?", + "delete_confirm_message": "Ви впевнені, що хочете видалити {count, plural, one {# лист} few {# листи} many {# листів} other {# листів}}?", + "move_to": "Перемістити в…", + "move_success": "Переміщено {count, plural, one {# лист} few {# листи} many {# листів} other {# листів}} у {folder}", + "move_error": "Не вдалося перемістити листи", + "selected_count": "{count, plural, one {# лист} few {# листи} many {# листів} other {# листів}} вибрано" + }, + "select_criteria": { + "label": "Критерії відбору", + "all": "Все", + "none": "Нічого", + "read": "Прочитані", + "unread": "Непрочитані", + "starred": "У обраному", + "unstarred": "Не в обраному" + }, + "move_to": { + "search_placeholder": "Пошук папок…", + "no_results": "Папки не знайдено", + "no_other_folders": "Немає інших папок", + "custom_folders": "Спеціальні папки" + } + }, + "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": "Архівувати", + "send": "Надіслати", + "star": "Додати до обраного", + "unstar": "Видалити з обраного", + "mark_unread": "Позначити як непрочитане", + "mark_read": "Позначити як прочитане", + "print": "Роздрукувати", + "view_source": "Переглянути вихідний текст", + "keyboard_shortcuts": "Комбінації клавіш (?)", + "email_source": "Вихідний текст листа", + "copy_source": "Копіювати в буфер обміну", + "source_copied": "Вихідний текст скопійовано в буфер обміну", + "attachments": "Додатки", + "important": "Важливе", + "download": "Завантажити", + "from": "Від", + "to": "Кому", + "cc": "Копія", + "bcc": "Прихована копія", + "date": "Дата", + "subject": "Тема", + "show_details": "Показати деталі", + "hide_details": "Приховати деталі", + "external_content_warning": "Зображення та зовнішній вміст заблоковано", + "load_external_content": "Завантажити зображення", + "trust_sender": "Завжди довіряти цьому відправнику", + "back_to_list": "Повернутися до списку", + "message_details": "Деталі повідомлення", + "more_reply_options": "Більше варіантів відповіді", + "set_color": "Встановити колір", + "more_actions": "Більше дій", + "remove_color": "Видалити колір", + "more_count": "+{count, plural, one {# одержувач} few {# одержувачі} many {# одержувачів} other {# одержувачів}}", + "characters_count": "{count, plural, one {# символ} few {# символи} many {# символів} other {# символів}}", + "quick_reply_placeholder": "Напишіть швидку відповідь…", + "more_options": "Повна відповідь", + "sending": "Надсилання…", + "security_authentication": "Безпека та автентифікація", + "security": { + "tooltip": { + "spf_pass": "Сервер-відправник авторизовано надсилати від імені цього домену", + "spf_fail": "Сервер-відправник НЕ авторизований для надсилання з цього домену — цей лист може бути підробленим", + "spf_softfail": "Ймовірно, сервер-відправник не авторизований — будьте обережні", + "spf_neutral": "Власник домену не вказав, чи авторизований цей сервер", + "spf_temperror": "Під час перевірки відправника сталася тимчасова помилка — спробуйте пізніше", + "spf_permerror": "Запис SPF домену налаштовано неправильно", + "spf_none": "Для цього домену не знайдено запису SPF", + "dkim_pass": "Вміст цього листа не було змінено під час передавання", + "dkim_fail": "Можливо, вміст цього листа було змінено під час передавання", + "dkim_policy": "Підпис DKIM не відповідає вимогам політики домену", + "dkim_neutral": "Перевірка DKIM не дала результатів", + "dkim_temperror": "Під час перевірки підпису сталася тимчасова помилка", + "dkim_permerror": "Підпис DKIM неправильний або відсутній ключ", + "dmarc_pass": "Домен відправника підтвердив справжність цього листа", + "dmarc_fail": "Домен відправника не зміг підтвердити автентичність цього листа", + "dmarc_none": "У домені відправника не налаштовано політику DMARC" + } + }, + "technical_details": "Технічні деталі", + "message_id_label": "ID повідомлення:", + "reply_to_label": "Адреса для відповіді:", + "delivery_time_label": "Час доставки:", + "conversation_part_label": "Частина бесіди:", + "previous_messages": "{count} попереднє повідомлення", + "previous_messages_plural": "{count, plural, one {# попереднє повідомлення} few {# попередні повідомлення} many {# попередніх повідомлень} other {# попередніх повідомлень}}", + "time": { + "day": "день", + "days": "днів", + "hour": "година", + "hours": "години", + "minute": "хвилина", + "minutes": "хвилин" + }, + "unknown_sender": "Невідомий", + "recipient_me": "мене", + "recipient_and_others": "{name} і ще {count, plural, one {# одержувач} few {# одержувачі} many {# одержувачів} other {# одержувачів}}", + "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": "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)" + }, + "spam": { + "button_title": "Повідомити про спам", + "not_spam_title": "Позначити як законне", + "toast_success": "Переміщено до спаму", + "toast_batch": "Переміщено {count, plural, one {# лист} few {# листи} many {# листів} other {# листів}} до папки \"Спам\"", + "toast_undo": "Скасувати", + "toast_not_spam_success": "Переміщено до папки \"Вхідні\"", + "toast_not_spam_batch": "Переміщено {count, plural, one {# лист} few {# листи} many {# листів} other {# листів}} до папки \"Вхідні\"", + "error": "Не вдалося повідомити про спам", + "error_not_spam": "Не вдалося відновити лист" + }, + "unsubscribe_banner": { + "label": "Інформаційний бюлетень", + "button": "Відписатися", + "confirm_title": "Скасувати підписку на цього відправника?", + "confirm_button": "Підтвердити", + "cancel": "Скасувати", + "success_http": "Сторінка скасування підписки відкрилася в новій вкладці", + "success_mailto": "Запит на скасування підписки надіслано на ваш поштовий клієнт", + "error": "Неможливо скасувати підписку", + "dismiss": "Закрити" + }, + "calendar_invitation": { + "loading": "Завантаження деталей події…", + "title": "Календар запрошення", + "cancelled_title": "Подію скасовано", + "organizer": "Організатор: {name}", + "attendees": "{count, plural, one {# учасник} few {# учасники} many {# учасників} other {# учасників}}", + "accept": "Прийняти", + "maybe": "Можливо", + "decline": "Відхилити", + "add_to_calendar": "Додати в календар", + "added": "Додано до календаря", + "rsvp_sent": "Відповідь надіслано", + "parse_error": "Не вдалося прочитати запрошення", + "no_calendar": "Календар недоступний", + "select_calendar": "Виберіть календар", + "already_in_calendar": "Уже у вашому календарі" + }, + "mobile_actions": { + "reply": "Відповісти", + "reply_all": "Відповісти всім", + "archive": "Архівувати", + "delete": "Видалити", + "more": "Ще", + "forward": "Переслати", + "move_to": "Перемістити в…", + "star": "Додати до обраного", + "mark_unread": "Позначити як непрочитане", + "spam": "Повідомити про спам" + }, + "sender_info": { + "add_to_contacts": "Додати до контактів", + "view_all_emails": "Переглянути всі листи від цього відправника", + "no_contact": "Немає у ваших контактах" + } + }, + "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": "KB", + "prefix": { + "forward": "Fwd:", + "reply": "Re:" + }, + "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}»", + "send_failed": "Не вдалося надіслати лист" + }, + "confirm_dialog": { + "confirm": "Підтвердити", + "cancel": "Скасувати" + }, + "common": { + "loading": "Завантаження…", + "error": "Помилка", + "success": "Успіх", + "cancel": "Скасувати", + "save": "Зберегти", + "delete": "Видалити", + "edit": "Редагувати", + "close": "Закрити", + "search": "Пошук", + "refresh": "Оновити", + "settings": "Налаштування", + "help": "Довідка", + "logout": "Вийти", + "yes": "Так", + "no": "Ні", + "unknown": "Невідомий", + "app_title": "Пошта" + }, + "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, plural, one {# лист} few {# листи} many {# листів} other {# листів}}", + "moved_to_mailbox": "Переміщено до {mailbox}", + "move_failed": "Не вдалося перемістити", + "move_error": "Не вдалося перемістити листи до вибраної папки", + "identity_created": "Профіль відправника успішно створено", + "identity_updated": "Профіль відправника успішно оновлено", + "identity_deleted": "Профіль відправника видалено", + "identity_create_failed": "Не вдалося створити профіль відправника: {error}", + "identity_update_failed": "Не вдалося оновити профіль відправника: {error}", + "identity_delete_failed": "Не вдалося видалити профіль відправника: {error}", + "identity_unauthorized": "Ви не авторизовані надсилати з цієї адреси пошти", + "identity_not_found": "Профіль відправника не знайдено", + "vacation_saved": "Налаштування автовідповідача збережено", + "vacation_save_failed": "Не вдалося зберегти налаштування автовідповідача", + "filters_saved": "Фільтри успішно збережено", + "filters_save_failed": "Не вдалося зберегти фільтри", + "filters_deleted": "Правило фільтра видалено", + "templates_exported": "Шаблони успішно експортовано", + "templates_imported": "Імпортовано {count, plural, one {# шаблон} few {# шаблони} many {# шаблонів} other {# шаблонів}}", + "templates_import_errors": "Деякі шаблони не вдалося імпортувати", + "templates_import_empty": "У файлі не знайдено шаблонів" + }, + "date": { + "today": "Сьогодні", + "yesterday": "Вчора", + "this_week": "Цього тижня", + "last_week": "Минулого тижня", + "this_month": "Цей місяць", + "older": "Давніші", + "just_now": "Просто зараз", + "minutes_ago": "{count} хвилин тому", + "minutes_ago_plural": "{count, plural, one {# хвилину тому} few {# хвилини тому} many {# хвилин тому} other {# хвилин тому}}", + "hours_ago": "{count} годину тому", + "hours_ago_plural": "{count, plural, one {# годину тому} few {# години тому} many {# годин тому} other {# годин тому}}", + "days_ago": "{count} день тому", + "days_ago_plural": "{count, plural, one {# день тому} few {# дні тому} many {# днів тому} other {# днів тому}}" + }, + "language": { + "title": "Мова", + "english": "English", + "french": "Français", + "japanese": "日本語", + "spanish": "Español", + "italian": "Italiano", + "german": "Deutsch", + "dutch": "Nederlands", + "portuguese": "Português", + "russian": "Русский", + "ukrainian": "Українська", + "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": "Перейти на російську", + "switch_to_ukrainian": "Перейти на українську", + "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": "Шаблони" + }, + "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": "Показувати плавні переходи та ефекти" + } + }, + "language_region": { + "title": "Мова та регіон", + "description": "Налаштуйте мовні та регіональні параметри", + "language": { + "label": "Мова", + "description": "Виберіть бажану мову", + "english": "English", + "french": "Français" + }, + "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": "Видалити назавжди" + }, + "show_preview": { + "label": "Показати попередній перегляд тексту", + "description": "Попередній перегляд листа в списку" + }, + "emails_per_page": { + "25": "25 листів", + "50": "50 листів", + "100": "100 листів", + "label": "Листів на сторінку", + "description": "Кількість листів для одночасного завантаження" + }, + "external_content": { + "label": "Зовнішній вміст", + "description": "Як працювати із зображеннями та зовнішнім вмістом", + "ask": "Завжди запитуйте", + "block": "Завжди блокувати", + "allow": "Завжди дозволяти" + }, + "trusted_senders": { + "label": "Довірені відправники", + "description": "Керуйте відправниками, зображення яких завантажуються автоматично", + "count_zero": "Немає", + "count_one": "1 відправник", + "count_other": "{count, plural, one {# відправник} few {# відправники} many {# відправників} other {# відправників}}", + "modal_title": "Довірені відправники", + "empty_title": "Ще немає надійних відправників", + "empty_description": "Переглядаючи лист із заблокованими зображеннями, натисніть «Завжди довіряти цьому відправнику», щоб додати їх сюди", + "add_manually": "Додайте відправника вручну", + "add_button": "Додати", + "add_placeholder": "Введіть адресу пошти", + "search_placeholder": "Пошук відправників…", + "no_results": "Немає відправників, які відповідають вашому запиту", + "remove": "Видалити", + "close": "Закрити", + "invalid_email": "Введіть дійсну адресу пошти", + "already_added": "Цей відправник уже є надійним" + } + }, + "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": "Перегляньте інформацію свого облікового запису", + "email": { + "label": "Адреса пошти", + "value": "{email}" + }, + "server": { + "label": "Сервер JMAP", + "value": "{server}" + }, + "storage": { + "label": "Використання сховища", + "used": "{used} із {total} використано", + "percentage": "{percent}% використано" + }, + "last_sync": { + "label": "Остання синхронізація", + "value": "{time}" + } + }, + "identities": { + "title": "Профілі відправників", + "description": "Керуйте адресами пошти, з яких можна надсилати", + "identities_count": { + "label": "Ваші профілі відправників", + "description": "Адреси пошти, налаштовані для надсилання", + "count_zero": "Немає профілів відправників", + "count_one": "1 профіль відправника", + "count_other": "{count, plural, one {# профіль відправника} few {# профілі} many {# профілів} other {# профілів}}" + }, + "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": "Тіло повідомлення порожнє — одержувачі отримають порожню відповідь" + } + }, + "advanced": { + "title": "Додатково", + "description": "Розширені параметри та налаштування розробника", + "debug_mode": { + "label": "Режим налагодження", + "description": "Увімкніть детальне ведення журналу для усунення несправностей" + }, + "keyboard_shortcuts": { + "label": "Комбінації клавіш", + "description": "Переглянути доступні комбінації клавіш", + "button": "Показати комбінації клавіш" + }, + "reset_settings": { + "label": "Скинути налаштування", + "description": "Скинути всі налаштування", + "button": "Скинути" + }, + "export_settings": { + "label": "Налаштування експорту", + "description": "Завантажте налаштування як JSON", + "button": "Експорт" + }, + "import_settings": { + "label": "Налаштування імпорту", + "description": "Завантажте налаштування з файлу JSON", + "button": "Імпорт" + } + }, + "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": "email@example.com", + "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": "Не вдалося завантажити фільтри", + "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 {# умова} few {# умови} many {# умов} other {# умов}}", + "actions_count": "{count, plural, one {# дія} few {# дії} many {# дій} other {# дій}}" + } + }, + "templates": { + "title": "Шаблони листів", + "description": "Створюйте шаблони листів зі змінними-заповнювачами", + "add": "Новий шаблон", + "edit": "Редагувати шаблон", + "name": "Назва шаблону", + "name_placeholder": "наприклад, повторний лист", + "category": "Категорія", + "category_placeholder": "наприклад, Робота, Особисте", + "subject": "Тема", + "subject_placeholder": "Тема листа", + "body": "Тіло", + "body_placeholder": "Основний вміст листа…", + "recipients_placeholder": "email@example.com", + "identity": "Надіслати як", + "default_identity": "Профіль відправника за замовчуванням", + "favorite": "Вибране", + "cancel": "Скасувати", + "create": "Створити", + "update": "Оновити", + "confirm_delete": "Видалити", + "no_templates": "Ще немає шаблонів", + "manage": "Керування шаблонами", + "count": "{count, plural, one {# шаблон} few {# шаблони} many {# шаблонів} other {# шаблонів}}", + "export_import": "Експорт та імпорт", + "export_import_description": "Зробіть резервну копію своїх шаблонів або перемістіть їх на інший пристрій", + "export": "Експорт", + "import": "Імпорт", + "validation": { + "empty": "Потрібно вказати назву шаблону", + "too_long": "Назва шаблону має містити не більше 200 символів" + } + } + }, + "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, plural, one {# лист} few {# листи} many {# листів} other {# листів}} вибрано" + }, + "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, plural, one {# повідомлення} few {# повідомлення} many {# повідомлень} other {# повідомлень}}", + "messages_tooltip": "{count, plural, one {# повідомлення} few {# повідомлення} many {# повідомлень} 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": "Основний", + "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": "your.email@example.com", + "email_required": "Необхідно вказати адресу пошти", + "email_invalid": "Введіть дійсну адресу пошти", + "email_immutable": "Адресу пошти не можна змінити після створення", + "reply_to_label": "Адреса для відповіді (необов'язково)", + "reply_to_placeholder": "different@email.com", + "bcc_label": "Автоматична прихована копія (необов'язково)", + "bcc_placeholder": "archive@email.com", + "text_signature_label": "Текстовий підпис", + "html_signature_label": "Підпис HTML", + "save": "Зберегти профіль відправника", + "cancel": "Скасувати", + "creating": "Створення…", + "updating": "Оновлення…" + }, + "sub_address": { + "button_tooltip": "Використовуйте допоміжну адресу", + "popover_title": "Додайте тег суб-адреси", + "tag_input_placeholder": "Введіть тег (наприклад, шопінг)", + "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": "+{тег}" + } + }, + "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": "Новий контакт", + "empty_state": "Контактів ще немає", + "empty_state_title": "Контактів ще немає", + "empty_state_subtitle": "Створіть свій перший контакт або імпортуйте його з файлу vCard", + "empty_search": "Жоден контакт не відповідає вашому пошуку", + "empty_search_hint": "Спробуйте інший термін пошуку", + "clear_search": "Очистити пошук", + "import_vcard": "Імпорт vCard", + "delete_confirm": "Ви впевнені, що хочете видалити цей контакт?", + "local_mode": "Контакти зберігаються локально (сервер не підтримує контакти JMAP)", + "back_to_mail": "Назад до пошти", + "tabs": { + "all": "Все", + "groups": "Групи" + }, + "detail": { + "emails": "Адреси пошти", + "phones": "Номери телефонів", + "organizations": "Організації", + "addresses": "Адреси", + "notes": "Примітки", + "no_contact_selected": "Виберіть контакт, щоб переглянути деталі", + "compose_email": "Написати лист", + "copy_email": "Копіювати лист", + "copy_phone": "Скопіюйте номер телефону", + "copied": "Скопійовано в буфер обміну", + "copy_failed": "Не вдалося скопіювати в буфер обміну", + "created": "Створено", + "updated": "Оновлено" + }, + "form": { + "create_title": "Новий контакт", + "edit_title": "Редагувати контакт", + "given_name": "Ім'я", + "surname": "Прізвище", + "email": "Пошта", + "email_placeholder": "email@example.com", + "phone": "Телефон", + "phone_placeholder": "+1 234 567 890", + "organization": "Організація", + "organization_placeholder": "Назва компанії", + "note": "Примітки", + "note_placeholder": "Додати примітку…", + "context_work": "Робота", + "context_private": "Приватний", + "add_email": "Додайте адресу пошти", + "add_phone": "Додати телефон", + "save": "Зберегти", + "cancel": "Скасувати", + "creating": "Створення…", + "updating": "Оновлення…", + "name_required": "Потрібно ввести ім’я або прізвище", + "email_invalid": "Введіть дійсну адресу пошти", + "email_error_inline": "Невірний формат адреси", + "save_failed": "Не вдалося зберегти контакт" + }, + "groups": { + "create": "Нова група", + "edit": "Редагувати групу", + "empty": "Груп ще немає", + "delete_confirm": "Ви впевнені, що хочете видалити цю групу?", + "name_label": "Назва групи", + "name_placeholder": "наприклад, Команда, Сім’я", + "name_required": "Потрібно вказати назву групи", + "save_failed": "Не вдалося зберегти групу", + "members_label": "Учасники", + "search_members": "Пошук контактів для додавання…", + "no_members": "У цій групі немає учасників", + "member_count": "{count, plural, =0 {Немає учасників} one {# учасник} few {# учасники} many {# учасників} other {# учасників}}" + }, + "import": { + "title": "Імпортувати контакти", + "drop_hint": "Натисніть, щоб вибрати файл vCard", + "file_types": "файли .vcf або .vcard", + "no_contacts": "У файлі не знайдено контактів", + "parse_error": "Не вдалося проаналізувати файл vCard", + "found": "{count, plural, one {Знайдено 1 контакт} few {Знайдено # контакти} many {Знайдено # контактів} other {Знайдено # контактів}}", + "duplicate": "Дублікат", + "select_all": "Вибрати все", + "deselect_all": "Скасувати вибір для всіх", + "selected": "{count, plural, one {Вибрано #} other {# вибрано}}", + "import_button": "Імпорт", + "importing": "Імпорт…", + "success": "{count, plural, one {Імпортовано 1 контакт} few {Імпортовано # контакти} many {Імпортовано # контактів} other {Імпортовано # контактів}}", + "failed": "Помилка імпорту", + "close": "Закрити", + "file_too_large": "Файл завеликий (макс. 5 МБ)" + }, + "export": { + "title": "Експортувати контакти", + "success": "{count, plural, one {Експортовано # контакт} few {Експортовано # контакти} many {Експортовано # контактів} other {Експортовано # контактів}}" + }, + "bulk": { + "selected": "{count, plural, one {Вибрано #} other {# вибрано}}", + "actions": "Масові дії", + "select_all": "Вибрати все", + "delete": "Видалити", + "delete_confirm": "Видалити {count, plural, one {# контакт} few {# контакти} many {# контактів} other {# контактів}}?", + "deleted": "{count, plural, one {Видалено 1 контакт} few {Видалено # контакти} many {Видалено # контактів} other {Видалено # контактів}}", + "add_to_group": "Додати до групи", + "choose_group": "Виберіть групу", + "adding_contacts": "Додавання {count, plural, one {# контакту} few {# контактів} many {# контактів} 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)" + }, + "events": { + "create": "Створити подію", + "edit": "Редагувати подію", + "delete": "Видалити подію", + "details": "Деталі події", + "no_events": "Подій немає", + "all_day": "Весь день", + "more": "+{count, plural, one {# подія} few {# події} many {# подій} other {# подій}}", + "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 {# учасник} few {# учасники} many {# учасників} other {# учасників}}" + }, + "recurrence": { + "title": "Повторюваність", + "none": "Не повторюється", + "daily": "Щодня", + "weekly": "Щотижня", + "monthly": "Щомісяця", + "yearly": "Щорічно", + "every_n_days": "Кожні {count, plural, one {# день} few {# дні} many {# днів} other {# днів}}", + "every_n_weeks": "Кожні {count, plural, one {# тиждень} few {# тижні} many {# тижнів} other {# тижнів}}", + "every_n_months": "Кожні {count, plural, one {# місяць} few {# місяці} many {# місяців} other {# місяців}}", + "until": "Поки", + "occurrences": "{count, plural, one {# повтор} few {# повтори} many {# повторів} other {# повторів}}" + }, + "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 {# хвилину} few {# хвилини} many {# хвилин} other {# хвилин}} до початку", + "hours_before": "За {count, plural, one {# годину} few {# години} many {# годин} other {# годин}} до початку", + "days_before": "За {count, plural, one {# день} few {# дні} many {# днів} 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": "Відтворення звуку для сповіщень календаря" + }, + "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": "Не вдалося зберегти подію" + }, + "status": { + "loading_calendars": "Завантаження календарів…", + "loading_events": "Завантаження подій…" + }, + "quick_create": { + "placeholder": "Назва нової події", + "aria_label": "Швидке створення події" + }, + "nav_prev": "Назад", + "nav_next": "Вперед", + "import": { + "title": "Імпорт календаря", + "select_file": "Виберіть файл .ics", + "drop_file": "або перетягніть файл сюди", + "supported_formats": "Підтримує файли iCalendar (.ics)", + "parsing": "Розбір файлу календаря…", + "parsed_events": "Знайдено {count, plural, one {# подію} few {# події} many {# подій} other {# подій}}", + "no_events": "У файлі не знайдено подій", + "select_all": "Вибрати все", + "deselect_all": "Скасувати вибір для всіх", + "target_calendar": "Імпорт до календаря", + "import_button": "Імпортувати вибране", + "importing": "Імпорт подій…", + "success": "Успішно імпортовано {count, plural, one {# подію} few {# події} many {# подій} other {# подій}}", + "error": "Не вдалося імпортувати календар", + "file_too_large": "Файл перевищує ліміт 5 МБ", + "invalid_format": "Недійсний формат файлу календаря" + } + }, + "advanced_search": { + "title": "Розширений пошук", + "from": "Від", + "from_placeholder": "Електронна адреса або ім’я відправника", + "to": "Кому", + "to_placeholder": "Електронна адреса або ім’я одержувача", + "subject": "Тема", + "subject_placeholder": "Тема містить…", + "body": "Тіло", + "has_attachment": "Додатки", + "date_after": "Після", + "date_before": "Раніше", + "starred": "У обраному", + "unread": "Непрочитані", + "read": "Прочитані", + "yes": "Так", + "no": "Ні", + "clear": "Очистити", + "clear_all": "Очистити все", + "filters_active": "{count} фільтр", + "filters_active_plural": "{count, plural, one {# фільтр} few {# фільтри} many {# фільтрів} other {# фільтрів}}", + "toggle_filters": "Фільтри", + "search_hint": "Використовуйте розширені фільтри для точного пошуку", + "advanced_filters_tooltip": "Розширені фільтри пошуку" + }, + "welcome": { + "title": "Ласкаво просимо до вашої поштової скриньки", + "tip_compose": "Натисніть \"c\", щоб створити новий лист", + "tip_shortcuts": "Натисніть \"?\", щоб побачити всі комбінації клавіш", + "tip_sidebar": "Календар, Контакти та Налаштування — у меню бічної панелі", + "tip_settings": "Вигляд, мову, фільтри та конфіденційність змінюють у «Налаштуваннях»", + "got_it": "Зрозумів", + "dismiss": "Закрити" + } +}