beta.24 fixed the Header dropdown link to point base locale at `/`
instead of `/{baseLocale}` (which 404'd). The URL changed but the
page kept rendering in the previous locale because:
1. handleLocaleLinkClick didn't update localStorage. loadConfigData
falls back to localStorage.locale when no explicit locale param
is present (which is the case for /). Stale 'de' in storage made
it read the German config tree.
2. The router guard's browser-language auto-redirect on / fired on
every navigation, not just first visit. Clicking EN on /de took
you to /, the guard saw the browser was set to German, and
bounced you back to /de.
Fixes:
- Header.handleLocaleLinkClick writes localStorage.locale = locale
for every dropdown click (including the base locale).
- applyRouterGuards's browser-language detection early-returns when
localStorage.locale is already set, so explicit user choices
aren't second-guessed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>