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
@@ -102,6 +102,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}中更改您自己的密码。",
@@ -162,7 +178,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.": "您的组织已达到允许的账户数量上限。",
@@ -170,8 +185,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 文件",