aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Error/RateLimited.svelte
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-05-24 13:22:34 +0000
committerFuwn <[email protected]>2026-05-24 13:22:34 +0000
commit56a7a7851b09cb30a5cd543c8cb4f926109b4290 (patch)
treea620f908405fa48fd601580c5a48432831ec5c33 /src/lib/Error/RateLimited.svelte
parentfix(layout): preserve list panel when clicking action buttons in summary (diff)
downloaddue.moe-56a7a7851b09cb30a5cd543c8cb4f926109b4290.tar.xz
due.moe-56a7a7851b09cb30a5cd543c8cb4f926109b4290.zip
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.
Diffstat (limited to 'src/lib/Error/RateLimited.svelte')
-rw-r--r--src/lib/Error/RateLimited.svelte31
1 files changed, 19 insertions, 12 deletions
diff --git a/src/lib/Error/RateLimited.svelte b/src/lib/Error/RateLimited.svelte
index 2a79efb6..890c4d20 100644
--- a/src/lib/Error/RateLimited.svelte
+++ b/src/lib/Error/RateLimited.svelte
@@ -1,5 +1,6 @@
<script lang="ts">
import Spacer from "$lib/Layout/Spacer.svelte";
+import locale from "$stores/locale";
export let type = "Media";
export let loginSessionError = true;
export let contact = true;
@@ -13,15 +14,18 @@ export let might = true;
<ul>
<li>
<p>
- {type} could not be loaded. You{might ? ' might' : ''} have been rate-limited. {#if !might}
- Try again in one minute.
+ {type}
+ {might
+ ? $locale().errors?.rateLimited?.notLoadedMight
+ : $locale().errors?.rateLimited?.notLoadedDefinitely}
+ {#if !might}
+ {$locale().errors?.rateLimited?.tryAgainOneMinute}
{/if}
</p>
{#if loginSessionError}
<p>
- Your login session may have expired. Try logging out and logging back in, or try again
- in a few minutes.
+ {$locale().errors?.rateLimited?.sessionExpired}
</p>
{/if}
@@ -30,22 +34,25 @@ export let might = true;
{#if contact}
<Spacer />
- If the problem persists, please contact
- <a href="https://anilist.co/user/fuwn" target="_blank">@fuwn</a> on AniList.
+ {$locale().errors?.rateLimited?.contactSupport?.split('@fuwn')[0]}
+ <a href="https://anilist.co/user/fuwn" target="_blank">@fuwn</a>{$locale().errors?.rateLimited?.contactSupport?.split('@fuwn')[1]}
{/if}
</li>
</ul>
{:else}
<p>
- {type} could not be loaded. You{might ? ' might' : ''} have been rate-limited. {#if !might}
- Try again in one minute.
+ {type}
+ {might
+ ? $locale().errors?.rateLimited?.notLoadedMight
+ : $locale().errors?.rateLimited?.notLoadedDefinitely}
+ {#if !might}
+ {$locale().errors?.rateLimited?.tryAgainOneMinute}
{/if}
</p>
{#if loginSessionError}
<p>
- Your login session may have expired. Try logging out and logging back in, or try again in a
- few minutes.
+ {$locale().errors?.rateLimited?.sessionExpired}
</p>
{/if}
@@ -54,8 +61,8 @@ export let might = true;
{#if contact}
<Spacer />
- If the problem persists, please contact
- <a href="https://anilist.co/user/fuwn" target="_blank">@fuwn</a> on AniList.
+ {$locale().errors?.rateLimited?.contactSupport?.split('@fuwn')[0]}
+ <a href="https://anilist.co/user/fuwn" target="_blank">@fuwn</a>{$locale().errors?.rateLimited?.contactSupport?.split('@fuwn')[1]}
{/if}
{/if}
</div>