Say every Administration refusal in the reader's language

Stalwart explains a refused change in English, and several of its words
reached the page as they were: "Invalid domain name" for a reserved TLD,
"Invalid email address" for a catch-all, a grant refusal, and ihasmail's own
proxy messages. Every registry error type now has its own message, and a
value one of the registry's string validators refused is recognised by the
validator's wording and explained again. A domain clash or a missing domain
is worded for a domain rather than an account.

The one exception is kept on purpose: a password policy's reason follows a
translated sentence, because the rule is the server's and dropping it would
leave no way to find out why.

The mock now refuses a reserved TLD and a catch-all without a domain the way
the live server did. KNOWN-ISSUES records the fix, and that the last two live
cases -- an administrator-set password and the outranking guard -- held.

15 new strings in all nine catalogues, 3 retired; strings falling back to
English stay at 16.
This commit is contained in:
2026-09-13 17:18:15 -07:00
parent 822314e8b7
commit 15b1838e21
16 changed files with 270 additions and 50 deletions
+16 -3
View File
@@ -106,6 +106,22 @@ export const catalog: Catalog = {
"Disabled": "Отключён",
"also {names}": "также {names}",
"The server did not say whether the domain was created.": "Сервер не сообщил, создан ли домен.",
// ── Administration: refusals ───────────────────────────────────
"That isn't a valid domain name. Use a name such as example.com, on a real top-level domain.": "Это недопустимое имя домена. Укажите имя вроде example.com с настоящим доменом верхнего уровня.",
"That isn't a valid email address. Use a full address, such as [email protected].": "Это недопустимый адрес электронной почты. Укажите полный адрес, например [email protected].",
"That isn't a valid address. Use letters, numbers, dots, hyphens or underscores before the @.": "Это недопустимый адрес. Перед @ используйте буквы, цифры, точки, дефисы или подчёркивания.",
"That isn't a valid host name or IP address.": "Это недопустимое имя хоста или IP-адрес.",
"A required value was left empty.": "Обязательное значение не заполнено.",
"Administration is turned off on this installation.": "Администрирование отключено в этой установке.",
"The mail server could not carry out the request ({code}).": "Почтовый сервер не смог выполнить запрос ({code}).",
"You can't give an account permissions your own role doesn't have.": "Нельзя дать учётной записи разрешения, которых нет у вашей роли.",
"This account signs in through an external directory, so its password can't be set here.": "Эта учётная запись входит через внешний каталог, поэтому её пароль нельзя задать здесь.",
"The server's licence allows no more accounts.": "Лицензия сервера не допускает новых учётных записей.",
"That domain name is already in use on this server, as a domain or another domain's other name.": "Это имя домена уже используется на сервере — как домен или как другое имя другого домена.",
"Your organisation has reached the number of domains it is allowed.": "Ваша организация достигла допустимого числа доменов.",
"That is more than the mail server accepts in one change.": "Это больше, чем почтовый сервер принимает за одно изменение.",
"The mail server rejected one of the values. Check what you entered and try again.": "Почтовый сервер отклонил одно из значений. Проверьте введённые данные и попробуйте снова.",
"The mail server refused the change ({code}).": "Почтовый сервер отклонил изменение ({code}).",
// ── Administration: accounts ───────────────────────────────────
"Only on a device you've marked as your own. Sign in again with \u201cThis is my own device\u201d ticked.": "Только на устройстве, отмеченном как ваше. Войдите снова, отметив «Это моё личное устройство».",
"Change your own password in {settings}.": "Свой пароль можно изменить в разделе {settings}.",
@@ -166,7 +182,6 @@ export const catalog: Catalog = {
"Deleted {address}": "Учётная запись {address} удалена",
"The server did not say whether the account was created.": "Сервер не сообщил, создана ли учётная запись.",
"The mail server refused this. Your role may not allow it.": "Почтовый сервер отклонил это действие. Возможно, ваша роль его не допускает.",
"The mail server refused this: {reason}": "Почтовый сервер отклонил это действие: {reason}",
"That address is already in use on this server, as an account, a list or an alias.": "Этот адрес уже используется на сервере — учётной записью, списком или псевдонимом.",
"One of the chosen domain, role or group can't be used for this account.": "Выбранный домен, роль или группу нельзя использовать для этой учётной записи.",
"Your organisation has reached the number of accounts it is allowed.": "Ваша организация достигла допустимого числа учётных записей.",
@@ -174,8 +189,6 @@ export const catalog: Catalog = {
"This account no longer exists. Someone may have deleted it.": "Этой учётной записи больше нет. Возможно, её кто-то удалил.",
"The password was not accepted: {reason}": "Пароль не принят: {reason}",
"The password was not accepted.": "Пароль не принят.",
"The mail server rejected a value: {reason}": "Почтовый сервер отклонил значение: {reason}",
"The mail server rejected a value.": "Почтовый сервер отклонил значение.",
"Go to folder…": "Перейти к папке…",
"Set for everyone here. You cannot change this.": "Задано для всех здесь. Изменить нельзя.",
"Export iCAL file": "Экспортировать файл iCAL",