Merge main: keep ru, uk and zh-Hans in the language list
This commit is contained in:
@@ -42,6 +42,8 @@ export const UI_LANGUAGES: readonly UiLanguage[] = [
|
||||
{ tag: "fr", name: "Français", beta: true },
|
||||
{ tag: "nl", name: "Nederlands", 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 },
|
||||
];
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -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}" },
|
||||
},
|
||||
};
|
||||
@@ -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}" },
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user