#373

i18n: full English localization of UI, backend, roles and docs

Openjaweeshwants to merge intofrom

Summary

Full English localization of the platform while keeping Chinese protocol/wire markers byte-identical for compatibility with historical rows and frontend regexes.

Backend

  • fmt.Errorf, zap logs and handler responses localized by request language via respondError/respondErrorf/i18nText dual-accept
  • Protocol markers (toolGuardBlockedPrefix, prepare.go validation errors matched by multiAgentHTTPErrorStatus) kept Chinese byte-identical
  • Seed skills, roles, agents and tools translated

Roles / agents / skills / tools

  • Chinese-named role YAMLs renamed to English, prompts/descriptions/tags translated (Chinese docs preserved as README_CN.md)

Frontend (web/static/js)

  • en-US/ru-RU i18n keys filled with contract across all frontend JS
  • All remaining Chinese in web/static/js translated across 40 files (~5,400 lines): inline comments, doc blocks, trailing comments, t() fallback literals, multiline prompt templates (${placeholder} preserved), knowledge.js data-i18n text nodes
  • Functional regexes made dual-accept: legacy Chinese alternative kept for historical rows, English alternative added (assets sheet/backend messages, chat execute/call-OpenAI failed prefixes, webshell dir/ls parsing, monitor timeout/guard-block/soft-wait, knowledge not-enabled, hitl destructive-score, workflows keyword matching)
  • All .js pass node --check; remaining CJK is only in deliberate legacy/dual-accept regexes and git-tracked test fixtures

Docs / plugins

  • README, CHANGELOG, docs/zh-CN, Burp extension labels, browser-extension panel

Database

  • All rows previously holding Chinese content translated; 0 CJK characters remain across all tables

Backends dual-accept both Chinese (historical rows) and English (new rows) text; frontend .test.cjs suites and backend package tests pass (only pre-existing environment failures remain).

👤 Generated with Claude Code

Activity

21