feat(i18n): add stale-hint week/month plurals and dashboard coach CTA

The dashboard tile-strip `<TrendCard staleDays>` caption renders bucket-aware
copy so a tile whose latest reading is older than a week reads naturally:

* `staleDays > 7 && <= 30` — existing `dashboard.staleHint` ("Letzter Wert
  vor Xd")
* `30 < staleDays <= 60` — collapses to a weekly form ("vor X Wochen")
* `staleDays > 60` — collapses to a monthly form ("vor X Monaten")

Two new singular/plural key pairs per bucket — `staleHintWeeksOne` /
`staleHintWeeksOther`, `staleHintMonthsOne` / `staleHintMonthsOther` — so
locales with non-English plural rules read naturally. Polish takes the
genitive-plural fallback ("tygodni" / "miesięcy") which covers every
non-1 count the bucket math can produce.

Also adds `dashboard.coachCta` ("Frag den Coach" / "Ask the coach") for the
dashboard hero strip's Coach launch button — the global drawer is hoisted to
the auth-shell in a follow-up so every authed surface can call `askCoach()`
from the same context.

All six locales (de, en, es, fr, it, pl) updated.
This commit is contained in:
Marc-André Bombeck committed 2026-05-16 20:42:57 +02:00
1 parent cc3aae9794
commit 721e88dfa8
6 files changed
+30

No files matched your search

+5
View File
@@ -260,6 +260,11 @@
"emptyDescription": "Erfasse den ersten Messwert oder Stimmungseintrag. Kacheln und Charts erscheinen automatisch, sobald Daten vorhanden sind.",
"emptyAddMeasurement": "Ersten Messwert erfassen",
"staleHint": "Letzter Wert vor {count} T.",
"staleHintWeeksOne": "Letzter Wert vor 1 Woche",
"staleHintWeeksOther": "Letzter Wert vor {count} Wochen",
"staleHintMonthsOne": "Letzter Wert vor 1 Monat",
"staleHintMonthsOther": "Letzter Wert vor {count} Monaten",
"coachCta": "Frag den Coach",
"recentWorkouts": {
"title": "Letzte Workouts",
"viewAll": "Alle anzeigen",
+5
View File
@@ -260,6 +260,11 @@
"emptyDescription": "Log your first measurement or mood entry. Tiles and charts appear automatically as data lands.",
"emptyAddMeasurement": "Add your first measurement",
"staleHint": "Last reading {count} d ago",
"staleHintWeeksOne": "Last reading 1 week ago",
"staleHintWeeksOther": "Last reading {count} weeks ago",
"staleHintMonthsOne": "Last reading 1 month ago",
"staleHintMonthsOther": "Last reading {count} months ago",
"coachCta": "Ask the coach",
"recentWorkouts": {
"title": "Recent workouts",
"viewAll": "View all",
+5
View File
@@ -260,6 +260,11 @@
"emptyDescription": "Log your first measurement or mood entry. Tiles and charts appear automatically as data lands.",
"emptyAddMeasurement": "Add your first measurement",
"staleHint": "Último valor hace {count} d",
"staleHintWeeksOne": "Último valor hace 1 semana",
"staleHintWeeksOther": "Último valor hace {count} semanas",
"staleHintMonthsOne": "Último valor hace 1 mes",
"staleHintMonthsOther": "Último valor hace {count} meses",
"coachCta": "Pregunta al coach",
"recentWorkouts": {
"title": "Entrenamientos recientes",
"viewAll": "Ver todos",
+5
View File
@@ -260,6 +260,11 @@
"emptyDescription": "Log your first measurement or mood entry. Tiles and charts appear automatically as data lands.",
"emptyAddMeasurement": "Add your first measurement",
"staleHint": "Dernière valeur il y a {count} j",
"staleHintWeeksOne": "Dernière valeur il y a 1 semaine",
"staleHintWeeksOther": "Dernière valeur il y a {count} semaines",
"staleHintMonthsOne": "Dernière valeur il y a 1 mois",
"staleHintMonthsOther": "Dernière valeur il y a {count} mois",
"coachCta": "Demande au coach",
"recentWorkouts": {
"title": "Entraînements récents",
"viewAll": "Tout voir",
+5
View File
@@ -260,6 +260,11 @@
"emptyDescription": "Log your first measurement or mood entry. Tiles and charts appear automatically as data lands.",
"emptyAddMeasurement": "Add your first measurement",
"staleHint": "Ultimo valore {count} g fa",
"staleHintWeeksOne": "Ultimo valore 1 settimana fa",
"staleHintWeeksOther": "Ultimo valore {count} settimane fa",
"staleHintMonthsOne": "Ultimo valore 1 mese fa",
"staleHintMonthsOther": "Ultimo valore {count} mesi fa",
"coachCta": "Chiedi al coach",
"recentWorkouts": {
"title": "Allenamenti recenti",
"viewAll": "Vedi tutti",
+5
View File
@@ -260,6 +260,11 @@
"emptyDescription": "Log your first measurement or mood entry. Tiles and charts appear automatically as data lands.",
"emptyAddMeasurement": "Add your first measurement",
"staleHint": "Ostatni odczyt {count} d temu",
"staleHintWeeksOne": "Ostatni odczyt 1 tydzień temu",
"staleHintWeeksOther": "Ostatni odczyt {count} tygodni temu",
"staleHintMonthsOne": "Ostatni odczyt 1 miesiąc temu",
"staleHintMonthsOther": "Ostatni odczyt {count} miesięcy temu",
"coachCta": "Zapytaj coacha",
"recentWorkouts": {
"title": "Ostatnie treningi",
"viewAll": "Zobacz wszystkie",