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:
@@ -46,6 +46,75 @@ import type { Catalog } from "@/lib/i18n";
|
||||
*/
|
||||
export const catalog: Catalog = {
|
||||
strings: {
|
||||
// ── Administration: accounts ───────────────────────────────────
|
||||
"Change your own password in {settings}.": "ご自身のパスワードは{settings}で変更してください。",
|
||||
"Administration": "管理",
|
||||
"Directory": "ディレクトリ",
|
||||
"User": "ユーザー",
|
||||
"Administrator": "管理者",
|
||||
"Custom role": "カスタムロール",
|
||||
"New account": "新しいアカウント",
|
||||
"The people who sign in to mail on the domains you manage.": "管理しているドメインでメールにサインインするユーザーです。",
|
||||
"Search by name or address": "名前またはアドレスで検索",
|
||||
"Search accounts": "アカウントを検索",
|
||||
"No accounts match": "一致するアカウントはありません",
|
||||
"No accounts yet": "アカウントはまだありません",
|
||||
"Nothing on your domains matches “{query}”.": "ドメイン内に「{query}」と一致するものはありません。",
|
||||
"Open {address}": "{address} を開く",
|
||||
"{from}–{to} of {total}": "{from}–{to} / {total}",
|
||||
"Previous page": "前のページ",
|
||||
"Next page": "次のページ",
|
||||
"Storage": "ストレージ",
|
||||
"Groups": "グループ",
|
||||
"{used} · no limit": "{used} · 上限なし",
|
||||
"Profile": "プロフィール",
|
||||
"Domain": "ドメイン",
|
||||
"No domains are available to create an account on.": "アカウントを作成できるドメインがありません。",
|
||||
"Sign-in": "サインイン",
|
||||
"Other addresses": "その他のアドレス",
|
||||
"Not in any group": "どのグループにも属していません",
|
||||
"You can't change your own role.": "自分のロールは変更できません。",
|
||||
"Only roles whose permissions you hold yourself are offered. On an account inside a tenant, Administrator means administrator of that tenant.": "ご自身が持つ権限だけで構成されたロールのみ表示されます。テナント内のアカウントでは、管理者はそのテナントの管理者を意味します。",
|
||||
"Limit in GB": "上限(GB)",
|
||||
"No limit": "上限なし",
|
||||
"This account has permissions yours doesn't, so you can view it but not change it.": "このアカウントにはあなたのアカウントにない権限があるため、閲覧はできますが変更はできません。",
|
||||
"Your role lets you view accounts but not change them.": "あなたのロールでは、アカウントの閲覧はできますが変更はできません。",
|
||||
"This account has permissions yours doesn't.": "このアカウントにはあなたのアカウントにない権限があります。",
|
||||
"You can't delete the account you're signed in with.": "サインイン中のアカウントは削除できません。",
|
||||
"Create account": "アカウントを作成",
|
||||
"An account needs an address.": "アカウントにはアドレスが必要です。",
|
||||
"Created {address}": "{address} を作成しました",
|
||||
"Saved {address}": "{address} を保存しました",
|
||||
"Generate a password": "パスワードを生成",
|
||||
"Pass it on some way other than email to this address.": "このアドレス宛てのメール以外の方法で伝えてください。",
|
||||
"This account has no password. It may sign in through a directory or single sign-on.": "このアカウントにはパスワードがありません。ディレクトリやシングルサインオンでサインインしている可能性があります。",
|
||||
"Set a new password…": "新しいパスワードを設定…",
|
||||
"{name} will be signed out of every app and device using the old password.": "{name} は、古いパスワードを使っているすべてのアプリとデバイスからサインアウトされます。",
|
||||
"New password set for {address}": "{address} の新しいパスワードを設定しました",
|
||||
"Set password": "パスワードを設定",
|
||||
"Remove {address}": "{address} を削除",
|
||||
"New address": "新しいアドレス",
|
||||
"another name": "別の名前",
|
||||
"Mail to these addresses is delivered to this account. Changes apply when you save.": "これらのアドレス宛てのメールはこのアカウントに配信されます。変更は保存時に反映されます。",
|
||||
"Deletes the mailbox and everything in it.": "メールボックスとその中身をすべて削除します。",
|
||||
"Delete account…": "アカウントを削除…",
|
||||
"Delete {address}?": "{address} を削除しますか?",
|
||||
"This deletes the mail, calendars, contacts and files in this account. The server removes them in the background, and it can't be undone.": "このアカウントのメール、カレンダー、連絡先、ファイルが削除されます。サーバーがバックグラウンドで削除し、元に戻すことはできません。",
|
||||
"Type {address} to confirm": "確認のため {address} と入力してください",
|
||||
"Delete account": "アカウントを削除",
|
||||
"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.": "組織で許可されているアカウント数の上限に達しました。",
|
||||
"Something still depends on this, so the server kept it.": "まだこれに依存しているものがあるため、サーバーは削除しませんでした。",
|
||||
"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 ファイルをエクスポート",
|
||||
@@ -1356,6 +1425,8 @@ export const catalog: Catalog = {
|
||||
"no address": "アドレスなし",
|
||||
},
|
||||
plurals: {
|
||||
// ── Administration ────────────────────────────────────────────────
|
||||
"{n} accounts": { other: "{n} 件のアカウント" },
|
||||
// ── Third pass ─────────────────────────────────────────────────────
|
||||
"Delete {n} items": { other: "{n} 件を削除" },
|
||||
"Delete {n} items?": { other: "{n} 件を削除しますか?" },
|
||||
|
||||
Reference in New Issue
Block a user