mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-09 21:10:59 +00:00
The salutation and the streak label are the two strings this route still translates server-side, and the native client is its only caller: a Bearer request carries no language cookie, so `User.locale` is the sole per-user signal. The coercion here stopped at English when that column was NULL, so an account that never opened the language picker was greeted in English on an instance configured for German, while every string beside it was German. `resolveJobLocale` is where the fallback order lives — stored preference, then the operator default, then English — and every background writer was moved onto it earlier. This was the last copy of the old coercion outside that tree. The structural guard covers `lib/jobs` and `lib/daily` only, so it never saw this one; the two tests added here pin the behaviour directly instead.