* fix(anilist): paginate large libraries to avoid CPU budget kills Chunk GraphQL fetches and defer merge, sort, and cover work to update() ticks so 1000+ anime and manga entries load without blocking callbacks. * fix(anilist): handle OAuth callback immediately and simplify service helpers Process browser login tokens synchronously from runStream and file poll, keep a 500ms update interval during OAuth, and avoid duplicate OAuth result emissions from Python.
98 lines
3.9 KiB
JSON
98 lines
3.9 KiB
JSON
{
|
|
"panel": {
|
|
"close": "Close",
|
|
"close_preview": "Close preview",
|
|
"connect": "Connect with AniList",
|
|
"cover_preview": "View cover",
|
|
"decrement": "Previous episode/chapter",
|
|
"download_cover": "Download cover",
|
|
"download_cover_failed": "Could not save the cover image.",
|
|
"download_cover_success": "Cover saved to {path}",
|
|
"download_cover_unavailable": "Install zenity or kdialog to choose a save location.",
|
|
"empty": "No entries in this list.",
|
|
"error": "Error: {message}",
|
|
"filter_all": "All",
|
|
"filter_completed": "Completed",
|
|
"filter_current": "Watching",
|
|
"filter_dropped": "Dropped",
|
|
"filter_paused": "Paused",
|
|
"filter_planning": "Planning",
|
|
"filter_planning_manga": "Plan to Read",
|
|
"filter_reading": "Reading",
|
|
"filter_repeating": "Repeating",
|
|
"increment": "Next episode/chapter",
|
|
"loading": "Loading your lists…",
|
|
"loading_more": "Loading more entries…",
|
|
"loading_progress": "Loading lists… {anime} anime, {manga} manga",
|
|
"logged_in_as": "Signed in as {name}",
|
|
"login_help": "Set your client ID and client secret in plugin settings, then click Connect. Your browser opens, you approve AniList, and the plugin finishes login automatically.",
|
|
"login_title": "Connect to AniList",
|
|
"login_waiting": "Waiting for browser login…",
|
|
"logout": "Log out",
|
|
"mark_complete": "Complete",
|
|
"next_episode": "Ep {episode} soon",
|
|
"open_anilist": "Open on AniList",
|
|
"progress_anime": "Ep {current}/{total}",
|
|
"progress_anime_unknown": "Ep {current}",
|
|
"progress_manga": "Ch {current}/{total}",
|
|
"progress_manga_unknown": "Ch {current}",
|
|
"refresh": "Reload list",
|
|
"refreshing": "Refreshing…",
|
|
"settings": "Plugin settings",
|
|
"tab_anime": "Anime",
|
|
"tab_manga": "Manga",
|
|
"title": "AniList (UNOFFICIAL)",
|
|
"updating": "Updating…"
|
|
},
|
|
"service": {
|
|
"empty_response": "AniList returned an empty response.",
|
|
"invalid_response": "AniList returned an unreadable response.",
|
|
"invalid_token": "Invalid or expired access token.",
|
|
"mutation_failed": "Update failed.",
|
|
"network_error": "Could not reach AniList.",
|
|
"not_configured": "Set AniList client ID and client secret in plugin settings.",
|
|
"oauth_busy": "A login is already in progress.",
|
|
"oauth_failed": "Browser login failed.",
|
|
"oauth_unavailable": "Could not start the local login helper. Is python3 installed?"
|
|
},
|
|
"settings": {
|
|
"access_token": {
|
|
"description": "Skip browser login if you already have a bearer token. Usually left empty.",
|
|
"label": "Access token (optional)"
|
|
},
|
|
"client_id": {
|
|
"description": "Your AniList developer app client ID (anilist.co/settings/developer). Redirect URL must be http://127.0.0.1:7823/callback",
|
|
"label": "Client ID"
|
|
},
|
|
"client_secret": {
|
|
"description": "The client secret from the same AniList app. Never share it publicly — each user should use their own app.",
|
|
"label": "Client secret"
|
|
},
|
|
"count_mode": {
|
|
"description": "Which number to show next to the bar glyph.",
|
|
"label": "Bar count",
|
|
"options": {
|
|
"completed": "Completed (anime)",
|
|
"current": "Watching (anime in progress)",
|
|
"in_progress": "In progress (anime + manga)",
|
|
"planning": "Planning (anime)",
|
|
"total": "Total (all anime)"
|
|
}
|
|
},
|
|
"glyph": {
|
|
"label": "Bar glyph"
|
|
}
|
|
},
|
|
"widget": {
|
|
"tooltip_completed": "{count} anime completed",
|
|
"tooltip_current": "{count} anime in progress",
|
|
"tooltip_empty": "AniList — open library",
|
|
"tooltip_error": "AniList — {error}",
|
|
"tooltip_in_progress": "{count} in progress (anime + manga)",
|
|
"tooltip_loading": "AniList — loading…",
|
|
"tooltip_oauth": "AniList — waiting for browser login…",
|
|
"tooltip_planning": "{count} anime planned",
|
|
"tooltip_total": "{count} anime on your list"
|
|
}
|
|
}
|