- API: översatt title/displayName/toName läggs nu bredvid Sv-fälten i favoriter,
receptvarianter, /scaled, skapar-profiler, topplistor, memory-impact,
substitutions — samt de denormaliserade titlarna (min dag, historik, matlådor,
matlåde-förslag, veckoplan) via nullable recipeId med svensk fallback.
10 endpoints, batchade resolvers (ett anrop per endpoint).
- Mobil: konsumerar de nya fälten med ?? Sv-fallback (swap-meal, sparade recept,
varianter, min dag, logg, matlådor, veckoplan, inköpslista). Hårdkodade
strängar -> t() (kitchen, scan-review, register, recept protein/Skapat av);
decimalkomma -> Intl.NumberFormat. Allergen-etiketter -> t() (+5 nya nycklar).
11 nya nycklar i alla 12 språk.
- i18n-vakt härdad: fångar nu hårdkodad svenska i prop={`...`}-mallliteraler
(blind fläck förr). Verifierat att den fäller men inte ger falska positiv.
- whySv var redan lokaliserad (buildWhy med språktagg) - orörd.
- typecheck grönt (alla paket), vakt grön (603 nycklar).
Co-Authored-By: Claude <noreply@anthropic.com>
- Recept-kostnaden ligger i SEK (basvaluta, D-028). För en spansk användare
(currency != SEK) nollas estimatedCostMinorPerPortion i API:t (list + detalj)
-> kostnads-taggen försvinner helt i stället för att visa en svensk SEK-siffra.
(Beslut: hellre ingen uppskattning än fel valuta, tills riktpriser via kvitton/M8.)
- i18n:remove-language – motsvarighet till add-language, tar bort ett språk rent.
Verifierat: add el -> remove el -> byte-rent, vakt + typecheck gröna.
Co-Authored-By: Claude <noreply@anthropic.com>
- Svepte 51 hårdkodade strängar -> t() över konto, sök/bläddra, sparade recept,
kök, planera, skanna, byt måltid, inköp, minne, cooking, api-fel (+ locLabel/
kategorier via nycklar). 47 nya nycklar, översatta till alla 12 språk.
- NY: apps/mobile/scripts/i18n-check.mjs (i18n:check) – fäller bygget om ett språk
saknar en nyckel, en använd nyckel saknas, eller det finns hårdkodad UI-text.
Wire:ad i CI (.github/workflows/ci.yml) efter typecheck. => 'lägg till språk'
blir: kör vakten, den listar exakt vad som fattas. Aldrig mer leta för hand.
- Prettier-fixade 5 filer från tidigare leveranser så format:check blir grön.
- submit-recipe fri-text-payload + firebase dev-stubs markerade // i18n-ignore.
Co-Authored-By: Claude <noreply@anthropic.com>