Fix language picker localization#1895
Conversation
|
Codex review: needs changes before merge. Reviewed July 5, 2026, 12:04 AM ET / 04:04 UTC. Summary Reproducibility: yes. Current-main source shows picker labels resolve through the active app language and explicit selections write Review metrics: 2 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Mantis proof suggestion Risk before merge
Maintainer options:
Copy recommended automerge instructionNext step before merge
Security Review findings
Review detailsBest possible solution: Keep the native picker-label approach, but before merge either move remaining user-facing Foundation formatters to Do we have a high-confidence way to reproduce the issue? Yes. Current-main source shows picker labels resolve through the active app language and explicit selections write Is this the best way to solve the issue? No as submitted. Per-option native labels are the right narrow fix, but removing Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 68f5f9156a05. Label changesLabel changes:
Label justifications:
Evidence reviewedAcceptance criteria:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
Review history (4 earlier review cycles)
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9470a32988
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| UserDefaults.standard.set(stored, forKey: "appLanguage") | ||
| } | ||
| UserDefaults.standard.set([stored], forKey: "AppleLanguages") | ||
| UserDefaults.standard.removeObject(forKey: "AppleLanguages") |
There was a problem hiding this comment.
Preserve explicit-language date formatting
When the user selects an explicit CodexBar language while macOS remains in another language, this removes the app-level AppleLanguages override without first moving all visible Foundation formatters to codexBarLocalizedLocale(). There are still user-facing dates formatted with .current (for example subscription renewal notes in MenuCardView+ModelHelpers.subscriptionDateString and the About pane build timestamp), so after a relaunch the surrounding strings use the chosen app language but embedded month/day names fall back to the macOS language.
Useful? React with 👍 / 👎.
|
Exact head |
Summary
AppleLanguagesoverrides; migrate only the exact legacy override CodexBar previously owned.Why
The old picker localized language names into the currently selected language. A mistaken selection could therefore make recovery difficult. Explicit app choices were also mirrored into
AppleLanguages, so returning to System could retain the previous CodexBar language.The picker now uses stable native names. CodexBar keeps its explicit choice in
appLanguage, and startup removes the old app-domainAppleLanguagesvalue only when it exactly matches that stored choice. System mode and unrelated external overrides remain untouched.Maintainer improvements
mainbefore validation.Validation
swift test --filter 'LocalizationLanguageCatalogTests|PreferencesPaneSmokeTests'— 34 tests passed.make check— 0 format/lint violations.make test— all 47 shards passed.AppleLanguagesretained the override and rendered German menus (Ablage,Bearbeiten,Darstellung,Fenster,Hilfe).appLanguage+ matching legacyAppleLanguagesremoved the legacy key and rendered Japanese menus (ファイル,編集,表示,ウインドウ,ヘルプ).Screenshots