i18n(meds): localise the v1.5 scheduling surface across six locales

Populates messages/{de,en}.json with native copy for every key the
new picker primitives, the wizard, the edit-form refactor, and the
plain-language summary consume. The remaining four locales ship the
English fallback for v1.5.0; native polish lands in a follow-up.

CadencePicker rolling-explainer key flipped to `kind.rollingExplainer`
so the i18n resolver can return both the rolling label and its
explainer (the original `kind.rolling.explainer` path collided with
the `kind.rolling` string leaf — JSON cannot host both shapes on the
same prefix). Adds the dose-unit SI tokens (mg / g / ml) to the
placeholder-allowlist in the locale-integrity guard since those
labels are intentionally identical across every locale.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Marc-André BombeckandClaude Opus 4.7 committed 2026-05-28 09:31:15 +02:00
1 parent 1bdbc2106f
commit 030e97906c
8 files changed
+1202 -2

No files matched your search

@@ -27,7 +27,7 @@
* .kind.everyNMonths — "Every N months on day"
* .kind.yearly — "Yearly on date"
* .kind.rolling — "Every N days from when I last took it (flexible)"
* .kind.rolling.explainer — "Counts from your last logged intake — pauses if you skip"
* .kind.rollingExplainer — "Counts from your last logged intake — pauses if you skip"
* .kind.oneShot — "One-time dose"
* .weekdays.label — chip-row aria-label "Days of week"
* .weekdays.short.mo|tu|we|th|fr|sa|su — chip abbreviations
@@ -401,7 +401,7 @@ function CadenceOption({
className="text-muted-foreground text-xs"
data-slot="cadence-rolling-explainer"
>
{t(`${i18nPrefix}.kind.rolling.explainer`)}
{t(`${i18nPrefix}.kind.rollingExplainer`)}
</p>
</div>
)}