feat(password): add reset and change password pages

/reset-password page for the email request and the new password,
ChangePasswordCard in settings, password reset button on the admin
users page, 'Forgot password?' link on the login page, de/en texts.
This commit is contained in:
lobo committed 2026-10-02 10:35:08 +02:00
1 parent f71e8f7aff
commit 6627a8db66
19 files changed
+565 -25

No files matched your search

+31
View File
@@ -10,6 +10,7 @@
"PASSWORD": "Passwort",
"SUBMIT": "Spiel betreten",
"NO_ACCOUNT": "Noch kein Konto?",
"FORGOT_PASSWORD": "Passwort vergessen?",
"ERROR_EMAIL": "Gib eine gültige Email-Adresse ein mit '@' und mit '.'.",
"ERROR_PASSWORD": "Das Passwort darf nicht leer sein.",
"ERROR_INVALID_CREDENTIALS": "E-Mail oder Passwort ist falsch.",
@@ -38,6 +39,19 @@
"INTRO": "Du bekommst eine Mail mit einem Link: dort bestätigst du deine Adresse und wählst dein Passwort. Danach prüft ein Admin dein Konto und du bekommst eine Mail mit der Entscheidung.",
"ERROR_PENDING_LIMIT": "Gerade warten zu viele Registrierungen auf den Admin. Bitte versuch es später noch einmal."
},
"RESET_PASSWORD": {
"TITLE": "Passwort zurücksetzen",
"EMAIL": "E-Mail",
"SEND": "Link zum Zurücksetzen senden",
"SENT": "Wenn ein aktives Konto diese Adresse hat, ist ein Link unterwegs. Er ist 1 Stunde gültig.",
"INTRO": "Wähle dein neues Passwort. Danach enden alle deine Anmeldungen.",
"SUBMIT": "Passwort speichern",
"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_TOO_MANY": "Zu viele Versuche. Bitte versuche es in {{minutes}} Minuten noch einmal.",
"ERROR_GENERIC": "Das hat nicht geklappt. Bitte versuche es noch einmal."
},
"CONFIRM_EMAIL": {
"TITLE": "E-Mail-Adresse bestätigen",
"INTRO": "Wähle ein Passwort, um die Adresse deiner Registrierung zu bestätigen.",
@@ -126,6 +140,17 @@
},
"VERSION": "Version",
"VERSION_UNKNOWN": "unbekannt",
"CHANGE_PASSWORD": {
"TITLE": "Passwort ändern",
"CURRENT": "Aktuelles Passwort",
"NEW": "Neues Passwort",
"REPEAT": "Neues Passwort wiederholen",
"SUBMIT": "Passwort ändern",
"DONE": "Passwort geändert. Deine anderen Anmeldungen sind beendet.",
"WRONG_PASSWORD": "Das aktuelle Passwort ist falsch.",
"TOO_MANY": "Zu viele falsche Passwörter. Versuche es in {{minutes}} Minuten noch einmal.",
"ERROR": "Das Passwort konnte nicht geändert werden."
},
"DELETE_ACCOUNT": {
"TITLE": "Konto löschen",
"EXPLAIN": "Dein Konto wird sofort gesperrt: kein Login, kein öffentliches Profil. Nach 30 Tagen wird es endgültig entfernt, mit Bibliothek, Backlog und Statistiken.",
@@ -151,6 +176,7 @@
"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_CONFIRMATION_REQUIRED": "Bitte Passwort bestätigen.",
"CURRENT_PASSWORD_REQUIRED": "Gib dein aktuelles Passwort ein.",
"PASSWORD_MISMATCH": "Die Passwörter stimmen nicht überein.",
"DISPLAY_NAME_INVALID": "3–24 Zeichen: Buchstaben, Zahlen, Leerzeichen, _ . - (kein Leerzeichen am Anfang oder Ende)."
},
@@ -559,6 +585,7 @@
"DONE_DELETE": "Nutzer gelöscht.",
"ERROR_SELF_ACTION": "Das geht nicht mit dem eigenen Konto.",
"ERROR_TARGET_IS_ADMIN": "Das geht nicht mit einem anderen Admin.",
"ERROR_NOT_ACTIVE": "Nur ein aktives Konto kann eine Reset-Mail bekommen.",
"ERROR_ALREADY_DELETED": "Das Konto ist schon gelöscht.",
"ERROR": "Die Aktion ist fehlgeschlagen.",
"PAGE_OF": "Seite {{current}} von {{total}}",
@@ -580,6 +607,10 @@
"ERROR_TARGET_IS_UNCONFIRMED": "Die Adresse ist nicht bestätigt: lösche die Anfrage.",
"ERROR_NOT_UNCONFIRMED": "Die Anfrage ist schon bestätigt.",
"DONE_DENY": "Registrierung abgelehnt",
"SEND_PASSWORD_RESET": "Passwort-Reset senden",
"PASSWORD_RESET_TITLE": "Passwort-Reset an {{email}} senden?",
"PASSWORD_RESET_TEXT": "Die Person bekommt eine Mail mit einem Link, um ein neues Passwort zu wählen (1 Stunde gültig). Du siehst das Passwort nie.",
"DONE_PASSWORD_RESET": "Reset-Mail gesendet.",
"ERROR_NOT_PENDING": "Diese Registrierung ist schon entschieden.",
"ERROR_TARGET_IS_PENDING": "Nimm die Registrierung erst an oder lehne sie ab."
},