Merge main: keep ru, uk and zh-Hans in the language list

This commit is contained in:
2026-08-31 13:11:09 -07:00
5 changed files with 1801 additions and 0 deletions
+2
View File
@@ -42,6 +42,8 @@ export const UI_LANGUAGES: readonly UiLanguage[] = [
{ tag: "fr", name: "Français", beta: true }, { tag: "fr", name: "Français", beta: true },
{ tag: "nl", name: "Nederlands", beta: true }, { tag: "nl", name: "Nederlands", beta: true },
{ tag: "pt-BR", name: "Português (Brasil)", beta: true }, { tag: "pt-BR", name: "Português (Brasil)", beta: true },
{ tag: "ru", name: "Русский", beta: true },
{ tag: "uk", name: "Українська", beta: true },
{ tag: "zh-Hans", name: "简体中文", beta: true }, { tag: "zh-Hans", name: "简体中文", beta: true },
]; ];
@@ -0,0 +1,37 @@
import { describe, expect, it, afterEach } from "vitest";
import { plural, setCatalog } from "@/lib/i18n";
import { catalog as ru } from "@/locales/ru";
/**
* Russian is the first shipped catalogue that needs `few` and `many`, so this
* checks the real entries rather than a fixture. English would have rendered
* "5 письмо" for all of these, which is the kind of wrong that makes a
* translation read as machine output however good the vocabulary is.
*/
const FORMS = { one: "{n} message", other: "{n} messages" };
afterEach(() => setCatalog("en", { strings: {}, plurals: {} }));
describe("Russian plurals", () => {
it("picks one, few and many by the language's own rule", () => {
setCatalog("ru", ru);
expect(plural(1, FORMS)).toBe("1 письмо"); // one
expect(plural(2, FORMS)).toBe("2 письма"); // few
expect(plural(3, FORMS)).toBe("3 письма");
expect(plural(5, FORMS)).toBe("5 писем"); // many
expect(plural(11, FORMS)).toBe("11 писем"); // 11-14 are many, not few
expect(plural(21, FORMS)).toBe("21 письмо"); // 21 is one again
expect(plural(22, FORMS)).toBe("22 письма");
expect(plural(25, FORMS)).toBe("25 писем");
expect(plural(0, FORMS)).toBe("0 писем");
});
it("carries every form for each counted string it ships", () => {
// A catalogue missing `few` silently falls back to `other`, which is
// grammatical often enough to go unnoticed and wrong the rest of the time.
for (const [key, forms] of Object.entries(ru.plurals)) {
for (const cat of ["one", "few", "many", "other"] as const) {
expect(forms[cat], `${key} is missing "${cat}"`).toBeTruthy();
}
}
});
});
@@ -0,0 +1,36 @@
import { describe, expect, it, afterEach } from "vitest";
import { plural, setCatalog } from "@/lib/i18n";
import { catalog as uk } from "@/locales/uk";
/**
* Ukrainian needs `few` and `many` where English has one plural, and the rule
* is not "n === 1": 11 is `many` despite ending in 1, and 21 is `one` again.
* English's two-form assumption would render "5 лист", which is the kind of
* wrong that makes a translation read as machine output whatever the
* vocabulary is.
*/
const FORMS = { one: "{n} message", other: "{n} messages" };
afterEach(() => setCatalog("en", { strings: {}, plurals: {} }));
describe("Ukrainian plurals", () => {
it("picks one, few and many by the language's own rule", () => {
setCatalog("uk", uk);
expect(plural(1, FORMS)).toBe("1 лист");
expect(plural(2, FORMS)).toBe("2 листи");
expect(plural(4, FORMS)).toBe("4 листи");
expect(plural(5, FORMS)).toBe("5 листів");
expect(plural(11, FORMS)).toBe("11 листів"); // many, despite ending in 1
expect(plural(21, FORMS)).toBe("21 лист"); // one again
expect(plural(0, FORMS)).toBe("0 листів");
});
it("carries every form for each counted string it ships", () => {
// A missing `few` falls back to `other` silently, and is grammatical often
// enough to go unnoticed while being wrong the rest of the time.
for (const [key, forms] of Object.entries(uk.plurals)) {
for (const cat of ["one", "few", "many", "other"] as const) {
expect(forms[cat], `${key} is missing "${cat}"`).toBeTruthy();
}
}
});
});
+867
View File
@@ -0,0 +1,867 @@
import type { Catalog } from "@/lib/i18n";
/**
* Russian — generated by AI, and not reviewed by a native speaker.
*
* First of Phase 2, and the first catalogue where the plural machinery earns
* its keep: Russian needs three forms where English has two, and choosing
* between them is not a question about the number 1. `plural()` was built
* around `Intl.PluralRules` for exactly this, and the entries below are the
* first real use of `few` and `many` rather than a test fixture.
*
* Marked Beta, with the report link doing the job a native speaker would. A
* missing string renders its English source, so deleting a bad entry is a
* valid fix.
*
* ── Decisions this file is consistent about ──────────────────────────────
*
* Register: **вы**, lowercase, which is the neutral polite address every
* Russian interface uses. Capitalised «Вы» is correspondence style — it reads
* as a letter addressed to one person, not as software — and using it here
* would be a small, constant wrongness on every screen. This follows the
* formal-address decision the other languages took, and in Russian it costs
* nothing: it is simply what software says.
*
* Most of the interface avoids the question anyway, because Russian UI
* convention is the infinitive for actions — «Удалить», «Ответить» — rather
* than an imperative addressed at the reader.
*
* Terminology, fixed once so it cannot drift:
*
* Inbox Входящие Archive (verb) архивировать
* Drafts Черновики Delete удалить
* Sent Отправленные Move to переместить в
* Deleted Items Корзина Reply ответить
* Junk / Spam Спам Reply all ответить всем
* Folder Папка Forward переслать
* Label Ярлык Star отметить
* Conversation Цепочка Read / unread прочитано / непрочитано
* Message Письмо Settings Настройки
* Attachment Вложение Signature Подпись
* Contact Контакт Identity Профиль отправителя
*
* «Письмо» rather than «сообщение» for a mail message: it is what Russian mail
* clients call one, and «сообщение» reads as a chat message. «Ярлык» for
* label, which is Gmail's word in Russian — the same rule as French, Spanish
* and Portuguese, and a fifth answer to it.
*
* Product names are never translated: ihasmail, Stalwart, JMAP, Sieve, vCard.
*/
export const catalog: Catalog = {
strings: {
// ── Actions ────────────────────────────────────────────────────────
"Archive": "Архивировать",
"Archive (e)": "Архивировать (e)",
"Delete": "Удалить",
"Delete (#)": "Удалить (#)",
"Reply": "Ответить",
"Reply (r)": "Ответить (r)",
"Reply all": "Ответить всем",
"Forward": "Переслать",
"Move to…": "Переместить в…",
"Move to (v)": "Переместить в (v)",
"Move to folder": "Переместить в папку",
"Move here": "Переместить сюда",
"Mark as read": "Отметить как прочитанное",
"Mark as read (Shift+I)": "Отметить как прочитанное (Shift+I)",
"Mark as unread": "Отметить как непрочитанное",
"Mark as unread (Shift+U)": "Отметить как непрочитанное (Shift+U)",
"Mark all as read": "Отметить всё как прочитанное",
"Mark all as read, incl. subfolders": "Отметить всё как прочитанное, включая вложенные папки",
"Star": "Отметить",
"Labels": "Ярлыки",
"Labels (l)": "Ярлыки (l)",
"Label as": "Присвоить ярлык",
"Label…": "Ярлык…",
"Compose": "Написать",
"Compose message": "Написать письмо",
"Send": "Отправить",
"Send at": "Отправить в",
"Cancel send": "Отменить отправку",
"Schedule send": "Отложить отправку",
"Save": "Сохранить",
"Save & activate": "Сохранить и включить",
"Save & close (Esc)": "Сохранить и закрыть (Esc)",
"Save as template": "Сохранить как шаблон",
"Save draft now": "Сохранить черновик сейчас",
"Cancel": "Отмена",
"Close": "Закрыть",
"Done": "Готово",
"Continue": "Продолжить",
"Edit": "Изменить",
"Edit…": "Изменить…",
"Rename": "Переименовать",
"Remove": "Убрать",
"Restore": "Восстановить",
"Retry": "Повторить",
"Reload": "Перезагрузить",
"Refresh": "Обновить",
"Copy": "Копировать",
"Copy email address": "Копировать адрес",
"Download": "Скачать",
"Download all": "Скачать всё",
"Download (.eml)": "Скачать (.eml)",
"Download latest as .eml": "Скачать последнее в .eml",
"Upload": "Загрузить",
"Upload files…": "Загрузить файлы…",
"Print": "Печать",
"Print conversation": "Напечатать цепочку",
"Undo (Ctrl+Z)": "Отменить (Ctrl+Z)",
"Redo": "Вернуть",
"Dismiss": "Закрыть",
"Discard changes": "Отменить изменения",
"Discard draft": "Удалить черновик",
"Duplicate": "Дублировать",
"Validate": "Проверить",
"Revoke": "Отозвать",
"Turn off": "Отключить",
"Clear": "Очистить",
"Clear selection": "Снять выделение",
"Clear custom colour": "Убрать свой цвет",
"Select": "Выбрать",
"Select all": "Выбрать всё",
"Unsubscribe": "Отписаться",
"Share…": "Поделиться…",
"Stop sharing": "Закрыть доступ",
"Open": "Открыть",
"Open in new tab": "Открыть в новой вкладке",
"Open in calendar": "Открыть в календаре",
"Back": "Назад",
"Back (u)": "Назад (u)",
"Back to list": "Назад к списку",
"Back to my files": "Назад к моим файлам",
"Go back to the list": "Вернуться к списку",
"Next": "Далее",
"Previous": "Назад",
"More": "Ещё",
"More actions": "Другие действия",
"More options": "Другие параметры",
"Move up": "Вверх",
"Move down": "Вниз",
"Drag to reorder": "Перетащите, чтобы изменить порядок",
"Right-click for options": "Правая кнопка мыши — параметры",
// ── Mail ───────────────────────────────────────────────────────────
"Mail": "Почта",
"Message": "Письмо",
"Messages": "Письма",
"Message body": "Текст письма",
"Message headers": "Заголовки письма",
"Message size": "Размер письма",
"Message-ID": "Message-ID",
"Original message": "Исходное письмо",
"Delete this message": "Удалить это письмо",
"New message to this address": "Новое письмо на этот адрес",
"Conversation view": "Показывать цепочками",
"Draft": "Черновик",
"Unread": "Непрочитанные",
"Unread only": "Только непрочитанные",
"All mail": "Вся почта",
"Sender": "Отправитель",
"Sender domain": "Домен отправителя",
"Recipients": "Получатели",
"From": "От",
"To": "Кому",
"Cc": "Копия",
"Bcc": "Скрытая копия",
"Subject": "Тема",
"Subject (optional)": "Тема (необязательно)",
"Body": "Текст",
"Body text": "Обычный текст",
"Attach files": "Прикрепить файлы",
"Attach from Files": "Прикрепить из Файлов",
"Remove attachment": "Убрать вложение",
"Has attachment": "Есть вложение",
"Has the words": "Содержит слова",
"Header name": "Имя заголовка",
"Show headers": "Показать заголовки",
"Show original": "Показать исходник",
"Show details": "Показать подробности",
"Show images": "Показать изображения",
"Remote images": "Внешние изображения",
"Remote images are blocked to protect your privacy.": "Внешние изображения заблокированы, чтобы защитить вашу приватность.",
"Always from {email}": "Всегда от {email}",
"This looks like a mailing list.": "Похоже, это рассылка.",
"This folder is empty": "Папка пуста",
"This folder is empty.": "Папка пуста.",
"Delete all spam now": "Удалить весь спам сейчас",
"Deleting spam is permanent — it does not go to Deleted Items first.": "Удаление спама необратимо — он не попадает сначала в корзину.",
"Keep in Inbox": "Оставить во входящих",
"Newer (k)": "Новее (k)",
"Older (j)": "Старее (j)",
"Open the next (older) conversation": "Открыть следующую цепочку (более старую)",
"Open the previous (newer) conversation": "Открыть предыдущую цепочку (более новую)",
"Loading conversation…": "Загрузка цепочки…",
"Important": "Важное",
"Unverified": "Не проверено",
"Priority": "Приоритет",
"High": "Высокий",
"Normal": "Обычный",
"Low": "Низкий",
"to {recipients}": "кому: {recipients}",
"From: {sender}": "От: {sender}",
"Waiting on the server — goes out {when}.": "Ожидает на сервере — будет отправлено {when}.",
"Scheduled — click to clear the schedule": "Отложено — нажмите, чтобы отменить",
"Nothing scheduled": "Ничего не отложено",
"The message waits on the server, so it goes out whether or not ihasmail is open.": "Письмо ждёт на сервере и будет отправлено независимо от того, открыт ihasmail или нет.",
"This server holds a message for up to {span}.": "Этот сервер удерживает письмо до {span}.",
"Date and time to send": "Дата и время отправки",
"Undo send window": "Время на отмену отправки",
"Read receipt requested": "Запрошено уведомление о прочтении",
"The sender asked for a read receipt.": "Отправитель запросил уведомление о прочтении.",
"Request read receipt": "Запросить уведомление о прочтении",
"Always request read receipts": "Всегда запрашивать уведомление о прочтении",
"Receipt": "Уведомление",
"Never send one": "Никогда не отправлять",
"Not this time": "Не в этот раз",
"It would go to {address}, which is not where the message came from.": "Оно ушло бы на {address}, а письмо пришло не оттуда.",
"Use “Show original” for the complete raw message.": "Нажмите «Показать исходник», чтобы увидеть письмо целиком.",
// ── Folders, calendar, contacts, files ─────────────────────────────
"Folder": "Папка",
"Folders": "Папки",
"Folder options": "Параметры папки",
"New folder": "Новая папка",
"New subfolder": "Новая вложенная папка",
"Delete folder": "Удалить папку",
"No matching folders": "Подходящих папок нет",
"No subfolders here.": "Здесь нет вложенных папок.",
"Type a folder name…": "Введите имя папки…",
" New folder…": "+ Новая папка…",
"Create, rename and hide folders.": "Создание, переименование и скрытие папок.",
"Show unsubscribed (hidden) folders": "Показывать неподписанные (скрытые) папки",
"Storage: {used} of {total} used.": "Хранилище: занято {used} из {total}.",
"{used} of {total}": "{used} из {total}",
"Calendar": "Календарь",
"My calendars": "Мои календари",
"New calendar": "Новый календарь",
"Calendar options": "Параметры календаря",
"Calendar & contacts": "Календарь и контакты",
"Calendar is not available": "Календарь недоступен",
"Event": "Событие",
"New event": "Новое событие",
"(new event)": "(новое событие)",
"New all-day event": "Новое событие на весь день",
"Add title": "Добавить название",
"Add location": "Добавить место",
"Add to calendar": "Добавить в календарь",
"Add to my calendar": "Добавить в мой календарь",
"Remove from calendar": "Убрать из календаря",
"Remove from my calendar": "Убрать из моего календаря",
"All day": "Весь день",
"all-day": "весь день",
"Starts": "Начало",
"Starts (optional)": "Начало (необязательно)",
"Ends": "Окончание",
"Ends (optional)": "Окончание (необязательно)",
"Day": "День",
"Week": "Неделя",
"Month": "Месяц",
"Agenda": "Список",
"Today": "Сегодня",
"Go to day": "Перейти к дню",
"Go to week": "Перейти к неделе",
"Previous month": "Предыдущий месяц",
"Next month": "Следующий месяц",
"Does not repeat": "Не повторяется",
"Daily": "Ежедневно",
"Every weekday": "По будням",
"Yearly": "Ежегодно",
"Custom…": "Свой вариант…",
"Weekly on {weekday}": "Еженедельно, {weekday}",
"Monthly on day {day}": "Ежемесячно, {day}-го числа",
"Repeat every": "Повторять каждые",
"Repeat until": "Повторять до",
"after N times": "после N раз",
"on date": "до даты",
"never": "никогда",
"day(s)": "дн.",
"week(s)": "нед.",
"month(s)": "мес.",
"year(s)": "г.",
"Reminders": "Напоминания",
"Add reminder": "Добавить напоминание",
"Remove reminder": "Убрать напоминание",
"Default reminder": "Напоминание по умолчанию",
"At time of event": "В момент события",
"5 minutes before": "За 5 минут",
"10 minutes before": "За 10 минут",
"15 minutes before": "За 15 минут",
"30 minutes before": "За 30 минут",
"1 hour before": "За 1 час",
"1 day before": "За 1 день",
"15 minutes": "15 минут",
"30 minutes": "30 минут",
"45 minutes": "45 минут",
"1 hour": "1 час",
"1.5 hours": "1,5 часа",
"2 hours": "2 часа",
"Default event length": "Длительность события по умолчанию",
"Default view": "Вид по умолчанию",
"Guests": "Участники",
"Add guests by name or email": "Добавить участников по имени или адресу",
"Send invitation emails to guests": "Отправлять участникам приглашения по почте",
"Going?": "Придёте?",
"Yes": "Да",
"No": "Нет",
"Maybe": "Возможно",
"Confirmed": "Подтверждено",
"Tentative": "Под вопросом",
"Cancelled": "Отменено",
"organizer": "организатор",
"Organizer: {name}": "Организатор: {name}",
"Free": "Свободен",
"Busy": "Занят",
"Free/busy": "Занятость",
"Show as": "Показывать как",
"Availability on {date}": "Занятость на {date}",
"Count all events as busy": "Считать все события занятостью",
"Only events I'm attending": "Только события, где я участвую",
"Don't include in availability": "Не учитывать в занятости",
"Meeting link": "Ссылка на встречу",
"No events in the next 60 days.": "В ближайшие 60 дней событий нет.",
"Working hours": "Рабочее время",
"Working hours start": "Начало рабочего времени",
"Working hours end": "Конец рабочего времени",
"Colour categories": "Цветовые категории",
"Category": "Категория",
"No category": "Без категории",
"New category": "Новая категория",
"Delete category": "Удалить категорию",
"Manage categories…": "Управление категориями…",
"Use category color": "Цвет категории",
"Use calendar color": "Цвет календаря",
"Use the default colour": "Цвет по умолчанию",
"+{n} more": "+{n}",
"Contacts": "Контакты",
"Contacts are not available": "Контакты недоступны",
"New contact": "Новый контакт",
"Edit contact": "Изменить контакт",
"Select a contact": "Выберите контакт",
"All contacts": "Все контакты",
"Search contacts": "Поиск по контактам",
"Search contacts to add…": "Найдите контакты, чтобы добавить…",
"Loading contacts…": "Загрузка контактов…",
"Add to contacts": "Добавить в контакты",
"Add to my contacts": "Добавить в мои контакты",
"Remove from my contacts": "Убрать из моих контактов",
"Address book": "Адресная книга",
"Address books": "Адресные книги",
"All address books": "Все адресные книги",
"My address books": "Мои адресные книги",
"New address book": "Новая адресная книга",
"No address books yet.": "Адресных книг пока нет.",
"Choose from address books": "Выбрать из адресных книг",
"Import vCard": "Импорт vCard",
"Export all": "Экспортировать всё",
"Export book": "Экспортировать книгу",
"Email group": "Написать группе",
"Email everyone": "Написать всем",
"Members": "Участники",
"Members ({count})": "Участники ({count})",
"Group": "Группа",
"· group": "· группа",
"Person": "Человек",
"First name": "Имя",
"Last name": "Фамилия",
"Middle name": "Отчество",
"More name fields": "Другие поля имени",
"Nickname": "Псевдоним",
"Prefix": "Обращение",
"Suffix": "Суффикс",
"Dr.": "Д-р",
"Jr.": "Мл.",
"Display name": "Отображаемое имя",
"Job title": "Должность",
"Organization": "Организация",
"Company": "Компания",
"Birthday": "День рождения",
"Notes": "Заметки",
"Website": "Сайт",
"Phone": "Телефон",
"Add phone": "Добавить телефон",
"Add email": "Добавить адрес",
"Add address": "Добавить почтовый адрес",
"Address": "Адрес",
"Street": "Улица",
"City": "Город",
"State / Region": "Область / регион",
"Postal code": "Индекс",
"Country": "Страна",
"Change photo": "Сменить фото",
"Remove photo": "Убрать фото",
"Updated {date}": "Обновлено {date}",
"Modified": "Изменено",
"Search names and addresses": "Поиск по именам и адресам",
"Add a person or group…": "Добавить человека или группу…",
"Choose recipients": "Выбрать получателей",
"Available to add": "Можно добавить",
"vCard": "vCard",
"vCard attachment": "Вложение vCard",
"Files": "Файлы",
"My files": "Мои файлы",
"File storage is not available": "Хранилище файлов недоступно",
"Drag files here or use Upload.": "Перетащите файлы сюда или нажмите «Загрузить».",
"Shared": "Общий доступ",
"Shared with me": "Доступные мне",
"Nothing is shared with you.": "Вам ничего не открыли.",
"Not shared with anyone yet.": "Доступ пока никому не открыт.",
"Check for new shares": "Проверить новые",
"Shared files are copied to your account when attached.": "При вложении общие файлы копируются в вашу учётную запись.",
"Viewer": "Чтение",
"Editor": "Изменение",
"Size": "Размер",
"Add files": "Добавить файлы",
"Minimize": "Свернуть",
// ── Settings ───────────────────────────────────────────────────────
"Settings": "Настройки",
"All settings": "Все настройки",
"Sections": "Разделы",
"General": "Общие",
"Appearance": "Внешний вид",
"Make ihasmail yours.": "Настройте ihasmail под себя.",
"Reading": "Чтение",
"Reading pane": "Область чтения",
"Reading, sending and list behaviour. Settings are stored in this browser.": "Поведение при чтении, отправке и в списке. Настройки хранятся в этом браузере.",
"Right of the list": "Справа от списка",
"Below the list": "Под списком",
"Hidden (open full width)": "Скрыта (открывать во всю ширину)",
"Off (open messages full width)": "Выключена (письма во всю ширину)",
"Off": "Выключено",
"Composing": "Написание",
"Default format": "Формат по умолчанию",
"Rich text (HTML)": "Форматированный текст (HTML)",
"Plain text": "Обычный текст",
"Quote original message in replies": "Цитировать исходное письмо в ответах",
"Place signature above quoted text": "Ставить подпись над цитатой",
"Attachment reminder": "Напоминание о вложении",
"Warn when the message mentions an attachment but none is attached.": "Предупреждать, если письмо упоминает вложение, но его нет.",
"Spell check while typing": "Проверять орфографию при вводе",
"Confirm before deleting": "Спрашивать перед удалением",
"Show message snippets": "Показывать начало письма",
"Preview the first line of each message in the list.": "Показывать первую строку каждого письма в списке.",
"Show sender avatars": "Показывать аватары отправителей",
"Group messages from the same thread together.": "Объединять письма одной цепочки.",
"After archiving or deleting": "После архивирования или удаления",
"Ask before showing (recommended)": "Спрашивать перед показом (рекомендуется)",
"Always (all messages)": "Всегда (все письма)",
"Show automatically from my contacts": "Автоматически для моих контактов",
"Immediately when opened": "Сразу при открытии",
"After 2 seconds": "Через 2 секунды",
"After 5 seconds": "Через 5 секунд",
"Never automatically": "Никогда автоматически",
"When someone requests a read receipt": "Когда запрашивают уведомление о прочтении",
"Ask me on each message": "Спрашивать для каждого письма",
"5 seconds": "5 секунд",
"8 seconds": "8 секунд",
"15 seconds": "15 секунд",
"30 seconds": "30 секунд",
"Locale": "Регион",
"Language": "Язык",
"Interface language": "Язык интерфейса",
"Language & region": "Язык и регион",
"Date format": "Формат даты",
"Time format": "Формат времени",
"Time zone": "Часовой пояс",
"Week starts on": "Неделя начинается с",
"Monday": "Понедельник",
"Tuesday": "Вторник",
"Wednesday": "Среда",
"Thursday": "Четверг",
"Friday": "Пятница",
"Saturday": "Суббота",
"Sunday": "Воскресенье",
"12-hour clock (6:23 PM)": "12-часовой формат (6:23 PM)",
"24-hour clock (18:23)": "24-часовой формат (18:23)",
"Browser default ({zone})": "Как в браузере ({zone})",
"Default ({zone})": "По умолчанию ({zone})",
"Automatic ({example})": "Автоматически ({example})",
"Automatic ({locale})": "Автоматически ({locale})",
"Automatic": "Автоматически",
"Preview: {example}": "Пример: {example}",
"Dates, times and month names follow this choice.": "Даты, время и названия месяцев следуют этому выбору.",
"Your mail server reports {name} ({tag}).": "Ваш почтовый сервер сообщает {name} ({tag}).",
"Your mail server does not report a locale, so the browser's is used.": "Ваш почтовый сервер не сообщает язык, поэтому используется язык браузера.",
"Dates": "Даты",
"Date": "Дата",
"Time": "Время",
"When": "Когда",
"Then": "Затем",
"then": "затем",
"Theme": "Тема",
"Accent color": "Акцентный цвет",
"Color": "Цвет",
"Colour": "Цвет",
"Text color": "Цвет текста",
"Density & text": "Плотность и текст",
"Display density": "Плотность отображения",
"Comfortable": "Свободная",
"Cozy (default)": "Средняя (по умолчанию)",
"Compact": "Плотная",
"Text size": "Размер текста",
"Font size": "Размер шрифта",
"Small": "Мелкий",
"Medium": "Средний",
"Large": "Крупный",
"Huge": "Очень крупный",
"Sidebar": "Боковая панель",
"Show labels in the sidebar": "Показывать ярлыки на боковой панели",
"Collapse sidebar to icons": "Свернуть боковую панель до значков",
"Apply the theme to messages too": "Применять тему и к письмам",
"Swiping": "Жесты смахивания",
"Swipe left": "Смахнуть влево",
"Swipe right": "Смахнуть вправо",
"Backup": "Резервная копия",
"Export settings": "Экспорт настроек",
"Import settings": "Импорт настроек",
"Settings imported": "Настройки импортированы",
"Invalid settings file": "Неверный файл настроек",
"Reset to defaults": "Сбросить к значениям по умолчанию",
"Default mail app": "Почтовая программа по умолчанию",
"Documentation": "Документация",
"About ihasmail": "О программе ihasmail",
"About": "О программе",
"Server": "Сервер",
"Server capabilities": "Возможности сервера",
"Accounts": "Учётные записи",
"Account": "Учётная запись",
"Max upload": "Максимальная загрузка",
"{size} MB": "{size} МБ",
"KB": "КБ",
"Image privacy proxy": "Прокси приватности изображений",
"enabled": "включён",
"disabled": "выключен",
"Enabled": "Включено",
"active": "активен",
"hidden": "скрыта",
"connected": "подключено",
"reconnecting…": "переподключение…",
"AGPL-3.0 source": "Исходный код AGPL-3.0",
// ── Identities, templates, filters ─────────────────────────────────
"Identities & signatures": "Профили отправителя и подписи",
"Add identity": "Добавить профиль",
"Delete identity": "Удалить профиль",
"Make default": "Сделать основным",
"Default": "Основной",
"Show when composing": "Показывать при написании",
"Hide when composing": "Скрывать при написании",
"Signature": "Подпись",
"Your signature…": "Ваша подпись…",
"Reply-To": "Обратный адрес",
"Reply-To (optional)": "Обратный адрес (необязательно)",
"Reply-To: {addresses}": "Обратный адрес: {addresses}",
"Replies go to…": "Ответы приходят на…",
"Set a Reply-To address": "Указать обратный адрес",
"{email} is now your default identity": "{email} теперь ваш основной профиль",
"Templates": "Шаблоны",
"New template": "Новый шаблон",
"Delete template": "Удалить шаблон",
"Insert template": "Вставить шаблон",
"Template text…": "Текст шаблона…",
"Subject: {subject}": "Тема: {subject}",
"Filters & rules": "Фильтры и правила",
"Filters unavailable": "Фильтры недоступны",
"Rules": "Правила",
"Rule name": "Название правила",
"New rule": "Новое правило",
"Delete rule": "Удалить правило",
"No filters yet": "Фильтров пока нет",
"Add condition": "Добавить условие",
"Remove condition": "Убрать условие",
"Add action": "Добавить действие",
"Remove action": "Убрать действие",
"all of the following match": "выполняются все условия",
"any of the following match": "выполняется любое из условий",
"contains": "содержит",
"does not contain": "не содержит",
"is": "равно",
"is not": "не равно",
"matches (wildcards * ?)": "совпадает с (шаблоны * ?)",
"does not match": "не совпадает с",
"matches regex": "совпадает с регулярным выражением",
"does not match regex": "не совпадает с регулярным выражением",
"exists": "существует",
"does not exist": "не существует",
"is larger than": "больше чем",
"is smaller than": "меньше чем",
"Stop processing more rules": "Прекратить обработку остальных правил",
"keep copy": "оставить копию",
"Forward to": "Переслать на",
"Reject with message": "Отклонить с сообщением",
"Scripts": "Скрипты",
"Scripts (advanced)": "Скрипты (для опытных)",
"Script name": "Название скрипта",
"New script": "Новый скрипт",
"Delete script": "Удалить скрипт",
"Sieve source": "Исходный код Sieve",
"Preview generated Sieve script": "Посмотреть созданный скрипт Sieve",
"Start with rules": "Начать с правил",
"Switch to rules?": "Перейти к правилам?",
"Create filter": "Создать фильтр",
"Filter messages like this": "Фильтровать похожие письма",
"Filter messages like this…": "Фильтровать похожие письма…",
"Also apply to existing messages in": "Применить и к письмам в",
"keyword (e.g. $important, work)": "ключевое слово (например, $important, work)",
"Other header…": "Другой заголовок…",
"Out of office": "Автоответ об отсутствии",
"Auto-reply enabled": "Автоответ включён",
// ── Security, sessions, notifications ──────────────────────────────
"Security & sessions": "Безопасность и сеансы",
"Password": "Пароль",
"Your password": "Ваш пароль",
"Current password": "Текущий пароль",
"New password": "Новый пароль",
"Confirm new password": "Подтвердите новый пароль",
"Current code": "Текущий код",
"Code from your authenticator": "Код из приложения-аутентификатора",
"Two-factor authentication": "Двухфакторная аутентификация",
"Turn off two-factor authentication": "Отключить двухфакторную аутентификацию",
"Your password alone will be enough to sign in again.": "Для входа снова будет достаточно одного пароля.",
"App passwords": "Пароли приложений",
"New app password for": "Новый пароль приложения для",
"Your new app password": "Ваш новый пароль приложения",
"Secret": "Секрет",
"Thunderbird on my laptop": "Thunderbird на ноутбуке",
"Active webmail sessions": "Активные сеансы веб-почты",
"Sign out": "Выйти",
"Sign out here": "Выйти здесь",
"Sign out all other sessions": "Завершить все остальные сеансы",
"Signed in as": "Вход выполнен как",
"This is my own device": "Это моё личное устройство",
"this device": "это устройство",
"Device": "Устройство",
"IP": "IP",
"Last active": "Последняя активность",
"Created": "Создан",
"Expires": "Истекает",
"Status": "Состояние",
"Online": "В сети",
"Reason": "Причина",
"Type": "Тип",
"Email or username": "Адрес или имя пользователя",
"Use your usual address as the username.": "В качестве имени пользователя укажите свой обычный адрес.",
"Fast, friendly webmail. Your mailbox, your way.": "Быстрая и удобная веб-почта. Ваш ящик — по-вашему.",
"Notifications": "Уведомления",
"Notifications are blocked in your browser settings.": "Уведомления заблокированы в настройках браузера.",
"Not supported in this browser.": "Не поддерживается в этом браузере.",
"Desktop notifications while ihasmail is open": "Системные уведомления, пока ihasmail открыт",
"Notify me even when ihasmail is closed": "Уведомлять, даже когда ihasmail закрыт",
"Play a sound for new mail": "Звук при новом письме",
"Test notification": "Проверить уведомление",
"Background notifications are on": "Фоновые уведомления включены",
"The tab title and favicon always show your unread Inbox count.": "Заголовок вкладки и значок всегда показывают число непрочитанных во входящих.",
"Live updates are delivered via JMAP push ({state}).": "Обновления в реальном времени приходят через JMAP push ({state}).",
"Shows a system notification when new mail arrives in your Inbox while the tab is in the background.": "Показывает системное уведомление, когда во входящие приходит письмо, а вкладка в фоне.",
// ── Editor, search, shortcuts, misc ────────────────────────────────
"Formatting": "Форматирование",
"Formatting options": "Параметры форматирования",
"Remove formatting": "Убрать форматирование",
"Bold (Ctrl+B)": "Полужирный (Ctrl+B)",
"Italic (Ctrl+I)": "Курсив (Ctrl+I)",
"Underline (Ctrl+U)": "Подчёркнутый (Ctrl+U)",
"Strikethrough": "Зачёркнутый",
"Highlight": "Выделение цветом",
"Bulleted list": "Маркированный список",
"Numbered list": "Нумерованный список",
"Increase indent": "Увеличить отступ",
"Decrease indent": "Уменьшить отступ",
"Align left": "По левому краю",
"Align right": "По правому краю",
"Center": "По центру",
"Quote": "Цитата",
"Code block": "Блок кода",
"Normal text": "Обычный текст",
"Insert link (Ctrl+K)": "Вставить ссылку (Ctrl+K)",
"Insert image": "Вставить изображение",
"Link": "Ссылка",
"List": "Список",
"Emoji": "Эмодзи",
"Write your message…": "Напишите письмо…",
"Search": "Поиск",
"Search mail": "Поиск по почте",
"Advanced search": "Расширенный поиск",
"Keyboard shortcuts": "Сочетания клавиш",
"Keyboard shortcuts (?)": "Сочетания клавиш (?)",
"Shortcuts": "Сочетания",
"Go to": "Перейти",
"Menu": "Меню",
"Options": "Параметры",
"Send options": "Параметры отправки",
"Name": "Имя",
"Email": "Адрес",
"Email address": "Адрес электронной почты",
"Description": "Описание",
"Location": "Место",
"Visibility": "Видимость",
"Private": "Личное",
"Work": "Работа",
"Loading…": "Загрузка…",
"None": "Нет",
"optional": "необязательно",
"Always show": "Всегда показывать",
"to": "кому",
"Received": "Получено",
"In-Reply-To": "In-Reply-To",
"References": "References",
"Add label / keyword": "Добавить ярлык или ключевое слово",
"Manage labels": "Управление ярлыками",
"Create “{name}”": "Создать «{name}»",
"Type a name to create your first label.": "Введите название, чтобы создать первый ярлык.",
"Labels are IMAP keywords stored on your messages, so they sync to other clients. Names and colours are kept in this browser.": "Ярлыки — это ключевые слова IMAP, которые хранятся в самих письмах и синхронизируются с другими клиентами. Названия и цвета остаются в этом браузере.",
"New label": "Новый ярлык",
"Delete label": "Удалить ярлык",
"PDF": "PDF",
"Large attachments may be rejected by some servers": "Некоторые серверы отклоняют большие вложения",
"Images are stored in your Files (folder “ihasmail”) and embedded when you send.": "Изображения хранятся в ваших Файлах (папка «ihasmail») и вставляются при отправке.",
"Thanks for your message. I'm away until … and will reply when I'm back.": "Спасибо за письмо. Я отсутствую до … и отвечу после возвращения.",
"Automatically reply to people who email you while you're away. Each sender gets at most one reply.": "Автоматически отвечать тем, кто напишет вам во время отсутствия. Каждый отправитель получит не больше одного ответа.",
"Sort incoming mail automatically. Rules run on the server (Sieve), so they work for every client you use.": "Автоматически сортировать входящую почту. Правила выполняются на сервере (Sieve), поэтому работают во всех клиентах.",
"Canned responses you can insert into any message from the composer's template button.": "Готовые ответы, которые можно вставить в любое письмо кнопкой шаблонов в редакторе.",
"Create a rule to move newsletters to a folder, flag important senders, or forward mail.": "Создайте правило, чтобы складывать рассылки в папку, отмечать важных отправителей или пересылать почту.",
"Advanced: manage raw Sieve scripts. Only one script can be active at a time.": "Для опытных: работа со скриптами Sieve напрямую. Одновременно активен только один скрипт.",
"Only part of your filter script arrived.": "Скрипт фильтрации получен не полностью.",
"Your active script “{name}” was written by hand.": "Ваш активный скрипт «{name}» написан вручную.",
"Another script (“{name}”) is active. Saving rules here will activate the “ihasmail” script instead.": "Активен другой скрипт («{name}»). Если сохранить правила здесь, вместо него включится скрипт «ihasmail».",
"“{name}” will be deactivated (not deleted) and a new “ihasmail” script will take over.": "«{name}» будет отключён (не удалён), а его место займёт новый скрипт «ihasmail».",
"Sieve filtering is not available for this account.": "Фильтрация Sieve недоступна для этой учётной записи.",
"Sieve filtering is not enabled for this account.": "Фильтрация Sieve не включена для этой учётной записи.",
"Vacation responses are not available for this account.": "Автоответы об отсутствии недоступны для этой учётной записи.",
"This account does not have the JMAP calendars capability.": "У этой учётной записи нет возможности JMAP «календари».",
"This account does not have the JMAP contacts capability.": "У этой учётной записи нет возможности JMAP «контакты».",
"This account does not have the JMAP file storage capability.": "У этой учётной записи нет возможности JMAP «хранилище файлов».",
// ── Labels held in constants, translated where they render ─────────
"Add": "Добавить",
"Create subfolders": "Создавать вложенные папки",
"Dark": "Тёмная",
"Light": "Светлая",
"Match system": "Как в системе",
"Day.Month.Year": "День.Месяц.Год",
"Day/Month/Year": "День/Месяц/Год",
"Month/Day/Year": "Месяц/День/Год",
"Year-Month-Day (ISO 8601)": "Год-Месяц-День (ISO 8601)",
"Edit all": "Изменять всё",
"Edit contents": "Изменять содержимое",
"Edit own": "Изменять своё",
"Flag": "Отмечать",
"Mark read": "Отмечать прочитанным",
"Private props": "Личные свойства",
"Read": "Читать",
"Read events": "Читать события",
"RSVP": "Отвечать на приглашения",
"See free/busy": "Видеть занятость",
"Share": "Открывать доступ",
"Write": "Писать",
"Live updates connected": "Обновления в реальном времени подключены",
"Live updates reconnecting…": "Переподключение обновлений в реальном времени…",
"Live updates off — checking periodically instead": "Обновления в реальном времени выключены — идёт периодическая проверка",
"Mark as read / unread": "Отметить как прочитанное / непрочитанное",
"Star / unstar": "Отметить / снять отметку",
"Report spam / not spam": "Пометить как спам / не спам",
"Report spam": "Пометить как спам",
"Not spam": "Не спам",
"Nothing": "Ничего",
"Later today": "Сегодня позже",
"Tomorrow morning": "Завтра утром",
"Tomorrow afternoon": "Завтра днём",
"Monday morning": "В понедельник утром",
"Open draft": "Открыть черновик",
"Undo": "Отменить",
"Deleted Items": "Корзина",
"Choose a date": "Выберите дату",
"Choose a date and time": "Выберите дату и время",
"Pick date and time…": "Выбрать дату и время…",
"After": "После",
"Before": "До",
// ── Folder names shown for a JMAP role (see lib/mailboxName.ts) ────
"folder\u0004Inbox": "Входящие",
"folder\u0004Archive": "Архив",
"folder\u0004Drafts": "Черновики",
"folder\u0004Sent": "Отправленные",
"folder\u0004Deleted Items": "Корзина",
"folder\u0004Junk Mail": "Спам",
"folder\u0004Important": "Важное",
"folder\u0004All mail": "Вся почта",
"folder": "папка",
"“{name}” moved into “{parent}”": "«{name}» перемещена в «{parent}»",
"“{name}” moved to the top level": "«{name}» перемещена на верхний уровень",
"Could not move “{name}”: {reason}": "Не удалось переместить «{name}»: {reason}",
"Delete “{name}”?": "Удалить «{name}»?",
"Rename folder": "Переименовать папку",
"Search: {query}": "Поиск: {query}",
"No conversation selected": "Цепочка не выбрана",
"Drop here for the top level": "Перетащите сюда, чтобы вынести на верхний уровень",
// ── Longer prose ───────────────────────────────────────────────────
"Search mail (from:, to:, subject:, has:attachment, is:unread, in:, before:, after:)": "Поиск по почте (from:, to:, subject:, has:attachment, is:unread, in:, before:, after:)",
"Settings → Filters & rules": "Настройки → Фильтры и правила",
"Open the Mail view to see all shortcuts.": "Откройте раздел «Почта», чтобы увидеть все сочетания клавиш.",
"Gmail-style shortcuts are always on. Press {key} anywhere to see this list.": "Сочетания клавиш в стиле Gmail всегда включены. Нажмите {key} в любом месте, чтобы увидеть этот список.",
"Select a conversation to read it here · Press {key} for shortcuts": "Выберите цепочку, чтобы прочитать её здесь · {key} — сочетания клавиш",
"Tip: press {key} on a conversation to apply labels. Search with {operator}.": "Совет: нажмите {key} на цепочке, чтобы присвоить ярлыки. Ищите через {operator}.",
"A fast, friendly, open-source webmail for {server}, built on JMAP.": "Быстрая и удобная веб-почта с открытым кодом для {server}, построенная на JMAP.",
"Defaults for the calendar views and new events.": "Значения по умолчанию для видов календаря и новых событий.",
"Replies will go to this address instead of the From address": "Ответы будут приходить на этот адрес, а не на адрес отправителя",
"Replies to mail sent from this identity go here instead of the From address.": "Ответы на письма из этого профиля приходят сюда, а не на адрес отправителя.",
"New identities must use an address this account is allowed to send from (aliases configured on the server).": "Новый профиль должен использовать адрес, с которого этой учётной записи разрешено отправлять (псевдонимы настраиваются на сервере).",
"Not offered when composing. It still receives mail, and you can still send from it by showing it again.": "Не предлагается при написании письма. Адрес по-прежнему принимает почту, и с него снова можно отправлять, если показать его обратно.",
"Each identity is a sender address with its own name, Reply-To and signature. The default identity is preselected when you compose; set a Reply-To when replies should go somewhere other than the From address.": "Каждый профиль — это адрес отправителя со своим именем, обратным адресом и подписью. Основной профиль подставляется при написании письма; укажите обратный адрес, если ответы должны приходить не на адрес отправителя.",
"This signature is larger than the server's {limit}-byte limit. ihasmail will keep the full version in your Files and store a short text fallback on the server — other mail clients will see the plain-text version.": "Эта подпись больше серверного предела в {limit} байт. ihasmail сохранит полную версию в ваших Файлах, а на сервере оставит короткий текстовый вариант — другие почтовые клиенты увидят именно его.",
"Outlook-style categories you can assign to events from the right-click menu or the event editor. The category name is stored on the event, so it syncs to other clients.": "Категории в стиле Outlook, которые можно присваивать событиям через контекстное меню или редактор события. Название категории хранится в самом событии и синхронизируется с другими клиентами.",
"Plain-text mail already follows the theme. With this on, HTML mail that brings no colours of its own does as well, instead of sitting on a white card. Messages that style themselves are left exactly as the sender designed them.": "Письма в обычном тексте уже следуют теме. С этой настройкой ей следуют и HTML-письма без собственных цветов, а не показываются на белом фоне. Письма с собственным оформлением остаются ровно такими, какими их задумал отправитель.",
"This is separate from {setting} in General, which decides how dates, times and numbers are written. You can read an English interface with German dates, or the other way round.": "Это не то же самое, что {setting} в разделе «Общие», где задаётся, как пишутся даты, время и числа. Можно читать английский интерфейс с русскими датами — или наоборот.",
"On a touchscreen, drag a message sideways to act on it. Each direction can do one thing, or nothing. These follow your account, so a phone and a tablet agree; a mouse ignores them and keeps dragging messages into folders instead.": "На сенсорном экране смахните письмо в сторону, чтобы выполнить над ним действие. Каждое направление может делать что-то одно — или ничего. Настройка привязана к учётной записи, поэтому телефон и планшет ведут себя одинаково; мышь её игнорирует, и письма по-прежнему перетаскиваются в папки.",
"This screen has no touchscreen, so nothing here changes what it does. Your phone or tablet will pick these up.": "У этого экрана нет сенсорного ввода, поэтому здесь ничего не изменится. Настройку подхватят телефон или планшет.",
"Holding a message selects it, and holding a folder opens its menu. Pull the top of the message list down to check for new mail.": "Долгое нажатие на письме выделяет его, а на папке — открывает её меню. Потяните список писем вниз, чтобы проверить почту.",
"A receipt tells whoever asked that this address is live and when the message was read, and the sender chooses where it goes — so there is no automatic option. Bulk mail, mailing lists and anything marked auto-submitted are never offered one at all.": "Уведомление сообщает запросившему, что адрес действующий и когда письмо было прочитано, а отправитель сам выбирает, куда его отправить, — поэтому автоматического варианта нет. Для массовых рассылок, списков рассылки и всего помеченного как отправленное автоматически оно не предлагается вовсе.",
"This browser cannot register apps for {scheme} links. Safari, in particular, has no such API — you can still make ihasmail the default from your operating system if you install it as an app.": "Этот браузер не умеет регистрировать программы для ссылок {scheme}. В частности, в Safari нет такого интерфейса — но ihasmail всё равно можно сделать программой по умолчанию средствами операционной системы, установив его как приложение.",
"Registering for {scheme} links requires a secure (HTTPS) connection.": "Для регистрации ссылок {scheme} нужно защищённое соединение (HTTPS).",
"Open {scheme} links — in web pages, documents and other apps — in ihasmail instead of a desktop mail client. Your browser will ask you to confirm, and you can change it later in its own settings (Chrome: Settings Privacy and security Site settings Protocol handlers; Firefox: Settings General Applications).": "Открывать ссылки {scheme} — на веб-страницах, в документах и других программах — в ihasmail, а не в почтовой программе на компьютере. Браузер попросит подтверждение, и позже это можно изменить в его настройках (Chrome: Настройки › Конфиденциальность и безопасность › Настройки сайтов › Обработчики протоколов; Firefox: Настройки › Основные › Приложения).",
"Requested in this browser. Whether it took effect is up to the browser — check its settings if mail links still open elsewhere.": "Запрошено в этом браузере. Сработало ли это, решает он сам — проверьте его настройки, если почтовые ссылки по-прежнему открываются в другом месте.",
"For a system-wide default, install ihasmail as an app first (in Chrome: the install icon in the address bar). Your operating system can then offer ihasmail directly wherever it asks which mail app to use.": "Чтобы задать программу по умолчанию для всей системы, сначала установите ihasmail как приложение (в Chrome — значок установки в адресной строке). После этого операционная система сможет предлагать ihasmail везде, где спрашивает, какой почтовой программой воспользоваться.",
"Needs a browser with the Push API and a mail server that publishes a push key.": "Нужен браузер с Push API и почтовый сервер, публикующий push-ключ.",
"Your mail server delivers these straight to your browser, so they arrive with no ihasmail tab open, naming the sender and subject. Your browser still has to be running — if you quit it completely, notifications wait and arrive when you open it again.": "Почтовый сервер доставляет их прямо в браузер, поэтому они приходят без открытой вкладки ihasmail и содержат отправителя и тему. Браузер при этом должен быть запущен: если закрыть его полностью, уведомления подождут и придут при следующем запуске.",
"Your mail server can wake this browser, but will not include the sender or subject. Your browser still has to be running.": "Почтовый сервер может разбудить этот браузер, но не сообщит отправителя и тему. Браузер при этом должен быть запущен.",
"This is what a new-mail notification looks like.": "Так выглядит уведомление о новом письме.",
"You're signed in as {user}. Your password is never stored in the browser; the server keeps it encrypted per-session for talking to Stalwart.": "Вы вошли как {user}. Пароль никогда не хранится в браузере: сервер держит его в зашифрованном виде на время сеанса, чтобы общаться со Stalwart.",
"App passwords are managed by your mail administrator.": "Паролями приложений управляет ваш почтовый администратор.",
"Changing your password signs out your other webmail sessions. Any app passwords keep working.": "Смена пароля завершает остальные сеансы веб-почты. Пароли приложений продолжают работать.",
"This account has two-factor authentication on. ihasmail can't sign you in with a code yet, so signing in on another device needs an app password — or you can turn two-factor authentication off here.": "Для этой учётной записи включена двухфакторная аутентификация. ihasmail пока не умеет входить по коду, поэтому для входа на другом устройстве нужен пароль приложения — либо двухфакторную аутентификацию можно отключить здесь.",
"A separate password for a mail app or device, which you can revoke on its own. App passwords skip two-factor codes, so they keep working in apps that can't ask for one.": "Отдельный пароль для почтовой программы или устройства, который можно отозвать по отдельности. Пароли приложений обходят двухфакторные коды и поэтому работают там, где запросить код невозможно.",
"Copy it into {name} now — it isn't shown again.": "Скопируйте его в {name} сейчас — больше он не показывается.",
"No other users found in the directory, so nobody new can be added. Sharing already in place is listed below and can still be removed.": "В каталоге не найдено других пользователей, поэтому добавить некого. Уже открытый доступ перечислен ниже, и его по-прежнему можно закрыть.",
"Stalwart does not publish its version number to mail clients, so ihasmail reports the edition where the server gives one. ihasmail requires 0.16 or newer, and sign-in refuses anything older.": "Stalwart не сообщает почтовым клиентам номер версии, поэтому ihasmail показывает редакцию, если сервер её называет. ihasmail требует версию 0.16 или новее, и вход с более старой не выполняется.",
"It {damage}, so the rules in it can't be shown or edited — saving what did arrive would write it back over the rest. Reload the page to try again. Your rules are still on the server; nothing here has changed them.": "Он {damage}, поэтому правила в нём нельзя показать или изменить: сохранение полученной части затёрло бы остальное. Перезагрузите страницу и попробуйте снова. Ваши правила остаются на сервере, здесь их ничто не меняло.",
"The visual rule editor only manages scripts it created. You can edit the script in the {tab} tab, or start fresh with rules (the existing script will be kept but deactivated).": "Визуальный редактор правил работает только со скриптами, которые создал сам. Скрипт можно изменить на вкладке {tab} или начать заново с правил (существующий скрипт сохранится, но будет отключён).",
"Your filter script {damage}, so only part of it arrived. Adding a rule would write that part back over the whole thing. Reload the page and try again.": "Ваш скрипт фильтрации {damage}, поэтому получена только его часть. Добавление правила затёрло бы этой частью весь скрипт. Перезагрузите страницу и попробуйте снова.",
"Your filter script couldn't be read just now, so adding a rule would risk overwriting it. Reload the page and try again.": "Скрипт фильтрации сейчас не удалось прочитать, поэтому добавление правила рискует его перезаписать. Перезагрузите страницу и попробуйте снова.",
"Your active Sieve script was written by hand, so rules can't be added automatically. Open {where} to edit the script or switch to managed rules.": "Ваш активный скрипт Sieve написан вручную, поэтому правила нельзя добавить автоматически. Откройте {where}, чтобы изменить скрипт или перейти к управляемым правилам.",
"Only languages ihasmail has been translated into appear here, so this list grows as translations land rather than ahead of them — a language offered without strings behind it would leave the page claiming to be in a language it is not.": "Здесь показаны только языки, на которые ihasmail переведён, поэтому список растёт вместе с переводами, а не опережает их: язык без текстов заставил бы страницу утверждать, что она написана на языке, которым не является.",
"tell us about it": "сообщите нам",
"This translation was generated by AI and has not been checked by a native speaker, so it is marked Beta until somebody who speaks it signs it off. Anything that reads wrongly is worth reporting — {report}.": "Этот перевод сделан ИИ и не проверен носителем языка, поэтому помечен как Beta до тех пор, пока кто-нибудь его не подтвердит. Обо всём, что звучит неправильно, стоит сообщить — {report}.",
"{name} is the palette from {site}, and what a new account starts on. It is a dark theme, so it counts as dark wherever that matters, and the accent colour below still applies on top of it.": "{name} — это палитра с {site}, с которой начинает новая учётная запись. Тема тёмная, поэтому везде, где это важно, считается тёмной, а акцентный цвет ниже применяется поверх неё.",
"ihasmail's own version is the date of the commit it was built from, followed by where that commit came from: {example} was built from a commit dated the 30th of August 2026 that arrived through pull request 129. A commit that did not come through one carries its short SHA instead — {sha}. The version deliberately says nothing about Stalwart; what this build needs from the server is the line above.": "Собственная версия ihasmail — это дата коммита, из которого он собран, и указание, откуда этот коммит взялся: {example} собран из коммита от 30 августа 2026 года, пришедшего через pull request 129. Коммит, пришедший иначе, несёт вместо этого короткий SHA — {sha}. Версия намеренно ничего не сообщает о Stalwart; то, что этой сборке нужно от сервера, указано строкой выше.",
},
plurals: {
/*
* Three forms, which is the whole reason plural() takes a map rather than
* (one, other). Intl.PluralRules picks: 1 is `one`, 2-4 are `few`, 5-20
* and most others are `many`. English needs none of this and would have
* shipped "1 писем" without it.
*/
"{n} messages": { one: "{n} письмо", few: "{n} письма", many: "{n} писем", other: "{n} письма" },
"{n} conversations": { one: "{n} цепочка", few: "{n} цепочки", many: "{n} цепочек", other: "{n} цепочки" },
// Impersonal, so the count needs no agreement at all — which is what
// Russian interfaces actually do here.
"{n} selected": { one: "Выбрано: {n}", few: "Выбрано: {n}", many: "Выбрано: {n}", other: "Выбрано: {n}" },
},
};
+859
View File
@@ -0,0 +1,859 @@
import type { Catalog } from "@/lib/i18n";
/**
* Ukrainian — generated by AI, and not reviewed by a native speaker.
*
* Marked Beta, with the report link doing the job a native speaker would. A
* missing string renders its English source, so deleting a bad entry is a
* valid fix.
*
* ── Decisions this file is consistent about ──────────────────────────────
*
* This is a translation, not a transliteration of the Russian one. The two
* languages share a plural structure and a script and almost nothing else
* that matters here: «Вхідні» is not «Входящие», «Кошик» is not «Корзина»,
* «Листування» is not «Цепочка». Producing Ukrainian by adapting Russian is
* the failure mode a Ukrainian reader will spot in the first sentence and
* will rightly resent, so the vocabulary was chosen against what Ukrainian
* mail clients say rather than against the neighbouring file.
*
* Register: **ви**, lowercase — the neutral polite address, matching the
* decision every other catalogue took. As in Russian, most of the interface
* sidesteps it by using the infinitive for actions.
*
* Terminology, fixed once so it cannot drift:
*
* Inbox Вхідні Archive (verb) архівувати
* Drafts Чернетки Delete видалити
* Sent Надіслані Move to перемістити до
* Deleted Items Кошик Reply відповісти
* Junk / Spam Спам Reply all відповісти всім
* Folder Тека Forward переслати
* Label Мітка Star позначити
* Conversation Листування Read / unread прочитано / непрочитано
* Message Лист Settings Налаштування
* Attachment Вкладення Signature Підпис
* Contact Контакт Identity Профіль відправника
*
* «Тека» rather than «папка» for folder: both are used, and «тека» is the
* form Ukrainian software has settled on. «Мітка» for label rather than
* Russian's «ярлык», which in Ukrainian means a shortcut.
*
* Product names are never translated: ihasmail, Stalwart, JMAP, Sieve, vCard.
*/
export const catalog: Catalog = {
strings: {
// ── Actions ────────────────────────────────────────────────────────
"Archive": "Архівувати",
"Archive (e)": "Архівувати (e)",
"Delete": "Видалити",
"Delete (#)": "Видалити (#)",
"Reply": "Відповісти",
"Reply (r)": "Відповісти (r)",
"Reply all": "Відповісти всім",
"Forward": "Переслати",
"Move to…": "Перемістити до…",
"Move to (v)": "Перемістити до (v)",
"Move to folder": "Перемістити до теки",
"Move here": "Перемістити сюди",
"Mark as read": "Позначити як прочитане",
"Mark as read (Shift+I)": "Позначити як прочитане (Shift+I)",
"Mark as unread": "Позначити як непрочитане",
"Mark as unread (Shift+U)": "Позначити як непрочитане (Shift+U)",
"Mark all as read": "Позначити все як прочитане",
"Mark all as read, incl. subfolders": "Позначити все як прочитане, разом із вкладеними теками",
"Star": "Позначити",
"Labels": "Мітки",
"Labels (l)": "Мітки (l)",
"Label as": "Додати мітку",
"Label…": "Мітка…",
"Compose": "Написати",
"Compose message": "Написати лист",
"Send": "Надіслати",
"Send at": "Надіслати о",
"Cancel send": "Скасувати надсилання",
"Schedule send": "Запланувати надсилання",
"Save": "Зберегти",
"Save & activate": "Зберегти й увімкнути",
"Save & close (Esc)": "Зберегти й закрити (Esc)",
"Save as template": "Зберегти як шаблон",
"Save draft now": "Зберегти чернетку зараз",
"Cancel": "Скасувати",
"Close": "Закрити",
"Done": "Готово",
"Continue": "Продовжити",
"Edit": "Змінити",
"Edit…": "Змінити…",
"Rename": "Перейменувати",
"Remove": "Прибрати",
"Restore": "Відновити",
"Retry": "Повторити",
"Reload": "Перезавантажити",
"Refresh": "Оновити",
"Copy": "Копіювати",
"Copy email address": "Копіювати адресу",
"Download": "Завантажити",
"Download all": "Завантажити все",
"Download (.eml)": "Завантажити (.eml)",
"Download latest as .eml": "Завантажити останній як .eml",
"Upload": "Вивантажити",
"Upload files…": "Вивантажити файли…",
"Print": "Друк",
"Print conversation": "Надрукувати листування",
"Undo (Ctrl+Z)": "Скасувати (Ctrl+Z)",
"Redo": "Повернути",
"Dismiss": "Закрити",
"Discard changes": "Відхилити зміни",
"Discard draft": "Видалити чернетку",
"Duplicate": "Дублювати",
"Validate": "Перевірити",
"Revoke": "Відкликати",
"Turn off": "Вимкнути",
"Clear": "Очистити",
"Clear selection": "Зняти позначення",
"Clear custom colour": "Прибрати власний колір",
"Select": "Вибрати",
"Select all": "Вибрати все",
"Unsubscribe": "Відписатися",
"Share…": "Поділитися…",
"Stop sharing": "Закрити доступ",
"Open": "Відкрити",
"Open in new tab": "Відкрити в новій вкладці",
"Open in calendar": "Відкрити в календарі",
"Back": "Назад",
"Back (u)": "Назад (u)",
"Back to list": "Назад до списку",
"Back to my files": "Назад до моїх файлів",
"Go back to the list": "Повернутися до списку",
"Next": "Далі",
"Previous": "Назад",
"More": "Ще",
"More actions": "Інші дії",
"More options": "Інші параметри",
"Move up": "Вгору",
"Move down": "Вниз",
"Drag to reorder": "Перетягніть, щоб змінити порядок",
"Right-click for options": "Права кнопка миші — параметри",
// ── Mail ───────────────────────────────────────────────────────────
"Mail": "Пошта",
"Message": "Лист",
"Messages": "Листи",
"Message body": "Текст листа",
"Message headers": "Заголовки листа",
"Message size": "Розмір листа",
"Message-ID": "Message-ID",
"Original message": "Початковий лист",
"Delete this message": "Видалити цей лист",
"New message to this address": "Новий лист на цю адресу",
"Conversation view": "Показувати листуванням",
"Draft": "Чернетка",
"Unread": "Непрочитані",
"Unread only": "Лише непрочитані",
"All mail": "Уся пошта",
"Sender": "Відправник",
"Sender domain": "Домен відправника",
"Recipients": "Одержувачі",
"From": "Від",
"To": "Кому",
"Cc": "Копія",
"Bcc": "Прихована копія",
"Subject": "Тема",
"Subject (optional)": "Тема (необов'язково)",
"Body": "Текст",
"Body text": "Звичайний текст",
"Attach files": "Прикріпити файли",
"Attach from Files": "Прикріпити з Файлів",
"Remove attachment": "Прибрати вкладення",
"Has attachment": "Є вкладення",
"Has the words": "Містить слова",
"Header name": "Назва заголовка",
"Show headers": "Показати заголовки",
"Show original": "Показати оригінал",
"Show details": "Показати подробиці",
"Show images": "Показати зображення",
"Remote images": "Зовнішні зображення",
"Remote images are blocked to protect your privacy.": "Зовнішні зображення заблоковано, щоб захистити вашу приватність.",
"Always from {email}": "Завжди від {email}",
"This looks like a mailing list.": "Схоже, це розсилка.",
"This folder is empty": "Тека порожня",
"This folder is empty.": "Тека порожня.",
"Delete all spam now": "Видалити весь спам зараз",
"Deleting spam is permanent — it does not go to Deleted Items first.": "Видалення спаму остаточне — він не потрапляє спершу до кошика.",
"Keep in Inbox": "Залишити у вхідних",
"Newer (k)": "Новіше (k)",
"Older (j)": "Старіше (j)",
"Open the next (older) conversation": "Відкрити наступне листування (старіше)",
"Open the previous (newer) conversation": "Відкрити попереднє листування (новіше)",
"Loading conversation…": "Завантаження листування…",
"Important": "Важливе",
"Unverified": "Не перевірено",
"Priority": "Пріоритет",
"High": "Високий",
"Normal": "Звичайний",
"Low": "Низький",
"to {recipients}": "кому: {recipients}",
"From: {sender}": "Від: {sender}",
"Waiting on the server — goes out {when}.": "Очікує на сервері — буде надіслано {when}.",
"Scheduled — click to clear the schedule": "Заплановано — натисніть, щоб скасувати",
"Nothing scheduled": "Нічого не заплановано",
"The message waits on the server, so it goes out whether or not ihasmail is open.": "Лист чекає на сервері й буде надісланий незалежно від того, чи відкрито ihasmail.",
"This server holds a message for up to {span}.": "Цей сервер утримує лист до {span}.",
"Date and time to send": "Дата й час надсилання",
"Undo send window": "Час на скасування надсилання",
"Read receipt requested": "Запитано сповіщення про прочитання",
"The sender asked for a read receipt.": "Відправник запитав сповіщення про прочитання.",
"Request read receipt": "Запитати сповіщення про прочитання",
"Always request read receipts": "Завжди запитувати сповіщення про прочитання",
"Receipt": "Сповіщення",
"Never send one": "Ніколи не надсилати",
"Not this time": "Не цього разу",
"It would go to {address}, which is not where the message came from.": "Воно пішло б на {address}, а лист надійшов не звідти.",
"Use “Show original” for the complete raw message.": "Натисніть «Показати оригінал», щоб побачити лист повністю.",
// ── Folders, calendar, contacts, files ─────────────────────────────
"Folder": "Тека",
"Folders": "Теки",
"Folder options": "Параметри теки",
"New folder": "Нова тека",
"New subfolder": "Нова вкладена тека",
"Delete folder": "Видалити теку",
"No matching folders": "Відповідних тек немає",
"No subfolders here.": "Тут немає вкладених тек.",
"Type a folder name…": "Введіть назву теки…",
" New folder…": "+ Нова тека…",
"Create, rename and hide folders.": "Створення, перейменування та приховування тек.",
"Show unsubscribed (hidden) folders": "Показувати непідписані (приховані) теки",
"Storage: {used} of {total} used.": "Сховище: зайнято {used} з {total}.",
"{used} of {total}": "{used} з {total}",
"Calendar": "Календар",
"My calendars": "Мої календарі",
"New calendar": "Новий календар",
"Calendar options": "Параметри календаря",
"Calendar & contacts": "Календар і контакти",
"Calendar is not available": "Календар недоступний",
"Event": "Подія",
"New event": "Нова подія",
"(new event)": "(нова подія)",
"New all-day event": "Нова подія на весь день",
"Add title": "Додати назву",
"Add location": "Додати місце",
"Add to calendar": "Додати до календаря",
"Add to my calendar": "Додати до мого календаря",
"Remove from calendar": "Прибрати з календаря",
"Remove from my calendar": "Прибрати з мого календаря",
"All day": "Весь день",
"all-day": "весь день",
"Starts": "Початок",
"Starts (optional)": "Початок (необов'язково)",
"Ends": "Завершення",
"Ends (optional)": "Завершення (необов'язково)",
"Day": "День",
"Week": "Тиждень",
"Month": "Місяць",
"Agenda": "Список",
"Today": "Сьогодні",
"Go to day": "Перейти до дня",
"Go to week": "Перейти до тижня",
"Previous month": "Попередній місяць",
"Next month": "Наступний місяць",
"Does not repeat": "Не повторюється",
"Daily": "Щодня",
"Every weekday": "Щобудня",
"Yearly": "Щороку",
"Custom…": "Власний варіант…",
"Weekly on {weekday}": "Щотижня, {weekday}",
"Monthly on day {day}": "Щомісяця, {day}-го числа",
"Repeat every": "Повторювати кожні",
"Repeat until": "Повторювати до",
"after N times": "після N разів",
"on date": "до дати",
"never": "ніколи",
"day(s)": "дн.",
"week(s)": "тижн.",
"month(s)": "міс.",
"year(s)": "р.",
"Reminders": "Нагадування",
"Add reminder": "Додати нагадування",
"Remove reminder": "Прибрати нагадування",
"Default reminder": "Нагадування за замовчуванням",
"At time of event": "У момент події",
"5 minutes before": "За 5 хвилин",
"10 minutes before": "За 10 хвилин",
"15 minutes before": "За 15 хвилин",
"30 minutes before": "За 30 хвилин",
"1 hour before": "За 1 годину",
"1 day before": "За 1 день",
"15 minutes": "15 хвилин",
"30 minutes": "30 хвилин",
"45 minutes": "45 хвилин",
"1 hour": "1 година",
"1.5 hours": "1,5 години",
"2 hours": "2 години",
"Default event length": "Тривалість події за замовчуванням",
"Default view": "Вигляд за замовчуванням",
"Guests": "Учасники",
"Add guests by name or email": "Додати учасників за іменем або адресою",
"Send invitation emails to guests": "Надсилати учасникам запрошення поштою",
"Going?": "Будете?",
"Yes": "Так",
"No": "Ні",
"Maybe": "Можливо",
"Confirmed": "Підтверджено",
"Tentative": "Під питанням",
"Cancelled": "Скасовано",
"organizer": "організатор",
"Organizer: {name}": "Організатор: {name}",
"Free": "Вільний",
"Busy": "Зайнятий",
"Free/busy": "Зайнятість",
"Show as": "Показувати як",
"Availability on {date}": "Зайнятість на {date}",
"Count all events as busy": "Вважати всі події зайнятістю",
"Only events I'm attending": "Лише події, де я беру участь",
"Don't include in availability": "Не враховувати в зайнятості",
"Meeting link": "Посилання на зустріч",
"No events in the next 60 days.": "Найближчі 60 днів подій немає.",
"Working hours": "Робочий час",
"Working hours start": "Початок робочого часу",
"Working hours end": "Кінець робочого часу",
"Colour categories": "Кольорові категорії",
"Category": "Категорія",
"No category": "Без категорії",
"New category": "Нова категорія",
"Delete category": "Видалити категорію",
"Manage categories…": "Керування категоріями…",
"Use category color": "Колір категорії",
"Use calendar color": "Колір календаря",
"Use the default colour": "Колір за замовчуванням",
"+{n} more": "+{n}",
"Contacts": "Контакти",
"Contacts are not available": "Контакти недоступні",
"New contact": "Новий контакт",
"Edit contact": "Змінити контакт",
"Select a contact": "Виберіть контакт",
"All contacts": "Усі контакти",
"Search contacts": "Пошук за контактами",
"Search contacts to add…": "Знайдіть контакти, щоб додати…",
"Loading contacts…": "Завантаження контактів…",
"Add to contacts": "Додати до контактів",
"Add to my contacts": "Додати до моїх контактів",
"Remove from my contacts": "Прибрати з моїх контактів",
"Address book": "Адресна книга",
"Address books": "Адресні книги",
"All address books": "Усі адресні книги",
"My address books": "Мої адресні книги",
"New address book": "Нова адресна книга",
"No address books yet.": "Адресних книг поки немає.",
"Choose from address books": "Вибрати з адресних книг",
"Import vCard": "Імпорт vCard",
"Export all": "Експортувати все",
"Export book": "Експортувати книгу",
"Email group": "Написати групі",
"Email everyone": "Написати всім",
"Members": "Учасники",
"Members ({count})": "Учасники ({count})",
"Group": "Група",
"· group": "· група",
"Person": "Людина",
"First name": "Ім'я",
"Last name": "Прізвище",
"Middle name": "По батькові",
"More name fields": "Інші поля імені",
"Nickname": "Псевдонім",
"Prefix": "Звертання",
"Suffix": "Суфікс",
"Dr.": "Д-р",
"Jr.": "Мол.",
"Display name": "Відображуване ім'я",
"Job title": "Посада",
"Organization": "Організація",
"Company": "Компанія",
"Birthday": "День народження",
"Notes": "Нотатки",
"Website": "Сайт",
"Phone": "Телефон",
"Add phone": "Додати телефон",
"Add email": "Додати адресу",
"Add address": "Додати поштову адресу",
"Address": "Адреса",
"Street": "Вулиця",
"City": "Місто",
"State / Region": "Область / регіон",
"Postal code": "Індекс",
"Country": "Країна",
"Change photo": "Змінити фото",
"Remove photo": "Прибрати фото",
"Updated {date}": "Оновлено {date}",
"Modified": "Змінено",
"Search names and addresses": "Пошук за іменами й адресами",
"Add a person or group…": "Додати людину або групу…",
"Choose recipients": "Вибрати одержувачів",
"Available to add": "Можна додати",
"vCard": "vCard",
"vCard attachment": "Вкладення vCard",
"Files": "Файли",
"My files": "Мої файли",
"File storage is not available": "Сховище файлів недоступне",
"Drag files here or use Upload.": "Перетягніть файли сюди або натисніть «Вивантажити».",
"Shared": "Спільний доступ",
"Shared with me": "Доступні мені",
"Nothing is shared with you.": "Вам нічого не відкрили.",
"Not shared with anyone yet.": "Доступ поки нікому не відкрито.",
"Check for new shares": "Перевірити нові",
"Shared files are copied to your account when attached.": "Під час прикріплення спільні файли копіюються до вашого облікового запису.",
"Viewer": "Читання",
"Editor": "Редагування",
"Size": "Розмір",
"Add files": "Додати файли",
"Minimize": "Згорнути",
// ── Settings ───────────────────────────────────────────────────────
"Settings": "Налаштування",
"All settings": "Усі налаштування",
"Sections": "Розділи",
"General": "Загальні",
"Appearance": "Вигляд",
"Make ihasmail yours.": "Налаштуйте ihasmail під себе.",
"Reading": "Читання",
"Reading pane": "Область читання",
"Reading, sending and list behaviour. Settings are stored in this browser.": "Поведінка під час читання, надсилання та в списку. Налаштування зберігаються в цьому браузері.",
"Right of the list": "Праворуч від списку",
"Below the list": "Під списком",
"Hidden (open full width)": "Прихована (відкривати на всю ширину)",
"Off (open messages full width)": "Вимкнена (листи на всю ширину)",
"Off": "Вимкнено",
"Composing": "Написання",
"Default format": "Формат за замовчуванням",
"Rich text (HTML)": "Форматований текст (HTML)",
"Plain text": "Звичайний текст",
"Quote original message in replies": "Цитувати початковий лист у відповідях",
"Place signature above quoted text": "Ставити підпис над цитатою",
"Attachment reminder": "Нагадування про вкладення",
"Warn when the message mentions an attachment but none is attached.": "Попереджати, якщо лист згадує вкладення, але його немає.",
"Spell check while typing": "Перевіряти орфографію під час введення",
"Confirm before deleting": "Питати перед видаленням",
"Show message snippets": "Показувати початок листа",
"Preview the first line of each message in the list.": "Показувати перший рядок кожного листа у списку.",
"Show sender avatars": "Показувати аватари відправників",
"Group messages from the same thread together.": "Об'єднувати листи одного листування.",
"After archiving or deleting": "Після архівування або видалення",
"Ask before showing (recommended)": "Питати перед показом (рекомендовано)",
"Always (all messages)": "Завжди (усі листи)",
"Show automatically from my contacts": "Автоматично для моїх контактів",
"Immediately when opened": "Одразу під час відкриття",
"After 2 seconds": "Через 2 секунди",
"After 5 seconds": "Через 5 секунд",
"Never automatically": "Ніколи автоматично",
"When someone requests a read receipt": "Коли запитують сповіщення про прочитання",
"Ask me on each message": "Питати для кожного листа",
"5 seconds": "5 секунд",
"8 seconds": "8 секунд",
"15 seconds": "15 секунд",
"30 seconds": "30 секунд",
"Locale": "Регіон",
"Language": "Мова",
"Interface language": "Мова інтерфейсу",
"Language & region": "Мова та регіон",
"Date format": "Формат дати",
"Time format": "Формат часу",
"Time zone": "Часовий пояс",
"Week starts on": "Тиждень починається з",
"Monday": "Понеділок",
"Tuesday": "Вівторок",
"Wednesday": "Середа",
"Thursday": "Четвер",
"Friday": "П'ятниця",
"Saturday": "Субота",
"Sunday": "Неділя",
"12-hour clock (6:23 PM)": "12-годинний формат (6:23 PM)",
"24-hour clock (18:23)": "24-годинний формат (18:23)",
"Browser default ({zone})": "Як у браузері ({zone})",
"Default ({zone})": "За замовчуванням ({zone})",
"Automatic ({example})": "Автоматично ({example})",
"Automatic ({locale})": "Автоматично ({locale})",
"Automatic": "Автоматично",
"Preview: {example}": "Приклад: {example}",
"Dates, times and month names follow this choice.": "Дати, час і назви місяців залежать від цього вибору.",
"Your mail server reports {name} ({tag}).": "Ваш поштовий сервер повідомляє {name} ({tag}).",
"Your mail server does not report a locale, so the browser's is used.": "Ваш поштовий сервер не повідомляє мову, тому використовується мова браузера.",
"Dates": "Дати",
"Date": "Дата",
"Time": "Час",
"When": "Коли",
"Then": "Потім",
"then": "потім",
"Theme": "Тема",
"Accent color": "Акцентний колір",
"Color": "Колір",
"Colour": "Колір",
"Text color": "Колір тексту",
"Density & text": "Щільність і текст",
"Display density": "Щільність відображення",
"Comfortable": "Вільна",
"Cozy (default)": "Середня (за замовчуванням)",
"Compact": "Щільна",
"Text size": "Розмір тексту",
"Font size": "Розмір шрифту",
"Small": "Дрібний",
"Medium": "Середній",
"Large": "Великий",
"Huge": "Дуже великий",
"Sidebar": "Бічна панель",
"Show labels in the sidebar": "Показувати мітки на бічній панелі",
"Collapse sidebar to icons": "Згорнути бічну панель до значків",
"Apply the theme to messages too": "Застосовувати тему й до листів",
"Swiping": "Жести проведення",
"Swipe left": "Провести ліворуч",
"Swipe right": "Провести праворуч",
"Backup": "Резервна копія",
"Export settings": "Експорт налаштувань",
"Import settings": "Імпорт налаштувань",
"Settings imported": "Налаштування імпортовано",
"Invalid settings file": "Хибний файл налаштувань",
"Reset to defaults": "Скинути до значень за замовчуванням",
"Default mail app": "Поштова програма за замовчуванням",
"Documentation": "Документація",
"About ihasmail": "Про ihasmail",
"About": "Про програму",
"Server": "Сервер",
"Server capabilities": "Можливості сервера",
"Accounts": "Облікові записи",
"Account": "Обліковий запис",
"Max upload": "Максимальне вивантаження",
"{size} MB": "{size} МБ",
"KB": "КБ",
"Image privacy proxy": "Проксі приватності зображень",
"enabled": "увімкнено",
"disabled": "вимкнено",
"Enabled": "Увімкнено",
"active": "активний",
"hidden": "прихована",
"connected": "підключено",
"reconnecting…": "перепідключення…",
"AGPL-3.0 source": "Вихідний код AGPL-3.0",
// ── Identities, templates, filters ─────────────────────────────────
"Identities & signatures": "Профілі відправника та підписи",
"Add identity": "Додати профіль",
"Delete identity": "Видалити профіль",
"Make default": "Зробити основним",
"Default": "Основний",
"Show when composing": "Показувати під час написання",
"Hide when composing": "Приховувати під час написання",
"Signature": "Підпис",
"Your signature…": "Ваш підпис…",
"Reply-To": "Зворотна адреса",
"Reply-To (optional)": "Зворотна адреса (необов'язково)",
"Reply-To: {addresses}": "Зворотна адреса: {addresses}",
"Replies go to…": "Відповіді надходять на…",
"Set a Reply-To address": "Вказати зворотну адресу",
"{email} is now your default identity": "{email} тепер ваш основний профіль",
"Templates": "Шаблони",
"New template": "Новий шаблон",
"Delete template": "Видалити шаблон",
"Insert template": "Вставити шаблон",
"Template text…": "Текст шаблону…",
"Subject: {subject}": "Тема: {subject}",
"Filters & rules": "Фільтри та правила",
"Filters unavailable": "Фільтри недоступні",
"Rules": "Правила",
"Rule name": "Назва правила",
"New rule": "Нове правило",
"Delete rule": "Видалити правило",
"No filters yet": "Фільтрів поки немає",
"Add condition": "Додати умову",
"Remove condition": "Прибрати умову",
"Add action": "Додати дію",
"Remove action": "Прибрати дію",
"all of the following match": "виконуються всі умови",
"any of the following match": "виконується будь-яка з умов",
"contains": "містить",
"does not contain": "не містить",
"is": "дорівнює",
"is not": "не дорівнює",
"matches (wildcards * ?)": "збігається з (шаблони * ?)",
"does not match": "не збігається з",
"matches regex": "збігається з регулярним виразом",
"does not match regex": "не збігається з регулярним виразом",
"exists": "існує",
"does not exist": "не існує",
"is larger than": "більше ніж",
"is smaller than": "менше ніж",
"Stop processing more rules": "Припинити обробку решти правил",
"keep copy": "залишити копію",
"Forward to": "Переслати на",
"Reject with message": "Відхилити з повідомленням",
"Scripts": "Скрипти",
"Scripts (advanced)": "Скрипти (для досвідчених)",
"Script name": "Назва скрипту",
"New script": "Новий скрипт",
"Delete script": "Видалити скрипт",
"Sieve source": "Вихідний код Sieve",
"Preview generated Sieve script": "Переглянути створений скрипт Sieve",
"Start with rules": "Почати з правил",
"Switch to rules?": "Перейти до правил?",
"Create filter": "Створити фільтр",
"Filter messages like this": "Фільтрувати схожі листи",
"Filter messages like this…": "Фільтрувати схожі листи…",
"Also apply to existing messages in": "Застосувати й до листів у",
"keyword (e.g. $important, work)": "ключове слово (наприклад, $important, work)",
"Other header…": "Інший заголовок…",
"Out of office": "Автовідповідь про відсутність",
"Auto-reply enabled": "Автовідповідь увімкнено",
// ── Security, sessions, notifications ──────────────────────────────
"Security & sessions": "Безпека та сеанси",
"Password": "Пароль",
"Your password": "Ваш пароль",
"Current password": "Поточний пароль",
"New password": "Новий пароль",
"Confirm new password": "Підтвердьте новий пароль",
"Current code": "Поточний код",
"Code from your authenticator": "Код з програми-автентифікатора",
"Two-factor authentication": "Двофакторна автентифікація",
"Turn off two-factor authentication": "Вимкнути двофакторну автентифікацію",
"Your password alone will be enough to sign in again.": "Для входу знову буде достатньо самого пароля.",
"App passwords": "Паролі програм",
"New app password for": "Новий пароль програми для",
"Your new app password": "Ваш новий пароль програми",
"Secret": "Секрет",
"Thunderbird on my laptop": "Thunderbird на ноутбуці",
"Active webmail sessions": "Активні сеанси вебпошти",
"Sign out": "Вийти",
"Sign out here": "Вийти тут",
"Sign out all other sessions": "Завершити всі інші сеанси",
"Signed in as": "Вхід виконано як",
"This is my own device": "Це мій власний пристрій",
"this device": "цей пристрій",
"Device": "Пристрій",
"IP": "IP",
"Last active": "Остання активність",
"Created": "Створено",
"Expires": "Спливає",
"Status": "Стан",
"Online": "У мережі",
"Reason": "Причина",
"Type": "Тип",
"Email or username": "Адреса або ім'я користувача",
"Use your usual address as the username.": "Як ім'я користувача вкажіть свою звичайну адресу.",
"Fast, friendly webmail. Your mailbox, your way.": "Швидка та зручна вебпошта. Ваша скринька — на ваш смак.",
"Notifications": "Сповіщення",
"Notifications are blocked in your browser settings.": "Сповіщення заблоковано в налаштуваннях браузера.",
"Not supported in this browser.": "Не підтримується в цьому браузері.",
"Desktop notifications while ihasmail is open": "Системні сповіщення, поки ihasmail відкрито",
"Notify me even when ihasmail is closed": "Сповіщати, навіть коли ihasmail закрито",
"Play a sound for new mail": "Звук при новому листі",
"Test notification": "Перевірити сповіщення",
"Background notifications are on": "Фонові сповіщення увімкнено",
"The tab title and favicon always show your unread Inbox count.": "Заголовок вкладки та значок завжди показують кількість непрочитаних у вхідних.",
"Live updates are delivered via JMAP push ({state}).": "Оновлення в реальному часі надходять через JMAP push ({state}).",
"Shows a system notification when new mail arrives in your Inbox while the tab is in the background.": "Показує системне сповіщення, коли до вхідних надходить лист, а вкладка у фоні.",
// ── Editor, search, shortcuts, misc ────────────────────────────────
"Formatting": "Форматування",
"Formatting options": "Параметри форматування",
"Remove formatting": "Прибрати форматування",
"Bold (Ctrl+B)": "Жирний (Ctrl+B)",
"Italic (Ctrl+I)": "Курсив (Ctrl+I)",
"Underline (Ctrl+U)": "Підкреслений (Ctrl+U)",
"Strikethrough": "Закреслений",
"Highlight": "Виділення кольором",
"Bulleted list": "Маркований список",
"Numbered list": "Нумерований список",
"Increase indent": "Збільшити відступ",
"Decrease indent": "Зменшити відступ",
"Align left": "За лівим краєм",
"Align right": "За правим краєм",
"Center": "По центру",
"Quote": "Цитата",
"Code block": "Блок коду",
"Normal text": "Звичайний текст",
"Insert link (Ctrl+K)": "Вставити посилання (Ctrl+K)",
"Insert image": "Вставити зображення",
"Link": "Посилання",
"List": "Список",
"Emoji": "Емодзі",
"Write your message…": "Напишіть лист…",
"Search": "Пошук",
"Search mail": "Пошук поштою",
"Advanced search": "Розширений пошук",
"Keyboard shortcuts": "Сполучення клавіш",
"Keyboard shortcuts (?)": "Сполучення клавіш (?)",
"Shortcuts": "Сполучення",
"Go to": "Перейти",
"Menu": "Меню",
"Options": "Параметри",
"Send options": "Параметри надсилання",
"Name": "Ім'я",
"Email": "Адреса",
"Email address": "Адреса електронної пошти",
"Description": "Опис",
"Location": "Місце",
"Visibility": "Видимість",
"Private": "Особисте",
"Work": "Робота",
"Loading…": "Завантаження…",
"None": "Немає",
"optional": "необов'язково",
"Always show": "Завжди показувати",
"to": "кому",
"Received": "Отримано",
"In-Reply-To": "In-Reply-To",
"References": "References",
"Add label / keyword": "Додати мітку або ключове слово",
"Manage labels": "Керування мітками",
"Create “{name}”": "Створити «{name}»",
"Type a name to create your first label.": "Введіть назву, щоб створити першу мітку.",
"Labels are IMAP keywords stored on your messages, so they sync to other clients. Names and colours are kept in this browser.": "Мітки — це ключові слова IMAP, які зберігаються в самих листах і синхронізуються з іншими клієнтами. Назви та кольори залишаються в цьому браузері.",
"New label": "Нова мітка",
"Delete label": "Видалити мітку",
"PDF": "PDF",
"Large attachments may be rejected by some servers": "Деякі сервери відхиляють великі вкладення",
"Images are stored in your Files (folder “ihasmail”) and embedded when you send.": "Зображення зберігаються у ваших Файлах (тека «ihasmail») і вставляються під час надсилання.",
"Thanks for your message. I'm away until … and will reply when I'm back.": "Дякую за лист. Мене немає до … і я відповім після повернення.",
"Automatically reply to people who email you while you're away. Each sender gets at most one reply.": "Автоматично відповідати тим, хто напише вам за час відсутності. Кожен відправник отримає не більше однієї відповіді.",
"Sort incoming mail automatically. Rules run on the server (Sieve), so they work for every client you use.": "Автоматично сортувати вхідну пошту. Правила виконуються на сервері (Sieve), тому працюють в усіх клієнтах.",
"Canned responses you can insert into any message from the composer's template button.": "Готові відповіді, які можна вставити в будь-який лист кнопкою шаблонів у редакторі.",
"Create a rule to move newsletters to a folder, flag important senders, or forward mail.": "Створіть правило, щоб складати розсилки до теки, позначати важливих відправників або пересилати пошту.",
"Advanced: manage raw Sieve scripts. Only one script can be active at a time.": "Для досвідчених: робота зі скриптами Sieve напряму. Одночасно активний лише один скрипт.",
"Only part of your filter script arrived.": "Скрипт фільтрації отримано не повністю.",
"Your active script “{name}” was written by hand.": "Ваш активний скрипт «{name}» написано вручну.",
"Another script (“{name}”) is active. Saving rules here will activate the “ihasmail” script instead.": "Активний інший скрипт («{name}»). Якщо зберегти правила тут, замість нього увімкнеться скрипт «ihasmail».",
"“{name}” will be deactivated (not deleted) and a new “ihasmail” script will take over.": "«{name}» буде вимкнено (не видалено), а його місце займе новий скрипт «ihasmail».",
"Sieve filtering is not available for this account.": "Фільтрація Sieve недоступна для цього облікового запису.",
"Sieve filtering is not enabled for this account.": "Фільтрацію Sieve не увімкнено для цього облікового запису.",
"Vacation responses are not available for this account.": "Автовідповіді про відсутність недоступні для цього облікового запису.",
"This account does not have the JMAP calendars capability.": "Цей обліковий запис не має можливості JMAP «календарі».",
"This account does not have the JMAP contacts capability.": "Цей обліковий запис не має можливості JMAP «контакти».",
"This account does not have the JMAP file storage capability.": "Цей обліковий запис не має можливості JMAP «сховище файлів».",
// ── Labels held in constants, translated where they render ─────────
"Add": "Додати",
"Create subfolders": "Створювати вкладені теки",
"Dark": "Темна",
"Light": "Світла",
"Match system": "Як у системі",
"Day.Month.Year": "День.Місяць.Рік",
"Day/Month/Year": "День/Місяць/Рік",
"Month/Day/Year": "Місяць/День/Рік",
"Year-Month-Day (ISO 8601)": "Рік-Місяць-День (ISO 8601)",
"Edit all": "Змінювати все",
"Edit contents": "Змінювати вміст",
"Edit own": "Змінювати своє",
"Flag": "Позначати",
"Mark read": "Позначати прочитаним",
"Private props": "Особисті властивості",
"Read": "Читати",
"Read events": "Читати події",
"RSVP": "Відповідати на запрошення",
"See free/busy": "Бачити зайнятість",
"Share": "Відкривати доступ",
"Write": "Писати",
"Live updates connected": "Оновлення в реальному часі підключено",
"Live updates reconnecting…": "Перепідключення оновлень у реальному часі…",
"Live updates off — checking periodically instead": "Оновлення в реальному часі вимкнено — виконується періодична перевірка",
"Mark as read / unread": "Позначити як прочитане / непрочитане",
"Star / unstar": "Позначити / зняти позначку",
"Report spam / not spam": "Позначити як спам / не спам",
"Report spam": "Позначити як спам",
"Not spam": "Не спам",
"Nothing": "Нічого",
"Later today": "Сьогодні пізніше",
"Tomorrow morning": "Завтра вранці",
"Tomorrow afternoon": "Завтра вдень",
"Monday morning": "У понеділок вранці",
"Open draft": "Відкрити чернетку",
"Undo": "Скасувати",
"Deleted Items": "Кошик",
"Choose a date": "Виберіть дату",
"Choose a date and time": "Виберіть дату й час",
"Pick date and time…": "Вибрати дату й час…",
"After": "Після",
"Before": "До",
// ── Folder names shown for a JMAP role (see lib/mailboxName.ts) ────
"folder\u0004Inbox": "Вхідні",
"folder\u0004Archive": "Архів",
"folder\u0004Drafts": "Чернетки",
"folder\u0004Sent": "Надіслані",
"folder\u0004Deleted Items": "Кошик",
"folder\u0004Junk Mail": "Спам",
"folder\u0004Important": "Важливе",
"folder\u0004All mail": "Уся пошта",
"folder": "тека",
"“{name}” moved into “{parent}”": "«{name}» переміщено до «{parent}»",
"“{name}” moved to the top level": "«{name}» переміщено на верхній рівень",
"Could not move “{name}”: {reason}": "Не вдалося перемістити «{name}»: {reason}",
"Delete “{name}”?": "Видалити «{name}»?",
"Rename folder": "Перейменувати теку",
"Search: {query}": "Пошук: {query}",
"No conversation selected": "Листування не вибрано",
"Drop here for the top level": "Перетягніть сюди, щоб винести на верхній рівень",
// ── Longer prose ───────────────────────────────────────────────────
"Search mail (from:, to:, subject:, has:attachment, is:unread, in:, before:, after:)": "Пошук поштою (from:, to:, subject:, has:attachment, is:unread, in:, before:, after:)",
"Settings → Filters & rules": "Налаштування → Фільтри та правила",
"Open the Mail view to see all shortcuts.": "Відкрийте розділ «Пошта», щоб побачити всі сполучення клавіш.",
"Gmail-style shortcuts are always on. Press {key} anywhere to see this list.": "Сполучення клавіш у стилі Gmail завжди увімкнено. Натисніть {key} будь-де, щоб побачити цей список.",
"Select a conversation to read it here · Press {key} for shortcuts": "Виберіть листування, щоб прочитати його тут · {key} — сполучення клавіш",
"Tip: press {key} on a conversation to apply labels. Search with {operator}.": "Порада: натисніть {key} на листуванні, щоб додати мітки. Шукайте через {operator}.",
"A fast, friendly, open-source webmail for {server}, built on JMAP.": "Швидка та зручна вебпошта з відкритим кодом для {server}, побудована на JMAP.",
"Defaults for the calendar views and new events.": "Значення за замовчуванням для виглядів календаря та нових подій.",
"Replies will go to this address instead of the From address": "Відповіді надходитимуть на цю адресу, а не на адресу відправника",
"Replies to mail sent from this identity go here instead of the From address.": "Відповіді на листи з цього профілю надходять сюди, а не на адресу відправника.",
"New identities must use an address this account is allowed to send from (aliases configured on the server).": "Новий профіль має використовувати адресу, з якої цьому обліковому запису дозволено надсилати (псевдоніми налаштовуються на сервері).",
"Not offered when composing. It still receives mail, and you can still send from it by showing it again.": "Не пропонується під час написання листа. Адреса й далі отримує пошту, і з неї знову можна надсилати, якщо показати її назад.",
"Each identity is a sender address with its own name, Reply-To and signature. The default identity is preselected when you compose; set a Reply-To when replies should go somewhere other than the From address.": "Кожен профіль — це адреса відправника зі своїм іменем, зворотною адресою та підписом. Основний профіль підставляється під час написання листа; вкажіть зворотну адресу, якщо відповіді мають надходити не на адресу відправника.",
"This signature is larger than the server's {limit}-byte limit. ihasmail will keep the full version in your Files and store a short text fallback on the server — other mail clients will see the plain-text version.": "Цей підпис більший за серверне обмеження в {limit} байт. ihasmail збереже повну версію у ваших Файлах, а на сервері залишить короткий текстовий варіант — інші поштові клієнти побачать саме його.",
"Outlook-style categories you can assign to events from the right-click menu or the event editor. The category name is stored on the event, so it syncs to other clients.": "Категорії у стилі Outlook, які можна призначати подіям через контекстне меню або редактор події. Назва категорії зберігається в самій події й синхронізується з іншими клієнтами.",
"Plain-text mail already follows the theme. With this on, HTML mail that brings no colours of its own does as well, instead of sitting on a white card. Messages that style themselves are left exactly as the sender designed them.": "Листи у звичайному тексті вже відповідають темі. З цим налаштуванням їй відповідають і HTML-листи без власних кольорів, замість того щоб показуватися на білому тлі. Листи з власним оформленням залишаються саме такими, якими їх задумав відправник.",
"This is separate from {setting} in General, which decides how dates, times and numbers are written. You can read an English interface with German dates, or the other way round.": "Це не те саме, що {setting} у розділі «Загальні», де визначається, як записуються дати, час і числа. Можна читати англійський інтерфейс з українськими датами — або навпаки.",
"On a touchscreen, drag a message sideways to act on it. Each direction can do one thing, or nothing. These follow your account, so a phone and a tablet agree; a mouse ignores them and keeps dragging messages into folders instead.": "На сенсорному екрані проведіть по листу вбік, щоб виконати над ним дію. Кожен напрямок може робити щось одне — або нічого. Налаштування прив'язане до облікового запису, тож телефон і планшет поводяться однаково; миша його ігнорує, і листи, як і раніше, перетягуються до тек.",
"This screen has no touchscreen, so nothing here changes what it does. Your phone or tablet will pick these up.": "Цей екран не сенсорний, тому тут нічого не зміниться. Налаштування підхоплять телефон або планшет.",
"Holding a message selects it, and holding a folder opens its menu. Pull the top of the message list down to check for new mail.": "Довге натискання на листі позначає його, а на теці — відкриває її меню. Потягніть список листів донизу, щоб перевірити пошту.",
"A receipt tells whoever asked that this address is live and when the message was read, and the sender chooses where it goes — so there is no automatic option. Bulk mail, mailing lists and anything marked auto-submitted are never offered one at all.": "Сповіщення повідомляє тому, хто його запитав, що адреса діюча і коли лист було прочитано, а відправник сам обирає, куди його надіслати, — тому автоматичного варіанта немає. Для масових розсилок, списків розсилки та всього позначеного як надіслане автоматично воно не пропонується взагалі.",
"This browser cannot register apps for {scheme} links. Safari, in particular, has no such API — you can still make ihasmail the default from your operating system if you install it as an app.": "Цей браузер не вміє реєструвати програми для посилань {scheme}. Зокрема, у Safari немає такого інтерфейсу — але ihasmail усе одно можна зробити програмою за замовчуванням засобами операційної системи, встановивши його як застосунок.",
"Registering for {scheme} links requires a secure (HTTPS) connection.": "Для реєстрації посилань {scheme} потрібне захищене з'єднання (HTTPS).",
"Open {scheme} links — in web pages, documents and other apps — in ihasmail instead of a desktop mail client. Your browser will ask you to confirm, and you can change it later in its own settings (Chrome: Settings Privacy and security Site settings Protocol handlers; Firefox: Settings General Applications).": "Відкривати посилання {scheme} — на вебсторінках, у документах та інших програмах — у ihasmail, а не в поштовій програмі на комп'ютері. Браузер попросить підтвердження, і згодом це можна змінити в його налаштуваннях (Chrome: Налаштування › Конфіденційність і безпека › Налаштування сайтів › Обробники протоколів; Firefox: Налаштування › Загальні › Програми).",
"Requested in this browser. Whether it took effect is up to the browser — check its settings if mail links still open elsewhere.": "Запитано в цьому браузері. Чи спрацювало це, вирішує він сам — перевірте його налаштування, якщо поштові посилання й далі відкриваються деінде.",
"For a system-wide default, install ihasmail as an app first (in Chrome: the install icon in the address bar). Your operating system can then offer ihasmail directly wherever it asks which mail app to use.": "Щоб задати програму за замовчуванням для всієї системи, спершу встановіть ihasmail як застосунок (у Chrome — значок встановлення в адресному рядку). Після цього операційна система зможе пропонувати ihasmail усюди, де запитує, якою поштовою програмою скористатися.",
"Needs a browser with the Push API and a mail server that publishes a push key.": "Потрібен браузер із Push API та поштовий сервер, який публікує push-ключ.",
"Your mail server delivers these straight to your browser, so they arrive with no ihasmail tab open, naming the sender and subject. Your browser still has to be running — if you quit it completely, notifications wait and arrive when you open it again.": "Поштовий сервер доставляє їх прямо в браузер, тому вони надходять без відкритої вкладки ihasmail і містять відправника й тему. Браузер при цьому має бути запущений: якщо закрити його повністю, сповіщення почекають і надійдуть під час наступного запуску.",
"Your mail server can wake this browser, but will not include the sender or subject. Your browser still has to be running.": "Поштовий сервер може розбудити цей браузер, але не повідомить відправника й тему. Браузер при цьому має бути запущений.",
"This is what a new-mail notification looks like.": "Так виглядає сповіщення про новий лист.",
"You're signed in as {user}. Your password is never stored in the browser; the server keeps it encrypted per-session for talking to Stalwart.": "Ви увійшли як {user}. Пароль ніколи не зберігається в браузері: сервер тримає його зашифрованим на час сеансу, щоб спілкуватися зі Stalwart.",
"App passwords are managed by your mail administrator.": "Паролями програм керує ваш поштовий адміністратор.",
"Changing your password signs out your other webmail sessions. Any app passwords keep working.": "Зміна пароля завершує інші сеанси вебпошти. Паролі програм продовжують працювати.",
"This account has two-factor authentication on. ihasmail can't sign you in with a code yet, so signing in on another device needs an app password — or you can turn two-factor authentication off here.": "Для цього облікового запису увімкнено двофакторну автентифікацію. ihasmail поки не вміє входити за кодом, тому для входу на іншому пристрої потрібен пароль програми — або двофакторну автентифікацію можна вимкнути тут.",
"A separate password for a mail app or device, which you can revoke on its own. App passwords skip two-factor codes, so they keep working in apps that can't ask for one.": "Окремий пароль для поштової програми чи пристрою, який можна відкликати окремо. Паролі програм обходять двофакторні коди й тому працюють там, де запитати код неможливо.",
"Copy it into {name} now — it isn't shown again.": "Скопіюйте його до {name} зараз — більше він не показується.",
"No other users found in the directory, so nobody new can be added. Sharing already in place is listed below and can still be removed.": "У каталозі не знайдено інших користувачів, тому додати нікого. Уже відкритий доступ перелічено нижче, і його й далі можна закрити.",
"Stalwart does not publish its version number to mail clients, so ihasmail reports the edition where the server gives one. ihasmail requires 0.16 or newer, and sign-in refuses anything older.": "Stalwart не повідомляє поштовим клієнтам номер версії, тому ihasmail показує редакцію, якщо сервер її називає. ihasmail потребує версію 0.16 або новішу, і вхід зі старішою не виконується.",
"It {damage}, so the rules in it can't be shown or edited — saving what did arrive would write it back over the rest. Reload the page to try again. Your rules are still on the server; nothing here has changed them.": "Він {damage}, тому правила в ньому не можна показати чи змінити: збереження отриманої частини затерло б решту. Перезавантажте сторінку й спробуйте знову. Ваші правила залишаються на сервері, тут їх ніщо не змінювало.",
"The visual rule editor only manages scripts it created. You can edit the script in the {tab} tab, or start fresh with rules (the existing script will be kept but deactivated).": "Візуальний редактор правил працює лише зі скриптами, які створив сам. Скрипт можна змінити на вкладці {tab} або почати заново з правил (наявний скрипт збережеться, але буде вимкнено).",
"Your filter script {damage}, so only part of it arrived. Adding a rule would write that part back over the whole thing. Reload the page and try again.": "Ваш скрипт фільтрації {damage}, тому отримано лише його частину. Додавання правила затерло б цією частиною весь скрипт. Перезавантажте сторінку й спробуйте знову.",
"Your filter script couldn't be read just now, so adding a rule would risk overwriting it. Reload the page and try again.": "Скрипт фільтрації зараз не вдалося прочитати, тому додавання правила ризикує його перезаписати. Перезавантажте сторінку й спробуйте знову.",
"Your active Sieve script was written by hand, so rules can't be added automatically. Open {where} to edit the script or switch to managed rules.": "Ваш активний скрипт Sieve написано вручну, тому правила не можна додати автоматично. Відкрийте {where}, щоб змінити скрипт або перейти до керованих правил.",
"Only languages ihasmail has been translated into appear here, so this list grows as translations land rather than ahead of them — a language offered without strings behind it would leave the page claiming to be in a language it is not.": "Тут показано лише мови, якими перекладено ihasmail, тому список зростає разом із перекладами, а не випереджає їх: мова без текстів змусила б сторінку стверджувати, що вона написана мовою, якою не є.",
"tell us about it": "повідомте нам",
"This translation was generated by AI and has not been checked by a native speaker, so it is marked Beta until somebody who speaks it signs it off. Anything that reads wrongly is worth reporting — {report}.": "Цей переклад зроблено ШІ й не перевірено носієм мови, тому його позначено як Beta, доки хтось його не підтвердить. Про все, що звучить неправильно, варто повідомити — {report}.",
"{name} is the palette from {site}, and what a new account starts on. It is a dark theme, so it counts as dark wherever that matters, and the accent colour below still applies on top of it.": "{name} — це палітра з {site}, з якою починає новий обліковий запис. Тема темна, тому скрізь, де це важливо, вважається темною, а акцентний колір нижче застосовується поверх неї.",
"ihasmail's own version is the date of the commit it was built from, followed by where that commit came from: {example} was built from a commit dated the 30th of August 2026 that arrived through pull request 129. A commit that did not come through one carries its short SHA instead — {sha}. The version deliberately says nothing about Stalwart; what this build needs from the server is the line above.": "Власна версія ihasmail — це дата коміту, з якого його зібрано, і вказівка, звідки цей коміт узявся: {example} зібрано з коміту від 30 серпня 2026 року, що надійшов через pull request 129. Коміт, який надійшов інакше, несе замість цього короткий SHA — {sha}. Версія навмисно нічого не повідомляє про Stalwart; те, що цій збірці потрібно від сервера, вказано рядком вище.",
},
plurals: {
/*
* Ukrainian takes the same three forms as Russian and the same rule, but
* not the same words. Sharing a plural structure is not sharing a
* language, and a catalogue produced by adapting the Russian one is the
* thing a Ukrainian reader would notice first.
*/
"{n} messages": { one: "{n} лист", few: "{n} листи", many: "{n} листів", other: "{n} листа" },
"{n} conversations": { one: "{n} листування", few: "{n} листування", many: "{n} листувань", other: "{n} листування" },
"{n} selected": { one: "Вибрано: {n}", few: "Вибрано: {n}", many: "Вибрано: {n}", other: "Вибрано: {n}" },
},
};