Add Administration, starting with accounts
An account whose Stalwart role manages accounts now finds Administration in the account menu. It lists, searches, creates and edits accounts -- display name, other addresses, role, storage limit -- sets a new password, and deletes, each offered only when the role holds the matching permission. The server keeps the permissions list from GET /api/account, which it already called for the edition and threw the rest away. Everything else is JMAP x:Account, x:Domain and x:Role calls through the existing /api/jmap proxy, so nothing new is stored and Stalwart decides every call. Stalwart checks a grant against the caller's permissions but not a password change or a delete, so an account that outranks the viewer is shown read-only. Your own password is changed in Settings, which re-seals the session; changing it here would strand it. The mock server gains a directory behind the same permission names, with MOCK_ROLE choosing admin, tenant-admin, helpdesk or user. 68 new strings, translated in all nine catalogues; strings falling back to English stay at 16.
This commit is contained in:
@@ -43,6 +43,75 @@ import type { Catalog } from "@/lib/i18n";
|
||||
*/
|
||||
export const catalog: Catalog = {
|
||||
strings: {
|
||||
// ── Administration: accounts ───────────────────────────────────
|
||||
"Change your own password in {settings}.": "Wijzig uw eigen wachtwoord bij {settings}.",
|
||||
"Administration": "Beheer",
|
||||
"Directory": "Adreslijst",
|
||||
"User": "Gebruiker",
|
||||
"Administrator": "Beheerder",
|
||||
"Custom role": "Aangepaste rol",
|
||||
"New account": "Nieuw account",
|
||||
"The people who sign in to mail on the domains you manage.": "De mensen die op de domeinen die u beheert inloggen op hun e-mail.",
|
||||
"Search by name or address": "Zoeken op naam of adres",
|
||||
"Search accounts": "Accounts zoeken",
|
||||
"No accounts match": "Geen accounts gevonden",
|
||||
"No accounts yet": "Nog geen accounts",
|
||||
"Nothing on your domains matches “{query}”.": "Niets op uw domeinen komt overeen met ‘{query}’.",
|
||||
"Open {address}": "{address} openen",
|
||||
"{from}–{to} of {total}": "{from}–{to} van {total}",
|
||||
"Previous page": "Vorige pagina",
|
||||
"Next page": "Volgende pagina",
|
||||
"Storage": "Opslag",
|
||||
"Groups": "Groepen",
|
||||
"{used} · no limit": "{used} · geen limiet",
|
||||
"Profile": "Profiel",
|
||||
"Domain": "Domein",
|
||||
"No domains are available to create an account on.": "Er is geen domein beschikbaar om een account op aan te maken.",
|
||||
"Sign-in": "Inloggen",
|
||||
"Other addresses": "Andere adressen",
|
||||
"Not in any group": "Geen lid van een groep",
|
||||
"You can't change your own role.": "U kunt uw eigen rol niet wijzigen.",
|
||||
"Only roles whose permissions you hold yourself are offered. On an account inside a tenant, Administrator means administrator of that tenant.": "Alleen rollen waarvan u de rechten zelf hebt, worden aangeboden. Bij een account binnen een tenant betekent Beheerder: beheerder van die tenant.",
|
||||
"Limit in GB": "Limiet in GB",
|
||||
"No limit": "Geen limiet",
|
||||
"This account has permissions yours doesn't, so you can view it but not change it.": "Dit account heeft rechten die het uwe niet heeft. U kunt het bekijken, maar niet wijzigen.",
|
||||
"Your role lets you view accounts but not change them.": "Met uw rol kunt u accounts bekijken, maar niet wijzigen.",
|
||||
"This account has permissions yours doesn't.": "Dit account heeft rechten die het uwe niet heeft.",
|
||||
"You can't delete the account you're signed in with.": "U kunt het account waarmee u bent ingelogd niet verwijderen.",
|
||||
"Create account": "Account aanmaken",
|
||||
"An account needs an address.": "Een account heeft een adres nodig.",
|
||||
"Created {address}": "{address} aangemaakt",
|
||||
"Saved {address}": "{address} opgeslagen",
|
||||
"Generate a password": "Wachtwoord genereren",
|
||||
"Pass it on some way other than email to this address.": "Geef het door op een andere manier dan per e-mail naar dit adres.",
|
||||
"This account has no password. It may sign in through a directory or single sign-on.": "Dit account heeft geen wachtwoord. Mogelijk logt het in via een adreslijst of single sign-on.",
|
||||
"Set a new password…": "Nieuw wachtwoord instellen…",
|
||||
"{name} will be signed out of every app and device using the old password.": "{name} wordt uitgelogd in alle apps en op alle apparaten die het oude wachtwoord gebruiken.",
|
||||
"New password set for {address}": "Nieuw wachtwoord ingesteld voor {address}",
|
||||
"Set password": "Wachtwoord instellen",
|
||||
"Remove {address}": "{address} verwijderen",
|
||||
"New address": "Nieuw adres",
|
||||
"another name": "andere naam",
|
||||
"Mail to these addresses is delivered to this account. Changes apply when you save.": "E-mail aan deze adressen wordt in dit account afgeleverd. Wijzigingen gelden na opslaan.",
|
||||
"Deletes the mailbox and everything in it.": "Verwijdert de mailbox en alles erin.",
|
||||
"Delete account…": "Account verwijderen…",
|
||||
"Delete {address}?": "{address} verwijderen?",
|
||||
"This deletes the mail, calendars, contacts and files in this account. The server removes them in the background, and it can't be undone.": "Hiermee worden de e-mail, agenda’s, contacten en bestanden in dit account verwijderd. De server wist ze op de achtergrond en dit kan niet ongedaan worden gemaakt.",
|
||||
"Type {address} to confirm": "Typ {address} om te bevestigen",
|
||||
"Delete account": "Account verwijderen",
|
||||
"Deleted {address}": "{address} verwijderd",
|
||||
"The server did not say whether the account was created.": "De server heeft niet gemeld of het account is aangemaakt.",
|
||||
"The mail server refused this. Your role may not allow it.": "De mailserver heeft dit geweigerd. Uw rol staat het mogelijk niet toe.",
|
||||
"The mail server refused this: {reason}": "De mailserver heeft dit geweigerd: {reason}",
|
||||
"That address is already in use on this server, as an account, a list or an alias.": "Dat adres is op deze server al in gebruik, als account, lijst of alias.",
|
||||
"One of the chosen domain, role or group can't be used for this account.": "Het gekozen domein, de rol of de groep kan niet voor dit account worden gebruikt.",
|
||||
"Your organisation has reached the number of accounts it is allowed.": "Uw organisatie heeft het toegestane aantal accounts bereikt.",
|
||||
"Something still depends on this, so the server kept it.": "Er hangt nog iets van af, dus de server heeft het behouden.",
|
||||
"This account no longer exists. Someone may have deleted it.": "Dit account bestaat niet meer. Mogelijk heeft iemand het verwijderd.",
|
||||
"The password was not accepted: {reason}": "Het wachtwoord is niet geaccepteerd: {reason}",
|
||||
"The password was not accepted.": "Het wachtwoord is niet geaccepteerd.",
|
||||
"The mail server rejected a value: {reason}": "De mailserver heeft een waarde geweigerd: {reason}",
|
||||
"The mail server rejected a value.": "De mailserver heeft een waarde geweigerd.",
|
||||
"Go to folder…": "Ga naar map…",
|
||||
"Set for everyone here. You cannot change this.": "Hier voor iedereen ingesteld. U kunt dit niet wijzigen.",
|
||||
"Export iCAL file": "iCAL-bestand exporteren",
|
||||
@@ -1344,6 +1413,8 @@ export const catalog: Catalog = {
|
||||
"no address": "geen adres",
|
||||
},
|
||||
plurals: {
|
||||
// ── Administration ────────────────────────────────────────────────
|
||||
"{n} accounts": { one: "{n} account", other: "{n} accounts" },
|
||||
// ── Third pass ─────────────────────────────────────────────────────
|
||||
"Delete {n} items": { one: "{n} item verwijderen", other: "{n} items verwijderen" },
|
||||
"Delete {n} items?": { one: "{n} item verwijderen?", other: "{n} items verwijderen?" },
|
||||
|
||||
Reference in New Issue
Block a user