From e778835c9cbad8de0d7436c5bc08d03864c584cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Sat, 16 May 2026 14:02:22 +0200 Subject: [PATCH] i18n: localise the operator-disabled assistant notices MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Four user-facing keys land in all six locale files so the `` component reads natively localised copy: insights.coach.disabledByOperator insights.briefingDisabledByOperator insights.statusDisabledByOperator insights.correlationsDisabledByOperator The Coach key nests under the existing `insights.coach.*` object; the other three sit at the top of `insights.*` to avoid colliding with the existing string-valued `insights.correlations` key. The Health-Score explainer has no notice — its suppression is silent on purpose so the bare delta digit still reads as a clean KPI. DE carries the full native phrasing; the established convention for the other five locales (FR/ES/IT/PL/EN) keeps the user-facing strings localised even where admin strings still default to English. --- messages/de.json | 4 ++++ messages/en.json | 4 ++++ messages/es.json | 4 ++++ messages/fr.json | 4 ++++ messages/it.json | 4 ++++ messages/pl.json | 4 ++++ src/components/insights/assistant-disabled-notice.tsx | 6 +++--- 7 files changed, 27 insertions(+), 3 deletions(-) diff --git a/messages/de.json b/messages/de.json index 10ceb83ec..d33d35a17 100644 --- a/messages/de.json +++ b/messages/de.json @@ -867,6 +867,9 @@ "heroFindingAttention": "Beachten", "heroFindingWarning": "Wichtigster Alarm", "correlationsTitle": "Zusammenhänge", + "briefingDisabledByOperator": "Das Tagesbriefing ist auf diesem Server derzeit nicht verfügbar.", + "statusDisabledByOperator": "Status-Karten sind auf diesem Server derzeit nicht verfügbar.", + "correlationsDisabledByOperator": "Korrelations-Erzählung ist auf diesem Server derzeit nicht verfügbar.", "recommendationsTitle": "Empfehlungen", "personalRecord": { "badge": "PR", @@ -1023,6 +1026,7 @@ "composerHint": "Enter zum Senden, Umschalt+Enter für eine neue Zeile.", "composerDisclaimer": "Coach-Antworten sind generiert. Klinische Entscheidungen gehören in die Hand deines Arztes.", "voiceComingSoon": "Spracheingabe kommt mit der iOS-App in v1.5.", + "disabledByOperator": "Der Coach ist auf diesem Server derzeit nicht verfügbar.", "threadEmpty": "Frag mich etwas zu deinen Trends, Medikamenten oder Messwerten, um zu starten.", "historyTitle": "Unterhaltungen", "historySearchPlaceholder": "Unterhaltungen durchsuchen…", diff --git a/messages/en.json b/messages/en.json index 7480c01c7..2d2e03d76 100644 --- a/messages/en.json +++ b/messages/en.json @@ -868,6 +868,9 @@ "heroFindingWarning": "Top alert", "correlationsTitle": "Correlations", "recommendationsTitle": "Recommendations", + "briefingDisabledByOperator": "The Daily Briefing is currently unavailable on this server.", + "statusDisabledByOperator": "Status cards are currently unavailable on this server.", + "correlationsDisabledByOperator": "Correlation narration is currently unavailable on this server.", "personalRecord": { "badge": "PR", "tooltip": "Personal record: {value} {unit} on {date}" @@ -1023,6 +1026,7 @@ "composerHint": "Press Enter to send, Shift+Enter for a new line.", "composerDisclaimer": "Coach replies are generated. Clinical decisions belong with your doctor.", "voiceComingSoon": "Voice input arrives with the iOS app in v1.5.", + "disabledByOperator": "Coach is currently unavailable on this server.", "threadEmpty": "Ask anything about your trends, medications, or readings to start a conversation.", "historyTitle": "Conversations", "historySearchPlaceholder": "Search conversations…", diff --git a/messages/es.json b/messages/es.json index b32243ad4..53ceb97b6 100644 --- a/messages/es.json +++ b/messages/es.json @@ -867,6 +867,9 @@ "heroFindingAttention": "Worth attention", "heroFindingWarning": "Top alert", "correlationsTitle": "Correlaciones", + "briefingDisabledByOperator": "El Briefing diario no está disponible en este servidor actualmente.", + "statusDisabledByOperator": "Las tarjetas de estado no están disponibles en este servidor actualmente.", + "correlationsDisabledByOperator": "La narración de correlaciones no está disponible en este servidor actualmente.", "recommendationsTitle": "Recomendaciones", "personalRecord": { "badge": "PR", @@ -1023,6 +1026,7 @@ "composerHint": "Press Enter to send, Shift+Enter for a new line.", "composerDisclaimer": "Coach replies are generated. Clinical decisions belong with your doctor.", "voiceComingSoon": "Voice input arrives with the iOS app in v1.5.", + "disabledByOperator": "El Coach no está disponible en este servidor actualmente.", "threadEmpty": "Ask anything about your trends, medications, or readings to start a conversation.", "historyTitle": "Conversations", "historySearchPlaceholder": "Search conversations…", diff --git a/messages/fr.json b/messages/fr.json index c66045e2d..96bab27c1 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -867,6 +867,9 @@ "heroFindingAttention": "Worth attention", "heroFindingWarning": "Top alert", "correlationsTitle": "Corrélations", + "briefingDisabledByOperator": "Le Briefing quotidien est actuellement indisponible sur ce serveur.", + "statusDisabledByOperator": "Les cartes de statut sont actuellement indisponibles sur ce serveur.", + "correlationsDisabledByOperator": "La narration des corrélations est actuellement indisponible sur ce serveur.", "recommendationsTitle": "Recommandations", "personalRecord": { "badge": "PR", @@ -1023,6 +1026,7 @@ "composerHint": "Press Enter to send, Shift+Enter for a new line.", "composerDisclaimer": "Coach replies are generated. Clinical decisions belong with your doctor.", "voiceComingSoon": "Voice input arrives with the iOS app in v1.5.", + "disabledByOperator": "Le Coach est actuellement indisponible sur ce serveur.", "threadEmpty": "Ask anything about your trends, medications, or readings to start a conversation.", "historyTitle": "Conversations", "historySearchPlaceholder": "Search conversations…", diff --git a/messages/it.json b/messages/it.json index 05effc46d..f62456c04 100644 --- a/messages/it.json +++ b/messages/it.json @@ -867,6 +867,9 @@ "heroFindingAttention": "Worth attention", "heroFindingWarning": "Top alert", "correlationsTitle": "Correlazioni", + "briefingDisabledByOperator": "Il Briefing giornaliero non è attualmente disponibile su questo server.", + "statusDisabledByOperator": "Le schede di stato non sono attualmente disponibili su questo server.", + "correlationsDisabledByOperator": "La narrazione delle correlazioni non è attualmente disponibile su questo server.", "recommendationsTitle": "Raccomandazioni", "personalRecord": { "badge": "PR", @@ -1023,6 +1026,7 @@ "composerHint": "Press Enter to send, Shift+Enter for a new line.", "composerDisclaimer": "Coach replies are generated. Clinical decisions belong with your doctor.", "voiceComingSoon": "Voice input arrives with the iOS app in v1.5.", + "disabledByOperator": "Il Coach non è attualmente disponibile su questo server.", "threadEmpty": "Ask anything about your trends, medications, or readings to start a conversation.", "historyTitle": "Conversations", "historySearchPlaceholder": "Search conversations…", diff --git a/messages/pl.json b/messages/pl.json index 53a3316fa..a0faed162 100644 --- a/messages/pl.json +++ b/messages/pl.json @@ -867,6 +867,9 @@ "heroFindingAttention": "Worth attention", "heroFindingWarning": "Top alert", "correlationsTitle": "Korelacje", + "briefingDisabledByOperator": "Codzienny Briefing jest obecnie niedostępny na tym serwerze.", + "statusDisabledByOperator": "Karty statusu są obecnie niedostępne na tym serwerze.", + "correlationsDisabledByOperator": "Narracja korelacji jest obecnie niedostępna na tym serwerze.", "recommendationsTitle": "Rekomendacje", "personalRecord": { "badge": "PR", @@ -1023,6 +1026,7 @@ "composerHint": "Press Enter to send, Shift+Enter for a new line.", "composerDisclaimer": "Coach replies are generated. Clinical decisions belong with your doctor.", "voiceComingSoon": "Voice input arrives with the iOS app in v1.5.", + "disabledByOperator": "Coach jest obecnie niedostępny na tym serwerze.", "threadEmpty": "Ask anything about your trends, medications, or readings to start a conversation.", "historyTitle": "Conversations", "historySearchPlaceholder": "Search conversations…", diff --git a/src/components/insights/assistant-disabled-notice.tsx b/src/components/insights/assistant-disabled-notice.tsx index 7d2bece99..1c2cdc841 100644 --- a/src/components/insights/assistant-disabled-notice.tsx +++ b/src/components/insights/assistant-disabled-notice.tsx @@ -32,9 +32,9 @@ interface AssistantDisabledNoticeProps { const SURFACE_LABEL_KEY: Record = { coach: "insights.coach.disabledByOperator", - briefing: "insights.briefing.disabledByOperator", - insightStatus: "insights.status.disabledByOperator", - correlations: "insights.correlations.disabledByOperator", + briefing: "insights.briefingDisabledByOperator", + insightStatus: "insights.statusDisabledByOperator", + correlations: "insights.correlationsDisabledByOperator", }; export function AssistantDisabledNotice({