From feac8991331fc509d30a28aa4f53670f9013d809 Mon Sep 17 00:00:00 2001
From: Linus Rath <139418639+rathlinus@users.noreply.github.com>
Date: Wed, 28 Oct 2026 10:33:03 +0100
Subject: [PATCH] fix: say "new calendar", "new app password", "new API key",
"add public key", "sub-addressing" and "back to mail" in settings and the
admin
---
.../admin/__tests__/admin-shell.test.tsx | 4 ++--
components/admin/admin-shell.tsx | 6 +++--
.../settings/account-security-settings.tsx | 6 ++---
lib/__tests__/settings-wording.test.ts | 24 ++++++++++++++++++-
locales/ar/common.json | 7 ++++--
locales/ca/common.json | 7 ++++--
locales/cs/common.json | 7 ++++--
locales/da/common.json | 7 ++++--
locales/de/common.json | 9 ++++---
locales/en/common.json | 11 +++++----
locales/es/common.json | 11 +++++----
locales/et/common.json | 9 ++++---
locales/fa/common.json | 7 ++++--
locales/fr/common.json | 9 ++++---
locales/he/common.json | 7 ++++--
locales/hu/common.json | 7 ++++--
locales/it/common.json | 7 ++++--
locales/ja/common.json | 7 ++++--
locales/ko/common.json | 7 ++++--
locales/lv/common.json | 9 ++++---
locales/mn/common.json | 7 ++++--
locales/nb/common.json | 7 ++++--
locales/nl/common.json | 11 +++++----
locales/pl/common.json | 9 ++++---
locales/pt/common.json | 13 ++++++----
locales/ro/common.json | 9 ++++---
locales/ru/common.json | 7 ++++--
locales/sk/common.json | 7 ++++--
locales/th/common.json | 9 ++++---
locales/tr/common.json | 9 ++++---
locales/uk/common.json | 9 ++++---
locales/zh-TW/common.json | 7 ++++--
locales/zh/common.json | 7 ++++--
33 files changed, 195 insertions(+), 84 deletions(-)
diff --git a/components/admin/__tests__/admin-shell.test.tsx b/components/admin/__tests__/admin-shell.test.tsx
index 84bd5fbfd..a6f41684c 100644
--- a/components/admin/__tests__/admin-shell.test.tsx
+++ b/components/admin/__tests__/admin-shell.test.tsx
@@ -39,13 +39,13 @@ describe('AdminShell', () => {
it('does not server-render the phone layout, which desktop would show until hydration', () => {
const html = renderToString(shell({ authenticated: false, isStalwartAutoLogin: false }));
- expect(html).not.toContain('Back to mail');
+ expect(html).not.toContain('back_to_mail');
expect(html).not.toContain('Search admin');
});
it('draws the desktop sidebar once on the client', () => {
render(shell({ authenticated: true, isStalwartAutoLogin: false }));
- expect(screen.getByText('Back to Mail')).toBeTruthy();
+ expect(screen.getByText('back_to_mail')).toBeTruthy();
});
it('hides the session links until the check says which kind of admin this is', () => {
diff --git a/components/admin/admin-shell.tsx b/components/admin/admin-shell.tsx
index 9a8de7779..e0f6f0286 100644
--- a/components/admin/admin-shell.tsx
+++ b/components/admin/admin-shell.tsx
@@ -82,6 +82,7 @@ const subscribeNothing = () => () => {};
export function AdminShell({ authenticated, isStalwartAutoLogin, configReadOnly, onLogout, children }: AdminShellProps) {
const pathname = usePathname();
const tShell = useTranslations('shell');
+ const tSettings = useTranslations('settings');
const location = useAdminLocation();
const isDesktop = useIsDesktop();
// The server can't know the window width, so its HTML would be the phone
@@ -285,7 +286,8 @@ export function AdminShell({ authenticated, isStalwartAutoLogin, configReadOnly,
@@ -387,7 +389,7 @@ export function AdminShell({ authenticated, isStalwartAutoLogin, configReadOnly,
className="flex h-9 w-full items-center rounded-md px-3 text-sm font-medium text-foreground transition-colors hover:bg-accent hover:text-accent-foreground"
>
- Back to Mail
+ {tSettings('back_to_mail')}
diff --git a/components/settings/account-security-settings.tsx b/components/settings/account-security-settings.tsx
index 8514f5218..11697c9b6 100644
--- a/components/settings/account-security-settings.tsx
+++ b/components/settings/account-security-settings.tsx
@@ -522,7 +522,7 @@ function CredentialSection({ icon: Icon, i18nNamespace, entries, onCreate, onRem
{tk('description')}
@@ -750,7 +750,7 @@ function PublicKeysSection() {
{t('encryption.description')}
@@ -780,7 +780,7 @@ function PublicKeysSection() {