Skip to content

Add Swedish localization#1186

Open
yeager wants to merge 1 commit into
steipete:mainfrom
yeager:add-swedish-localization
Open

Add Swedish localization#1186
yeager wants to merge 1 commit into
steipete:mainfrom
yeager:add-swedish-localization

Conversation

@yeager
Copy link
Copy Markdown

@yeager yeager commented May 27, 2026

Summary

  • Add Swedish (sv) localization with full Localizable.strings coverage
  • Add Swedish as a selectable app language
  • Add the Swedish language label to the English fallback localization

Validation

  • Validated English and Swedish .strings files with plutil -lint
  • Checked that Swedish and English localization keys/placeholders match
  • Ran swift test --filter LocalizationBundleTests successfully

Note: full swift test currently has one unrelated failure in ProviderStorageFootprintTests: forced scheduled storage refresh does not restart identical in flight scan.

@clawsweeper
Copy link
Copy Markdown

clawsweeper Bot commented May 27, 2026

Codex review: needs real behavior proof before merge. Reviewed May 27, 2026, 4:12 AM ET / 08:12 UTC.

Summary
The PR adds sv to the selectable app languages, adds the English fallback label for Swedish, and introduces a complete sv.lproj/Localizable.strings resource file.

Reproducibility: not applicable. this is a localization feature PR, not a bug report. Source inspection and key comparison cover the functional path, but they do not replace real app proof.

Review metrics: 2 noteworthy metrics.

  • Localization surface: 3 files changed, 819 additions, 0 deletions. Most of the review surface is a new translation table, so proof and language review matter more than code complexity.
  • Key coverage: 786 English keys, 786 Swedish keys, 0 key or placeholder mismatches found. The new localization appears structurally complete against the PR branch's English fallback file.

Merge readiness
Overall: 🦪 silver shellfish
Proof: 🧂 unranked krab
Patch quality: 🐚 platinum hermit
Result: blocked until real behavior proof from a real setup is added.

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

Rank-up moves:

  • Add a screenshot, recording, or redacted live output from a freshly built app showing Swedish selected and Swedish UI text rendered.
  • Put that proof in the PR body so ClawSweeper can re-review automatically; if it does not, ask a maintainer to comment @clawsweeper re-review.

Proof guidance:
Needs real behavior proof before merge: The PR body reports plutil/key checks and a focused test, but no real app screenshot, recording, logs, or copied live output show Swedish selected and rendered after the change. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Mantis proof suggestion
A short visual proof would help verify the language picker entry and Swedish UI rendering in the macOS app. 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 Swedish appears in CodexBar's Language picker and the app UI renders Swedish after selecting it.

Risk before merge

  • The PR body lists static validation and a focused test, but no screenshot, recording, copied live output, or logs prove the Swedish picker/UI path in a real app bundle.
  • Swedish translation quality and UI truncation were not independently verified by a native-language review or visible app proof.

Maintainer options:

  1. Decide the mitigation before merge
    Merge the Swedish localization after contributor-supplied real app proof shows the language option and rendered Swedish UI, and maintainers are comfortable with the translation quality.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge
Contributor proof and maintainer translation review are needed before merge; there is no narrow code repair for ClawSweeper to automate.

Security
Cleared: The diff only adds localization resources and a language enum entry; it does not touch dependencies, scripts, secrets, or code execution paths.

Review details

Best possible solution:

Merge the Swedish localization after contributor-supplied real app proof shows the language option and rendered Swedish UI, and maintainers are comfortable with the translation quality.

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

Not applicable: this is a localization feature PR, not a bug report. Source inspection and key comparison cover the functional path, but they do not replace real app proof.

Is this the best way to solve the issue?

Yes, the implementation path matches the existing language picker and .lproj resource pattern. The remaining gap is merge readiness evidence, not an alternate code design.

AGENTS.md: found and applied where relevant.

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

Label changes

Label changes:

  • add P3: This is a low-risk user-facing localization addition with limited blast radius and no blocking correctness finding.
  • add rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🧂 unranked krab and patch quality is 🐚 platinum hermit.
  • add status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: The PR body reports plutil/key checks and a focused test, but no real app screenshot, recording, logs, or copied live output show Swedish selected and rendered after the change. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Label justifications:

  • P3: This is a low-risk user-facing localization addition with limited blast radius and no blocking correctness finding.
  • rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; 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: The PR body reports plutil/key checks and a focused test, but no real app screenshot, recording, logs, or copied live output show Swedish selected and rendered after the change. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Evidence reviewed

What I checked:

Likely related people:

  • Peter Steinberger: Available git history blames the current language picker enum, localization labels, and localization resolver to commit 81cf30a. (role: recent area contributor; confidence: medium; commits: 81cf30a6d5e1; files: Sources/CodexBar/PreferencesGeneralPane.swift, Sources/CodexBar/Resources/en.lproj/Localizable.strings, Sources/CodexBar/Localization.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: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. 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
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: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. 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.

1 participant