Skip to content

feat: localize research reports static presentation - #66

Merged
gcomneno merged 6 commits into
mainfrom
feature/issue-61-research-reports-localization
Sep 7, 2026
Merged

gcomneno merged 6 commits into
mainfrom
feature/issue-61-research-reports-localization

Conversation

@gcomneno

@gcomneno gcomneno commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

Completes #61 Gate 4 by localizing all static ResearchReports presentation while preserving dynamic research content and bridge semantics.

Included

  • locale propagated from App to ResearchReports as a presentation-only prop;
  • canonical English + deterministic Italian for page chrome, catalog/loading/error fallbacks, buttons, source label, twins filters, empty states, notes panel title and placeholders;
  • static candidate marker localized in the component while preserving candidate truth semantics;
  • bridge.researchCatalog() remains zero-argument and bridge.researchReport(reportId) remains locale-free;
  • dynamic catalog/report content remains raw and untranslated: IDs, titles, summaries, interpretations, sources, metric labels/values/formats, table titles, column labels/keys/formats and notes;
  • twins filtering predicates and filter values remain unchanged;
  • tests cover EN default, explicit IT, dynamic-value exclusion from the catalog and bridge/payload parity.

Boundary

No Python application, domain, repository, bridge payload, structured report or dynamic research prose changes. No LLM/GiadaWare AI is used for static GUI localization.

Closes #61

@gcomneno
gcomneno merged commit 35bf824 into main Sep 7, 2026
2 checks passed
@gcomneno
gcomneno deleted the feature/issue-61-research-reports-localization branch October 7, 2026 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate GUI presentation to canonical localization contract

1 participant