Context
Add translations for the Boost AI Catalog frontend.
Implementation contract
Use the repository and Boost workspace agent instructions.
The authoritative implementation contract is:
workspaces/boost/openspec/changes/ai-catalog-frontend-translations/
Use this single OpenSpec change for the implementation requirements, design decisions, and task checklist. Do not reconstruct scope from unrelated Boost documents or Jira.
Scope
- Add German, Spanish, French, Italian, and Japanese translation files under
workspaces/boost/plugins/boost/src/translations/.
- Register all five locales as lazy imports.
- Ensure every locale has the same flattened keys as
boostMessages.
- Preserve interpolation placeholders.
- Add or update focused tests for locale key parity and English fallback.
- Add focused Playwright locale coverage:
- Keep the existing functional suite English-only.
- Switch the RHDH language through Settings for each supported locale.
- Assert representative AI Catalog strings render in the selected language.
- Remove or update the stale English-only comment in
playwright.config.ts.
- Add a changeset for
@red-hat-developer-hub/backstage-plugin-boost.
Use established translation implementations in other workspaces as structural examples.
Boundaries
- No backend, OGX, or unrelated UI behavior changes.
- No broad E2E refactor or duplication of the complete functional suite across six locales.
- Do not localize the sample lifecycle filter.
- Do not change the public translation API unless a verified missing string requires it.
- Do not rewrite the archived E2E change; new locale coverage belongs to this translation change.
Verification
From workspaces/boost, follow the required dependency setup in AGENTS.md, then run the relevant checks:
- focused Boost plugin tests and linting
yarn prettier:check
yarn tsc:full
yarn test:e2e
yarn openspec:validate
If public exports or signatures change, also run yarn build:api-reports:only after type-checking and commit the required API report.
OpenSpec closure in the same PR
The implementation PR must close the OpenSpec bookkeeping after the code and tests are complete:
-
Check only tasks that were actually implemented and verified.
-
Archive the completed change without --skip-specs:
yarn openspec archive ai-catalog-frontend-translations --yes
-
Ensure the canonical specification is updated by the archive operation.
-
Update workspaces/boost/specifications/CURRENT.md so translations are no longer listed as active work.
-
Confirm openspec list no longer lists the translation change.
-
Confirm yarn openspec:validate passes.
Completion means the code, tests, changeset, canonical specification, task state, archive, and CURRENT.md all agree in the same PR.
Context
Add translations for the Boost AI Catalog frontend.
Implementation contract
Use the repository and Boost workspace agent instructions.
The authoritative implementation contract is:
workspaces/boost/openspec/changes/ai-catalog-frontend-translations/Use this single OpenSpec change for the implementation requirements, design decisions, and task checklist. Do not reconstruct scope from unrelated Boost documents or Jira.
Scope
workspaces/boost/plugins/boost/src/translations/.boostMessages.playwright.config.ts.@red-hat-developer-hub/backstage-plugin-boost.Use established translation implementations in other workspaces as structural examples.
Boundaries
Verification
From
workspaces/boost, follow the required dependency setup inAGENTS.md, then run the relevant checks:yarn prettier:checkyarn tsc:fullyarn test:e2eyarn openspec:validateIf public exports or signatures change, also run
yarn build:api-reports:onlyafter type-checking and commit the required API report.OpenSpec closure in the same PR
The implementation PR must close the OpenSpec bookkeeping after the code and tests are complete:
Check only tasks that were actually implemented and verified.
Archive the completed change without
--skip-specs:yarn openspec archive ai-catalog-frontend-translations --yesEnsure the canonical specification is updated by the archive operation.
Update
workspaces/boost/specifications/CURRENT.mdso translations are no longer listed as active work.Confirm
openspec listno longer lists the translation change.Confirm
yarn openspec:validatepasses.Completion means the code, tests, changeset, canonical specification, task state, archive, and
CURRENT.mdall agree in the same PR.