feat: add Spanish localization and language-aware prompts - #728
Conversation
2680bc8 to
34dec71
Compare
|
Rebased this PR onto the current Validation after the rebase: 369 Web Node tests passed, TypeScript passed, 3,560 Python tests passed (7 skipped), Ruff passed, and all project pre-commit hooks passed on the changed files. |
50a812e to
a7cfea4
Compare
|
I am waiting for your changes to be integrated into main. I have done a German language translation with every text on an older version of DeepTutor. I I'll wait until #728 lands and then move my translation over to the architecture and code that is prepared here. |
|
Hi @Dragost — I noticed that GitHub currently marks this PR as conflicting with the latest dev branch. I’m working on zh-TW support that would build on the language registries introduced here, so I’d be happy to help with the rebase conflicts if that would be useful. I can reproduce the rebase against the current HKUDS/dev, run the relevant Web and backend i18n tests, and provide either a cherry-pickable commit or a PR to your fork—whichever you prefer. I won’t make changes until you confirm, to avoid duplicating work if you’re already handling it. |
5cdf88e to
e29d74f
Compare
|
Thanks, @Christian-B-Koller, and thank you as well, @ting-hong-shieh, for offering to help. I’ve now rebased #728 onto the latest We’re currently waiting for a maintainer to review it and authorize the fork workflow. Once merged, the language registries and the separation between interface and model-response languages should provide a clean base for both the German and zh-TW translations. Thanks again to both of you for your work and willingness to contribute! |
e29d74f to
5311f06
Compare
|
Update: this PR has now been rebased onto current The Current validation: 62 targeted backend tests passed, 455 Web Node tests passed, all pre-commit hooks pass on the 45 PR files, ESLint reports 0 errors, the Next.js production build and TypeScript pass, and i18n key/placeholder parity is clean. The history remains split into the original three focused commits. Ready for maintainer review. Thanks again to everyone coordinating downstream locale work around this foundation. |
|
Thank you very much @Dragost for your work, I am looking forward to the approval of the maintainer. |
5311f06 to
b0ef110
Compare
|
Update: I’ve rebased this PR onto current The Spanish catalog now covers the newly introduced notebooks, immersive reading, question bank, IMA, and indexing surfaces. This adds 140 new upstream strings and restores exact English/Spanish parity at 3,211 keys. I also verified that the new capability prompts pass through the shared strict response-language directive, so Spanish model replies remain enforced independently from the UI language. Current validation: 64 targeted backend tests and 574 Web Node tests pass; all pre-commit hooks pass on the 45 changed files; ESLint reports 0 errors; and the Next.js production build, TypeScript, and all 59 static pages complete successfully. The history remains split into the same three focused commits. Thanks again, @Christian-B-Koller, for coordinating the German translation, and @ting-hong-shieh for the zh-TW work and offer to help. We’re ready and waiting for maintainer review. |
b0ef110 to
78bd1ea
Compare
|
Follow-up: The newly internationalized Whisper surface is translated into Spanish (29 additional strings), bringing the app catalog to exact EN/ES parity at 3,240 / 3,240 keys. Validation is current: 578 Web tests passed, all pre-commit hooks passed across the 45 changed files, ESLint reports 0 errors, and the production build generated all 59 pages. The branch still contains exactly three focused commits and GitHub reports it as mergeable without conflicts. The remaining |
|
Got it! Thanks! |

Description
Adds Spanish (Spain) as a first-class DeepTutor locale across the backend, web interface, and model-facing prompts.
es/es-ESto the language selector and a complete Spanish UI catalog.Related work
Includes the UI/model language separation proposed in #758, adapted to this Spanish-localization branch. The corresponding commit retains its author as co-author.
Module(s) Affected
Checklist
Validation
git diff --checkpassed.Additional Notes
The branch is rebased onto current
devcommit1f4de01eand now includes the newly internationalized Whisper surface. The Spanish catalog covers 169 newly introduced upstream strings in total, including the latest 29 Whisper strings, and remains at exact parity with English.New capability prompts continue through the shared strict response-language directive, so Spanish model responses remain enforced independently from the interface language without duplicating the technical prompt trees.
The three commits intentionally separate backend locale infrastructure, the web locale/catalog, and response-language propagation through model prompts. The Spanish catalog uses Spain-specific terminology and a consistent informal tú voice.