Localize cost history chart labels - #2983
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. |
|
Codex review: needs real behavior proof before merge. Reviewed August 16, 2026, 9:13 PM ET / August 17, 2026, 01:13 UTC. ClawSweeper reviewWhat this changesThe PR replaces six raw cost-history menu labels with localization lookups and adds translations in all bundled locale catalogs. Merge readiness⛔ Blocked until real behavior proof from a real setup is added - 4 items remain Keep open: the focused localization fix remains needed, but it needs a small regression test and contributor-provided runtime menu proof before merge. Priority: P3 Review scores
Verification
How this fits togetherCodexBar renders provider cost-history data as a SwiftUI menu-bar chart with project and conversation detail rows. Those labels pass through the app localization helper before reaching the native menu UI. flowchart LR
A[Provider cost history] --> B[Cost-history chart]
B --> C[Menu detail rows]
C --> D[Localization helper]
D --> E[Localized menu bar UI]
Before merge
Findings
Agent review detailsSecurityNone. Review metrics
Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Keep the existing L-based implementation, add narrow source-level regression coverage for all six labels, and attach redacted runtime evidence of the populated localized cost-history menu. Do we have a high-confidence way to reproduce the issue? Yes, from source: current main still passes the affected chart labels directly as English text instead of through localization. Is this the best way to solve the issue? Yes, with the added regression coverage: using the existing L helper and catalogs is the narrowest maintainable repair for these labels. Full review comments:
Overall correctness: patch is correct AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against cfe6c925cbca. LabelsLabel justifications:
EvidenceWhat I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (1 earlier review cycle)
|
# Conflicts: # CHANGELOG.md
Summary
Projectsheader, theConversations (window)header,Session <id>rows, theStd/Fastmode prefixes on model rows, and the+ N moresource-overflow hint.Projects,Conversations (%@),Session %@,+ %d more,Std,Fast) to all 23 app locales; English strings are unchanged, so this is a pure localization-completeness fix with no behavior change.Commands run
swift buildswift test --filter CostHistoryChartMenuViewTests— 41 tests passednode Scripts/check-app-locales.mjs— 22 catalogs OK against 1411 English keysswiftformat Sources Tests/swiftlint --strict— clean./Scripts/test.sh(full sharded suite) — green after fixing the ItalianStdvalue toStd.so the catalog's untranslated-value gate stays exact (676.9s, 0 failures)Notes
L(...)pattern;Std/Fastare treated as translatable words (e.g. 標準/高速, Стандарт/Быстро) since they abbreviate Codex standard/priority mode for non-English readers.