From 98cd13c8e0398ec902a13c587caab0053331eb8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Sun, 10 May 2026 13:52:31 +0200 Subject: [PATCH] i18n(achievements,admin): drop redundant labels and grammar nits MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A few small quality wins bundled together: - The 1-day achievement descriptions read "for 1 consecutive days" / "1 Tage in Folge" — singular/plural mismatch that was awkward in both languages. Hand-tuned the five 1-day variants to "for 1 day" / "an einem Tag"; 7d / 30d copies unchanged. - The two "Two hundred …" / "Zweihundert …" badges now use the numeral 200 to match every other count-based badge. - /admin/integrations toggle rows ("Umami" / "GlitchTip" lines that duplicated the card header) drop the literal product name and just show the action: the existing `umamiEnabled` / `glitchtipEnabled` description copy is promoted to the toggle's primary label. SettingsToggle's description prop becomes optional to support that. Co-Authored-By: Claude Opus 4.7 (1M context) --- messages/de.json | 14 +++++++------- messages/en.json | 14 +++++++------- src/components/admin/_shared.tsx | 6 ++++-- src/components/admin/glitchtip-section.tsx | 3 +-- src/components/admin/umami-section.tsx | 3 +-- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/messages/de.json b/messages/de.json index ce428c8de..3920ccab7 100644 --- a/messages/de.json +++ b/messages/de.json @@ -2048,23 +2048,23 @@ }, "onTimePerfect1": { "title": "Zeitfenster 1T", - "description": "Nimm 1 Tage in Folge alle Medikamente im Zeitfenster ein." + "description": "Nimm an einem Tag alle Medikamente im Zeitfenster ein." }, "compliance801": { "title": "Treue 80% · 1T", - "description": "Erreiche 1 Tage in Folge eine 30-Tage-Einnahmetreue von mindestens 80%." + "description": "Erreiche an einem Tag eine 30-Tage-Einnahmetreue von mindestens 80%." }, "bmiGreen1": { "title": "BMI im Grün · 1T", - "description": "Halte deinen BMI 1 Tage in Folge im Normalbereich." + "description": "Halte deinen BMI an einem Tag im Normalbereich." }, "bpGreen1": { "title": "Blutdruck im Grün · 1T", - "description": "Halte deinen Blutdruck 1 Tage in Folge im Normalbereich." + "description": "Halte deinen Blutdruck an einem Tag im Normalbereich." }, "pulseGreen1": { "title": "Puls im Grün · 1T", - "description": "Halte deinen Ruhepuls 1 Tage in Folge im Normalbereich." + "description": "Halte deinen Ruhepuls an einem Tag im Normalbereich." }, "onTimePerfect7": { "title": "Zeitfenster 7T", @@ -2171,7 +2171,7 @@ "description": "Erfasse 50 Gewichtsmessungen." }, "weight200": { - "title": "Zweihundert Wiegungen", + "title": "200 Wiegungen", "description": "Erfasse 200 Gewichtsmessungen." }, "bpFirst": { @@ -2183,7 +2183,7 @@ "description": "Erfasse 50 Blutdruckmessungen." }, "bp200": { - "title": "Zweihundert Blutdruckmessungen", + "title": "200 Blutdruckmessungen", "description": "Erfasse 200 Blutdruckmessungen." }, "pulseFirst": { diff --git a/messages/en.json b/messages/en.json index ab8c13cf8..030e2b3b7 100644 --- a/messages/en.json +++ b/messages/en.json @@ -2048,23 +2048,23 @@ }, "onTimePerfect1": { "title": "On-time 1d", - "description": "Take all medications on time for 1 consecutive days." + "description": "Take all medications on time for 1 day." }, "compliance801": { "title": "80% adherence · 1d", - "description": "Reach at least 80% 30-day adherence for 1 consecutive days." + "description": "Reach at least 80% 30-day adherence for 1 day." }, "bmiGreen1": { "title": "BMI green · 1d", - "description": "Keep your BMI in the normal range for 1 consecutive days." + "description": "Keep your BMI in the normal range for 1 day." }, "bpGreen1": { "title": "BP green · 1d", - "description": "Keep your blood pressure in the normal range for 1 consecutive days." + "description": "Keep your blood pressure in the normal range for 1 day." }, "pulseGreen1": { "title": "Pulse green · 1d", - "description": "Keep your resting pulse in the normal range for 1 consecutive days." + "description": "Keep your resting pulse in the normal range for 1 day." }, "onTimePerfect7": { "title": "On-time 7d", @@ -2171,7 +2171,7 @@ "description": "Record 50 weight measurements." }, "weight200": { - "title": "Two hundred weigh-ins", + "title": "200 weigh-ins", "description": "Record 200 weight measurements." }, "bpFirst": { @@ -2183,7 +2183,7 @@ "description": "Record 50 blood-pressure measurements." }, "bp200": { - "title": "Two hundred BP readings", + "title": "200 BP readings", "description": "Record 200 blood-pressure measurements." }, "pulseFirst": { diff --git a/src/components/admin/_shared.tsx b/src/components/admin/_shared.tsx index f9bbb8d2b..f34a2c3b8 100644 --- a/src/components/admin/_shared.tsx +++ b/src/components/admin/_shared.tsx @@ -179,7 +179,7 @@ export function SettingsToggle({ disabled, }: { label: string; - description: string; + description?: string; icon?: React.ComponentType<{ className?: string }>; checked: boolean; onCheckedChange: (checked: boolean) => void; @@ -191,7 +191,9 @@ export function SettingsToggle({ {Icon && }

{label}

-

{description}

+ {description && ( +

{description}

+ )}
diff --git a/src/components/admin/umami-section.tsx b/src/components/admin/umami-section.tsx index 561fbd3ec..8656c4423 100644 --- a/src/components/admin/umami-section.tsx +++ b/src/components/admin/umami-section.tsx @@ -95,8 +95,7 @@ export function UmamiSection() {