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/Schedule/Crunchyroll.svelte | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

(limited to 'src/lib/Schedule/Crunchyroll.svelte')

diff --git a/src/lib/Schedule/Crunchyroll.svelte b/src/lib/Schedule/Crunchyroll.svelte
index 1f5f121c..a3adeb60 100644
--- a/src/lib/Schedule/Crunchyroll.svelte
+++ b/src/lib/Schedule/Crunchyroll.svelte
@@ -1,6 +1,7 @@
 <script lang="ts">
 import Spacer from "$lib/Layout/Spacer.svelte";
 import crunchyroll from "$lib/Data/Static/crunchyroll.json";
+import locale from "$stores/locale";
 import "./container.css";
 
 interface CrunchyrollMedia<T = number | "soon" | "continuing"> {
@@ -71,7 +72,7 @@ const ordinalSuffix = (i: number) => {
 
   <div class="card day">
     <details open class="details-unstyled">
-      <summary>Coming soon</summary>
+      <summary>{$locale().schedule?.comingSoon}</summary>
 
       <ol>
         {#each soon as media}
@@ -85,7 +86,7 @@ const ordinalSuffix = (i: number) => {
 
   <div class="card day">
     <details open class="details-unstyled">
-      <summary>Continuing from previous season</summary>
+      <summary>{$locale().schedule?.continuingFromPreviousSeason}</summary>
 
       <ol>
         {#each continuing as media}
-- 
cgit v1.2.3

