diff --git a/src/components/settings/import-panel/apple-health-import-card.tsx b/src/components/settings/import-panel/apple-health-import-card.tsx index cbd26db28..83afdf568 100644 --- a/src/components/settings/import-panel/apple-health-import-card.tsx +++ b/src/components/settings/import-panel/apple-health-import-card.tsx @@ -276,10 +276,13 @@ export function AppleHealthImportCard() { data-testid="import-apple-health-ecg-result" className="text-muted-foreground text-xs" > - ECGs: {ecg?.discovered ?? 0} discovered, {ecg?.imported ?? 0}{" "} - imported, {ecg?.updated ?? 0} updated, {ecg?.skipped ?? 0} skipped,{" "} - {ecg?.failed ?? 0} failed. ECG failures do not discard supported - records imported from export.xml. + {t("settings.sections.export.import.appleHealth.ecgResult", { + discovered: ecg?.discovered ?? 0, + imported: ecg?.imported ?? 0, + updated: ecg?.updated ?? 0, + skipped: ecg?.skipped ?? 0, + failed: ecg?.failed ?? 0, + })}

)} {isDone && (status?.result?.cumulativeEstimates?.days ?? 0) > 0 && ( diff --git a/src/components/settings/integrations/nightscout-card.tsx b/src/components/settings/integrations/nightscout-card.tsx index 3008bed95..a62966071 100644 --- a/src/components/settings/integrations/nightscout-card.tsx +++ b/src/components/settings/integrations/nightscout-card.tsx @@ -229,10 +229,10 @@ export function NightscoutCard({ className="border-warning/30 bg-warning/10 space-y-1 rounded-md border px-3 py-2" >

- Private Nightscout access requires server operator approval. + {t("settings.nightscoutPrivateOperatorTitle")}

- Ask your server operator to approve this exact Nightscout origin. + {t("settings.nightscoutPrivateOperatorDescription")}

)} diff --git a/src/components/settings/security-section/passkey-list-section.tsx b/src/components/settings/security-section/passkey-list-section.tsx index 20232f55d..538bf5f4b 100644 --- a/src/components/settings/security-section/passkey-list-section.tsx +++ b/src/components/settings/security-section/passkey-list-section.tsx @@ -77,8 +77,7 @@ export function PasskeyListSection({ const [editingId, setEditingId] = useState(null); const [editName, setEditName] = useState(""); const [reauthOpen, setReauthOpen] = useState(false); - const [reauthMethod, setReauthMethod] = - useState("password"); + const [reauthMethod, setReauthMethod] = useState("password"); const [reauthSecret, setReauthSecret] = useState(""); const { data: passkeys } = useQuery({ @@ -361,23 +360,25 @@ export function PasskeyListSection({ - Confirm it's you + + {t("settings.passkeyReauth.title")} + - Verify an existing sign-in method before adding a new passkey. + {t("settings.passkeyReauth.description")}
{( [ - ["password", "Password"], - ["totp", "Authenticator code"], - ["passkey", "Passkey"], - ["webauthn", "Security key"], + ["password", t("settings.passkeyReauth.methods.password")], + ["totp", t("settings.passkeyReauth.methods.totp")], + ["passkey", t("settings.passkeyReauth.methods.passkey")], + ["webauthn", t("settings.passkeyReauth.methods.webauthn")], ] satisfies Array<[ReauthMethod, string]> ).map(([method, label]) => (