Add Mailing lists to Administration
A mailing list is an address that passes mail on to everyone on it. To Stalwart it is its own object, x:MailingList, behind sysMailingList*, so it gets its own section under Directory after Groups: search, fifty to a page with each list's recipient count, and a panel to create, edit and delete one. Recipients are a property of the list, so unlike a group's members they save with the rest of the panel. What Save sends for them is only what was added and removed, one recipients/<address> pointer each -- the patch the live server accepted -- so a recipient added elsewhere while the panel was open is not taken out. They can be pasted several at a time, from a spreadsheet column, a comma-separated line or Name <address>; anything with an @ that is not an address stays in the box with a note. Past a dozen, a filter narrows them. That is all a list is in Stalwart -- no owners, moderation or posting rules -- so that is all the panel offers. The mock answers x:MailingList with two lists, the recipient set's live shape, and the refusals a wrong address, a clash with an account and a missing permission get. Twenty-five new strings and one plural, in all nine catalogues.
This commit is contained in:
@@ -170,6 +170,31 @@ export const catalog: Catalog = {
|
||||
"Your organisation has reached the number of groups it is allowed.": "Ваша організація досягла дозволеної кількості груп.",
|
||||
"This group no longer exists. Someone may have deleted it.": "Цієї групи більше немає. Можливо, її хтось видалив.",
|
||||
"The server did not say whether the group was created.": "Сервер не повідомив, чи створено групу.",
|
||||
"Mailing lists": "Списки розсилки",
|
||||
"Mailing list": "Список розсилки",
|
||||
"A list needs an address.": "Списку потрібна адреса.",
|
||||
"New mailing list": "Новий список розсилки",
|
||||
"Your role lets you view mailing lists but not change them.": "Ваша роль дозволяє переглядати списки розсилки, але не змінювати їх.",
|
||||
"No domains are available to create a list on.": "Немає доменів, на яких можна створити список.",
|
||||
"Mail to these addresses goes to the list too. Changes apply when you save.": "Пошта на ці адреси теж іде до списку. Зміни застосовуються після збереження.",
|
||||
"Create list": "Створити список",
|
||||
"Filter recipients": "Фільтр одержувачів",
|
||||
"No recipients match": "Немає відповідних одержувачів",
|
||||
"Add recipients": "Додати одержувачів",
|
||||
"Addresses, separated by commas": "Адреси через кому",
|
||||
"Not added, as they aren't addresses: {items}": "Не додано, бо це не адреси: {items}",
|
||||
"Mail to the list is passed on to every recipient, on this server or anywhere else. Paste several at once if you like. Changes apply when you save.": "Пошта до списку пересилається кожному одержувачу — на цьому сервері чи будь-якому іншому. Можна вставити одразу кілька. Зміни застосовуються після збереження.",
|
||||
"Mail to this address stops being passed on. The recipients' own mail is untouched.": "Пошта на цю адресу більше не пересилається. Власна пошта одержувачів не зачіпається.",
|
||||
"Delete list…": "Видалити список…",
|
||||
"Delete list": "Видалити список",
|
||||
"Mail to this address is no longer passed on to anyone. It can't be undone.": "Пошта на цю адресу більше нікому не пересилається. Це не можна скасувати.",
|
||||
"Addresses that pass mail on to everyone on them.": "Адреси, які пересилають пошту всім, хто в них є.",
|
||||
"Search mailing lists": "Пошук списків розсилки",
|
||||
"No mailing lists match": "Немає відповідних списків розсилки",
|
||||
"No mailing lists yet": "Списків розсилки поки немає",
|
||||
"Your organisation has reached the number of mailing lists it is allowed.": "Ваша організація досягла дозволеної кількості списків розсилки.",
|
||||
"This mailing list no longer exists. Someone may have deleted it.": "Цього списку розсилки більше немає. Можливо, його хтось видалив.",
|
||||
"The server did not say whether the list was created.": "Сервер не повідомив, чи створено список.",
|
||||
"User": "Користувач",
|
||||
"Administrator": "Адміністратор",
|
||||
"Custom role": "Власна роль",
|
||||
@@ -1565,6 +1590,7 @@ export const catalog: Catalog = {
|
||||
"{n} groups": { one: "{n} група", few: "{n} групи", many: "{n} груп", other: "{n} групи" },
|
||||
"Its {n} members are taken out of the group first, and lose what was shared with it. The group's own mail is removed in the background, and it can't be undone.": { one: "Спочатку {n} учасник прибирається з групи й утрачає те, чим із нею поділилися. Пошта групи видаляється у фоновому режимі, і це не можна скасувати.", few: "Спочатку {n} учасники прибираються з групи й утрачають те, чим із нею поділилися. Пошта групи видаляється у фоновому режимі, і це не можна скасувати.", many: "Спочатку {n} учасників прибирають із групи, і вони втрачають те, чим із нею поділилися. Пошта групи видаляється у фоновому режимі, і це не можна скасувати.", other: "Спочатку {n} учасника прибирають із групи, і вони втрачають те, чим із нею поділилися. Пошта групи видаляється у фоновому режимі, і це не можна скасувати." },
|
||||
"{n} mailing lists": { one: "{n} список розсилки", few: "{n} списки розсилки", many: "{n} списків розсилки", other: "{n} списку розсилки" },
|
||||
"{n} recipients": { one: "{n} одержувач", few: "{n} одержувачі", many: "{n} одержувачів", other: "{n} одержувача" },
|
||||
"{n} DKIM keys": { one: "{n} ключ DKIM", few: "{n} ключі DKIM", many: "{n} ключів DKIM", other: "{n} ключа DKIM" },
|
||||
"{n} other items": { one: "{n} інший об'єкт", few: "{n} інші об'єкти", many: "{n} інших об'єктів", other: "{n} іншого об'єкта" },
|
||||
// ── Administration ────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user