dsh-im-ops/test
Zaakir dcd7cd64d8 feat(i18n): add English support for host-side chat messages
Wrap all user-facing chat text in src/channels with a host-side t()
translator (Chinese is the identity default, so untranslated text is
always sent verbatim in Chinese). English is selected via the host
plugin config `language: en` or the DSH_IM_LANGUAGE environment
variable, and the settings UI keeps following the DSH web locale.

- add src/channels/shared/i18n.mjs with setImHostLanguage/t() and a
  Chinese-key -> English dictionary split by area (shared + channels)
- complete the English dictionary for every t() key in src/channels,
  including the feishu channel (welcome/help, repair flow, interactive
  cards, watch flow) and the shared command/approval/stream text
- wrap previously untranslated chat-facing strings in feishu bridge,
  feishu runtime, editable-message-stream, harness-client,
  connection-test and image-prompt
- dedupe dictionary entries that existed in multiple channel files and
  canonicalize conflicting translations into the shared dictionaries
- extend the i18n unit test to decode string-literal escapes so keys
  containing \n are checked correctly
- document the language switch in README.md, README.en.md and
  CHANGELOG.md, and rebuild lib/index.js

Added English support for bot chat messages across all nine IM
channels and AI Office without changing any Chinese output.
2026-08-24 00:32:30 +05:00
..
channels feat(i18n): add English support for host-side chat messages 2026-08-24 00:32:30 +05:00
agent-preset-session-lifecycle.test.mjs feat: add agent preset chat commands 2026-08-22 04:04:44 +08:00
artifact-delivery.test.mjs feat: add native image delivery across channels 2026-08-24 03:25:38 +08:00
client-lifecycle.test.mjs fix(feishu): add one-click card callback repair 2026-08-21 13:43:02 +08:00
client-ui.test.mjs feat(ui): compact bot connection metadata 2026-08-23 01:20:58 +08:00
compact-command.test.mjs feat: add agent preset chat commands 2026-08-22 04:04:44 +08:00
control-command.test.mjs feat: add model and turn control commands 2026-08-20 01:28:51 +08:00
delivery-receipt.test.mjs feat: add native image delivery across channels 2026-08-24 03:25:38 +08:00
feishu-client-api.test.mjs fix(feishu): add one-click card callback repair 2026-08-21 13:43:02 +08:00
host-session-coordinator.test.mjs feat: support inbound files across all channels 2026-08-23 22:39:26 +08:00
host.test.mjs feat: add native result-file delivery 2026-08-23 20:02:06 +08:00
image-bridge.test.mjs feat: support image prompts across IM channels 2026-08-19 02:56:14 +08:00
image-prompt.test.mjs fix(channels): clarify unsupported image model errors 2026-08-21 19:07:18 +08:00
inbound-file.test.mjs feat: support inbound files across all channels 2026-08-23 22:39:26 +08:00
model-command.test.mjs feat: support numbered model selection 2026-08-20 03:11:20 +08:00
outbound-artifact.test.mjs feat: add native result-file delivery 2026-08-23 20:02:06 +08:00
preset-command.test.mjs feat: add agent preset chat commands 2026-08-22 04:04:44 +08:00
random-badge-worker.test.mjs docs: serve uncached random readme badge 2026-08-18 20:35:08 +08:00
rpc-authority.test.mjs Add Telegram and Discord IM channels 2026-08-16 14:47:16 +08:00
session-bind-command.test.mjs fix: clarify session index binding scope 2026-08-18 22:17:39 +08:00
session-bind-store.test.mjs feat: add model and turn control commands 2026-08-20 01:28:51 +08:00
weixin-client-api.test.mjs Add unified IM channel plugin 2026-08-15 04:39:56 +08:00
workspace-editor.test.mjs fix(ui): move agent preset guidance to tooltip 2026-08-22 18:38:29 +08:00
workspace.test.mjs feat: add native result-file delivery 2026-08-23 20:02:06 +08:00