From 56a7a7851b09cb30a5cd543c8cb4f926109b4290 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sun, 24 May 2026 13:22:34 +0000 Subject: 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. --- src/routes/tools/+page.svelte | 7 ++++--- src/routes/tools/[tool]/+page.svelte | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'src/routes/tools') diff --git a/src/routes/tools/+page.svelte b/src/routes/tools/+page.svelte index 572f4fc5..3589fa9f 100644 --- a/src/routes/tools/+page.svelte +++ b/src/routes/tools/+page.svelte @@ -4,6 +4,7 @@ import HeadTitle from "$lib/Home/HeadTitle.svelte"; import Picker from "$lib/Tools/Picker.svelte"; import { tools } from "$lib/Tools/tools.js"; import root from "$lib/Utility/root"; +import locale from "$stores/locale"; let tool = "default"; @@ -36,9 +37,9 @@ let tool = "default";
- Have any requests for cool tools that you think others might find useful? Send a private message - to - @fuwn on AniList! + {$locale().routes?.toolsFeedbackPrefix} + @fuwn + {$locale().routes?.toolsFeedbackSuffix}
diff --git a/src/routes/tools/[tool]/+page.svelte b/src/routes/tools/[tool]/+page.svelte index ff764add..b74952a5 100644 --- a/src/routes/tools/[tool]/+page.svelte +++ b/src/routes/tools/[tool]/+page.svelte @@ -20,6 +20,7 @@ import Popup from "$lib/Layout/Popup.svelte"; import SequelCatcher from "$lib/Tools/SequelCatcher/Tool.svelte"; import Tracker from "$lib/Tools/Tracker/Tool.svelte"; import BirthdaysTemplate from "$lib/Tools/BirthdaysTemplate.svelte"; +import locale from "$stores/locale"; import type { PageData } from "./$types"; export let data: PageData; @@ -38,15 +39,15 @@ $: if (tool === "girls") goto(root("/girls")); {#if !Object.keys(tools).includes(tool)} - +

- Tool "{tool}" not found + {$locale().errors?.toolNotFoundPrefix}{tool}{$locale().errors?.toolNotFoundSuffix}

- Did you mean " (tool = suggestion)} style={suggestion === '...' ? 'pointer-events: none; color: inherit;' : ''} -- cgit v1.2.3