Skip to content

chore(i18n): refresh native locales - #139237

Merged
vincentkoc merged 1 commit into
mainfrom
automation/native-app-locale-refresh
Sep 5, 2026
Merged

vincentkoc merged 1 commit into
mainfrom
automation/native-app-locale-refresh

Conversation

@openclaw-mantis

Copy link
Copy Markdown
Contributor

What Problem This Solves

Keeps generated native app locales synchronized without bypassing protected-branch checks.

Why This Change Was Made

The Native App Locale Refresh workflow generated this update from 8637d26b73b3a8af65ecebd309d401c979a16813 and published it through a reviewable automation branch.

User Impact

No direct user-facing change beyond refreshed translations.

Evidence

@clawsweeper

clawsweeper Bot commented Sep 5, 2026 •

Copy link
Copy Markdown
Contributor

🦞👀
ClawSweeper picked this up.

Pull request received. I will update this pull request when review starts.

ClawSweeper review complete

ClawSweeper finished reviewing this revision. The review result is being finalized.

View the workflow run.

@openclaw-mantis
openclaw-mantis Bot enabled auto-merge (squash) September 5, 2026 17:14
@vincentkoc
vincentkoc disabled auto-merge September 5, 2026 17:15
@clawsweeper clawsweeper Bot added P3 Low-priority cleanup, docs, polish, ergonomics, or speculative work. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Sep 5, 2026
@clawsweeper

clawsweeper Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed September 5, 2026, 1:46 PM ET / 17:46 UTC.

ClawSweeper review

What this changes

Refreshes native app translations and generated Android, iOS, Apple Watch, and macOS resources for existing interface text.

Merge readiness

✅ Ready for maintainer review

This remains a useful generated locale refresh that current main does not contain. No blocking correctness or security findings were identified.

Priority: P3
Reviewed head: e1fff3ba26a00a4f71b7e74f82cacc0a35b7edfa

Review scores

Measure Result What it means
Overall readiness 🐚 platinum hermit (4/6) A coherent generated refresh with consistent resources, preserved existing translations, and no blocking findings.
Proof confidence 🌊 off-meta tidepool Not applicable: This repository-generated bot refresh is exempt from external-contributor proof requirements; supplied native checks support artifact consistency but do not establish on-device rendering.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Not applicable Not applicable: This repository-generated bot refresh is exempt from external-contributor proof requirements; supplied native checks support artifact consistency but do not establish on-device rendering.
Evidence reviewed 8 items Introduced scope: The pinned base-to-head delta contains translation artifacts and generated resources; handwritten runtime logic and tests are unchanged. Net growth is 1,814 generated lines.
Complete locale inventory: Read-only JSON inspection confirmed that all 21 locale artifacts exactly match the current source inventory, with no missing or extra translation IDs.
Canonical generation and runtime boundary: Android generation consumes the shared inventory and translations, emits the source-to-resource map, and preserves eligible existing translations. NativeStrings resolves that map through Android resources; the PR changes its generated input, not locale selection or storage.
Findings None None.
Security None None.

How this fits together

Native localization converts shared source-text translations into resources consumed by Android and Apple apps. These resources supply interface labels, diagnostics, accessibility hints, and permission descriptions.

flowchart LR
  A[Native interface text] --> B[Shared source inventory]
  B --> C[Locale translations]
  C --> D[Android resource generator]
  C --> E[Apple resource generator]
  D --> F[Localized native interfaces]
  E --> F
Loading

Before merge

None.

Agent review details

Security

None.

PR surface

Other +1200. Total +1200 across 67 files.

View PR surface stats
Area Files Added Removed Net
Source 0 0 0 0
Tests 0 0 0 0
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 67 1455 255 +1200
Total 67 1455 255 +1200

Review metrics

Metric Value Why it matters
Production versus test growth Handwritten production 0; tests 0; generated locale output +1,814 net lines The growth supplies translations for existing behavior without adding another runtime implementation.

Technical review

Best possible solution:

Keep translations synchronized through the existing shared inventory and platform generators while preserving established locale selection and retained translations.

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

Not applicable: this is a generated locale refresh, and no introduced defect was established.

Is this the best way to solve the issue?

Yes: refreshing the existing shared translations and platform resources follows the documented owner boundary; a separate translation mechanism would duplicate established infrastructure.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 3e4becea5e2c.

Labels

Label changes:

  • add P3: This is routine native translation maintenance with no identified urgent runtime defect.
  • add rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🌊 off-meta tidepool and patch quality is 🐚 platinum hermit.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Not applicable: This repository-generated bot refresh is exempt from external-contributor proof requirements; supplied native checks support artifact consistency but do not establish on-device rendering.

