From 02c192c048af2fdc4bbb3adfb30217cf234902a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Thu, 21 May 2026 23:05:36 +0200 Subject: [PATCH] fix(i18n): restore relative-time plural keys swept by W12 tighten MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit W4's pluralised relativeMinutesAgoOne/Other + relativeHoursAgoOne/Other + relativeDaysAgoOne/Other keys were silently removed across all 6 locales when W12's i18n tighten (commit 2390438e) re-applied the legacy singular keys. The formatRelativeTime helper still reads the *One/*Other keys, so the Insights hero, Daily Briefing, and Coach history rail all paint raw key strings to users. v1.4.43 W10 critical-reconcile — code-reviewer C-1, design C-1, simplifier C-1. --- messages/de.json | 9 ++++++--- messages/en.json | 9 ++++++--- messages/es.json | 9 ++++++--- messages/fr.json | 9 ++++++--- messages/it.json | 9 ++++++--- messages/pl.json | 9 ++++++--- 6 files changed, 36 insertions(+), 18 deletions(-) diff --git a/messages/de.json b/messages/de.json index 4b9e2571d..077e4b884 100644 --- a/messages/de.json +++ b/messages/de.json @@ -1151,9 +1151,12 @@ "providerRateLimitBody": "Provider ist temporär überlastet; Reset in ~5 min." }, "relativeJustNow": "gerade eben", - "relativeMinutesAgo": "vor {count} Minuten", - "relativeHoursAgo": "vor {count} Stunden", - "relativeDaysAgo": "vor {count} Tagen", + "relativeMinutesAgoOne": "vor {count} Minute", + "relativeMinutesAgoOther": "vor {count} Minuten", + "relativeHoursAgoOne": "vor {count} Stunde", + "relativeHoursAgoOther": "vor {count} Stunden", + "relativeDaysAgoOne": "vor {count} Tag", + "relativeDaysAgoOther": "vor {count} Tagen", "navOverview": "Übersicht", "navBloodPressure": "Blutdruck", "navWeight": "Gewicht", diff --git a/messages/en.json b/messages/en.json index b28f57b18..bef0288ca 100644 --- a/messages/en.json +++ b/messages/en.json @@ -1151,9 +1151,12 @@ "providerRateLimitBody": "Provider temporarily rate-limited; retry in ~5 min." }, "relativeJustNow": "just now", - "relativeMinutesAgo": "{count} minutes ago", - "relativeHoursAgo": "{count} hours ago", - "relativeDaysAgo": "{count} days ago", + "relativeMinutesAgoOne": "{count} minute ago", + "relativeMinutesAgoOther": "{count} minutes ago", + "relativeHoursAgoOne": "{count} hour ago", + "relativeHoursAgoOther": "{count} hours ago", + "relativeDaysAgoOne": "{count} day ago", + "relativeDaysAgoOther": "{count} days ago", "navOverview": "Overview", "navBloodPressure": "Blood Pressure", "navWeight": "Weight", diff --git a/messages/es.json b/messages/es.json index 6a070c397..740945af1 100644 --- a/messages/es.json +++ b/messages/es.json @@ -1151,9 +1151,12 @@ "settingsContextHint": "Bloques opcionales en los que el coach puede apoyarse. Si desactivas alguno, se omitirá en cada respuesta." }, "relativeJustNow": "ahora mismo", - "relativeMinutesAgo": "hace {count} minutos", - "relativeHoursAgo": "hace {count} horas", - "relativeDaysAgo": "hace {count} días", + "relativeMinutesAgoOne": "hace {count} minuto", + "relativeMinutesAgoOther": "hace {count} minutos", + "relativeHoursAgoOne": "hace {count} hora", + "relativeHoursAgoOther": "hace {count} horas", + "relativeDaysAgoOne": "hace {count} día", + "relativeDaysAgoOther": "hace {count} días", "navOverview": "Resumen", "navBloodPressure": "Presión arterial", "navWeight": "Peso", diff --git a/messages/fr.json b/messages/fr.json index c90a86fda..3c367017e 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -1151,9 +1151,12 @@ "settingsContextHint": "Blocs optionnels sur lesquels le coach peut s’appuyer. Si tu en désactives un, il sera omis dans chaque réponse." }, "relativeJustNow": "à l’instant", - "relativeMinutesAgo": "il y a {count} minutes", - "relativeHoursAgo": "il y a {count} heures", - "relativeDaysAgo": "il y a {count} jours", + "relativeMinutesAgoOne": "il y a {count} minute", + "relativeMinutesAgoOther": "il y a {count} minutes", + "relativeHoursAgoOne": "il y a {count} heure", + "relativeHoursAgoOther": "il y a {count} heures", + "relativeDaysAgoOne": "il y a {count} jour", + "relativeDaysAgoOther": "il y a {count} jours", "navOverview": "Vue d'ensemble", "navBloodPressure": "Tension artérielle", "navWeight": "Poids", diff --git a/messages/it.json b/messages/it.json index e6ceaf493..d84b56155 100644 --- a/messages/it.json +++ b/messages/it.json @@ -1151,9 +1151,12 @@ "settingsContextHint": "Blocchi opzionali su cui il coach può basarsi. Disattivandone uno, viene omesso da ogni risposta." }, "relativeJustNow": "proprio ora", - "relativeMinutesAgo": "{count} minuti fa", - "relativeHoursAgo": "{count} ore fa", - "relativeDaysAgo": "{count} giorni fa", + "relativeMinutesAgoOne": "{count} minuto fa", + "relativeMinutesAgoOther": "{count} minuti fa", + "relativeHoursAgoOne": "{count} ora fa", + "relativeHoursAgoOther": "{count} ore fa", + "relativeDaysAgoOne": "{count} giorno fa", + "relativeDaysAgoOther": "{count} giorni fa", "navOverview": "Panoramica", "navBloodPressure": "Pressione arteriosa", "navWeight": "Peso", diff --git a/messages/pl.json b/messages/pl.json index fd2d2eb1a..ed19fcf71 100644 --- a/messages/pl.json +++ b/messages/pl.json @@ -1151,9 +1151,12 @@ "settingsContextHint": "Opcjonalne bloki, na których coach może się opierać. Wyłączenie pominie blok w każdej odpowiedzi." }, "relativeJustNow": "przed chwilą", - "relativeMinutesAgo": "{count} minut temu", - "relativeHoursAgo": "{count} godzin temu", - "relativeDaysAgo": "{count} dni temu", + "relativeMinutesAgoOne": "{count} minutę temu", + "relativeMinutesAgoOther": "{count} minut temu", + "relativeHoursAgoOne": "{count} godzinę temu", + "relativeHoursAgoOther": "{count} godzin temu", + "relativeDaysAgoOne": "{count} dzień temu", + "relativeDaysAgoOther": "{count} dni temu", "navOverview": "Przegląd", "navBloodPressure": "Ciśnienie krwi", "navWeight": "Waga",