Some checks failed
CI / Lint, typecheck, test (pull_request) Successful in 4m40s
CI / Build container images (pull_request) Successful in 4m1s
CI / Auth e2e pack (pull_request) Successful in 8m30s
CI / Import/export fidelity gate (pull_request) Successful in 54s
CD / Deploy to Test (push) Blocked by required conditions
CD / Smoke tests against Test (push) Blocked by required conditions
CD / Promote to Int (push) Blocked by required conditions
CI / Auth e2e pack (push) Blocked by required conditions
CI / Import/export fidelity gate (push) Blocked by required conditions
CI / Build container images (push) Blocked by required conditions
CD / Build and push images (push) Has been cancelled
CI / Lint, typecheck, test (push) Has been cancelled
An IconButton between the notifications bell and the user menu cycles the theme mode in radio order (sun/moon/monitor mirror the CURRENT choice). New useThemeMode() hook is the single write path (persist + apply + same-document event), so the settings radios and the toggle stay in sync; AppearanceSection now uses it too. Also rendered for signed-out visitors — the mode is a device-local preference. i18n de+en; unit tests for cycle/setter, theme.spec covers cycling, radio sync, persistence, and the signed-out top bar. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QRtCnB3uLdQtFmvp9HXcRX
75 lines
2.4 KiB
JSON
75 lines
2.4 KiB
JSON
{
|
||
"title": "Settings",
|
||
"profile": {
|
||
"title": "Profile",
|
||
"displayName": "Display name",
|
||
"locale": "Language",
|
||
"locales": {
|
||
"de": "Deutsch",
|
||
"en": "English"
|
||
},
|
||
"save": "Save",
|
||
"saved": "Saved."
|
||
},
|
||
"password": {
|
||
"title": "Change password",
|
||
"current": "Current password",
|
||
"new": "New password",
|
||
"submit": "Change password",
|
||
"changed": "Password changed. Other devices were signed out."
|
||
},
|
||
"sessions": {
|
||
"title": "Active sessions",
|
||
"current": "This session",
|
||
"created": "Signed in",
|
||
"lastSeen": "Last active",
|
||
"device": "Device",
|
||
"revoke": "Sign out",
|
||
"revokeAll": "Sign out all other sessions",
|
||
"empty": "No other active sessions."
|
||
},
|
||
"dataExport": {
|
||
"title": "Export my data",
|
||
"description": "Download a ZIP with your profile, a list of your memberships, and the Markdown export of your personal pond and the ponds you own.",
|
||
"request": "Prepare export",
|
||
"preparing": "Preparing your export…",
|
||
"download": "Download export",
|
||
"ready": "Your export is ready.",
|
||
"expiresHint": "The download link expires on {{when}}.",
|
||
"failed": "The export could not be prepared. Please try again.",
|
||
"rateLimited": "You requested an export recently. Please try again later."
|
||
},
|
||
"admin": {
|
||
"title": "Administration",
|
||
"general": "General",
|
||
"instanceName": "Instance name",
|
||
"defaultLocale": "Default language",
|
||
"registrationMode": "Self-registration",
|
||
"registrationOpen": "Open — anyone can register",
|
||
"registrationClosed": "Closed — no new registrations",
|
||
"save": "Save",
|
||
"saved": "Saved."
|
||
},
|
||
"landing": {
|
||
"title": "Landing page",
|
||
"hint": "The public home page (/) content as Markdown. Leave empty to show the built-in welcome text.",
|
||
"label": "Landing page content (Markdown)",
|
||
"save": "Save landing page",
|
||
"saved": "Saved."
|
||
},
|
||
"appearance": {
|
||
"title": "Appearance",
|
||
"legend": "Color scheme",
|
||
"light": "Light",
|
||
"dark": "Dark",
|
||
"system": "System setting",
|
||
"hint": "“System setting” follows the device’s light/dark mode. Applies to this device.",
|
||
"cycle": "Switch color scheme (current: {{mode}})"
|
||
},
|
||
"interaction": {
|
||
"title": "Interaction",
|
||
"disableSingleKey": "Disable single-key shortcuts",
|
||
"disableSingleKeyHint": "Turns off the “e” (edit) and “/” (search) shortcuts — helpful with speech input. Applies to this device."
|
||
}
|
||
}
|