dorfteich/packages/shared/i18n/en/settings.json
Claude Fable 5 83a2fe470e
Some checks failed
CI / Lint, typecheck, test (pull_request) Successful in 4m41s
CI / Build container images (pull_request) Successful in 4m4s
CI / Auth e2e pack (pull_request) Successful in 11m40s
CI / Import/export fidelity gate (pull_request) Successful in 52s
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
#184: user accent theming — presets and free color as one mechanism
apply-theme.ts derives BOTH modes' accent tokens from the stored choice
(ui.theme.accent: preset id or {custom:'#hex'}) and writes them as
<style id="user-theme"> with :root:root + :root:root[data-theme='dark']
blocks — the doubled :root beats tokens.css regardless of document
order, since theme-init.js injects the ui.theme.css cache during <head>
parsing, before the bundle styles. The default preset means NO override
(hand-tuned tokens.css values stay). main.tsx re-derives from the
choice at startup, healing stale caches after app updates.

Settings: accent radiogroup inside the Appearance section (visible
names, color never the only cue) with per-mode preview swatches on
each mode's canonical background, plus a custom color input; i18n
de+en. The second fieldset made bare .settings-fieldset locators
ambiguous — theme specs now scope via input[name] (fence stays).

Tests: apply-theme unit pack, BASE_PALETTE<->tokens.css drift fence in
theme-contrast.test.ts, e2e theme-accent.spec (instant apply, pre-paint
persistence, default removes override, axe smoke with garish yellow in
both modes). ADR 0018 amendment documents the stage-B details.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QRtCnB3uLdQtFmvp9HXcRX
2026-07-29 08:59:27 +02:00

86 lines
2.9 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"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 devices light/dark mode. Applies to this device.",
"cycle": "Switch color scheme (current: {{mode}})",
"accentLegend": "Accent color",
"presets": {
"pond-green": "Pond green (default)",
"lake-blue": "Lake blue",
"iris-violet": "Iris violet",
"reed-teal": "Reed teal",
"stone-slate": "Stone slate"
},
"custom": "Custom color",
"customPick": "Pick a custom accent color",
"accentHint": "The chosen color is automatically lightened or darkened per mode so text stays readable. Applies to this device."
},
"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."
}
}