diff options
| author | Fuwn <[email protected]> | 2024-10-09 00:41:20 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-10-09 00:41:43 -0700 |
| commit | 998b63a35256ac985a5a2714dd1ca451af4dfd8a (patch) | |
| tree | 50796121a9d5ab0330fdc5d7e098bda2860d9726 /src/lib/Locale | |
| parent | feat(graphql): add badgeCount field (diff) | |
| download | due.moe-998b63a35256ac985a5a2714dd1ca451af4dfd8a.tar.xz due.moe-998b63a35256ac985a5a2714dd1ca451af4dfd8a.zip | |
chore(prettier): use spaces instead of tabs
Diffstat (limited to 'src/lib/Locale')
| -rw-r--r-- | src/lib/Locale/english.ts | 628 | ||||
| -rw-r--r-- | src/lib/Locale/japanese.ts | 638 | ||||
| -rw-r--r-- | src/lib/Locale/layout.ts | 574 |
3 files changed, 920 insertions, 920 deletions
diff --git a/src/lib/Locale/english.ts b/src/lib/Locale/english.ts index 0b172359..c9c2e253 100644 --- a/src/lib/Locale/english.ts +++ b/src/lib/Locale/english.ts @@ -3,320 +3,320 @@ import { get } from 'svelte/store'; import type { Locale } from './layout'; const English: Locale = { - navigation: { - home: 'Home', - completed: 'Completed', - subtitleSchedule: 'Subtitle Schedule', - newReleases: 'New Releases', - tools: 'Tools', - settings: 'Settings', - profile: 'Profile', - logIn: 'Log in with AniList', - logOut: 'Log out', - schedule: 'Schedule', - hololive: 'hololive Schedule', - myProfile: 'My Profile', - myBadgeWall: 'My Badge Wall' - }, - settings: { - fields: { - notice: 'Notice:' - }, - tooltips: { - author: 'Author of due.moe' - }, - rssFeeds: { - title: 'RSS Feeds', - buttons: { - copyToClipboard: 'Copy to clipboard' - }, - tooltips: { - rss: 'Web feed data format' - } - }, - display: { - title: 'Display', - categories: { - media: { - title: 'Media', - fields: { - outboundLinks: { - title: 'Outbound links', - hint: 'If LiveChart.me or AnimeSchedule is chosen, manga links will default to AniList.' - }, - mediaTitleFormat: { - title: 'Media title format', - options: { - english: 'English', - romaji: 'Romaji', - native: 'Native' - }, - fields: { - showFurigana: 'Show furigana' - } - }, - sortBy: { - title: 'Sort anime by difference between last watched and next episode', - hint: 'By default, anime are sorted by the number of days left until the next episode airs.' - } - } - }, - dateAndTime: { - title: 'Date & Time', - fields: { - disableLastActivityWarning: 'Disable last activity warning', - rightAlignCountdown: 'Align anime episode countdown to the right', - use24HourTime: 'Use 24-hour time format for episode countdown', - nativeEpisodeCountdown: 'Show episode countdown in native release date & time', - abbreviateCountdown: 'Abbreviate episode countdown date & time units' - } - }, - motionAndAccessibility: { - title: 'Motion & Accessibility', - fields: { - disablePageTransitionAnimations: 'Disable page transition animations', - disableNotifications: 'Disable verbose site notifications', - enableAniListNotifications: 'Enable AniList notifications', - limitPanelAreaToScreenHeight: 'Limit panel area to screen height', - interfaceLanguage: 'Interface language' - } - }, - dataSaver: 'Data Saver', - collapsePanelsByDefault: 'Collapse panels by default', - hidePanels: 'Hide panels', - includeAdditionalMedia: 'Include additional media', - helper: { - title: 'Helper', - options: { - kaede: 'Kaede', - mai: 'Mai', - nodoka: 'Nodoka', - rio: 'Rio', - sakuta: 'Sakuta', - shouko: 'Shouko', - tomoe: 'Tomoe', - random: 'Random', - none: 'None' - }, - hint: "Let them remind you. It's for your own benefit." - }, - filtersIncludeCompleted: 'Affect Completed' - }, - tooltips: { - beta: 'Beta' - } - }, - debug: { - title: 'Debug', - tooltips: { - version: 'Current due.moe version hash' - } - }, - calculation: { - title: 'Calculation', - fields: { - roundDownChapters: { - title: 'Round down chapters (recommended)', - hint: 'Round chapters down to the nearest whole number (e.g., 50/50.6 would not be due)' - }, - showMediaWithZeroProgress: { - title: 'Show media with zero progress', - hint: 'May potentially cause rate-limiting if you have over ~80 unresolved manga on your lists' - }, - hideOutOfDateVolumeWarning: { - title: 'Hide out-of-date volume warning' - }, - smartChapterCountEstimation: { - title: 'Enable smart chapter count calculation' - }, - preferNativeChapterCount: { - title: 'Prefer native chapter count', - hint: "Prefer comparing against a manga's native chapter count opposed to the translated chapter count" - } - } - }, - cache: { - title: 'Cache' - }, - attributions: { - title: 'Attributions' - }, - media: { - anime: 'Anime', - manga: 'Manga', - upcomingAnime: 'Upcoming anime', - pausedMedia: 'Paused media', - unresolvedMedia: 'Unresolved media', - plannedAnime: 'Planned anime' - }, - languages: { - english: 'English', - japanese: 'Japanese' - }, - settingsSync: { - title: 'Settings Sync', - buttons: { - pull: { - title: 'Pull Remote Configuration', - hint: 'Enable settings sync and overwrite any local settings with your remote configuration' - }, - push: { - title: 'Push Local Configuration', - hint: 'Enable settings sync and overwrite any remote configuration with your local settings' - }, - disable: 'Disable & Keep Local Configuration', - delete: 'Delete Remote Configuration' - } - } - }, - user: { - badges: { - backToProfile: 'Back to Profile', - editMode: { - disable: 'Disable Edit Mode', - enable: 'Enable Edit Mode', - imageURL: 'Image URL', - activityURL: 'Activity URL', - description: 'Description (Optional)', - category: 'Category (Optional)', - add: 'Add', - update: 'Update', - or: 'or', - delete: 'Delete (Click Twice)', - source: 'Source (Recommended)', - designer: 'Designer (Recommended)' - }, - importMode: { - enable: 'Import from AniList', - disable: 'Disable Import Mode', - cancel: 'Cancel', - import: 'Import', - fetch: 'Fetch', - deleteAll: { - title: 'Delete All Badges (Click {times} Times)', - hint: 'This will delete all of your badges from Badge Wall. This action cannot be undone.' - }, - dangerous: 'Dangerous', - importLinks: { - title: 'Import Links', - hint: 'If your badges are nested in links, enable this option to attach the links to the badges.' - }, - importReplies: 'Import Replies', - title: 'Import badges from an activity post', - importWait: - 'Please wait until import mode automatically closes, otherwise you risk skipping or duplicating badges.', - importConfirm: 'Import {count} badges?' - } - }, - profile: { - statistics: '{username} has watched {anime} days of anime and read {manga} days of manga.', - badges: '{username} has collected {badges} badges using Badge Wall.' - }, - preferences: { - title: 'User Preferences', - hideMissingBadges: { - title: 'Hide missing badges from Badge Wall', - hint: "Hide any 404'd badges from appearing on your Badge Wall, excluding during edit mode" - }, - hideAWCBadges: { - title: 'Hide AWC badges from Badge Wall' - } - } - }, - lists: { - upcoming: { - episodes: { - title: 'Upcoming Episodes', - hint: 'Anime that you have seen all aired episodes of and have at least one scheduled episode left to air' - }, - notYetReleased: { - title: 'Not Yet Released', - hint: 'Anime that have not yet aired any episodes' - } - }, - due: { - episodes: { - title: 'Due Episodes', - hint: 'Airing anime that you have not seen all aired episodes of' - }, - mangaAndLightNovels: { - title: 'Manga & Light Novels', - hint: 'Releasing manga and light novels that you have not read all available chapters of' - } - }, - completed: { - anime: { - title: 'Anime', - hint: 'Concluded anime that you not have seen all aired episodes of' - }, - mangaAndLightNovels: { - title: 'Manga & Light Novels', - hint: 'Concluded manga and light novels that you have not read all available chapters of' - } - } - }, - tools: { - tool: { - characterBirthdays: { - short: 'Character Birthdays', - long: "Today's Character Birthdays" - } - } - }, - debug: { - clearCaches: 'Clear anime and manga list caches', - resetAllSettings: { - title: 'Reset ALL settings', - hint: 'Resets all settings present on this page to their default values' - }, - clearLocalStorage: { - title: 'Clear', - hint1: - 'Resets all of your settings to their default values and clears both AniList media list and manga data caches', - hint2: - 'If you are having issues with data loading or logging out, it is recommended to clear your site data.' - }, - dummyLists: 'Use dummy media lists' - }, - hololive: { - live: 'LIVE', - upcoming: 'Upcoming', - with: 'with ', - comma: ', ', - commaNoSpace: ',', - ampersand: '& ', - ended: 'Ended', - dateFormatter: new Intl.DateTimeFormat('en-US', { - // year: 'numeric', - month: 'long', - day: 'numeric', - // weekday: 'long', - hour: 'numeric', - hour12: !get(settings).display24HourTime, - minute: 'numeric' - // second: 'numeric' - // timeZoneName: 'short' - }).format, - loadError: 'Could not load schedule.', - parseError: 'hololive timed out.' - }, - dateFormatter: new Intl.DateTimeFormat('en-US', { - year: 'numeric', - month: 'long', - day: 'numeric', - weekday: 'long', - hour: 'numeric', - hour12: !get(settings).display24HourTime, - minute: 'numeric' - // second: 'numeric' - // timeZoneName: 'short' - }).format, - dayFormatter: new Intl.DateTimeFormat('en-US', { - year: 'numeric', - month: 'long', - day: 'numeric', - weekday: 'long' - }).format + navigation: { + home: 'Home', + completed: 'Completed', + subtitleSchedule: 'Subtitle Schedule', + newReleases: 'New Releases', + tools: 'Tools', + settings: 'Settings', + profile: 'Profile', + logIn: 'Log in with AniList', + logOut: 'Log out', + schedule: 'Schedule', + hololive: 'hololive Schedule', + myProfile: 'My Profile', + myBadgeWall: 'My Badge Wall' + }, + settings: { + fields: { + notice: 'Notice:' + }, + tooltips: { + author: 'Author of due.moe' + }, + rssFeeds: { + title: 'RSS Feeds', + buttons: { + copyToClipboard: 'Copy to clipboard' + }, + tooltips: { + rss: 'Web feed data format' + } + }, + display: { + title: 'Display', + categories: { + media: { + title: 'Media', + fields: { + outboundLinks: { + title: 'Outbound links', + hint: 'If LiveChart.me or AnimeSchedule is chosen, manga links will default to AniList.' + }, + mediaTitleFormat: { + title: 'Media title format', + options: { + english: 'English', + romaji: 'Romaji', + native: 'Native' + }, + fields: { + showFurigana: 'Show furigana' + } + }, + sortBy: { + title: 'Sort anime by difference between last watched and next episode', + hint: 'By default, anime are sorted by the number of days left until the next episode airs.' + } + } + }, + dateAndTime: { + title: 'Date & Time', + fields: { + disableLastActivityWarning: 'Disable last activity warning', + rightAlignCountdown: 'Align anime episode countdown to the right', + use24HourTime: 'Use 24-hour time format for episode countdown', + nativeEpisodeCountdown: 'Show episode countdown in native release date & time', + abbreviateCountdown: 'Abbreviate episode countdown date & time units' + } + }, + motionAndAccessibility: { + title: 'Motion & Accessibility', + fields: { + disablePageTransitionAnimations: 'Disable page transition animations', + disableNotifications: 'Disable verbose site notifications', + enableAniListNotifications: 'Enable AniList notifications', + limitPanelAreaToScreenHeight: 'Limit panel area to screen height', + interfaceLanguage: 'Interface language' + } + }, + dataSaver: 'Data Saver', + collapsePanelsByDefault: 'Collapse panels by default', + hidePanels: 'Hide panels', + includeAdditionalMedia: 'Include additional media', + helper: { + title: 'Helper', + options: { + kaede: 'Kaede', + mai: 'Mai', + nodoka: 'Nodoka', + rio: 'Rio', + sakuta: 'Sakuta', + shouko: 'Shouko', + tomoe: 'Tomoe', + random: 'Random', + none: 'None' + }, + hint: "Let them remind you. It's for your own benefit." + }, + filtersIncludeCompleted: 'Affect Completed' + }, + tooltips: { + beta: 'Beta' + } + }, + debug: { + title: 'Debug', + tooltips: { + version: 'Current due.moe version hash' + } + }, + calculation: { + title: 'Calculation', + fields: { + roundDownChapters: { + title: 'Round down chapters (recommended)', + hint: 'Round chapters down to the nearest whole number (e.g., 50/50.6 would not be due)' + }, + showMediaWithZeroProgress: { + title: 'Show media with zero progress', + hint: 'May potentially cause rate-limiting if you have over ~80 unresolved manga on your lists' + }, + hideOutOfDateVolumeWarning: { + title: 'Hide out-of-date volume warning' + }, + smartChapterCountEstimation: { + title: 'Enable smart chapter count calculation' + }, + preferNativeChapterCount: { + title: 'Prefer native chapter count', + hint: "Prefer comparing against a manga's native chapter count opposed to the translated chapter count" + } + } + }, + cache: { + title: 'Cache' + }, + attributions: { + title: 'Attributions' + }, + media: { + anime: 'Anime', + manga: 'Manga', + upcomingAnime: 'Upcoming anime', + pausedMedia: 'Paused media', + unresolvedMedia: 'Unresolved media', + plannedAnime: 'Planned anime' + }, + languages: { + english: 'English', + japanese: 'Japanese' + }, + settingsSync: { + title: 'Settings Sync', + buttons: { + pull: { + title: 'Pull Remote Configuration', + hint: 'Enable settings sync and overwrite any local settings with your remote configuration' + }, + push: { + title: 'Push Local Configuration', + hint: 'Enable settings sync and overwrite any remote configuration with your local settings' + }, + disable: 'Disable & Keep Local Configuration', + delete: 'Delete Remote Configuration' + } + } + }, + user: { + badges: { + backToProfile: 'Back to Profile', + editMode: { + disable: 'Disable Edit Mode', + enable: 'Enable Edit Mode', + imageURL: 'Image URL', + activityURL: 'Activity URL', + description: 'Description (Optional)', + category: 'Category (Optional)', + add: 'Add', + update: 'Update', + or: 'or', + delete: 'Delete (Click Twice)', + source: 'Source (Recommended)', + designer: 'Designer (Recommended)' + }, + importMode: { + enable: 'Import from AniList', + disable: 'Disable Import Mode', + cancel: 'Cancel', + import: 'Import', + fetch: 'Fetch', + deleteAll: { + title: 'Delete All Badges (Click {times} Times)', + hint: 'This will delete all of your badges from Badge Wall. This action cannot be undone.' + }, + dangerous: 'Dangerous', + importLinks: { + title: 'Import Links', + hint: 'If your badges are nested in links, enable this option to attach the links to the badges.' + }, + importReplies: 'Import Replies', + title: 'Import badges from an activity post', + importWait: + 'Please wait until import mode automatically closes, otherwise you risk skipping or duplicating badges.', + importConfirm: 'Import {count} badges?' + } + }, + profile: { + statistics: '{username} has watched {anime} days of anime and read {manga} days of manga.', + badges: '{username} has collected {badges} badges using Badge Wall.' + }, + preferences: { + title: 'User Preferences', + hideMissingBadges: { + title: 'Hide missing badges from Badge Wall', + hint: "Hide any 404'd badges from appearing on your Badge Wall, excluding during edit mode" + }, + hideAWCBadges: { + title: 'Hide AWC badges from Badge Wall' + } + } + }, + lists: { + upcoming: { + episodes: { + title: 'Upcoming Episodes', + hint: 'Anime that you have seen all aired episodes of and have at least one scheduled episode left to air' + }, + notYetReleased: { + title: 'Not Yet Released', + hint: 'Anime that have not yet aired any episodes' + } + }, + due: { + episodes: { + title: 'Due Episodes', + hint: 'Airing anime that you have not seen all aired episodes of' + }, + mangaAndLightNovels: { + title: 'Manga & Light Novels', + hint: 'Releasing manga and light novels that you have not read all available chapters of' + } + }, + completed: { + anime: { + title: 'Anime', + hint: 'Concluded anime that you not have seen all aired episodes of' + }, + mangaAndLightNovels: { + title: 'Manga & Light Novels', + hint: 'Concluded manga and light novels that you have not read all available chapters of' + } + } + }, + tools: { + tool: { + characterBirthdays: { + short: 'Character Birthdays', + long: "Today's Character Birthdays" + } + } + }, + debug: { + clearCaches: 'Clear anime and manga list caches', + resetAllSettings: { + title: 'Reset ALL settings', + hint: 'Resets all settings present on this page to their default values' + }, + clearLocalStorage: { + title: 'Clear', + hint1: + 'Resets all of your settings to their default values and clears both AniList media list and manga data caches', + hint2: + 'If you are having issues with data loading or logging out, it is recommended to clear your site data.' + }, + dummyLists: 'Use dummy media lists' + }, + hololive: { + live: 'LIVE', + upcoming: 'Upcoming', + with: 'with ', + comma: ', ', + commaNoSpace: ',', + ampersand: '& ', + ended: 'Ended', + dateFormatter: new Intl.DateTimeFormat('en-US', { + // year: 'numeric', + month: 'long', + day: 'numeric', + // weekday: 'long', + hour: 'numeric', + hour12: !get(settings).display24HourTime, + minute: 'numeric' + // second: 'numeric' + // timeZoneName: 'short' + }).format, + loadError: 'Could not load schedule.', + parseError: 'hololive timed out.' + }, + dateFormatter: new Intl.DateTimeFormat('en-US', { + year: 'numeric', + month: 'long', + day: 'numeric', + weekday: 'long', + hour: 'numeric', + hour12: !get(settings).display24HourTime, + minute: 'numeric' + // second: 'numeric' + // timeZoneName: 'short' + }).format, + dayFormatter: new Intl.DateTimeFormat('en-US', { + year: 'numeric', + month: 'long', + day: 'numeric', + weekday: 'long' + }).format }; export default English; diff --git a/src/lib/Locale/japanese.ts b/src/lib/Locale/japanese.ts index 1f514931..317da7a1 100644 --- a/src/lib/Locale/japanese.ts +++ b/src/lib/Locale/japanese.ts @@ -3,325 +3,325 @@ import type { Locale } from './layout'; import settings from '$stores/settings'; const Japanese: Locale = { - navigation: { - home: 'ホーム', - completed: '完成メディア', - subtitleSchedule: '字幕スケジュール', - newReleases: '新着リリース', - tools: 'ツール', - settings: '設定', - profile: 'プロフィール', - logIn: 'AniListでログインする', - logOut: 'ログアウト', - schedule: 'スケジュール', - hololive: 'ホロライブスケジュール', - myProfile: 'プロフィール', - myBadgeWall: 'バッジウォール' - }, - settings: { - fields: { - notice: 'お知らせ:' - }, - tooltips: { - author: 'due.moeの作者' - }, - rssFeeds: { - title: 'RSSフィード', - buttons: { - copyToClipboard: 'クリップボードにコピー' - }, - tooltips: { - rss: 'ウェブフィードデータフォーマット' - } - }, - display: { - title: '表示', - categories: { - dateAndTime: { - title: '日付と時刻', - fields: { - disableLastActivityWarning: '最後のアクティビティ警告を無効にする', - rightAlignCountdown: 'エピソードカウントダウンを右に揃える', - use24HourTime: 'エピソードカウントダウンに24時間形式を使用する', - nativeEpisodeCountdown: - 'ネイティブのリリース日時でエピソードのカウントダウンを表示する', - abbreviateCountdown: 'エピソードカウントダウンの日時単位を省略する' - } - }, - media: { - title: 'メディア', - fields: { - outboundLinks: { - title: '外部リンク', - hint: 'LiveChart.meまたはAnimeScheduleが選択された場合、漫画リンクはデフォルトでAniListになります。' - }, - mediaTitleFormat: { - title: 'メディアタイトル形式', - options: { - english: '英語', - romaji: 'ローマ字', - native: 'ネイティブ' - }, - fields: { - showFurigana: 'フリガナを表示する' - } - }, - sortBy: { - title: '最後に視聴したエピソードと次のエピソードの差によってアニメをソートする', - hint: 'デフォルトでは、アニメは次のエピソードが放送されるまでの日数でソートされます。' - } - } - }, - motionAndAccessibility: { - title: 'モーションとアクセシビリティ', - fields: { - disablePageTransitionAnimations: 'ページ遷移アニメーションを無効にする', - disableNotifications: '詳細なサイト通知を無効にする', - enableAniListNotifications: 'AniListの通知を有効にする', - limitPanelAreaToScreenHeight: 'メディアパネルの面積をスクリーンの高さに制限する', - interfaceLanguage: 'インターフェース言語' - } - }, - dataSaver: 'データセーバー', - collapsePanelsByDefault: 'メディアパネルをデフォルトで折りたたむ', - hidePanels: 'メディアパネルを隠す', - includeAdditionalMedia: '追加メディアを含む', - helper: { - title: 'ヘルパー', - options: { - kaede: 'かえで', - mai: '麻衣', - nodoka: 'のどか', - rio: '理央', - sakuta: '咲太', - shouko: '翔子', - tomoe: '朋絵', - random: 'ランダム', - none: 'なし' - }, - hint: '自分のためになる。' - }, - filtersIncludeCompleted: '「完成メディア」にフィルタを適用' - }, - tooltips: { - beta: 'ベータ' - } - }, - debug: { - title: 'デバッグ', - tooltips: { - version: '現在のdue.moeのバージョンハッシュ' - } - }, - calculation: { - title: '計算', - fields: { - roundDownChapters: { - title: '最新のチャプター番号を切り捨てる(推奨)', - hint: '直近のチャプター番号を小数点以下に切り捨てる(例:50/50.6は期限にならない)' - }, - showMediaWithZeroProgress: { - title: 'まだ始めていないメディアを含む', - hint: 'このオプションを有効にすると、リストに未解決の漫画が80冊以上ある場合、レート制限がかかる可能性があります。' - }, - hideOutOfDateVolumeWarning: { - title: '巻数が正しく追跡されていない漫画の警告を隠す' - }, - smartChapterCountEstimation: { - title: '未解決漫画のスマートな章数推定を有効にする' - }, - preferNativeChapterCount: { - title: '英語の章数よりも、原作の章数を優先する', - hint: '英語の章数ではなく、原作の章数と比較することを優先する' - } - } - }, - cache: { - title: 'キャッシュ' - }, - attributions: { - title: '帰属' - }, - media: { - anime: 'アニメ', - manga: '漫画', - upcomingAnime: '近日放送予定のアニメ', - pausedMedia: '視聴を一時停止したメディア', - unresolvedMedia: '未解決のメディア', - plannedAnime: '視聴予定アニメ' - }, - languages: { - english: '英語', - japanese: '日本語' - }, - settingsSync: { - title: 'クロスプラットフォーム設定同期', - buttons: { - pull: { - title: 'リモート設定をプル', - hint: '設定同期を有効にして、ローカル設定をリモート設定で上書きします' - }, - push: { - title: 'ローカル設定をプッシュ', - hint: '設定同期を有効にして、リモート設定をローカル設定で上書きします' - }, - disable: '設定の同期を無効にし、ローカル設定を保持する', - delete: 'リモート設定を削除' - } - } - }, - user: { - badges: { - backToProfile: 'プロフィールに戻る', - editMode: { - enable: '編集モードを有効にする', - disable: '編集モードを無効にする', - imageURL: '画像URL', - activityURL: 'アクティビティURL', - description: '説明(オプション)', - category: 'カテゴリー(オプション)', - add: 'バッジを追加', - update: 'バッジを更新', - or: 'または', - delete: 'バッジを削除する(2回クリック)', - source: 'ソース(推奨)', - designer: 'デザイナー(推奨)' - }, - importMode: { - enable: 'AniListからインポートする', - disable: 'インポートモードを無効にする', - cancel: 'キャンセル', - import: 'インポート', - fetch: 'フェッチ', - deleteAll: { - title: 'すべてのバッジを削除する({times}回クリック)', - hint: 'これにより、Badge Wallからすべてのバッジが削除されます。この操作は元に戻すことができません。' - }, - dangerous: '危険', - importLinks: { - title: 'リンクをインポートする', - hint: 'バッジがリンク内に入れ子になっている場合、このオプションを有効にしてバッジにリンクを添付してください。' - }, - importReplies: 'インポートコメントする', - title: 'AniListのアクティビティからバッジをインポートする ', - importWait: - 'インポートモードウィンドウが自動的に閉じるまでお待ちください。そうしないと、インポート処理中にバッジがスキップされたり、重複したりする危険性があります。', - importConfirm: '{count}個のバッジをインポートしますか?' - } - }, - profile: { - statistics: - '{username}はAniListで{anime}日間のアニメ視聴と{manga}日間の漫画読書を記録している。', - badges: '{username}はBadge Wallを使って{badges}個のバッジを収集しました。' - }, - preferences: { - title: 'ユーザー設定', - hideMissingBadges: { - title: 'Badge Wallから不足しているバッジを隠す', - hint: '画像がエラー404を返すバッジをBadge Wallに表示しないようにします。編集モード中を除く' - }, - hideAWCBadges: { - title: 'Badge WallからAWCバッジを隠す' - } - } - }, - lists: { - upcoming: { - episodes: { - title: 'これから放送されるエピソード', - hint: '現在放送中のアニメで、放送された全話を見たことがあるもの' - }, - notYetReleased: { - title: 'まだ公開されていない', - hint: 'まだ一話も放送されていない' - } - }, - due: { - episodes: { - title: '視聴すべきエピソード', - hint: '未視聴エピソードのあるアニメ' - }, - mangaAndLightNovels: { - title: '漫画&ライトノベル', - hint: '未読の章がある漫画&ライトノベル' - } - }, - completed: { - anime: { - title: 'アニメ', - hint: '放送が終了したアニメで全話見ていないもの' - }, - mangaAndLightNovels: { - title: '漫画&ライトノベル', - hint: '完結した漫画&ライトノベルで、全章を読んでいないもの' - } - } - }, - tools: { - tool: { - characterBirthdays: { - short: 'キャラクターの誕生日', - long: '今日のキャラクターの誕生日' - } - } - }, - debug: { - clearCaches: 'ブラウザのAniListアニメと漫画リストのキャッシュを消去する', - resetAllSettings: { - title: 'すべての設定をリセット', - hint: 'このページにあるすべての設定をデフォルト値にリセットします' - }, - clearLocalStorage: { - title: 'クリア', - hint1: - 'すべての設定をデフォルト値にリセットし、AniListメディアリストと漫画データキャッシュをクリアします', - hint2: - 'データの読み込みやログアウトに問題がある場合、サイトデータをクリアすることをお勧めします。' - }, - dummyLists: 'ダミーメディアリストを使用する' - }, - hololive: { - live: 'ライブ', - upcoming: '近日公開予定', - with: 'と', - comma: '、', - commaNoSpace: '、', - ampersand: '', - ended: '終了', - dateFormatter: new Intl.DateTimeFormat('ja-JP', { - // era: 'long', - // year: 'numeric', - month: 'long', - day: 'numeric', - // weekday: 'long', - hour: 'numeric', - hour12: !get(settings).display24HourTime, - minute: 'numeric' - // second: 'numeric' - // timeZoneName: 'short' - }).format, - loadError: 'スケジュールを読み込めませんでした。', - parseError: 'hololiveのタイムアウト。' - }, - dateFormatter: new Intl.DateTimeFormat('ja-JP', { - // era: 'long', - year: 'numeric', - month: 'long', - day: 'numeric', - weekday: 'long', - hour: 'numeric', - hour12: !get(settings).display24HourTime, - minute: 'numeric' - // second: 'numeric' - // timeZoneName: 'short' - }).format, - dayFormatter: new Intl.DateTimeFormat('ja-JP', { - // era: 'long', - year: 'numeric', - month: 'long', - day: 'numeric', - weekday: 'long' - }).format + navigation: { + home: 'ホーム', + completed: '完成メディア', + subtitleSchedule: '字幕スケジュール', + newReleases: '新着リリース', + tools: 'ツール', + settings: '設定', + profile: 'プロフィール', + logIn: 'AniListでログインする', + logOut: 'ログアウト', + schedule: 'スケジュール', + hololive: 'ホロライブスケジュール', + myProfile: 'プロフィール', + myBadgeWall: 'バッジウォール' + }, + settings: { + fields: { + notice: 'お知らせ:' + }, + tooltips: { + author: 'due.moeの作者' + }, + rssFeeds: { + title: 'RSSフィード', + buttons: { + copyToClipboard: 'クリップボードにコピー' + }, + tooltips: { + rss: 'ウェブフィードデータフォーマット' + } + }, + display: { + title: '表示', + categories: { + dateAndTime: { + title: '日付と時刻', + fields: { + disableLastActivityWarning: '最後のアクティビティ警告を無効にする', + rightAlignCountdown: 'エピソードカウントダウンを右に揃える', + use24HourTime: 'エピソードカウントダウンに24時間形式を使用する', + nativeEpisodeCountdown: + 'ネイティブのリリース日時でエピソードのカウントダウンを表示する', + abbreviateCountdown: 'エピソードカウントダウンの日時単位を省略する' + } + }, + media: { + title: 'メディア', + fields: { + outboundLinks: { + title: '外部リンク', + hint: 'LiveChart.meまたはAnimeScheduleが選択された場合、漫画リンクはデフォルトでAniListになります。' + }, + mediaTitleFormat: { + title: 'メディアタイトル形式', + options: { + english: '英語', + romaji: 'ローマ字', + native: 'ネイティブ' + }, + fields: { + showFurigana: 'フリガナを表示する' + } + }, + sortBy: { + title: '最後に視聴したエピソードと次のエピソードの差によってアニメをソートする', + hint: 'デフォルトでは、アニメは次のエピソードが放送されるまでの日数でソートされます。' + } + } + }, + motionAndAccessibility: { + title: 'モーションとアクセシビリティ', + fields: { + disablePageTransitionAnimations: 'ページ遷移アニメーションを無効にする', + disableNotifications: '詳細なサイト通知を無効にする', + enableAniListNotifications: 'AniListの通知を有効にする', + limitPanelAreaToScreenHeight: 'メディアパネルの面積をスクリーンの高さに制限する', + interfaceLanguage: 'インターフェース言語' + } + }, + dataSaver: 'データセーバー', + collapsePanelsByDefault: 'メディアパネルをデフォルトで折りたたむ', + hidePanels: 'メディアパネルを隠す', + includeAdditionalMedia: '追加メディアを含む', + helper: { + title: 'ヘルパー', + options: { + kaede: 'かえで', + mai: '麻衣', + nodoka: 'のどか', + rio: '理央', + sakuta: '咲太', + shouko: '翔子', + tomoe: '朋絵', + random: 'ランダム', + none: 'なし' + }, + hint: '自分のためになる。' + }, + filtersIncludeCompleted: '「完成メディア」にフィルタを適用' + }, + tooltips: { + beta: 'ベータ' + } + }, + debug: { + title: 'デバッグ', + tooltips: { + version: '現在のdue.moeのバージョンハッシュ' + } + }, + calculation: { + title: '計算', + fields: { + roundDownChapters: { + title: '最新のチャプター番号を切り捨てる(推奨)', + hint: '直近のチャプター番号を小数点以下に切り捨てる(例:50/50.6は期限にならない)' + }, + showMediaWithZeroProgress: { + title: 'まだ始めていないメディアを含む', + hint: 'このオプションを有効にすると、リストに未解決の漫画が80冊以上ある場合、レート制限がかかる可能性があります。' + }, + hideOutOfDateVolumeWarning: { + title: '巻数が正しく追跡されていない漫画の警告を隠す' + }, + smartChapterCountEstimation: { + title: '未解決漫画のスマートな章数推定を有効にする' + }, + preferNativeChapterCount: { + title: '英語の章数よりも、原作の章数を優先する', + hint: '英語の章数ではなく、原作の章数と比較することを優先する' + } + } + }, + cache: { + title: 'キャッシュ' + }, + attributions: { + title: '帰属' + }, + media: { + anime: 'アニメ', + manga: '漫画', + upcomingAnime: '近日放送予定のアニメ', + pausedMedia: '視聴を一時停止したメディア', + unresolvedMedia: '未解決のメディア', + plannedAnime: '視聴予定アニメ' + }, + languages: { + english: '英語', + japanese: '日本語' + }, + settingsSync: { + title: 'クロスプラットフォーム設定同期', + buttons: { + pull: { + title: 'リモート設定をプル', + hint: '設定同期を有効にして、ローカル設定をリモート設定で上書きします' + }, + push: { + title: 'ローカル設定をプッシュ', + hint: '設定同期を有効にして、リモート設定をローカル設定で上書きします' + }, + disable: '設定の同期を無効にし、ローカル設定を保持する', + delete: 'リモート設定を削除' + } + } + }, + user: { + badges: { + backToProfile: 'プロフィールに戻る', + editMode: { + enable: '編集モードを有効にする', + disable: '編集モードを無効にする', + imageURL: '画像URL', + activityURL: 'アクティビティURL', + description: '説明(オプション)', + category: 'カテゴリー(オプション)', + add: 'バッジを追加', + update: 'バッジを更新', + or: 'または', + delete: 'バッジを削除する(2回クリック)', + source: 'ソース(推奨)', + designer: 'デザイナー(推奨)' + }, + importMode: { + enable: 'AniListからインポートする', + disable: 'インポートモードを無効にする', + cancel: 'キャンセル', + import: 'インポート', + fetch: 'フェッチ', + deleteAll: { + title: 'すべてのバッジを削除する({times}回クリック)', + hint: 'これにより、Badge Wallからすべてのバッジが削除されます。この操作は元に戻すことができません。' + }, + dangerous: '危険', + importLinks: { + title: 'リンクをインポートする', + hint: 'バッジがリンク内に入れ子になっている場合、このオプションを有効にしてバッジにリンクを添付してください。' + }, + importReplies: 'インポートコメントする', + title: 'AniListのアクティビティからバッジをインポートする ', + importWait: + 'インポートモードウィンドウが自動的に閉じるまでお待ちください。そうしないと、インポート処理中にバッジがスキップされたり、重複したりする危険性があります。', + importConfirm: '{count}個のバッジをインポートしますか?' + } + }, + profile: { + statistics: + '{username}はAniListで{anime}日間のアニメ視聴と{manga}日間の漫画読書を記録している。', + badges: '{username}はBadge Wallを使って{badges}個のバッジを収集しました。' + }, + preferences: { + title: 'ユーザー設定', + hideMissingBadges: { + title: 'Badge Wallから不足しているバッジを隠す', + hint: '画像がエラー404を返すバッジをBadge Wallに表示しないようにします。編集モード中を除く' + }, + hideAWCBadges: { + title: 'Badge WallからAWCバッジを隠す' + } + } + }, + lists: { + upcoming: { + episodes: { + title: 'これから放送されるエピソード', + hint: '現在放送中のアニメで、放送された全話を見たことがあるもの' + }, + notYetReleased: { + title: 'まだ公開されていない', + hint: 'まだ一話も放送されていない' + } + }, + due: { + episodes: { + title: '視聴すべきエピソード', + hint: '未視聴エピソードのあるアニメ' + }, + mangaAndLightNovels: { + title: '漫画&ライトノベル', + hint: '未読の章がある漫画&ライトノベル' + } + }, + completed: { + anime: { + title: 'アニメ', + hint: '放送が終了したアニメで全話見ていないもの' + }, + mangaAndLightNovels: { + title: '漫画&ライトノベル', + hint: '完結した漫画&ライトノベルで、全章を読んでいないもの' + } + } + }, + tools: { + tool: { + characterBirthdays: { + short: 'キャラクターの誕生日', + long: '今日のキャラクターの誕生日' + } + } + }, + debug: { + clearCaches: 'ブラウザのAniListアニメと漫画リストのキャッシュを消去する', + resetAllSettings: { + title: 'すべての設定をリセット', + hint: 'このページにあるすべての設定をデフォルト値にリセットします' + }, + clearLocalStorage: { + title: 'クリア', + hint1: + 'すべての設定をデフォルト値にリセットし、AniListメディアリストと漫画データキャッシュをクリアします', + hint2: + 'データの読み込みやログアウトに問題がある場合、サイトデータをクリアすることをお勧めします。' + }, + dummyLists: 'ダミーメディアリストを使用する' + }, + hololive: { + live: 'ライブ', + upcoming: '近日公開予定', + with: 'と', + comma: '、', + commaNoSpace: '、', + ampersand: '', + ended: '終了', + dateFormatter: new Intl.DateTimeFormat('ja-JP', { + // era: 'long', + // year: 'numeric', + month: 'long', + day: 'numeric', + // weekday: 'long', + hour: 'numeric', + hour12: !get(settings).display24HourTime, + minute: 'numeric' + // second: 'numeric' + // timeZoneName: 'short' + }).format, + loadError: 'スケジュールを読み込めませんでした。', + parseError: 'hololiveのタイムアウト。' + }, + dateFormatter: new Intl.DateTimeFormat('ja-JP', { + // era: 'long', + year: 'numeric', + month: 'long', + day: 'numeric', + weekday: 'long', + hour: 'numeric', + hour12: !get(settings).display24HourTime, + minute: 'numeric' + // second: 'numeric' + // timeZoneName: 'short' + }).format, + dayFormatter: new Intl.DateTimeFormat('ja-JP', { + // era: 'long', + year: 'numeric', + month: 'long', + day: 'numeric', + weekday: 'long' + }).format }; export default Japanese; diff --git a/src/lib/Locale/layout.ts b/src/lib/Locale/layout.ts index 0ef05f3e..9f22e763 100644 --- a/src/lib/Locale/layout.ts +++ b/src/lib/Locale/layout.ts @@ -1,294 +1,294 @@ type LocaleValue = string; // | LocaleValue[] | { [key: string]: LocaleValue }; export interface LocaleDictionary { - [key: string]: LocaleDictionary | string | Array<string | LocaleDictionary> | null; + [key: string]: LocaleDictionary | string | Array<string | LocaleDictionary> | null; } export interface Locale { - navigation: { - home: LocaleValue; - completed: LocaleValue; - subtitleSchedule: LocaleValue; - newReleases: LocaleValue; - tools: LocaleValue; - settings: LocaleValue; - profile: LocaleValue; - logIn: LocaleValue; - logOut: LocaleValue; - schedule: LocaleValue; - hololive: LocaleValue; - myProfile: LocaleValue; - myBadgeWall: LocaleValue; - }; - settings: { - fields: { - notice: LocaleValue; - }; - tooltips: { - author: LocaleValue; - }; - rssFeeds: { - title: LocaleValue; - buttons: { - copyToClipboard: LocaleValue; - }; - tooltips: { - rss: LocaleValue; - }; - }; - display: { - title: LocaleValue; - categories: { - media: { - title: LocaleValue; - fields: { - outboundLinks: { - title: LocaleValue; - hint: LocaleValue; - }; - mediaTitleFormat: { - title: LocaleValue; - options: { - english: LocaleValue; - romaji: LocaleValue; - native: LocaleValue; - }; - fields: { - showFurigana: LocaleValue; - }; - }; - sortBy: { - title: LocaleValue; - hint: LocaleValue; - }; - }; - }; - dateAndTime: { - title: LocaleValue; - fields: { - disableLastActivityWarning: LocaleValue; - rightAlignCountdown: LocaleValue; - use24HourTime: LocaleValue; - nativeEpisodeCountdown: LocaleValue; - abbreviateCountdown: LocaleValue; - }; - }; - motionAndAccessibility: { - title: LocaleValue; - fields: { - disablePageTransitionAnimations: LocaleValue; - disableNotifications: LocaleValue; - enableAniListNotifications: LocaleValue; - limitPanelAreaToScreenHeight: LocaleValue; - interfaceLanguage: LocaleValue; - }; - }; - dataSaver: LocaleValue; - collapsePanelsByDefault: LocaleValue; - hidePanels: LocaleValue; - includeAdditionalMedia: LocaleValue; - helper: { - title: LocaleValue; - options: { - kaede: LocaleValue; - mai: LocaleValue; - nodoka: LocaleValue; - rio: LocaleValue; - sakuta: LocaleValue; - shouko: LocaleValue; - tomoe: LocaleValue; - random: LocaleValue; - none: LocaleValue; - }; - hint: LocaleValue; - }; - filtersIncludeCompleted: LocaleValue; - }; - tooltips: { - beta: LocaleValue; - }; - }; - debug: { - title: LocaleValue; - tooltips: { - version: LocaleValue; - }; - }; - calculation: { - title: LocaleValue; - fields: { - roundDownChapters: { - title: LocaleValue; - hint: LocaleValue; - }; - showMediaWithZeroProgress: { - title: LocaleValue; - hint: LocaleValue; - }; - hideOutOfDateVolumeWarning: { - title: LocaleValue; - }; - smartChapterCountEstimation: { - title: LocaleValue; - }; - preferNativeChapterCount: { - title: LocaleValue; - hint: LocaleValue; - }; - }; - }; - cache: { - title: LocaleValue; - }; - attributions: { - title: LocaleValue; - }; - media: { - anime: LocaleValue; - manga: LocaleValue; - upcomingAnime: LocaleValue; - pausedMedia: LocaleValue; - unresolvedMedia: LocaleValue; - plannedAnime: LocaleValue; - }; - languages: { - english: LocaleValue; - japanese: LocaleValue; - }; - settingsSync: { - title: LocaleValue; - buttons: { - pull: { - title: LocaleValue; - hint: LocaleValue; - }; - push: { - title: LocaleValue; - hint: LocaleValue; - }; - disable: LocaleValue; - delete: LocaleValue; - }; - }; - }; - user: { - badges: { - backToProfile: LocaleValue; - editMode: { - enable: LocaleValue; - disable: LocaleValue; - imageURL: LocaleValue; - activityURL: LocaleValue; - description: LocaleValue; - category: LocaleValue; - add: LocaleValue; - update: LocaleValue; - or: LocaleValue; - delete: LocaleValue; - source: LocaleValue; - designer: LocaleValue; - }; - importMode: { - enable: LocaleValue; - disable: LocaleValue; - cancel: LocaleValue; - import: LocaleValue; - fetch: LocaleValue; - deleteAll: { - title: LocaleValue; - hint: LocaleValue; - }; - dangerous: LocaleValue; - importLinks: { - title: LocaleValue; - hint: LocaleValue; - }; - importReplies: LocaleValue; - title: LocaleValue; - importWait: LocaleValue; - importConfirm: LocaleValue; - }; - }; - profile: { - statistics: LocaleValue; - badges: LocaleValue; - }; - preferences: { - title: LocaleValue; - hideMissingBadges: { - title: LocaleValue; - hint: LocaleValue; - }; - hideAWCBadges: { - title: LocaleValue; - }; - }; - }; - lists: { - upcoming: { - episodes: { - title: LocaleValue; - hint: LocaleValue; - }; - notYetReleased: { - title: LocaleValue; - hint: LocaleValue; - }; - }; - due: { - episodes: { - title: LocaleValue; - hint: LocaleValue; - }; - mangaAndLightNovels: { - title: LocaleValue; - hint: LocaleValue; - }; - }; - completed: { - anime: { - title: LocaleValue; - hint: LocaleValue; - }; - mangaAndLightNovels: { - title: LocaleValue; - hint: LocaleValue; - }; - }; - }; - tools: { - tool: { - characterBirthdays: { - short: LocaleValue; - long: LocaleValue; - }; - }; - }; - debug: { - clearCaches: LocaleValue; - resetAllSettings: { - title: LocaleValue; - hint: LocaleValue; - }; - clearLocalStorage: { - title: LocaleValue; - hint1: LocaleValue; - hint2: LocaleValue; - }; - dummyLists: LocaleValue; - }; - hololive: { - live: LocaleValue; - upcoming: LocaleValue; - with: LocaleValue; - comma: LocaleValue; - commaNoSpace: LocaleValue; - ampersand: LocaleValue; - ended: LocaleValue; - dateFormatter: (date?: number | Date | undefined) => string; - loadError: LocaleValue; - parseError: LocaleValue; - }; - dateFormatter: (date?: number | Date | undefined) => string; - dayFormatter: (date?: number | Date | undefined) => string; + navigation: { + home: LocaleValue; + completed: LocaleValue; + subtitleSchedule: LocaleValue; + newReleases: LocaleValue; + tools: LocaleValue; + settings: LocaleValue; + profile: LocaleValue; + logIn: LocaleValue; + logOut: LocaleValue; + schedule: LocaleValue; + hololive: LocaleValue; + myProfile: LocaleValue; + myBadgeWall: LocaleValue; + }; + settings: { + fields: { + notice: LocaleValue; + }; + tooltips: { + author: LocaleValue; + }; + rssFeeds: { + title: LocaleValue; + buttons: { + copyToClipboard: LocaleValue; + }; + tooltips: { + rss: LocaleValue; + }; + }; + display: { + title: LocaleValue; + categories: { + media: { + title: LocaleValue; + fields: { + outboundLinks: { + title: LocaleValue; + hint: LocaleValue; + }; + mediaTitleFormat: { + title: LocaleValue; + options: { + english: LocaleValue; + romaji: LocaleValue; + native: LocaleValue; + }; + fields: { + showFurigana: LocaleValue; + }; + }; + sortBy: { + title: LocaleValue; + hint: LocaleValue; + }; + }; + }; + dateAndTime: { + title: LocaleValue; + fields: { + disableLastActivityWarning: LocaleValue; + rightAlignCountdown: LocaleValue; + use24HourTime: LocaleValue; + nativeEpisodeCountdown: LocaleValue; + abbreviateCountdown: LocaleValue; + }; + }; + motionAndAccessibility: { + title: LocaleValue; + fields: { + disablePageTransitionAnimations: LocaleValue; + disableNotifications: LocaleValue; + enableAniListNotifications: LocaleValue; + limitPanelAreaToScreenHeight: LocaleValue; + interfaceLanguage: LocaleValue; + }; + }; + dataSaver: LocaleValue; + collapsePanelsByDefault: LocaleValue; + hidePanels: LocaleValue; + includeAdditionalMedia: LocaleValue; + helper: { + title: LocaleValue; + options: { + kaede: LocaleValue; + mai: LocaleValue; + nodoka: LocaleValue; + rio: LocaleValue; + sakuta: LocaleValue; + shouko: LocaleValue; + tomoe: LocaleValue; + random: LocaleValue; + none: LocaleValue; + }; + hint: LocaleValue; + }; + filtersIncludeCompleted: LocaleValue; + }; + tooltips: { + beta: LocaleValue; + }; + }; + debug: { + title: LocaleValue; + tooltips: { + version: LocaleValue; + }; + }; + calculation: { + title: LocaleValue; + fields: { + roundDownChapters: { + title: LocaleValue; + hint: LocaleValue; + }; + showMediaWithZeroProgress: { + title: LocaleValue; + hint: LocaleValue; + }; + hideOutOfDateVolumeWarning: { + title: LocaleValue; + }; + smartChapterCountEstimation: { + title: LocaleValue; + }; + preferNativeChapterCount: { + title: LocaleValue; + hint: LocaleValue; + }; + }; + }; + cache: { + title: LocaleValue; + }; + attributions: { + title: LocaleValue; + }; + media: { + anime: LocaleValue; + manga: LocaleValue; + upcomingAnime: LocaleValue; + pausedMedia: LocaleValue; + unresolvedMedia: LocaleValue; + plannedAnime: LocaleValue; + }; + languages: { + english: LocaleValue; + japanese: LocaleValue; + }; + settingsSync: { + title: LocaleValue; + buttons: { + pull: { + title: LocaleValue; + hint: LocaleValue; + }; + push: { + title: LocaleValue; + hint: LocaleValue; + }; + disable: LocaleValue; + delete: LocaleValue; + }; + }; + }; + user: { + badges: { + backToProfile: LocaleValue; + editMode: { + enable: LocaleValue; + disable: LocaleValue; + imageURL: LocaleValue; + activityURL: LocaleValue; + description: LocaleValue; + category: LocaleValue; + add: LocaleValue; + update: LocaleValue; + or: LocaleValue; + delete: LocaleValue; + source: LocaleValue; + designer: LocaleValue; + }; + importMode: { + enable: LocaleValue; + disable: LocaleValue; + cancel: LocaleValue; + import: LocaleValue; + fetch: LocaleValue; + deleteAll: { + title: LocaleValue; + hint: LocaleValue; + }; + dangerous: LocaleValue; + importLinks: { + title: LocaleValue; + hint: LocaleValue; + }; + importReplies: LocaleValue; + title: LocaleValue; + importWait: LocaleValue; + importConfirm: LocaleValue; + }; + }; + profile: { + statistics: LocaleValue; + badges: LocaleValue; + }; + preferences: { + title: LocaleValue; + hideMissingBadges: { + title: LocaleValue; + hint: LocaleValue; + }; + hideAWCBadges: { + title: LocaleValue; + }; + }; + }; + lists: { + upcoming: { + episodes: { + title: LocaleValue; + hint: LocaleValue; + }; + notYetReleased: { + title: LocaleValue; + hint: LocaleValue; + }; + }; + due: { + episodes: { + title: LocaleValue; + hint: LocaleValue; + }; + mangaAndLightNovels: { + title: LocaleValue; + hint: LocaleValue; + }; + }; + completed: { + anime: { + title: LocaleValue; + hint: LocaleValue; + }; + mangaAndLightNovels: { + title: LocaleValue; + hint: LocaleValue; + }; + }; + }; + tools: { + tool: { + characterBirthdays: { + short: LocaleValue; + long: LocaleValue; + }; + }; + }; + debug: { + clearCaches: LocaleValue; + resetAllSettings: { + title: LocaleValue; + hint: LocaleValue; + }; + clearLocalStorage: { + title: LocaleValue; + hint1: LocaleValue; + hint2: LocaleValue; + }; + dummyLists: LocaleValue; + }; + hololive: { + live: LocaleValue; + upcoming: LocaleValue; + with: LocaleValue; + comma: LocaleValue; + commaNoSpace: LocaleValue; + ampersand: LocaleValue; + ended: LocaleValue; + dateFormatter: (date?: number | Date | undefined) => string; + loadError: LocaleValue; + parseError: LocaleValue; + }; + dateFormatter: (date?: number | Date | undefined) => string; + dayFormatter: (date?: number | Date | undefined) => string; } |