[Bug] Registration password strength label (WEAK/MEDIUM/STRONG) is not translated #256

Closed
opened 2026-06-25 16:25:14 +00:00 by spikerj · 1 comment
Owner

Severity

Medium — Spanish (and any non-English) users see an untranslated strength indicator, so the feedback is not understandable in their language.

Area

Registration stepper — Step 3 (Password & Preferences), password strength indicator.

Bug

The password strength indicator label ("Password Strength:") is translated via registration.password.strengthLabel, but the value itself is rendered from the raw English enum returned by getPasswordStrength() and simply upper-cased in the template:

<span [class]="'strength-badge strength-' + getPasswordStrength()">
  {{ getPasswordStrength() | uppercase }}
</span>

So a Spanish user with es selected still sees WEAK / MEDIUM / STRONG instead of DÉBIL / MEDIA / FUERTE.

Steps to reproduce

  1. Switch the app language to Spanish.
  2. Open the "Join SpikerSoft" registration flow and go to the password step.
  3. Start typing a password.
  4. Observe the strength badge shows English WEAK/MEDIUM/STRONG.

Expected

The strength value should be localized (e.g. DÉBIL/MEDIA/FUERTE in Spanish) using Transloco keys, while keeping the strength-{weak|medium|strong} CSS class for styling.

Pointers

  • spikersoft-angular/projects/spikersoft/src/app/_components/registration-stepper/registration-stepper.component.html — strength badge rendering (getPasswordStrength() | uppercase).
  • spikersoft-angular/projects/spikersoft/src/app/_components/registration-stepper/registration-stepper.component.tsgetPasswordStrength() returns "weak" | "medium" | "strong".
  • i18n: add registration.password.strength.* keys to assets/i18n/en.json / es.json.
## Severity Medium — Spanish (and any non-English) users see an untranslated strength indicator, so the feedback is not understandable in their language. ## Area Registration stepper — Step 3 (Password & Preferences), password strength indicator. ## Bug The password strength indicator label ("Password Strength:") is translated via `registration.password.strengthLabel`, but the **value** itself is rendered from the raw English enum returned by `getPasswordStrength()` and simply upper-cased in the template: ```html <span [class]="'strength-badge strength-' + getPasswordStrength()"> {{ getPasswordStrength() | uppercase }} </span> ``` So a Spanish user with `es` selected still sees `WEAK` / `MEDIUM` / `STRONG` instead of `DÉBIL` / `MEDIA` / `FUERTE`. ### Steps to reproduce 1. Switch the app language to Spanish. 2. Open the "Join SpikerSoft" registration flow and go to the password step. 3. Start typing a password. 4. Observe the strength badge shows English `WEAK`/`MEDIUM`/`STRONG`. ### Expected The strength value should be localized (e.g. `DÉBIL`/`MEDIA`/`FUERTE` in Spanish) using Transloco keys, while keeping the `strength-{weak|medium|strong}` CSS class for styling. ## Pointers - `spikersoft-angular/projects/spikersoft/src/app/_components/registration-stepper/registration-stepper.component.html` — strength badge rendering (`getPasswordStrength() | uppercase`). - `spikersoft-angular/projects/spikersoft/src/app/_components/registration-stepper/registration-stepper.component.ts` — `getPasswordStrength()` returns `"weak" | "medium" | "strong"`. - i18n: add `registration.password.strength.*` keys to `assets/i18n/en.json` / `es.json`.
spikerj added the bug label 2026-06-25 16:25:14 +00:00
Author
Owner

Resolved in spikersoft-angular PR #76 (merged to master). The WEAK/MEDIUM/STRONG password-strength label is now rendered through Transloco (registration.password.strength.*) with EN/ES translations instead of hard-coded English. Closing.

Resolved in spikersoft-angular PR #76 (merged to `master`). The WEAK/MEDIUM/STRONG password-strength label is now rendered through Transloco (`registration.password.strength.*`) with EN/ES translations instead of hard-coded English. Closing.
Sign in to join this conversation.