openclaw - 💡(How to fix) Fix [Feature]: i18n / locale switcher for Control UI [1 comments, 2 participants]

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…
GitHub stats
openclaw/openclaw#59089Fetched 2026-04-08 02:28:48
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
0
Timeline (top)
closed ×1commented ×1labeled ×1

It would be great to have language/locale support in the Control UI, starting with Simplified Chinese.

Root Cause

It would be great to have language/locale support in the Control UI, starting with Simplified Chinese.

RAW_BUFFERClick to expand / collapse

Summary

It would be great to have language/locale support in the Control UI, starting with Simplified Chinese.

Problem to solve

Many users are non-English speakers. A locale switcher would significantly improve the experience.

Proposed solution

  • Add a language dropdown in the UI (top-right corner or settings)
  • Start with en and zh-CN
  • Use a standard i18n library (e.g., react-intl, i18next)
  • Store preference in localStorage or openclaw.json

Alternatives considered

No response

Impact

  • OpenClaw version: 2026.3.31
  • OS: macOS (arm64)

Evidence/examples

No response

Additional information

No response

extent analysis

TL;DR

Implementing a locale switcher with support for Simplified Chinese can be achieved by integrating an i18n library and storing user preferences.

Guidance

  • Integrate a standard i18n library such as react-intl or i18next to handle translations in the Control UI.
  • Add a language dropdown in the UI, allowing users to switch between en and zh-CN.
  • Store the user's language preference in localStorage or openclaw.json to persist the setting across sessions.
  • Consider starting with a limited set of translations for Simplified Chinese and expand as needed.

Example

// Example using react-intl
import { IntlProvider, FormattedMessage } from 'react-intl';

const languages = {
  'en': 'English',
  'zh-CN': 'Simplified Chinese',
};

const App = () => {
  const [locale, setLocale] = useState('en');

  return (
    <IntlProvider locale={locale}>
      <select value={locale} onChange={(e) => setLocale(e.target.value)}>
        {Object.keys(languages).map((lang) => (
          <option key={lang} value={lang}>{languages[lang]}</option>
        ))}
      </select>
      <FormattedMessage id="hello" defaultMessage="Hello" />
    </IntlProvider>
  );
};

Notes

The proposed solution assumes that the Control UI is built using a JavaScript framework that supports i18n libraries. The example provided uses react-intl, but the actual implementation may vary depending on the framework and library chosen.

Recommendation

Apply workaround by integrating an i18n library and implementing a locale switcher, as this will provide the necessary support for non-English speakers without requiring a full version upgrade.

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