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": "Password",
"SUBMIT": "Enter the game",
"NO_ACCOUNT": "No account yet?",
"FORGOT_PASSWORD": "Forgot password?",
"ERROR_EMAIL": "Enter a valid email address with '@' and with '.'.",
"ERROR_PASSWORD": "The password must have at least one character.",
"ERROR_INVALID_CREDENTIALS": "Email or password is wrong.",
@@ -38,6 +39,19 @@
"INTRO": "You get a mail with a link: there you confirm your address and choose your password. Then an admin checks your account and you get a mail with the decision.",
"ERROR_PENDING_LIMIT": "Too many registrations wait for the admin right now. Please try again later."
},
"RESET_PASSWORD": {
"TITLE": "Reset password",
"EMAIL": "Email",
"SEND": "Send reset link",
"SENT": "If an active account has this address, a link is on its way. It is valid for 1 hour.",
"INTRO": "Choose your new password. All your logins end after that.",
"SUBMIT": "Save password",
"DONE": "Your password is changed. Log in with the new one.",
"TO_LOGIN": "Log in",
"INVALID": "This link is unknown, already used or older than 1 hour. Request a new one:",
"ERROR_TOO_MANY": "Too many attempts. Please try again in {{minutes}} minutes.",
"ERROR_GENERIC": "That did not work. Please try again."
},
"CONFIRM_EMAIL": {
"TITLE": "Confirm your email address",
"INTRO": "Choose a password to confirm the address of your registration.",
@@ -126,6 +140,17 @@
},
"VERSION": "Version",
"VERSION_UNKNOWN": "unknown",
"CHANGE_PASSWORD": {
"TITLE": "Change password",
"CURRENT": "Current password",
"NEW": "New password",
"REPEAT": "Repeat new password",
"SUBMIT": "Change password",
"DONE": "Password changed. Your other logins are ended.",
"WRONG_PASSWORD": "The current password is wrong.",
"TOO_MANY": "Too many wrong passwords. Try again in {{minutes}} minutes.",
"ERROR": "The password could not be changed."
},
"DELETE_ACCOUNT": {
"TITLE": "Delete account",
"EXPLAIN": "Your account is blocked at once: no login, no public profile. After 30 days it is removed for good, with your library, backlog and stats.",
@@ -151,6 +176,7 @@
"PASSWORD_TOO_SHORT": "Password must be at least 8 characters.",
"PASSWORD_TOO_LONG": "Password is too long: at most 72 characters, fewer with umlauts or emoji.",
"PASSWORD_CONFIRMATION_REQUIRED": "Please confirm your password.",
"CURRENT_PASSWORD_REQUIRED": "Enter your current password.",
"PASSWORD_MISMATCH": "Passwords do not match.",
"DISPLAY_NAME_INVALID": "3–24 characters: letters, digits, spaces, _ . - (no space at the start or end)."
},
@@ -559,6 +585,7 @@
"DONE_DELETE": "User deleted.",
"ERROR_SELF_ACTION": "You cannot do this to your own account.",
"ERROR_TARGET_IS_ADMIN": "You cannot do this to another admin.",
"ERROR_NOT_ACTIVE": "Only an active account can get a reset mail.",
"ERROR_ALREADY_DELETED": "The account is already deleted.",
"ERROR": "The action failed.",
"PAGE_OF": "Page {{current}} of {{total}}",
@@ -580,6 +607,10 @@
"ERROR_TARGET_IS_UNCONFIRMED": "The address is not confirmed: delete the request.",
"ERROR_NOT_UNCONFIRMED": "The request is confirmed already.",
"DONE_DENY": "Registration denied",
"SEND_PASSWORD_RESET": "Send password reset",
"PASSWORD_RESET_TITLE": "Send a password reset to {{email}}?",
"PASSWORD_RESET_TEXT": "The user gets a mail with a link to choose a new password (valid 1 hour). You never see the password.",
"DONE_PASSWORD_RESET": "Reset mail sent.",
"ERROR_NOT_PENDING": "This registration is decided already.",
"ERROR_TARGET_IS_PENDING": "Accept or deny the registration first."
},