Files
Mihawk 45f3718fdb WebUI: the page in 16 languages, chosen in the header or Settings, kept on the console
webui/i18n.js shows each English text of the page from webui/i18n/<code>.json:
English, Spanish, French, German, Italian, Portuguese (Brazil), Russian, Japanese,
Korean, Chinese (Simplified and Traditional), Vietnamese, Turkish, Polish, Dutch and
Indonesian, 776 texts each (tools/webui-strings.py lists them and checks every
catalog). Pickers with flags (lipis/flag-icons, MIT; vn, tr, pl, nl, id added): a
compact one in the header (the flag alone on a phone) and every language as a tile in
the Settings footer. The choice is POST /api/preferences, kept in
config/webui-preferences.cfg and reported by /api/status, so every device follows it
within a status check (10 s). Not covered: right-to-left languages; option texts the
cores provide stay as written.

Evidence: python3 -m unittest tests.test_webui_language: catalogs complete; the
preference refuses unknown codes and wrong tokens; Chromium finds no English text left
on any page in French, follows a choice made in another browser, works by keyboard,
and fits a 390 px phone with no sideways scroll (screenshots in
build/tmp/webui-language).
Gates: bash tools/verify.sh -> verify: PASS (format unit build integration evidence)
2026-10-10 00:47:48 -04:00
..