siftlode/frontend/src/i18n/locales/de/header.json
npeter83 6300550301 feat(auth): N3 — server-side multi-session account switch
Track every account that completes OAuth in a browser session (session 'account_ids',
~14-day cookie), so the user can switch between them without another Google round-trip.
New GET /api/me/accounts (switchable accounts, active flagged) and POST /api/me/switch
(guarded: target must be in the session list — proof it signed in here — and re-checked
against is_allowed in case the invite was revoked). Logout now signs out the active
account and falls back to the most recent remaining one, else clears the session. UI: the
account popover lists the other signed-in accounts (click to switch, reloads) plus an
'Add another account' action (-> /auth/login, which uses prompt=select_account).
Trilingual. Third step of Epic N.
2026-06-16 02:05:38 +02:00

43 lines
1.5 KiB
JSON

{
"feed": "Feed",
"searchPlaceholder": "Deine Abos durchsuchen…",
"channelManager": "Kanalverwaltung",
"usageStats": "Nutzung & Statistik",
"scope": {
"label": "Feed-Quelle",
"my": "Meine",
"myTip": "Nur Videos aus deinen eigenen Abos",
"all": "Bibliothek",
"allTip": "Alle Videos im gemeinsamen Katalog"
},
"account": {
"admin": "Admin",
"feed": "Feed",
"channels": "Kanäle",
"playlists": "Wiedergabelisten",
"stats": "Statistik",
"settings": "Einstellungen",
"about": "Über",
"signOut": "Abmelden",
"addAccount": "Weiteres Konto hinzufügen",
"switchTo": "Zu {{name}} wechseln"
},
"sync": {
"yours": "deine",
"total": "gesamt",
"countTooltip": "Videos aus deinen Abos im Vergleich zur Gesamtzahl im gemeinsamen Katalog, den die Abos aller Nutzer gefüllt haben.",
"paused": "pausiert",
"syncing": "{{count}} werden synchronisiert",
"backfillingHistory": "Verlauf wird geladen",
"allSynced": "alles synchronisiert",
"withoutFullHistory": "{{count}} ohne vollständigen Verlauf",
"fullHistoryTooltip": "Einige deiner Kanäle haben nur ihre neuesten Uploads. Klicke, um die Kanalverwaltung (auf diese gefiltert) zu öffnen und ihren vollständigen Katalog anzufordern.",
"pause": "Hintergrund-Synchronisierung pausieren",
"resume": "Hintergrund-Synchronisierung fortsetzen"
},
"banner": {
"updated": "Aktualisiert auf v{{version}} — sieh, was sich geändert hat.",
"releaseNotes": "Versionshinweise",
"dismiss": "Schließen"
}
}