mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-14 14:40:52 +00:00
Six touch-disjoint waves landed on develop before this release: - W1-KNIP — exports/types tiers flipped to enforcing-mode on main; 35 unused exports + 52 unused types triaged to 0/0; shadcn surface + zod-infer contract types scoped via knip.json ignore-block. - W2-ZOD-MULTI-ISSUE — `returnAllZodIssues` shared helper + `/api/dashboard/widgets` 422 now returns every Zod issue + worker audit-ledger breadcrumb. 41 sibling routes documented for v1.4.43. - W3-QUERYKEY-LONGTAIL — 40 settings/medications/admin/hooks files migrated to the queryKeys factory; 9 new factory entries; ESLint rule + test-guard scope extended in lockstep. - W4-ARCH-HYGIENE — BERLIN_DAY_FORMATTER consolidated across nine sites (seven status helpers + bucket-series + bp-in-target); Suspense double-comment consolidated; doctor-report sanitiser regex rewritten to escape-form so diffs are reviewable; pr-detection- worker soft-delete filter; offhost-backup DR-intent comment. - W5-IOS-WORKOUTS — `dedupeWorkoutBatch` write-time cross-source dedup helper for the v1.5 iOS HealthKit observer ingest; dashboard tile-strip placeholder parity with the live TrendCard chrome. - W6-WITHINGS-OFF + ENV-CHECK — Withings off-response classifier (transient/reauth/persistent) + WithingsApiError typed throw + the `pnpm check-env` CLI. APNs `allOrNone: true` closes the AP-2 silent-disable gap the wave was conceived to close. No migration, no env-var change, no API contract break for iOS v0.5.4. The new `/api/dashboard/widgets` 422 envelope is additively extended. pnpm test --run green at 4815 passing / 1 skipped. pnpm typecheck, pnpm lint, pnpm knip (no --include flag) green.
27 lines
830 B
TypeScript
27 lines
830 B
TypeScript
export const locales = ["de", "en", "fr", "es", "it", "pl"] as const;
|
|
export type Locale = (typeof locales)[number];
|
|
|
|
export const defaultLocale: Locale = "en";
|
|
|
|
export const localeLabels: Record<Locale, string> = {
|
|
de: "Deutsch",
|
|
en: "English",
|
|
fr: "Français",
|
|
es: "Español",
|
|
it: "Italiano",
|
|
pl: "Polski",
|
|
};
|
|
|
|
/**
|
|
* v1.4.25 W9e — locales actively maintained by the project owner.
|
|
* Locales outside this set are AI-initial translations and surface a
|
|
* <MaintainershipBanner> notice at the top of the auth shell so users
|
|
* know to expect rough edges and where to contribute fixes. Promoting
|
|
* a locale here turns the banner off.
|
|
*/
|
|
const MAINTAINED_LOCALES: ReadonlySet<Locale> = new Set(["de", "en"]);
|
|
|
|
export function isMaintainedLocale(locale: Locale): boolean {
|
|
return MAINTAINED_LOCALES.has(locale);
|
|
}
|