mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-11 22:02:16 +00:00
refactor(i18n): ask the catalogue for a sentence in one helper
`t()` answers a missing key with the key, so "does this code have a sentence" was a comparison written inline at every site that wanted a code's sentence or a fallback, twenty-odd times in several spellings. translateOrNull, translateCodeOrNull and translateCode in src/lib/i18n/translate-code.ts now hold that probe, every site uses them, and a guard refuses the inline comparison anywhere else.
This commit is contained in:
1 parent
2f7f04ecab
commit
6e54f33901
32 files changed
+291
-119
No files matched your search
@@ -30,6 +30,7 @@ import {
|
||||
useSyncOutcomeMessage,
|
||||
type SyncOutcomeState,
|
||||
} from "./sync-outcome";
|
||||
import { translateCode } from "@/lib/i18n/translate-code";
|
||||
|
||||
export interface ProviderSync {
|
||||
syncing: boolean;
|
||||
@@ -151,11 +152,12 @@ export function ActionResultLines({
|
||||
const { t } = useTranslations();
|
||||
|
||||
function describeError(errorCode: string): string {
|
||||
const key = `settings.testConnection.errors.${errorCode}`;
|
||||
const translated = t(key);
|
||||
return translated === key
|
||||
? t("settings.testConnection.errors.generic")
|
||||
: translated;
|
||||
return translateCode(
|
||||
t,
|
||||
"settings.testConnection.errors",
|
||||
errorCode,
|
||||
"settings.testConnection.errors.generic",
|
||||
);
|
||||
}
|
||||
|
||||
const busy = sync?.syncing || test?.testing;
|
||||
|
||||
Reference in new issue
Block a user