feat(onboarding): remove dead ends for new users (#55)

Registration shows the address used and can start over.
Confirm page says an admin approves; no login link.
Welcome puts next steps first; Steam link returns to the dashboard.
Dashboard and library explain an empty or private library.
First sync shows queued, polls slower up to 10 min, then a calm text.
Login: simple checks, resend offer after 401, password toggles.
Only a real expired link counts as invalid; typed passwords stay.
Default language follows the browser; texts are platform-neutral.
This commit is contained in:
lobo committed 2026-10-21 09:37:17 +02:00
1 parent a60010e055
commit f9f0d94e2c
45 files changed
+979 -171

No files matched your search

+30 -12
View File
@@ -11,14 +11,17 @@
"SUBMIT": "Spiel betreten",
"NO_ACCOUNT": "Noch kein Konto?",
"FORGOT_PASSWORD": "Passwort vergessen?",
"ERROR_EMAIL": "Gib eine gültige E-Mail-Adresse mit „@“ und „.“ ein.",
"ERROR_EMAIL": "Gib eine E-Mail-Adresse mit „@“ ein.",
"ERROR_PASSWORD": "Das Passwort darf nicht leer sein.",
"ERROR_INVALID_CREDENTIALS": "E-Mail oder Passwort ist falsch.",
"ERROR_TOO_MANY_ATTEMPTS": "Zu viele fehlgeschlagene Versuche. Versuche es in {{minutes}} Minuten noch einmal.",
"ERROR_GENERIC": "Anmeldung fehlgeschlagen. Versuche es später noch einmal.",
"SESSION_EXPIRED": "Deine Sitzung ist abgelaufen. Bitte melde dich erneut an.",
"ERROR_ACCOUNT_BLOCKED": "Dieses Konto ist gesperrt. Bitte wende dich an den Admin.",
"ERROR_ACCOUNT_PENDING": "Deine Registrierung wartet auf den Admin. Du bekommst eine Mail, sobald sie entschieden ist."
"ERROR_ACCOUNT_PENDING": "Deine Registrierung wartet auf den Admin. Du bekommst eine Mail, sobald sie entschieden ist.",
"NOT_CONFIRMED_HINT": "Noch nicht bestätigt? Lass dir den Link noch einmal senden.",
"SHOW_PASSWORD": "Passwort anzeigen",
"HIDE_PASSWORD": "Passwort verbergen"
},
"REGISTRATION": {
"TITLE": "Registrieren",
@@ -26,7 +29,8 @@
"PASSWORD": "Passwort",
"PASSWORD_CONFIRMATION": "Passwort bestätigen",
"SUBMIT": "Konto erstellen",
"SUCCESS": "Wir haben dir eine Mail geschickt. Klick auf den Link darin, um deine Adresse zu bestätigen und dein Passwort zu wählen; erst dann sieht der Admin deine Anfrage.",
"SENT_TO": "Wir haben den Link an {{email}} geschickt.",
"START_OVER": "Falsche Adresse? Neu beginnen",
"RESEND_EMAIL": "E-Mail",
"RESEND": "Link noch einmal senden",
"RESEND_SENT": "Wenn für diese Adresse eine unbestätigte Registrierung besteht, ist ein neuer Link unterwegs.",
@@ -49,6 +53,7 @@
"DONE": "Dein Passwort ist geändert. Melde dich mit dem neuen an.",
"TO_LOGIN": "Anmelden",
"INVALID": "Dieser Link ist unbekannt, schon benutzt oder älter als 1 Stunde. Fordere einen neuen an:",
"ERROR_REJECTED": "Der Server hat dieses Passwort nicht akzeptiert. Prüfe die Regeln und versuche es erneut.",
"ERROR_TOO_MANY": "Zu viele Versuche. Bitte versuche es in {{minutes}} Minuten noch einmal.",
"ERROR_GENERIC": "Das hat nicht geklappt. Bitte versuche es noch einmal."
},
@@ -56,9 +61,9 @@
"TITLE": "E-Mail-Adresse bestätigen",
"INTRO": "Wähle ein Passwort, um deine E-Mail-Adresse zu bestätigen.",
"SUBMIT": "Bestätigen",
"DONE": "Deine Adresse ist bestätigt. Ein Admin prüft deine Anfrage; du bekommst eine Mail, sobald entschieden ist.",
"DONE": "Deine Adresse ist bestätigt. Du bekommst eine Mail, sobald ein Admin dein Konto freigegeben hat.",
"INVALID": "Dieser Link ist unbekannt, schon benutzt oder älter als 24 Stunden. Fordere einen neuen an:",
"TO_LOGIN": "Anmelden"
"ERROR_REJECTED": "Der Server hat dieses Passwort nicht akzeptiert. Prüfe die Regeln und versuche es erneut."
},
"SETTINGS": {
"PROFILE_STYLE": "Aussehen des Profils",
@@ -211,6 +216,7 @@
"EMAIL_INVALID": "Gib eine gültige E-Mail-Adresse ein.",
"PASSWORD_TOO_SHORT": "Passwort muss mindestens 8 Zeichen haben.",
"PASSWORD_TOO_LONG": "Passwort ist zu lang: höchstens 72 Zeichen, mit Umlauten oder Emoji weniger.",
"PASSWORD_RULES": "Mindestens 8 Zeichen, höchstens 72 (mit Umlauten oder Emoji weniger).",
"PASSWORD_CONFIRMATION_REQUIRED": "Bestätige dein Passwort.",
"CURRENT_PASSWORD_REQUIRED": "Gib dein aktuelles Passwort ein.",
"PASSWORD_MISMATCH": "Die Passwörter stimmen nicht überein.",
@@ -225,12 +231,19 @@
"DASHBOARD": {
"LOADING": "Lade Dashboard ...",
"HELLO": "Hallo",
"STEAM_GAMES": "Steam-Spiele",
"GAMES": "Spiele",
"NO_STEAM_ID": "Noch kein Steam-Konto verknüpft – verknüpfe es in den Einstellungen",
"MOST_PLAYED": "Meistgespielt",
"SHOW_ALL": "Alle anzeigen",
"TO_LIBRARY": "Zur Bibliothek",
"WELCOME_BACK": "Willkommen zurück",
"WELCOME": "Willkommen",
"EMPTY": {
"TITLE": "Deine Bibliothek ist leer",
"NO_SOURCE": "Verknüpfe eine Plattform, dann synchronisieren wir deine Spiele, oder importiere eine Liste.",
"LINK": "Steam / PlayStation verknüpfen",
"IMPORT": "Spiele importieren"
},
"CURRENTLY_PLAYING": "Spiele ich gerade",
"NOTHING_PLAYING": "Gerade nichts. Setze ein Spiel auf „Spiele ich“.",
"UP_NEXT": "Als Nächstes",
@@ -267,7 +280,8 @@
"SOURCE": { "STEAM": "Steam", "PSN": "PlayStation", "MANUAL": "Manuell" },
"TITLE": "Spielebibliothek",
"LOADING": "Lade Spiele …",
"EMPTY": "Noch keine Spiele. Synchronisiere deine Steam-Bibliothek oder füge ein Spiel hinzu.",
"EMPTY": "Noch keine Spiele. Verknüpfe eine Plattform, importiere eine Liste oder füge ein Spiel hinzu.",
"EMPTY_PRIVATE": "Der Sync hat keine Spiele gefunden. Bei Steam müssen die „Spieldetails“ öffentlich sein: [Steam-Datenschutzeinstellungen](https://steamcommunity.com/my/edit/settings). Danach erneut synchronisieren.",
"ERROR_LOAD": "Spiele konnten nicht geladen werden.",
"COMING": "Erscheint am {{date}}",
"COMING_SOON": "Erscheint bald",
@@ -284,10 +298,13 @@
"RESYNC": "Jetzt synchronisieren",
"SYNC_STARTED": "Sync gestartet …",
"SYNC_COOLDOWN": "In {{seconds}}s erneut versuchen",
"SYNCING": "Synchronisiere mit Steam …",
"SYNCING_FIRST_TIME": "Erster Sync mit Steam läuft. Deine Spiele erscheinen gleich.",
"SYNCING": "Synchronisiere deine Bibliothek …",
"SYNCING_FIRST_TIME": "Erster Sync läuft. Deine Spiele erscheinen gleich.",
"SYNC_QUEUED": "Erster Sync ist eingereiht …",
"SYNC_DURATION_HINT": "Meist unter einer Minute, große Bibliotheken länger.",
"SYNC_FAILED": "Sync fehlgeschlagen. Versuche es später noch einmal.",
"SYNC_STALE": "Der Sync dauert länger als sonst. Lade die Seite später neu.",
"SYNC_STALE": "Der Sync läuft noch. Große Bibliotheken brauchen mehr Zeit. Schau später noch einmal vorbei.",
"SYNC_NOT_STARTED": "Der erste Sync ist nicht gestartet. Versuche „Jetzt synchronisieren“.",
"LAST_SYNCED": "Zuletzt synchronisiert {{when}}",
"FILTER_ALL": "Alle",
"SEARCH_PLACEHOLDER": "Spiel suchen …",
@@ -1035,8 +1052,9 @@
"STEP_STEAM": "Steam-Konto verknüpfen",
"STEP_IMPORT": "Deine Spiele importieren",
"DONE": "Erledigt",
"GO": "Los geht's",
"SKIP": "Überspringen"
"GO": "Zum Dashboard",
"ACTION_STEAM": "Steam verknüpfen",
"ACTION_IMPORT": "Spiele importieren"
},
"ADMIN_NEWS": {
"NEW": "Neuer Eintrag",