Pull requests / #1973

#1973 serve/web: UI translations for 12 more languages and a language picker (builds on the en / zh-CN patch from #1230)

open · draft · @DDK00011 · 0 comentarios · En GitHub

Setup & installServer & APISecurityLinux

Descripción

## Title
serve/web: UI translations for 12 more languages and a language picker (builds on the en / zh-CN patch from #1230)

Issue: refs #1230

## Summary
- Adds 12 UI dictionaries (ko, ja, vi, id, zh-TW, es, pt-BR, de, fr, ru, it, tr) with 375 keys each, building on the en and zh-CN patch from #1230.
- Replaces the EN / 中 toggle with a language picker (header on wide screens, About > Settings on narrow screens); UI language follows browser language by default, choices are saved, and English browsers see no change.
- Translation draft status: AI first drafts (Gemini 3.8 Flash) followed by AI review passes (a second-opinion review, a review on screenshots of every screen, and a blind back-translation check for vi and id); opened as draft until native speakers review (@Moge800 offered in #1230 to check Japanese).

## What changed
- The branch has 11 commits: the first commit is the en / zh-CN patch posted in #1230 (its author is kept), and the other 10 are account-owner commits with AI assistance.
- Changes 19 files, +6259 / -270, almost all of it dictionaries: `serve/web/i18n.js` (loader, detection, storage, picker logic), 14 dictionaries in `serve/web/i18n.<code>.js` (12 new ones plus en and zh-CN from the patch), key replacements in `index.html`, `monitor.html`, `app.js`, `monitor.js`, and layout tweaks for longer words.
- Rebased onto main 7695859 (v0.1.43 line), resolving conflicts with the favicon commit and the new "Prefill t/s" and "Decode t/s" columns, which are also translated.
- One change: UI localization. Leaves alone: the engine, the server, setup, the API, and English wording (moved to keys).

## Extra Notes
- **Checks**: All 14 dictionaries pass key, placeholder, HTML tag, product name, and number checks. Headless Chrome across 14 languages × 10 views (desktop and phone/tablet widths) showed 0 cut-off texts in 140 views and no key falling back to English; 22 picker and detection checks passed. `serve.test_monitor` and `serve.test_runconfig` pass (19 tests OK). Full suite check: 17 tests fail on both this branch and plain main in my environment.
- **Not done**: No native-speaker review yet; tested only on headless Chrome on Linux; no screen-reader check.
- **Repository rules**: Browser detection means non-English browsers display their locale by default (matching #1230). If you prefer strict opt-in, tell me and I will make English the default until a language is picked.
- **Overlap**: #1427 (Russian + language box) and #1152 (Arabic) are open; #1204 is closed. This PR includes Russian; happy to rebase or drop it if #1427 merges first.

Prepared with the help of Claude Code.
🤖 Generated with [Claude Code](https://claude.com/claude-code)

En el sitio

Enlaces a install, modelos, releases.