Files
jobtrackingapp/docs/i18n/MOBILE_SALARY_FORMATTING.md
T

1.6 KiB

Mobile application salary formatting

Scope: bounded I18N-02 display fix on codex/i18n-mobile-salary from 1ce93ca0e3a906673e636e56f1b910756ca78bb2. The same unlocalised formatter and mobile caller were also present at A3 49e79875. The 188 historical dynamic-call reviews remain accounted for.

The mobile Jobs and Trash cards use the selected EN/NB UI locale for numeric salary formatting and the existing Year, Month and Hour labels. Recognised period codes match case-insensitively. Other imported period text stays literal, including values that would otherwise collide with inherited JavaScript properties. Currency, saved amounts and the existing free-text fallback are retained. Offer Comparison keeps its own existing formatting contract.

The new mounted-card test failed on the previous English yr suffix. It then verified English and Bokmål grouping and decimals after a live UI-language change, preservation of zero, an unknown imported period and free text, unchanged application query parameters and no preference write from the synthetic storage event. The page's existing language-change refresh can repeat the same read. This checkpoint did not change that behaviour.

Validation from job-tracker-ui: npm test -- --runInBand --runTestsByPath src/job-table-density.test.tsx src/offer-comparison.test.tsx passed 20 tests across two suites. npm run typecheck, targeted ESLint with zero warnings and npm run build passed. The build generated three static pages. Browser/device and native-language reviews remain open. No new locale or release qualification is claimed.