aboutsummaryrefslogtreecommitdiff
path: root/src/lib/List
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/List')
-rw-r--r--src/lib/List/Anime/CleanAnimeList.svelte10
-rw-r--r--src/lib/List/Manga/CleanMangaList.svelte36
-rw-r--r--src/lib/List/Manga/MangaListTemplate.svelte7
-rw-r--r--src/lib/List/MediaRoulette.svelte34
4 files changed, 53 insertions, 34 deletions
diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte
index 42f4d933..5cb6cb1e 100644
--- a/src/lib/List/Anime/CleanAnimeList.svelte
+++ b/src/lib/List/Anime/CleanAnimeList.svelte
@@ -1,5 +1,6 @@
<script lang="ts">
import Spacer from "$lib/Layout/Spacer.svelte";
+import locale from "$stores/locale";
import settings from "$stores/settings";
import type { Media } from "$lib/Data/AniList/media";
@@ -250,7 +251,7 @@ const increment = (anime: Media, progress: number) => {
<button
class="small-button"
onclick={() => (showRoulette = true)}
- title="Pick a random anime to watch"
+ title={$locale().lists.actions?.pickRandomAnime}
>
Roulette
</button>
@@ -258,12 +259,13 @@ const increment = (anime: Media, progress: number) => {
</ListTitle>
{#if media.length === 0}
- No anime to display. <button onclick={() => (animeLists = cleanCache(user, $identity))}>
- Force refresh
+ {$locale().lists.empty?.anime}
+ <button onclick={() => (animeLists = cleanCache(user, $identity))}>
+ {$locale().lists.actions?.forceRefresh}
</button>
{:else if $settings.displayMediaListFilter && !disableFilter && hasDistinguishingList}
<select value={selectedList} onchange={updateSelectedList}>
- <option value="All">All</option>
+ <option value="All">{$locale().lists.actions?.all}</option>
{#each lists as list}
<option value={list}>{list}</option>
diff --git a/src/lib/List/Manga/CleanMangaList.svelte b/src/lib/List/Manga/CleanMangaList.svelte
index a52a9d7e..25e6d48f 100644
--- a/src/lib/List/Manga/CleanMangaList.svelte
+++ b/src/lib/List/Manga/CleanMangaList.svelte
@@ -145,7 +145,7 @@ const increment = (manga: Media) => {
{#if !dummy}
<button
class="small-button"
- title="Force a full refresh"
+ title={$locale().lists.actions?.forceFullRefresh}
onclick={cleanCache}
data-umami-event="Force Refresh Manga">Refresh</button
>
@@ -153,7 +153,7 @@ const increment = (manga: Media) => {
<button
class="small-button"
onclick={() => (showRoulette = true)}
- title="Pick a random manga to read"
+ title={$locale().lists.actions?.pickRandomManga}
>
Roulette
</button>
@@ -168,11 +168,13 @@ const increment = (manga: Media) => {
{:then status}
{#if status}
{#if status.status === 503}
- <a href="https://due.moe">due.moe</a>'s manga data source is currently down for maintenance.
- Please check back later.
+ {$locale().lists.errors?.mangaDataDown?.split("due.moe's")[0]}<a href="https://due.moe"
+ >due.moe</a
+ >{$locale().lists.errors?.mangaDataDown?.split("due.moe")[1]}
{:else if status.status !== 200}
- <a href="https://due.moe">due.moe</a>'s manga data source is currently unavailable. Please
- check back later.
+ {$locale().lists.errors?.mangaDataUnavailable?.split("due.moe's")[0]}<a
+ href="https://due.moe">due.moe</a
+ >{$locale().lists.errors?.mangaDataUnavailable?.split("due.moe")[1]}
{:else}
<RateLimitedError />
{/if}
@@ -180,8 +182,9 @@ const increment = (manga: Media) => {
<Skeleton card={false} count={1} height="0.9rem" list />
{/if}
{:catch}
- <a href="https://due.moe">due.moe</a>'s manga data source is currently unreachable. Please check
- back later.
+ {$locale().lists.errors?.mangaDataUnreachable?.split("due.moe's")[0]}<a href="https://due.moe"
+ >due.moe</a
+ >{$locale().lists.errors?.mangaDataUnreachable?.split("due.moe")[1]}
{/await}
{/if}
@@ -191,21 +194,24 @@ const increment = (manga: Media) => {
{/if}
<p>
- No manga to display. <button onclick={cleanCache} data-umami-event="Force Refresh No Manga"
- >Force refresh</button
+ {$locale().lists.empty?.manga}
+ <button onclick={cleanCache} data-umami-event="Force Refresh No Manga"
+ >{$locale().lists.actions?.forceRefresh}</button
>
</p>
<span>
- Don't read manga? <button
- onclick={() => ($settings.disableManga = true)}
- data-umami-event="Disable No Manga">Hide the manga panel</button
+ {$locale().lists.dontReadMangaPrefix}
+ <button onclick={() => ($settings.disableManga = true)} data-umami-event="Disable No Manga"
+ >{$locale().lists.hideMangaPanel}</button
>
- You can re-enable it later in the <a href={root('/settings')}>Settings</a>.
+ {$locale().lists.reenableInSettings?.split('Settings')[0]}<a href={root('/settings')}
+ >{$locale().navigation.settings}</a
+ >.
</span>
{:else if $settings.displayMediaListFilter && !disableFilter && hasDistinguishingList}
<select value={selectedList} onchange={updateSelectedList}>
- <option value="All">All</option>
+ <option value="All">{$locale().lists.actions?.all}</option>
{#each lists as list}
<option value={list}>{list}</option>
diff --git a/src/lib/List/Manga/MangaListTemplate.svelte b/src/lib/List/Manga/MangaListTemplate.svelte
index df894910..1bb53be1 100644
--- a/src/lib/List/Manga/MangaListTemplate.svelte
+++ b/src/lib/List/Manga/MangaListTemplate.svelte
@@ -18,6 +18,7 @@ import privilegedUser from "$lib/Utility/privilegedUser";
import identity from "$stores/identity";
import lastPruneTimes from "$stores/lastPruneTimes";
import locale from "$stores/locale";
+import { get } from "svelte/store";
import manga from "$stores/manga";
import revalidateManga from "$stores/revalidateManga";
import settings from "$stores/settings";
@@ -211,8 +212,10 @@ const cleanMedia = async (
if (refreshing) {
addNotification(
options({
- heading: "Manga",
- description: "Re-freshing manga data ...",
+ heading: get(locale)().notifications?.mangaHeading ?? "Manga",
+ description:
+ get(locale)().notifications?.mangaRefreshing ??
+ "Re-freshing manga data ...",
}),
);
}
diff --git a/src/lib/List/MediaRoulette.svelte b/src/lib/List/MediaRoulette.svelte
index 3fbc89d6..dc9a2269 100644
--- a/src/lib/List/MediaRoulette.svelte
+++ b/src/lib/List/MediaRoulette.svelte
@@ -3,6 +3,7 @@ import type { Media } from "$lib/Data/AniList/media";
import ParallaxImage from "$lib/Image/ParallaxImage.svelte";
import { outboundLink } from "$lib/Media/links";
import settings from "$stores/settings";
+import locale from "$stores/locale";
import { mediaTitle } from "./mediaTitle";
interface Props {
@@ -96,14 +97,16 @@ const handleOverlayClick = (e: MouseEvent) => {
}}
>
<div class="roulette-container card {isClosing ? 'fade-out' : 'fade-in'}">
- <button class="close-button" onclick={handleClose} aria-label="Close roulette">&times;</button>
+ <button class="close-button" onclick={handleClose} aria-label={$locale().lists.roulette?.closeAriaLabel}
+ >&times;</button
+ >
<h3 class="roulette-title">
- {type === 'anime' ? 'Watch' : 'Read'} Roulette
+ {type === 'anime' ? $locale().lists.roulette?.watchTitle : $locale().lists.roulette?.readTitle}
</h3>
{#if media.length === 0}
- <p>No media available for roulette.</p>
+ <p>{$locale().lists.roulette?.noMedia}</p>
{:else}
<div class="roulette-display" class:spinning={isSpinning} class:result={showResult}>
{#if currentMedia}
@@ -129,13 +132,18 @@ const handleOverlayClick = (e: MouseEvent) => {
target="_blank"
class="view-link"
>
- View on {$settings.displayOutboundLinksTo === 'anilist'
- ? 'AniList'
- : $settings.displayOutboundLinksTo === 'livechartme'
- ? 'LiveChart.me'
- : $settings.displayOutboundLinksTo === 'animeschedule'
- ? 'AnimeSchedule'
- : 'MyAnimeList'}
+ {$locale({
+ values: {
+ site:
+ $settings.displayOutboundLinksTo === 'anilist'
+ ? 'AniList'
+ : $settings.displayOutboundLinksTo === 'livechartme'
+ ? 'LiveChart.me'
+ : $settings.displayOutboundLinksTo === 'animeschedule'
+ ? 'AnimeSchedule'
+ : 'MyAnimeList'
+ }
+ }).lists.roulette?.viewOn}
</a>
{/if}
</div>
@@ -145,11 +153,11 @@ const handleOverlayClick = (e: MouseEvent) => {
<div class="roulette-actions">
{#if !isSpinning && !showResult}
- <button onclick={startRoulette}>Spin!</button>
+ <button onclick={startRoulette}>{$locale().lists.roulette?.spin}</button>
{:else if showResult}
- <button onclick={startRoulette}>Spin Again</button>
+ <button onclick={startRoulette}>{$locale().lists.roulette?.spinAgain}</button>
{:else}
- <button disabled>Spinning ...</button>
+ <button disabled>{$locale().lists.roulette?.spinning}</button>
{/if}
</div>
{/if}