redhat-developer / redhat-developer/rhdh-plugins

boost: Add AI Catalog translations for supported RHDH locales

Open
#4,655 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ready-to-code translations workspace/boost
Dominant language
TypeScript
Stars
48
Forks
120
Avg merge
2d 6h
Merged PRs (30d)
337

Description

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:

  1. Check only tasks that were actually implemented and verified.

  2. Archive the completed change without --skip-specs:

    yarn openspec archive ai-catalog-frontend-translations --yes

  3. Ensure the canonical specification is updated by the archive operation.

  4. Update workspaces/boost/specifications/CURRENT.md so translations are no longer listed as active work.

  5. Confirm openspec list no longer lists the translation change.

  6. 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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with workspaces/boost/openspec/changes/ai-catalog-frontend-translations/ and workspaces/boost/AGENTS.md, then inspect the existing files under workspaces/boost/plugins/boost/src/translations/ and the locale registration. Run the focused Boost tests and Playwright setup before adding five locale files, parity and fallback coverage, selected-language AI Catalog checks, and the changeset. Done means the listed checks pass and the OpenSpec change is archived with CURRENT.md updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
playwright, typescript
Domain
frontend, internationalization, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.