Files
zitadel/internal/query
Matías RacedoandGitHub 78be618357 fix(login): translate authentication and OTP strings (#12668)
Closes #12481
Closes #12226

# Which Problems Are Solved

Login V2 still contained several hardcoded authentication-method and OTP
strings, preventing them from following the selected locale or being
overridden through custom Login translations.

Additionally, the password-reset flow already referenced
`password.errors.passwordResetNotAllowed`, but the key was missing from
the Login V2 translations, causing the raw translation key to be
displayed when password reset is disabled.

# How the Problems Are Solved

* Replaced the hardcoded authentication-method labels with Login V2
translation keys.
* Replaced the OTP challenge and verification fallback messages with
translated values.
* Reused the existing `otp.verify.resendCode` translation for the resend
button's accessible label.
* Added `password.errors.passwordResetNotAllowed`.
* Added the new keys to all supported Login V2 locales and mirrored them
in `internal/query/v2-default.json` so frontend and API-provided default
translations remain consistent.
* Added unit coverage for the translated authentication labels and OTP
failure paths.

# How the Changes Are Tested

* `pnpm nx run @zitadel/login:test-unit`
* `pnpm nx run @zitadel/login:lint`
* `pnpm nx run @zitadel/login:build`
* `pnpm nx run-many --projects @zitadel/login @zitadel/client
@zitadel/proto --targets lint build test`
* Manually verified Login V2 with multiple locales, including
authentication-method labels, OTP failure fallbacks, and the disabled
password-reset flow.
2026-09-03 06:01:34 +02:00
..
2026-08-14 06:12:45 +02:00
2026-08-14 06:12:45 +02:00
2026-08-14 06:12:45 +02:00
2025-04-02 16:53:06 +02:00
2025-03-31 12:45:11 +02:00
2024-02-28 10:55:54 +02:00
2026-03-17 12:54:27 +01:00
2026-03-17 12:54:27 +01:00
2024-04-16 11:19:17 +00:00
2025-04-02 16:53:06 +02:00
2026-08-14 06:12:45 +02:00
2025-04-02 16:53:06 +02:00
2025-10-29 10:12:50 +01:00
2026-08-14 06:12:45 +02:00