Label justifications:

  • P3: This is routine native translation maintenance with no identified urgent runtime defect.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🌊 off-meta tidepool and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Not applicable: This repository-generated bot refresh is exempt from external-contributor proof requirements; supplied native checks support artifact consistency but do not establish on-device rendering.

Evidence

What I checked:

  • Introduced scope: The pinned base-to-head delta contains translation artifacts and generated resources; handwritten runtime logic and tests are unchanged. Net growth is 1,814 generated lines. (apps/android/app/src/main/java/ai/openclaw/app/i18n/NativeStringResources.kt:426, e1fff3ba26a0)
  • Complete locale inventory: Read-only JSON inspection confirmed that all 21 locale artifacts exactly match the current source inventory, with no missing or extra translation IDs. (apps/.i18n/native-source.json:1, e1fff3ba26a0)
  • Canonical generation and runtime boundary: Android generation consumes the shared inventory and translations, emits the source-to-resource map, and preserves eligible existing translations. NativeStrings resolves that map through Android resources; the PR changes its generated input, not locale selection or storage. (scripts/android-app-i18n.ts:1199, e1fff3ba26a0)
  • Apple sibling coverage: Apple generation routes entries by source ownership, preserves existing translated values, and generates usage-description resources separately. The Watch microphone description already exists in its source Info.plist; this PR adds its translations without changing microphone authority. (scripts/apple-app-i18n.ts:620, e1fff3ba26a0)
  • Current-main necessity: The relevant generated resources have no changes between the pinned PR base and fetched main, so main has not absorbed this refresh. The supplied latest release is v2026.9.1; release inclusion of this refresh is not established. (apps/.i18n/native/de.json:734, 3e4becea5e2c)
  • Existing validation and automation contract: Existing tests cover locale/resource alignment, placeholder preservation, retained translations, and Apple usage-description generation. docs/ci.md explicitly describes isolated generated locale PRs. Supplied checks report successful native-i18n, Android builds/tests, iOS release build, and macOS builds/tests; no native app was executed during this review. (test/scripts/android-app-i18n.test.ts:17, e1fff3ba26a0)

Likely related people:

  • Peter Steinberger: Suggested for follow-up; no historical authorship or introduction is verified. (role: unverified routing candidate; confidence: low)
  • Vincent Koc: Suggested for follow-up; no historical authorship or introduction is verified. (role: unverified routing candidate; confidence: low)

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
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.

Workflow

  • 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.

@vincentkoc
vincentkoc merged commit bd381bf into main Sep 5, 2026
143 checks passed
@vincentkoc
vincentkoc deleted the automation/native-app-locale-refresh branch September 5, 2026 18:09
@vincentkoc

Copy link
Copy Markdown
Member

Merged via squash.

vincentkoc added a commit that referenced this pull request Sep 5, 2026
* commit '911d7d5b0c107f7274f2415ca9655dcc6105f0e8': (867 commits)
  fix(skills): deliver pending Workshop approval controls (#139248)
  fix(gateway): deliver loopback ask_user prompts to the originating channel (#138831)
  docs: keep root agent instructions focused on repository policy (#139258)
  fix(matrix): exclude archived state roots from scans and selection (#112329)
  perf(agents): prepare exact tool names once per catalog batch (#139267)
  fix: preserve Swarm progress and simplify owner plumbing (#139269)
  fix(tailscale): release claims after gateway process-group exit (#139261)
  refactor(cli): simplify lazy command registration (#139108)
  test(ui): retain synthetic widget failure evidence (#139229)
  fix(buzz): keep implicit replies at thread root (#138879)
  test(diagnostics): await graceful Gateway shutdown before cleanup (#139247)
  fix(ci): unblock releases with different tooling package managers (#139259)
  feat(ui): add social preview links for private sessions (#139250)
  fix(codex): retain failed conversations for guarded continuation (#139246)
  chore(ui): refresh control ui locales (#139200)
  fix(ci): run browser checks for real-gateway inputs (#139256)
  fix(llama-cpp): reconcile managed router state before requests (#136363)
  chore(i18n): refresh native locales (#139237)
  refactor(worker): unify inference payload handling (#139245)
  refactor(terminal): replay wrapped prefixes in one pass (#139240)
  ...
github-actions Bot added a commit to Desicool/openclaw that referenced this pull request Sep 6, 2026
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app: android App: android app: ios App: ios app: macos App: macos P3 Low-priority cleanup, docs, polish, ergonomics, or speculative work. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. size: XL status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant