openclaw - 💡(How to fix) Fix [Feature]: Add Chinese (zh-CN/zh-TW) localization - glossary fixes, CLI wizard i18n, and UI translations

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Add proper Chinese localization support across three areas: docs glossary corrections, CLI setup wizard i18n, and Control UI chat translations.

Root Cause

Add proper Chinese localization support across three areas: docs glossary corrections, CLI setup wizard i18n, and Control UI chat translations.

RAW_BUFFERClick to expand / collapse

Summary

Add proper Chinese localization support across three areas: docs glossary corrections, CLI setup wizard i18n, and Control UI chat translations.

Problem to solve

Chinese-speaking users currently face several localization gaps:

  1. Docs glossary (zh-CN): ~205 entries exist but some are inaccurate — "Status" is untranslated (still English), "Gateway" shows "Gateway 网关" (English prefix retained alongside Chinese).
  2. Docs glossary (zh-TW): File exists with all 19 entries as English-only stubs — zero Traditional Chinese translations.
  3. CLI setup wizard (src/wizard, src/commands, src/flows): All user-facing strings (prompts, labels, hints, options) are hardcoded English, with no i18n wiring at all.
  4. Control UI chat (ui/src/ui/chat/): Welcome screen, run controls (New session, Export, Send, Stop, Attach file, Talk buttons), and message placeholder are all hardcoded English.
  5. Control UI locale files (ui/src/i18n/locales/): en.ts and zh-CN.ts lack the chat.welcome.* translation keys needed for the chat UI.

Proposed solution

1. Docs glossary fixes

docs/.i18n/glossary.zh-CN.json — fix remaining entries:

  • "Status""状态" (verified: current is still English)
  • "Gateway""网关" (verified: current has redundant English prefix)

docs/.i18n/glossary.zh-TW.json — translate all 19 entries:

  • Currently all entries are English-only stubs (e.g., "ACP": "ACP", "Gateway": "Gateway")
  • Each needs a Traditional Chinese translation (verified: file exists as English-only stub)

2. CLI setup wizard i18n

Create a new i18n module at src/wizard/i18n/ with:

  • types.ts — locale map type definition (verified: directory does not exist)
  • index.tst() helper function (verified: file does not exist)
  • locales/zh-CN.ts — Simplified Chinese locale map (~138 entries for all wizard prompts) (verified: file does not exist)
  • locales/zh-TW.ts — Traditional Chinese locale map (~135 entries) (verified: file does not exist)

Then wrap user-facing strings with t() in these files (verified: none have t() import or wrapped strings):

  • src/commands/onboard-custom.ts — 10 string changes
  • src/commands/onboard-hooks.ts — 2 string changes
  • src/commands/onboard-remote.ts — 12 string changes
  • src/commands/onboard-skills.ts — 5 string changes
  • src/flows/channel-setup.ts — 6 string changes
  • src/wizard/setup.finalize.ts — 5 string changes
  • src/wizard/setup.gateway-config.ts — 13 string changes
  • src/wizard/setup.migration-import.ts — 6 string changes
  • src/wizard/setup.official-plugins.ts — 2 string changes
  • src/wizard/setup.plugin-config.ts — 4 string changes
  • src/wizard/setup.ts — 8 string changes

3. Control UI chat translations

ui/src/i18n/locales/en.ts — add chat.welcome section with these keys: ready, hint, attachFile, startTalk, newSession, exportChat, sendMessage, queueMessage, stopGenerating, stopTalk, messagePlaceholder, chatSession, chatModel, thinkingLevel (verified: keys missing)

ui/src/i18n/locales/zh-CN.ts:

  • Replace 6x skills: "Skills" with skills: "技能" (verified: all 6 still untranslated)
  • Add chat.welcome section with Chinese translations (verified: section missing)

ui/src/ui/chat/chat-welcome.ts:

  • Add import { t } (verified: missing)
  • Wrap "Ready to chat" and hint text with t() (verified: still hardcoded)

ui/src/ui/chat/run-controls.ts:

  • Add import { t } (verified: missing)
  • Wrap all title/aria-label strings with t() (verified: all hardcoded)

ui/src/ui/views/chat.ts:

  • import { t } already exists
  • Wrap message placeholder, attach-file, start/stop talk strings with t() (verified: still hardcoded)

4. CHANGELOG

Add an unreleased entry documenting the localization changes (verified: no entry exists)

Impact

  • Affected: Chinese-speaking OpenClaw users (both Simplified and Traditional Chinese), docs readers, CLI onboarding users, Control UI users
  • Severity: Medium — current English-only or partially broken Chinese strings do not block functionality but create poor UX
  • Frequency: Every session for Chinese-locale users — CLI wizard runs once per install, Control UI chat is used daily
  • Consequence: Chinese users see mixed English/Chinese in the glossary, English-only prompts in the CLI wizard, and untranslated UI elements in the chat panel

Evidence/examples

All items above were verified against the current upstream main (commit 2f0b0bef). Each proposed change was cross-checked by reading both the source file on main and the intended change.

Additional information

The glossary, wizard i18n, and UI translations are independent work items and could be submitted as separate smaller PRs if preferred. The wizard i18n module follows the same pattern already used elsewhere in the codebase (isolated t() helper + locale map files).

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING