Skip to content

feat: separate UI and model response languages - #758

Open
wayblink wants to merge 2 commits into
HKUDS:mainfrom
wayblink:codex/split-ui-response-language
Open

feat: separate UI and model response languages#758
wayblink wants to merge 2 commits into
HKUDS:mainfrom
wayblink:codex/split-ui-response-language

Conversation

@wayblink

@wayblink wayblink commented Aug 3, 2026

Copy link
Copy Markdown

Summary

Closes #757

This PR separates the Web interface locale from the default language used for model-generated responses.

Changes

  • Add account-level response_language alongside language.
  • Keep legacy configurations compatible by inheriting the old language when response_language is absent.
  • Add independent controls under Settings > Appearance.
  • Sync both preferences from the account settings API to browser storage.
  • Make chat, question generation, co-writer, mastery path, quiz judge, and related capability defaults use response_language.
  • Add backend, multi-user, and frontend regression tests.

Verification

  • Backend regression suite: 102 passed.
  • Frontend tests: 157 passed.
  • TypeScript, ESLint, i18n parity, Next.js build, Ruff, and git diff --check passed.
  • Manually verified in the running Docker service that UI language and model response language can be changed independently.

The existing wire_api work in the local checkout is intentionally excluded from this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Decouple Web UI language from model response language

1 participant