Skip to content

Complete Brazilian Portuguese (pt-BR) localization#1188

Merged
steipete merged 2 commits into
steipete:mainfrom
ManuzimFerreira:complete-pt-br-localization
May 28, 2026
Merged

Complete Brazilian Portuguese (pt-BR) localization#1188
steipete merged 2 commits into
steipete:mainfrom
ManuzimFerreira:complete-pt-br-localization

Conversation

@ManuzimFerreira
Copy link
Copy Markdown
Contributor

Summary

  • pt-BR Localizable.strings was missing 178 of the 785 keys in en.lproj, so those strings fell back to English (a mixed Portuguese/English UI for Brazilian users).
  • Translate all 178 missing keys to reach full parity with the English base, keeping the same key order as en.lproj.
  • Covers quota/session notifications, login-success notifications, the weekly-progress work-days settings, and the menu / dashboard / usage-breakdown / cleanup / status / MiniMax-service strings.

Only Sources/CodexBar/Resources/pt-BR.lproj/Localizable.strings changes (+178 keys); no code changes.

Validation

  • plutil -lint Sources/CodexBar/Resources/{en,pt-BR}.lproj/Localizable.strings — both OK
  • Key parity: en and pt-BR key sets match exactly (785 keys each, no missing/extra)
  • Placeholder scan: every translated value preserves the same format specifiers as English (%@, %1$@, %d%%, …)

Notes

  • Complements Localize popup and provider settings UI #1181 (popup + provider-settings UI localization). This PR fills the broader set of keys still falling back to English on main; happy to rebase or trim overlap once Localize popup and provider settings UI #1181 lands.
  • Open to a review on a couple of domain terms: "30d cash" → "Dinheiro de 30d", and quota_warning_notification_title was rephrased to read naturally in Portuguese for both the "session" and "weekly" window labels.

@clawsweeper
Copy link
Copy Markdown

clawsweeper Bot commented May 27, 2026

Codex review: needs real behavior proof before merge. Reviewed May 28, 2026, 3:55 PM ET / 19:55 UTC.

Summary
This PR completes the pt-BR localization resource file and adds one release-note line for the localization update.

Reproducibility: yes. from source inspection: current main has 1024 English keys and only 883 pt-BR keys, leaving 141 pt-BR fallbacks to English. I did not run the macOS UI because the remaining proof gate is contributor-visible behavior evidence.

Review metrics: 2 noteworthy metrics.

  • Localization parity: pt-BR 883 -> 1024 keys; missing keys 141 -> 0. This confirms the PR addresses a real English-fallback gap on current main without adding extra localization keys.
  • Changed surface: 2 files changed: 1 resource file, 1 changelog line. There is no runtime code or dependency surface, so review focus is proof and language quality.

Merge readiness
Overall: 🧂 unranked krab
Proof: 🧂 unranked krab
Patch quality: 🐚 platinum hermit
Result: blocked until real behavior proof is added.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • [P1] Add redacted screenshot, recording, live output, or logs showing representative pt-BR UI after the change; redact private account data, API keys, endpoints, and other sensitive details.
  • Have a Portuguese/domain reviewer confirm the few terminology-sensitive strings the author called out.

Proof guidance:

  • [P1] Needs real behavior proof before merge: Missing: validation commands are listed, but the contributor should add redacted screenshot/recording/live output/log proof of the pt-BR UI, update the PR body to trigger review, or ask a maintainer to comment @clawsweeper re-review.

Mantis proof suggestion
A short desktop visual proof would materially help verify that the newly localized CodexBar UI renders in pt-BR without English fallback. A maintainer can ask Mantis to capture proof by posting a new PR comment that starts with the OpenClaw Mantis account mention, followed by:

visual task: verify CodexBar in pt-BR shows the newly localized quota/session/settings/dashboard strings without English fallback.

Risk before merge

  • [P2] No after-fix screenshot, recording, copied live output, or redacted runtime log shows the pt-BR UI, so visual fallback and layout behavior remain unverified.
  • [P1] Translation quality for domain terms such as the 30-day cash label and quota-warning wording still needs human Portuguese/product review.

Maintainer options:

  1. Decide the mitigation before merge
    Land the narrow localization resource update after contributor proof and language review, with maintainers owning the release-note wording if it is intended for the next release.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge

  • [P1] The remaining blockers are contributor real-behavior proof plus maintainer/language review, not a narrow automated code repair.

Security
Cleared: No security or supply-chain concern found; the diff only changes localization text and one changelog line.

Review details

Best possible solution:

Land the narrow localization resource update after contributor proof and language review, with maintainers owning the release-note wording if it is intended for the next release.

Do we have a high-confidence way to reproduce the issue?

Yes from source inspection: current main has 1024 English keys and only 883 pt-BR keys, leaving 141 pt-BR fallbacks to English. I did not run the macOS UI because the remaining proof gate is contributor-visible behavior evidence.

Is this the best way to solve the issue?

Yes, updating the pt-BR resource file is the narrow maintainable fix for the missing-key fallback. The merge should wait for real UI proof and human language review rather than an automated repair branch.

AGENTS.md: found and applied where relevant.

Codex review notes: model gpt-5.5, reasoning high; reviewed against ca63a8e7bc1a.

Label changes

Label justifications:

  • P3: This is a low-risk localization completion and proof/language-review item with limited blast radius.
  • rating: 🧂 unranked krab: Overall readiness is 🧂 unranked krab; proof is 🧂 unranked krab and patch quality is 🐚 platinum hermit.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: Missing: validation commands are listed, but the contributor should add redacted screenshot/recording/live output/log proof of the pt-BR UI, update the PR body to trigger review, or ask a maintainer to comment @clawsweeper re-review.
Evidence reviewed

What I checked:

Likely related people:

  • steipete: Recent current-main commits touched the pt-BR resource file and release notes around the same localization surface, and this PR head includes a release-note commit by the same person. (role: recent area contributor; confidence: high; commits: 857f4fa4aa59, c6ad9901a1d4, 14b2b2524f7c; files: Sources/CodexBar/Resources/pt-BR.lproj/Localizable.strings, CHANGELOG.md)
  • jack24254029: The related merged localization PR introduced broad popup/provider localization coverage and added the current localization coverage test seam. (role: recent localization feature contributor; confidence: medium; commits: ff2fc132a2da; files: Sources/CodexBar/Resources/pt-BR.lproj/Localizable.strings, Sources/CodexBar/Resources/en.lproj/Localizable.strings, Tests/CodexBarTests/UserFacingLocalizationCoverageTests.swift)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

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
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. labels May 27, 2026
ManuzimFerreira and others added 2 commits May 28, 2026 20:47
pt-BR was missing 178 of en.lproj's 785 keys, so those strings fell back
to English (a mixed-language UI for Brazilian users). Translate all
missing keys to reach full parity with the English base, keeping the
same key order as en.lproj.

Validated with `plutil -lint`; pt-BR and en key sets and format
specifiers (%@, %1$@, %d%%) match exactly (785 keys each, no missing or
extra keys).
@steipete steipete force-pushed the complete-pt-br-localization branch from e199ec5 to 2dec771 Compare May 28, 2026 19:49
@steipete steipete merged commit 1115d2d into steipete:main May 28, 2026
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants