diff options
| author | Fuwn <[email protected]> | 2026-05-24 13:22:34 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-05-24 13:22:34 +0000 |
| commit | 56a7a7851b09cb30a5cd543c8cb4f926109b4290 (patch) | |
| tree | a620f908405fa48fd601580c5a48432831ec5c33 /src/lib/Home/HeadTitle.svelte | |
| parent | fix(layout): preserve list panel when clicking action buttons in summary (diff) | |
| download | due.moe-56a7a7851b09cb30a5cd543c8cb4f926109b4290.tar.xz due.moe-56a7a7851b09cb30a5cd543c8cb4f926109b4290.zip | |
refactor(locale): move hardcoded UI strings into english locale
Adds optional namespaces (common, errors, commandPalette, headTitle,
notifications, schedule, events, home, reader, routes, badgePreview,
badgeWall) and extends existing ones (settings.*, lists.*, tools.*,
user.*, hololive.*) on the Locale interface. New fields are optional
so japanese.ts can omit them; svelte-i18n's fallbackLocale handles
the runtime miss.
HeadTitle gains an optional routeKey prop for type-safe lookup.
defaultActions becomes a factory so the command palette re-reads
locale on language toggle. The existing JP feedback translation
in routes/settings is preserved via japanese.ts.
Out of scope (kept hardcoded): service-worker.ts, app.html,
Landing*.svelte, tools.ts registry, Easter Event 2025 pages.
Diffstat (limited to 'src/lib/Home/HeadTitle.svelte')
| -rw-r--r-- | src/lib/Home/HeadTitle.svelte | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/lib/Home/HeadTitle.svelte b/src/lib/Home/HeadTitle.svelte index 0759943f..73cf3e3d 100644 --- a/src/lib/Home/HeadTitle.svelte +++ b/src/lib/Home/HeadTitle.svelte @@ -1,9 +1,24 @@ <script lang="ts"> import { siteUrl } from "$lib/Utility/appOrigin"; +import locale from "$stores/locale"; +import type { Locale } from "$lib/Locale/layout"; -let { route = undefined, path = "/" }: { route?: string; path?: string } = - $props(); -const title = $derived((route ? `${route} • ` : "") + "due.moe"); +type HeadTitleKey = keyof NonNullable<Locale["headTitle"]>; + +let { + route = undefined, + routeKey = undefined, + path = "/", +}: { + route?: string; + routeKey?: HeadTitleKey; + path?: string; +} = $props(); + +const resolved = $derived( + routeKey ? ($locale().headTitle?.[routeKey] ?? routeKey) : route, +); +const title = $derived((resolved ? `${resolved} • ` : "") + "due.moe"); </script> <svelte:head> |