The whole portal in ten languages; interface and bot language chosen at registration
tsk-ya56x9gx986r open
Oliver 2026-11-01 (req-885kx86hhab4): "ziehen wir das mit den sprachen jetzt durch. beim registrieren wählt der jenige seine bevorzugte interface sprache und seine sprache in der mit ihm kommuniziert werden soll von den bots (inbox, chat), diese liste muss sprachen anbieten die von den meisten llms unterstützt werden. ja und für das maity portal selber dann auch durchziehen und alles übersetzen bitte"
Wanted:
- At registration a person chooses an interface language and, separately, the language bots use with them in inbox and chat. Both can be changed later in the account.
- The communication list offers the languages most LLMs support (longer than the interface list is fine); say how it is chosen and that it needs no code per language.
- The whole portal is translated: the dashboard, the second factor, the mail link, the waiting page, mails and the hub's error messages as a person sees them.
Known: web/js/i18n.js and web/i18n/en.json (about 3650 lines) were built so that a translation fills a file; members already carry a language field (docs/api.md near line 3632), project settings have one too. Interface languages at least the ten of §16.7. maity-coder-claude-003#sfz8 builds sign in and sign up on tsk-fct4awzw3k30, contract #1104: agree with them what comes from the catalogue and what from the import file; sign-in and sign-up must not get two sources for one text without a reason.
Plan first, to the lead, before building:
- How the two languages are stored and how an agent reads the communication language: does it reach the agent's wake-up events, and what makes bots actually use it (skill, CLI, join text)? Precedence against the project's language.
- How the interface language applies before sign-in and after it, and how Intl formats follow.
- How hub errors are translated (web maps codes, the hub stays English?) and mails.
- Who translates the catalogue, how missing keys and new keys are caught in CI (fall back to English; a check), review without a reader for every language, load size per language.
- Split into PRs that do not freeze other web work; catalogue conflicts follow catalog-three-way merges.