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/routes/reader/+page.svelte | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

(limited to 'src/routes/reader/+page.svelte')

diff --git a/src/routes/reader/+page.svelte b/src/routes/reader/+page.svelte
index b6cce066..f279a58e 100644
--- a/src/routes/reader/+page.svelte
+++ b/src/routes/reader/+page.svelte
@@ -10,16 +10,22 @@ import {
 	Resource,
 } from "$lib/Reader/resource";
 import InputTemplate from "$lib/Tools/InputTemplate.svelte";
+import locale from "$stores/locale";
 
 let submission = "";
 
 $: resourceIdentity = identify(submission);
 </script>
 
-<InputTemplate field="Manga URL" bind:submission submitText="Read" preserveCase>
+<InputTemplate
+  field={$locale().reader?.mangaUrl ?? 'Manga URL'}
+  bind:submission
+  submitText={$locale().reader?.read ?? 'Read'}
+  preserveCase
+>
   {#if resourceIdentity}
     {#await fetchResource(submission)}
-      <Message message="Loading chapters ..." />
+      <Message message={$locale().reader?.loadingChapters} />
     {:then response}
       {#if response.ok}
         {#await decodeResource(response, submission) then data}
@@ -32,12 +38,12 @@ $: resourceIdentity = identify(submission);
           <Notice>{error}</Notice>
         {/await}
       {:else}
-        <Notice>Failed to fetch data</Notice>
+        <Notice>{$locale().reader?.fetchFailed}</Notice>
       {/if}
     {:catch}
-      <Notice>An unknown error has occurred.</Notice>
+      <Notice>{$locale().reader?.unknownError}</Notice>
     {/await}
   {:else}
-    <Notice>Invalid URL</Notice>
+    <Notice>{$locale().reader?.invalidUrl}</Notice>
   {/if}
 </InputTemplate>
-- 
cgit v1.2.3

