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/Reader/Chapters/MangaDex.svelte | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

(limited to 'src/lib/Reader/Chapters/MangaDex.svelte')

diff --git a/src/lib/Reader/Chapters/MangaDex.svelte b/src/lib/Reader/Chapters/MangaDex.svelte
index 2bbf076f..8a6fe47c 100644
--- a/src/lib/Reader/Chapters/MangaDex.svelte
+++ b/src/lib/Reader/Chapters/MangaDex.svelte
@@ -1,4 +1,6 @@
 <script lang="ts">
+import locale from "$stores/locale";
+
 interface MangaDexChapter {
 	id: string;
 	attributes: {
@@ -19,16 +21,16 @@ export let data: MangaDexData;
   {#each data.data as chapter}
     <li>
       {#if chapter.attributes.volume}
-        Vol. {chapter.attributes.volume}
+        {$locale().reader?.vol} {chapter.attributes.volume}
       {/if}
-      Ch. {chapter.attributes.chapter}
+      {$locale().reader?.ch} {chapter.attributes.chapter}
       <span class="opaque">|</span>
       <a
         href={`https://mangadex.org/chapter/${chapter.id}`}
         target="_blank"
         rel="noopener noreferrer"
       >
-        {chapter.attributes.title || 'Read'}
+        {chapter.attributes.title || $locale().reader?.readFallback || 'Read'}
       </a>
     </li>
   {/each}
-- 
cgit v1.2.3

