diff options
Diffstat (limited to 'src/lib/Settings/Categories')
| -rw-r--r-- | src/lib/Settings/Categories/Attributions.svelte | 29 | ||||
| -rw-r--r-- | src/lib/Settings/Categories/Cache.svelte | 12 | ||||
| -rw-r--r-- | src/lib/Settings/Categories/Calculation.svelte | 35 | ||||
| -rw-r--r-- | src/lib/Settings/Categories/Debug.svelte | 9 | ||||
| -rw-r--r-- | src/lib/Settings/Categories/Display.svelte | 77 | ||||
| -rw-r--r-- | src/lib/Settings/Categories/RSSFeeds.svelte | 5 | ||||
| -rw-r--r-- | src/lib/Settings/Categories/SettingSync.svelte | 17 |
7 files changed, 109 insertions, 75 deletions
diff --git a/src/lib/Settings/Categories/Attributions.svelte b/src/lib/Settings/Categories/Attributions.svelte index ef78a0c1..131bd90a 100644 --- a/src/lib/Settings/Categories/Attributions.svelte +++ b/src/lib/Settings/Categories/Attributions.svelte @@ -1,20 +1,23 @@ <script> import Spacer from "$lib/Layout/Spacer.svelte"; import root from "$lib/Utility/root"; +import locale from "$stores/locale"; </script> <ul> <li> - <a href="https://anilist.co/" target="_blank">AniList</a>: Most data not explicity attributed - otherwise, excluding primary chapter and volume data, character birthday data, and subtitled - anime release data + <a href="https://anilist.co/" target="_blank">AniList</a>: {$locale().settings.attributions.generalData} </li> - <li><span id="mangadex">MangaDex</span>: <b>Only</b> non-native chapter and volume count data</li> <li> - <a href="https://seiga.nicovideo.jp/manga/" target="_blank">ニコニコ漫画</a>: Native chapter and - volume count data + <span id="mangadex">MangaDex</span>: <b>Only</b> + {$locale().settings.attributions.nonNativeChapter} + </li> + <li> + <a href="https://seiga.nicovideo.jp/manga/" target="_blank">ニコニコ漫画</a>: {$locale().settings.attributions.nativeChapter} + </li> + <li> + <a href="https://x.com/YDPFALION" target="_blank">YDPFa</a>: {$locale().settings.attributions.girlsBandCryIcons} </li> - <li><a href="https://x.com/YDPFALION" target="_blank">YDPFa</a>: Girls Band Cry Icon Set</li> <!-- <li> <a href="https://www.animecharactersdatabase.com/index.php" target="_blank"> Anime Characters Database @@ -38,20 +41,20 @@ import root from "$lib/Utility/root"; <Spacer /> <details open class="card-clear"> - <summary>Outbound Link Disclaimer</summary> + <summary>{$locale().settings.attributions.outboundDisclaimerTitle}</summary> <ol> <li> <a href={root('/')}>due.moe</a> - does not host or directly link to any less-than-legal anime or manga material and/or distribution - platforms. + {$locale().settings.attributions.outboundDisclaimerLine1?.replace('due.moe ', '')} </li> <li> <a href={root('/')}>due.moe</a> - is not affiliated with any of the above or below sites and services. + {$locale().settings.attributions.outboundDisclaimerLine2?.replace('due.moe ', '')} </li> <li> - At the moment, <a href={root('/')}>due.moe</a> only ever contains outbound links to the - following sites and services: + {$locale().settings.attributions.outboundDisclaimerLine3?.split('due.moe')[0]}<a + href={root('/')}>due.moe</a + >{$locale().settings.attributions.outboundDisclaimerLine3?.split('due.moe')[1]} <ul> <li><a href="https://anilist.co/">AniList.co</a></li> diff --git a/src/lib/Settings/Categories/Cache.svelte b/src/lib/Settings/Categories/Cache.svelte index 6af897c9..0df59db2 100644 --- a/src/lib/Settings/Categories/Cache.svelte +++ b/src/lib/Settings/Categories/Cache.svelte @@ -1,16 +1,16 @@ <script> import Spacer from "$lib/Layout/Spacer.svelte"; import settings from "$stores/settings"; +import locale from "$stores/locale"; </script> <small class="opaque"> - Clearing - <a href="https://due.moe">due.moe</a>'s site data will clear these caches too. + {$locale().settings.cache.clearingNote?.split('due.moe')[0]}<a href="https://due.moe">due.moe</a>{$locale().settings.cache.clearingNote?.split('due.moe')[1]} </small> <Spacer /> -Re-cache AniList media lists every +{$locale().settings.cache.recacheAnimeLabel} <input type="number" class="no-shadow" @@ -23,11 +23,11 @@ Re-cache AniList media lists every ($settings.cacheMinutes < 1 && ($settings.cacheMinutes = 1)) || ($settings.cacheMinutes > 60 && ($settings.cacheMinutes = 60))} /> -minutes +{$locale().settings.cache.minutes} <br /> -Re-cache manga data every +{$locale().settings.cache.recacheMangaLabel} <input type="number" class="no-shadow" @@ -40,4 +40,4 @@ Re-cache manga data every ($settings.cacheMangaMinutes < 5 && ($settings.cacheMangaMinutes = 5)) || ($settings.cacheMangaMinutes > 1440 && ($settings.cacheMangaMinutes = 1440))} /> -minutes +{$locale().settings.cache.minutes} diff --git a/src/lib/Settings/Categories/Calculation.svelte b/src/lib/Settings/Categories/Calculation.svelte index b4c76269..7106c266 100644 --- a/src/lib/Settings/Categories/Calculation.svelte +++ b/src/lib/Settings/Categories/Calculation.svelte @@ -45,15 +45,13 @@ import SettingHint from "../SettingHint.svelte"; text={$locale().settings.calculation.fields.hideOutOfDateVolumeWarning.title} > <SettingHint lineBreak> - Out-of-date volume warnings display an alert when there is a mismatch between the chapter - progress and number of volumes you have logged for a given title. + {$locale().settings.calculation.fields.hideOutOfDateVolumeWarning.hint1} <br /> - For example, an alert would be shown if you have tracked a manga up to Ch. 50 (Vol. 5), but have less - than 4 volumes logged. + {$locale().settings.calculation.fields.hideOutOfDateVolumeWarning.hint2} <br /> - Disabling this option speeds up refresh times for manga lists. + {$locale().settings.calculation.fields.hideOutOfDateVolumeWarning.speedupHint} </SettingHint> </SettingCheckboxToggle> @@ -65,10 +63,8 @@ import SettingHint from "../SettingHint.svelte"; invert > <SettingHint lineBreak> - Smart chapter count calculation uses statistical methods to estimate the number of chapters - available for a given title based on user submitted progress.<br />Disabling this setting will - disable light novel chapter count reporting and will disable smart chapter count calculation for - titles which you have higher progress than officially reported. + {$locale().settings.calculation.fields.smartChapterCountEstimation.hint1}<br + />{$locale().settings.calculation.fields.smartChapterCountEstimation.hint2} </SettingHint> </SettingCheckboxToggle> @@ -76,15 +72,22 @@ import SettingHint from "../SettingHint.svelte"; <br /> <select bind:value={$settings.calculateGuessMethod} onchange={pruneAllManga}> - <option value="mode">Mode (fast, moderate to low accuracy)</option> - <option value="median">Median (moderate speed, high accuracy, recommended)</option> - <option value="iqr_median">Interquartile Range with Median (slower, high accuracy)</option> - <option value="iqr_mode">Interquartile Range with Mode (slower, high accuracy)</option> + <option value="mode" + >{$locale().settings.calculation.fields.smartChapterMethod?.options?.mode}</option + > + <option value="median" + >{$locale().settings.calculation.fields.smartChapterMethod?.options?.median}</option + > + <option value="iqr_median" + >{$locale().settings.calculation.fields.smartChapterMethod?.options?.iqrMedian}</option + > + <option value="iqr_mode" + >{$locale().settings.calculation.fields.smartChapterMethod?.options?.iqrMode}</option + > </select> - Smart chapter count calculation method + {$locale().settings.calculation.fields.smartChapterMethod?.label} <SettingHint lineBreak> - No chapter count estimation method will be 100% accurate. Since estimated media requires scores - derived from user submitted progress, high (or low) false-reports skew the data. + {$locale().settings.calculation.fields.smartChapterMethod?.accuracyDisclaimer} </SettingHint> {/if} diff --git a/src/lib/Settings/Categories/Debug.svelte b/src/lib/Settings/Categories/Debug.svelte index 6da4b6ae..a2cb35c5 100644 --- a/src/lib/Settings/Categories/Debug.svelte +++ b/src/lib/Settings/Categories/Debug.svelte @@ -8,6 +8,7 @@ import locale from "$stores/locale"; import SettingCheckboxToggle from "../SettingCheckboxToggle.svelte"; import localforage from "localforage"; import { invalidateListCaches } from "$lib/Media/invalidate"; +import { get } from "svelte/store"; </script> <SettingCheckboxToggle setting="debugDummyLists" text={$locale().debug.dummyLists} /> @@ -33,7 +34,7 @@ import { invalidateListCaches } from "$lib/Media/invalidate"; settings.reset(); addNotification( options({ - heading: 'All settings successfully reset' + heading: get(locale)().notifications?.settingsReset ?? 'All settings successfully reset' }) ); }} @@ -51,10 +52,10 @@ import { invalidateListCaches } from "$lib/Media/invalidate"; await localforage.clear(); addNotification( options({ - heading: 'local database successfully cleared' + heading: get(locale)().notifications?.localDatabaseCleared ?? 'local database successfully cleared' }) ); - }}>{$locale().debug.clearLocalStorage.title} local database</button + }}>{$locale().debug.clearLocalStorage.title}</button > <SettingHint lineBreak> {$locale().debug.clearLocalStorage.hint1} @@ -64,5 +65,5 @@ import { invalidateListCaches } from "$lib/Media/invalidate"; <Spacer /> -Custom CSS +{$locale().settings.debug.customCSS} <textarea bind:value={$settings.displayCustomCSS}></textarea> diff --git a/src/lib/Settings/Categories/Display.svelte b/src/lib/Settings/Categories/Display.svelte index 7de57c5a..80f21fde 100644 --- a/src/lib/Settings/Categories/Display.svelte +++ b/src/lib/Settings/Categories/Display.svelte @@ -221,10 +221,9 @@ const onHelperChange = () => { }} > <SettingHint lineBreak> - Periodically check for and send recent AniList notifications as native platform notifications + {$locale().settings.display.categories.motionAndAccessibility.fields.aniListNotificationsHint1} <br /> - This may be useful for users who have installed due.moe as a PWA or are using due.moe on a mobile - device, as AniList has no official mobile app, and the AniList website does not send push notifications. + {$locale().settings.display.categories.motionAndAccessibility.fields.aniListNotificationsHint2} </SettingHint> </SettingCheckboxToggle> @@ -265,12 +264,20 @@ const onHelperChange = () => { <Spacer /> -<b>Show lists with media covers instead of text</b><br /> -<SettingCheckboxToggle setting="displayCoverModeAnime" text="Anime" lineBreak={false} /> -<SettingCheckboxToggle setting="displayCoverModeManga" text="Manga" lineBreak={false} /> +<b>{$locale().settings.display.categories.coverModeTitle}</b><br /> +<SettingCheckboxToggle + setting="displayCoverModeAnime" + text={$locale().settings.media.anime} + lineBreak={false} +/> +<SettingCheckboxToggle + setting="displayCoverModeManga" + text={$locale().settings.media.manga} + lineBreak={false} +/> <SettingCheckboxToggle setting="displayScheduleListMode" - text="Subtitle Schedule" + text={$locale().navigation.subtitleSchedule} lineBreak={false} invert /> @@ -293,7 +300,7 @@ const onHelperChange = () => { $settings.displayCoverWidth < 50 && ($settings.displayCoverWidth = 50); }} /> - Cover width (px) + {$locale().settings.display.categories.coverWidthLabel} <br /> {:else} <br /> @@ -301,22 +308,34 @@ const onHelperChange = () => { <Spacer /> -<b>List sort & filter</b><br /> +<b>{$locale().settings.display.categories.listSortFilterTitle}</b><br /> <select bind:value={$settings.displayAnimeSort}> - <option value="time_remaining">Time Remaining Until Next Airing Episode</option> - <option value="difference">Difference Between Progress and Next Airing Episode</option> - <option value="start_date">Start Date</option> - <option value="end_date">End Date</option> + <option value="time_remaining" + >{$locale().settings.display.categories.sortOptions?.timeRemaining}</option + > + <option value="difference" + >{$locale().settings.display.categories.sortOptions?.difference}</option + > + <option value="start_date">{$locale().settings.display.categories.sortOptions?.startDate}</option> + <option value="end_date">{$locale().settings.display.categories.sortOptions?.endDate}</option> </select> -Anime sort order +{$locale().settings.display.categories.animeSortOrder} <br /> -<SettingCheckboxToggle setting="displayReverseSort" text="Reverse anime sort order" /> -<SettingCheckboxToggle setting="displayMediaListFilter" text="Enable media list filter" /> +<SettingCheckboxToggle + setting="displayReverseSort" + text={$locale().settings.display.categories.reverseSortOrder} +/> +<SettingCheckboxToggle + setting="displayMediaListFilter" + text={$locale().settings.display.categories.mediaListFilter} +/> <br /> -<SettingCheckboxToggle setting="displayMediaRoulette" text="Enable media roulette"> +<SettingCheckboxToggle + setting="displayMediaRoulette" + text={$locale().settings.display.categories.mediaRoulette} +> <SettingHint lineBreak> - Adds a roulette button to due and completed media lists to randomly pick something to watch or - read + {$locale().settings.display.categories.mediaRouletteHint} </SettingHint> </SettingCheckboxToggle> <br /> @@ -324,30 +343,36 @@ Anime sort order <b>{$locale().settings.display.categories.media.title}</b><br /> <SettingCheckboxToggle setting="displayHoverCover" - text="Show media cover when hovering on supported media titles" + text={$locale().settings.display.categories.media.fields.hoverCover} +/> +<SettingCheckboxToggle + setting="displaySocialButton" + text={$locale().settings.display.categories.media.fields.socialButton} +/> +<SettingCheckboxToggle + setting="displayBlurAdultContent" + text={$locale().settings.display.categories.media.fields.blurAdult} /> -<SettingCheckboxToggle setting="displaySocialButton" text="Show social tab shortcut for media" /> -<SettingCheckboxToggle setting="displayBlurAdultContent" text="Blur NSFW media covers" /> <SettingCheckboxToggle setting="displayCopyMediaTitleNotLink" - text="Copy media title instead of linking" + text={$locale().settings.display.categories.media.fields.copyTitleNotLink} /> <SettingCheckboxToggle setting="displayTotalDueEpisodes" - text="Display total number of due episodes instead of due media count" + text={$locale().settings.display.categories.media.fields.totalDueEpisodes} lineBreak={!$settings.displayTotalDueEpisodes} /> {#if $settings.displayTotalDueEpisodes} <SettingCheckboxToggle setting="displayTotalEpisodes" - text="Apply to all media lists, not just due media lists" + text={$locale().settings.display.categories.media.fields.totalEpisodes} /> {/if} <SettingCheckboxToggle setting="displayScheduleFilterList" - text="Only display media on your media lists in Subtitle Schedule" + text={$locale().settings.display.categories.media.fields.scheduleFilterList} id="schedule-filter-list" /> <select bind:value={$settings.displayTitleFormat}> diff --git a/src/lib/Settings/Categories/RSSFeeds.svelte b/src/lib/Settings/Categories/RSSFeeds.svelte index fee411f4..08ba7292 100644 --- a/src/lib/Settings/Categories/RSSFeeds.svelte +++ b/src/lib/Settings/Categories/RSSFeeds.svelte @@ -5,6 +5,7 @@ import { appOrigin } from "$lib/Utility/appOrigin"; import locale from "$stores/locale"; import SettingHint from "../SettingHint.svelte"; import tooltip from "$lib/Tooltip/tooltip"; +import { get } from "svelte/store"; export let user: { accessToken: string; refreshToken: string }; </script> @@ -13,7 +14,7 @@ export let user: { accessToken: string; refreshToken: string }; onclick={() => { addNotification( options({ - heading: 'RSS feed URL copied to clipboard' + heading: get(locale)().notifications?.rssCopied ?? 'RSS feed URL copied to clipboard' }) ); navigator.clipboard.writeText( @@ -23,7 +24,7 @@ export let user: { accessToken: string; refreshToken: string }; > {$locale().settings.rssFeeds.buttons.copyToClipboard} </button> -Your AniList notifications RSS feed URL +{$locale().settings.rssFeeds.feedUrlLabel} <SettingHint lineBreak> This <a href={'#'} diff --git a/src/lib/Settings/Categories/SettingSync.svelte b/src/lib/Settings/Categories/SettingSync.svelte index 867b2b47..dd19db49 100644 --- a/src/lib/Settings/Categories/SettingSync.svelte +++ b/src/lib/Settings/Categories/SettingSync.svelte @@ -8,6 +8,7 @@ import { addNotification } from "$lib/Notification/store"; import SettingHint from "../SettingHint.svelte"; import locale from "$stores/locale"; import settingsSyncTimes from "$stores/settingsSyncTimes"; +import { get } from "svelte/store"; </script> {#if !$settings.settingsSync} @@ -23,7 +24,7 @@ import settingsSyncTimes from "$stores/settingsSyncTimes"; addNotification( options({ - heading: 'Pulled remote configuration' + heading: get(locale)().notifications?.pulledRemote ?? 'Pulled remote configuration' }) ); } else { @@ -35,7 +36,7 @@ import settingsSyncTimes from "$stores/settingsSyncTimes"; if (response.ok) addNotification( options({ - heading: 'Created remote configuration' + heading: get(locale)().notifications?.createdRemote ?? 'Created remote configuration' }) ); }); @@ -63,8 +64,8 @@ import settingsSyncTimes from "$stores/settingsSyncTimes"; if (response.ok) addNotification( options({ - heading: 'Settings Sync', - description: 'Pushed local configuration to remote' + heading: get(locale)().settings.settingsSync.title, + description: get(locale)().notifications?.pushedRemote ?? 'Pushed local configuration to remote' }) ); }); @@ -82,7 +83,7 @@ import settingsSyncTimes from "$stores/settingsSyncTimes"; addNotification( options({ - heading: 'Settings sync disabled' + heading: get(locale)().notifications?.syncDisabled ?? 'Settings sync disabled' }) ); }} @@ -99,7 +100,7 @@ import settingsSyncTimes from "$stores/settingsSyncTimes"; addNotification( options({ - heading: 'Remote configuration deleted and settings sync disabled' + heading: get(locale)().notifications?.remoteDeleted ?? 'Remote configuration deleted and settings sync disabled' }) ); } @@ -111,7 +112,7 @@ import settingsSyncTimes from "$stores/settingsSyncTimes"; <Spacer /> - <b>Last Push</b>: {$locale().dateFormatter($settingsSyncTimes.lastPush)} + <b>{$locale().settings.settingsSync.lastPush}</b>: {$locale().dateFormatter($settingsSyncTimes.lastPush)} <br /> - <b>Last Pull</b>: {$locale().dateFormatter($settingsSyncTimes.lastPull)} + <b>{$locale().settings.settingsSync.lastPull}</b>: {$locale().dateFormatter($settingsSyncTimes.lastPull)} {/if} |