From 56a7a7851b09cb30a5cd543c8cb4f926109b4290 Mon Sep 17 00:00:00 2001
From: Fuwn <contact@fuwn.net>
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/lib/Loading/Message.svelte | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

(limited to 'src/lib/Loading/Message.svelte')

diff --git a/src/lib/Loading/Message.svelte b/src/lib/Loading/Message.svelte
index 36f889d2..4aedbe26 100644
--- a/src/lib/Loading/Message.svelte
+++ b/src/lib/Loading/Message.svelte
@@ -3,6 +3,7 @@ import Ellipsis from "./Ellipsis.svelte";
 import Ripple from "./Ripple.svelte";
 import Grid from "./Grid.svelte";
 import Popup from "$lib/Layout/Popup.svelte";
+import locale from "$stores/locale";
 
 export let message: string | undefined = undefined;
 export let loader: "ellipsis" | "ripple" | "grid" = "ellipsis";
@@ -32,7 +33,9 @@ export let fullscreen = true;
       <slot />
 
       {#if withReload}
-        Please <a href={'#'} onclick={() => location.reload()}>try again</a> later.
+        {$locale().hololive?.pleasePrefix ?? 'Please'}
+        <a href={'#'} onclick={() => location.reload()}>{$locale().common?.tryAgain ?? 'try again'}</a>
+        {$locale().hololive?.laterSuffix ?? 'later.'}
       {/if}
     {/if}
   </div>
-- 
cgit v1.2.3

