Commit graph

16 commits

Author SHA1 Message Date
imccyu
18480ff902 test(connection): verify and document recovery behavior 2026-08-29 11:18:58 +08:00
imccyu
45b9f2db44 fix(locale): validate contributed language tags 2026-08-25 20:40:26 +08:00
imccyu
bbe00b0db2 feat(locale): allow external language registration 2026-08-25 20:40:26 +08:00
imccyu
9d61ab6756 docs(locale): define extensible language fallbacks 2026-08-25 20:40:25 +08:00
Tianyi Cui
3c10f5d2d3 fix(client): route UI copy through locale 2026-08-23 17:31:37 +08:00
pku-xht
8729f38015 Merge master at 43f08ef into localized Chinese links 2026-08-18 19:13:47 +08:00
pku-xht
8d3674695b docs(i18n): localize Chinese internal links 2026-08-18 19:00:37 +08:00
Chinesezjc
3967df95f7 docs(locale): clarify full-rollout note on the en fallback default
The Consequences bullet named the zh copy surface the 'zh default', which
could be read as the product's opening locale. It covers component-copy
coverage only; the opening/fallback locale (browser naming no shipped
language, or a non-browser run) is en since FALLBACK_LOCALE moved. State that
explicitly and cross-link the browser-derived-initial-locale note, in both
languages, and re-record the .i18n.yaml pairing.
2026-08-18 18:19:30 +08:00
imccyu
f37bc082c5 refactor(client): move web rendering into a dynamic plugin 2026-08-18 01:34:21 +08:00
Yichen Jiang
a2bd3059ac Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.zh.md
#	.agents/notes/implemented/feature/2026-07-30-web-queue-steer-action.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-30-web-queue-steer-action.zh.md
#	.agents/notes/implemented/feature/2026-07-31-browser-derived-initial-locale.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-31-browser-derived-initial-locale.zh.md
#	.agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
#	apps/web/tests/scaffold.ts
#	docs/module-graph.md
#	packages/client/runtime/README.i18n.yaml
#	packages/client/runtime/package.json
#	packages/client/test-runtime/README.i18n.yaml
#	packages/client/test-runtime/README.zh.md
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/README.zh.md
#	packages/client/ui-conversation/package.json
#	packages/client/ui-conversation/src/client/apply.ts
#	packages/client/ui-theme/README.i18n.yaml
#	packages/client/ui-theme/README.md
#	packages/client/ui-theme/README.zh.md
#	packages/host/apiproxy/README.i18n.yaml
#	packages/host/apiproxy/README.zh.md
#	pnpm-lock.yaml
2026-08-10 12:50:43 +08:00
xjt
7ff0cbcb7e docs: complete Chinese proofreading and generated reference pairing 2026-08-09 11:02:16 +08:00
Yichen Jiang
0833b29f25 fix(web): persist general preferences in host settings 2026-08-07 16:43:59 +08:00
creatixchu
44117cb8f7 Merge remote-tracking branch 'origin/master' into worktree-session-hover-menu-fix
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.i18n.yaml
2026-07-31 17:39:51 +08:00
creatixchu
8714952c85 feat(web): copy values from hover cards 2026-07-31 15:38:22 +08:00
creatixchu
cb754a0319 feat(locale): derive the initial Settings language from the browser
A first visit resolved to Chinese regardless of the browser: LocaleService
read `dsh.locale` and fell straight back to `zh` when nothing was stored,
ignoring the languages the browser already states it reads.

The initial locale now resolves through three ordered sources — the persisted
preference, then `navigator` (first entry of the ordered language list whose
primary subtag names a shipped locale, so `zh-Hans-CN` -> zh and `en-GB` ->
en), then `FALLBACK_LOCALE`. An explicit choice still wins and nothing writes
the detected locale back to storage, so "has the user chosen?" stays a
question only the stored value answers.

Specs asserting the shipped Chinese copy now state the browser they assume:
the web e2e scenarios open their page with `locale: ZH_BROWSER_LOCALE`, and
package specs pin it through the new `pinBrowserLanguages` test helper.
`settings-chrome.e2e.ts` gains an English-browser scenario as the
assembled-app proof.
2026-07-31 15:26:46 +08:00
imccyu
1e10966ef6 wip
fix: docs
2026-07-31 02:13:53 +08:00