Skip to content

i18n: run the placeholder and tag check for every locale, including de, pt-BR, nl, hi, id and vi #910

Open

Description

@smart-ssh-planner

Goal

A translation that drops or changes a placeholder ({{name}}) or a markup tag (<0>…</0>) fails the tests in every UI language, not only in the newer ones.

Context

  • apps/smart-ssh-community/frontend/src/locales/localeKeyParity.test.ts:10 defines NEW_LANGUAGES (18 locales); :25 runs markerProblems(resources, en) only for those (it.runIf(NEW_LANGUAGES.includes(code))). de, pt-BR, nl, hi, id and vi are skipped, so a missing {{name}} in German goes unnoticed.
  • The identical-value check (:30) is also limited to NEW_LANGUAGES; that limit is intentional for older locales with an allowlist (identicalAllowlist.json) and stays as is.

Requirements

  • Run the placeholder/tag check (markerProblems) for every locale except en.
  • Fix every problem the check finds in the six locales (restore the placeholder/tag; translation wording otherwise unchanged). If a locale intentionally omits a placeholder (e.g. a plural form that does not need {{count}}), express that with the same mechanism the check already supports, or add a small, commented allowlist next to the test, keyed by locale and key.
  • Keep the identical-value check scoped as today.

Acceptance Criteria

  • The placeholder/tag test runs for all locales (test names show de, pt-BR, nl, hi, id, vi).
  • Test: removing {{…}} from one German string makes the test fail (shown via a unit test on markerProblems with a de-like fixture; no committed broken string).
  • All locale files pass; every fixed string is listed in the PR (locale, key, before, after).
  • npm test and npm run lint pass.

Technical Notes

  • Frontend locale files and one test file only.

Spec impact: none

Related Work

  • –

Activity

  1. added this to the 0.8.0 milestone on Oct 26, 2026
  2. 3 remaining items

  3. marked this as blocked by 15 issues on Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    frontendFrontend (React/TypeScript)testsTest code and test infrastructure

    Type

    Fields

    Priority

    P3 - Low

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions