9be219ce15
- Updated the DiscoverScreen to include a callback for removing items from Continue Watching. - Enhanced MediaCard to accept a new callback for removing items from Continue Watching. - Modified MediaContextMenu to handle the removal of items from Continue Watching without affecting their watched status or progress. - Updated dependencies in pubspec.lock to their latest versions. Co-authored-by: Doezer <11655673+Doezer@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
368 lines
14 KiB
JSON
368 lines
14 KiB
JSON
{
|
|
"app": {
|
|
"title": "Plezy",
|
|
"loading": "Loading..."
|
|
},
|
|
"auth": {
|
|
"signInWithPlex": "Sign in with Plex",
|
|
"showQRCode": "Show QR Code",
|
|
"cancel": "Cancel",
|
|
"authenticate": "Authenticate",
|
|
"retry": "Retry",
|
|
"debugEnterToken": "Debug: Enter Plex Token",
|
|
"plexTokenLabel": "Plex Auth Token",
|
|
"plexTokenHint": "Enter your Plex.tv token",
|
|
"authenticationTimeout": "Authentication timed out. Please try again.",
|
|
"scanQRCodeInstruction": "Scan this QR code with a device logged into Plex to authenticate.",
|
|
"waitingForAuth": "Waiting for authentication...\nPlease complete sign-in in your browser."
|
|
},
|
|
"common": {
|
|
"cancel": "Cancel",
|
|
"save": "Save",
|
|
"close": "Close",
|
|
"clear": "Clear",
|
|
"reset": "Reset",
|
|
"later": "Later",
|
|
"submit": "Submit",
|
|
"confirm": "Confirm",
|
|
"retry": "Retry",
|
|
"playNow": "Play Now",
|
|
"logout": "Logout",
|
|
"online": "Online",
|
|
"offline": "Offline",
|
|
"owned": "Owned",
|
|
"shared": "Shared",
|
|
"current": "CURRENT",
|
|
"unknown": "Unknown",
|
|
"refresh": "Refresh",
|
|
"yes": "Yes",
|
|
"no": "No",
|
|
"server": "Server"
|
|
},
|
|
"screens": {
|
|
"licenses": "Licenses",
|
|
"selectServer": "Select Server",
|
|
"switchProfile": "Switch Profile",
|
|
"subtitleStyling": "Subtitle Styling",
|
|
"search": "Search",
|
|
"logs": "Logs"
|
|
},
|
|
"update": {
|
|
"available": "Update Available",
|
|
"versionAvailable": "Version ${version} is available",
|
|
"currentVersion": "Current: ${version}",
|
|
"skipVersion": "Skip This Version",
|
|
"viewRelease": "View Release",
|
|
"latestVersion": "You are on the latest version",
|
|
"checkFailed": "Failed to check for updates"
|
|
},
|
|
"settings": {
|
|
"title": "Settings",
|
|
"language": "Language",
|
|
"theme": "Theme",
|
|
"appearance": "Appearance",
|
|
"videoPlayback": "Video Playback",
|
|
"shufflePlay": "Shuffle Play",
|
|
"advanced": "Advanced",
|
|
"useSeasonPostersDescription": "Show season poster instead of series poster for episodes",
|
|
"showHeroSectionDescription": "Display featured content carousel on home screen",
|
|
"secondsLabel": "Seconds",
|
|
"minutesLabel": "Minutes",
|
|
"secondsShort": "s",
|
|
"minutesShort": "m",
|
|
"durationHint": "Enter duration (${min}-${max})",
|
|
"systemTheme": "System",
|
|
"systemThemeDescription": "Follow system settings",
|
|
"lightTheme": "Light",
|
|
"darkTheme": "Dark",
|
|
"libraryDensity": "Library Density",
|
|
"compact": "Compact",
|
|
"compactDescription": "Smaller cards, more items visible",
|
|
"normal": "Normal",
|
|
"normalDescription": "Default size",
|
|
"comfortable": "Comfortable",
|
|
"comfortableDescription": "Larger cards, fewer items visible",
|
|
"viewMode": "View Mode",
|
|
"gridView": "Grid",
|
|
"gridViewDescription": "Display items in a grid layout",
|
|
"listView": "List",
|
|
"listViewDescription": "Display items in a list layout",
|
|
"useSeasonPosters": "Use Season Posters",
|
|
"showHeroSection": "Show Hero Section",
|
|
"hardwareDecoding": "Hardware Decoding",
|
|
"hardwareDecodingDescription": "Use hardware acceleration when available",
|
|
"bufferSize": "Buffer Size",
|
|
"bufferSizeMB": "${size}MB",
|
|
"subtitleStyling": "Subtitle Styling",
|
|
"subtitleStylingDescription": "Customize subtitle appearance",
|
|
"smallSkipDuration": "Small Skip Duration",
|
|
"largeSkipDuration": "Large Skip Duration",
|
|
"secondsUnit": "${seconds} seconds",
|
|
"defaultSleepTimer": "Default Sleep Timer",
|
|
"minutesUnit": "${minutes} minutes",
|
|
"unwatchedOnly": "Unwatched Only",
|
|
"unwatchedOnlyDescription": "Only include unwatched episodes in shuffle queue",
|
|
"shuffleOrderNavigation": "Shuffle Order Navigation",
|
|
"shuffleOrderNavigationDescription": "Next/previous buttons follow shuffled order",
|
|
"loopShuffleQueue": "Loop Shuffle Queue",
|
|
"loopShuffleQueueDescription": "Restart queue when reaching the end",
|
|
"videoPlayerControls": "Video Player Controls",
|
|
"keyboardShortcuts": "Keyboard Shortcuts",
|
|
"keyboardShortcutsDescription": "Customize keyboard shortcuts",
|
|
"debugLogging": "Debug Logging",
|
|
"debugLoggingDescription": "Enable detailed logging for troubleshooting",
|
|
"viewLogs": "View Logs",
|
|
"viewLogsDescription": "View application logs",
|
|
"clearCache": "Clear Cache",
|
|
"clearCacheDescription": "This will clear all cached images and data. The app may take longer to load content after clearing the cache.",
|
|
"clearCacheSuccess": "Cache cleared successfully",
|
|
"resetSettings": "Reset Settings",
|
|
"resetSettingsDescription": "This will reset all settings to their default values. This action cannot be undone.",
|
|
"resetSettingsSuccess": "Settings reset successfully",
|
|
"shortcutsReset": "Shortcuts reset to defaults",
|
|
"about": "About",
|
|
"aboutDescription": "App information and licenses",
|
|
"updates": "Updates",
|
|
"updateAvailable": "Update Available",
|
|
"checkForUpdates": "Check for Updates",
|
|
"validationErrorEnterNumber": "Please enter a valid number",
|
|
"validationErrorDuration": "Duration must be between ${min} and ${max} ${unit}",
|
|
"shortcutAlreadyAssigned": "Shortcut already assigned to ${action}",
|
|
"shortcutUpdated": "Shortcut updated for ${action}"
|
|
},
|
|
"search": {
|
|
"hint": "Search movies, shows, music...",
|
|
"tryDifferentTerm": "Try a different search term"
|
|
},
|
|
"hotkeys": {
|
|
"setShortcutFor": "Set Shortcut for ${actionName}",
|
|
"clearShortcut": "Clear shortcut"
|
|
},
|
|
"pinEntry": {
|
|
"enterPin": "Enter PIN",
|
|
"showPin": "Show PIN",
|
|
"hidePin": "Hide PIN"
|
|
},
|
|
"fileInfo": {
|
|
"title": "File Info",
|
|
"video": "Video",
|
|
"audio": "Audio",
|
|
"file": "File",
|
|
"advanced": "Advanced",
|
|
"codec": "Codec",
|
|
"resolution": "Resolution",
|
|
"bitrate": "Bitrate",
|
|
"frameRate": "Frame Rate",
|
|
"aspectRatio": "Aspect Ratio",
|
|
"profile": "Profile",
|
|
"bitDepth": "Bit Depth",
|
|
"colorSpace": "Color Space",
|
|
"colorRange": "Color Range",
|
|
"colorPrimaries": "Color Primaries",
|
|
"chromaSubsampling": "Chroma Subsampling",
|
|
"channels": "Channels",
|
|
"path": "Path",
|
|
"size": "Size",
|
|
"container": "Container",
|
|
"duration": "Duration",
|
|
"optimizedForStreaming": "Optimized for Streaming",
|
|
"has64bitOffsets": "64-bit Offsets"
|
|
},
|
|
"mediaMenu": {
|
|
"markAsWatched": "Mark as Watched",
|
|
"markAsUnwatched": "Mark as Unwatched",
|
|
"removeFromContinueWatching": "Remove from Continue Watching",
|
|
"goToSeries": "Go to series",
|
|
"goToSeason": "Go to season",
|
|
"shufflePlay": "Shuffle Play",
|
|
"fileInfo": "File Info"
|
|
},
|
|
"tooltips": {
|
|
"shufflePlay": "Shuffle play",
|
|
"markAsWatched": "Mark as watched",
|
|
"markAsUnwatched": "Mark as unwatched"
|
|
},
|
|
"videoControls": {
|
|
"audioLabel": "Audio",
|
|
"subtitlesLabel": "Subtitles",
|
|
"resetToZero": "Reset to 0ms",
|
|
"addTime": "+${amount}${unit}",
|
|
"minusTime": "-${amount}${unit}",
|
|
"playsLater": "${label} plays later",
|
|
"playsEarlier": "${label} plays earlier",
|
|
"noOffset": "No offset",
|
|
"letterbox": "Letterbox",
|
|
"fillScreen": "Fill screen",
|
|
"stretch": "Stretch",
|
|
"lockRotation": "Lock rotation",
|
|
"unlockRotation": "Unlock rotation"
|
|
},
|
|
"userStatus": {
|
|
"admin": "Admin",
|
|
"restricted": "Restricted",
|
|
"protected": "Protected"
|
|
},
|
|
"messages": {
|
|
"markedAsWatched": "Marked as watched",
|
|
"markedAsUnwatched": "Marked as unwatched",
|
|
"removedFromContinueWatching": "Removed from Continue Watching",
|
|
"errorLoading": "Error: ${error}",
|
|
"fileInfoNotAvailable": "File information not available",
|
|
"errorLoadingFileInfo": "Error loading file info: ${error}",
|
|
"errorLoadingSeries": "Error loading series",
|
|
"errorLoadingSeason": "Error loading season",
|
|
"musicNotSupported": "Music playback is not yet supported",
|
|
"logsCleared": "Logs cleared",
|
|
"logsCopied": "Logs copied to clipboard",
|
|
"noLogsAvailable": "No logs available",
|
|
"libraryScanning": "Scanning \"${title}\"...",
|
|
"libraryScanStarted": "Library scan started for \"${title}\"",
|
|
"libraryScanFailed": "Failed to scan library: ${error}",
|
|
"metadataRefreshing": "Refreshing metadata for \"${title}\"...",
|
|
"metadataRefreshStarted": "Metadata refresh started for \"${title}\"",
|
|
"metadataRefreshFailed": "Failed to refresh metadata: ${error}",
|
|
"noPlexToken": "No Plex token found. Please login again.",
|
|
"logoutConfirm": "Are you sure you want to logout?",
|
|
"noSeasonsFound": "No seasons found",
|
|
"noEpisodesFound": "No episodes found in first season",
|
|
"noEpisodesFoundGeneral": "No episodes found",
|
|
"noResultsFound": "No results found",
|
|
"sleepTimerSet": "Sleep timer set for ${label}",
|
|
"failedToSwitchProfile": "Failed to switch to ${displayName}"
|
|
},
|
|
"profile": {
|
|
"noUsersAvailable": "No users available"
|
|
},
|
|
"subtitlingStyling": {
|
|
"stylingOptions": "Styling Options",
|
|
"fontSize": "Font Size",
|
|
"textColor": "Text Color",
|
|
"borderSize": "Border Size",
|
|
"borderColor": "Border Color",
|
|
"backgroundOpacity": "Background Opacity",
|
|
"backgroundColor": "Background Color"
|
|
},
|
|
"dialog": {
|
|
"confirmAction": "Confirm Action",
|
|
"areYouSure": "Are you sure you want to perform this action?",
|
|
"cancel": "Cancel",
|
|
"playNow": "Play Now"
|
|
},
|
|
"discover": {
|
|
"title": "Discover",
|
|
"switchProfile": "Switch Profile",
|
|
"switchServer": "Switch Server",
|
|
"logout": "Logout",
|
|
"noContentAvailable": "No content available",
|
|
"addMediaToLibraries": "Add some media to your libraries",
|
|
"continueWatching": "Continue Watching",
|
|
"recentlyAdded": "Recently Added",
|
|
"play": "Play",
|
|
"resume": "Resume",
|
|
"playEpisode": "Play S${season}, E${episode}",
|
|
"resumeEpisode": "Resume S${season}, E${episode}",
|
|
"pause": "Pause",
|
|
"overview": "Overview",
|
|
"cast": "Cast",
|
|
"episodeCount": "${count} episodes",
|
|
"watchedProgress": "${watched}/${total} watched",
|
|
"movie": "Movie",
|
|
"tvShow": "TV Show",
|
|
"minutesLeft": "${minutes} min left"
|
|
},
|
|
"errors": {
|
|
"searchFailed": "Search failed: ${error}",
|
|
"connectionTimeout": "Connection timeout while loading ${context}",
|
|
"connectionFailed": "Unable to connect to Plex server",
|
|
"failedToLoad": "Failed to load ${context}: ${error}",
|
|
"noClientAvailable": "No client available",
|
|
"authenticationFailed": "Authentication failed: ${error}",
|
|
"couldNotLaunchUrl": "Could not launch auth URL",
|
|
"pleaseEnterToken": "Please enter a token",
|
|
"invalidToken": "Invalid token",
|
|
"failedToVerifyToken": "Failed to verify token: ${error}",
|
|
"failedToSwitchProfile": "Failed to switch to ${displayName}",
|
|
"connectionFailedGeneric": "Connection failed"
|
|
},
|
|
"libraries": {
|
|
"title": "Libraries",
|
|
"scanLibraryFiles": "Scan Library Files",
|
|
"scanLibrary": "Scan Library",
|
|
"analyze": "Analyze",
|
|
"analyzeLibrary": "Analyze Library",
|
|
"refreshMetadata": "Refresh Metadata",
|
|
"emptyTrash": "Empty Trash",
|
|
"emptyingTrash": "Emptying trash for \"${title}\"...",
|
|
"trashEmptied": "Trash emptied for \"${title}\"",
|
|
"failedToEmptyTrash": "Failed to empty trash: ${error}",
|
|
"analyzing": "Analyzing \"${title}\"...",
|
|
"analysisStarted": "Analysis started for \"${title}\"",
|
|
"failedToAnalyze": "Failed to analyze library: ${error}",
|
|
"noLibrariesFound": "No libraries found",
|
|
"thisLibraryIsEmpty": "This library is empty",
|
|
"all": "All",
|
|
"clearAll": "Clear All",
|
|
"scanLibraryConfirm": "Are you sure you want to scan \"${title}\"?",
|
|
"analyzeLibraryConfirm": "Are you sure you want to analyze \"${title}\"?",
|
|
"refreshMetadataConfirm": "Are you sure you want to refresh metadata for \"${title}\"?",
|
|
"emptyTrashConfirm": "Are you sure you want to empty trash for \"${title}\"?",
|
|
"manageLibraries": "Manage Libraries",
|
|
"sort": "Sort",
|
|
"sortBy": "Sort By",
|
|
"filters": "Filters",
|
|
"loadingLibraryWithCount": "Loading library... (${count} items loaded)",
|
|
"confirmActionMessage": "Are you sure you want to perform this action?",
|
|
"showLibrary": "Show library",
|
|
"hideLibrary": "Hide library",
|
|
"libraryOptions": "Library options"
|
|
},
|
|
"about": {
|
|
"title": "About",
|
|
"openSourceLicenses": "Open Source Licenses",
|
|
"versionLabel": "Version ${version}",
|
|
"appDescription": "A beautiful Plex client for Flutter",
|
|
"viewLicensesDescription": "View licenses of third-party libraries"
|
|
},
|
|
"serverSelection": {
|
|
"connectingToServer": "Connecting to server...",
|
|
"serverDebugCopied": "Server debug data copied to clipboard",
|
|
"copyDebugData": "Copy Debug Data",
|
|
"noServersFound": "No servers found",
|
|
"malformedServerData": "Found ${count} server(s) with malformed data. No valid servers available.",
|
|
"incompleteServerInfo": "Some servers have incomplete information and were skipped. Please check your Plex.tv account.",
|
|
"incompleteConnectionInfo": "Server connection information is incomplete. Please try again.",
|
|
"malformedServerInfo": "Server information is malformed: ${message}",
|
|
"networkConnectionFailed": "Network connection failed. Please check your internet connection and try again.",
|
|
"authenticationFailed": "Authentication failed. Please sign in again.",
|
|
"plexServiceUnavailable": "Plex service unavailable. Please try again later.",
|
|
"failedToLoadServers": "Failed to load servers: ${error}"
|
|
},
|
|
"hubDetail": {
|
|
"title": "Title",
|
|
"releaseYear": "Release Year",
|
|
"dateAdded": "Date Added",
|
|
"rating": "Rating",
|
|
"noItemsFound": "No items found"
|
|
},
|
|
"logs": {
|
|
"title": "Logs",
|
|
"clearLogs": "Clear Logs",
|
|
"copyLogs": "Copy Logs",
|
|
"exportLogs": "Export Logs",
|
|
"noLogsToShow": "No logs to show",
|
|
"error": "Error:",
|
|
"stackTrace": "Stack Trace:"
|
|
},
|
|
"licenses": {
|
|
"relatedPackages": "Related Packages",
|
|
"license": "License",
|
|
"licenseNumber": "License ${number}",
|
|
"licensesCount": "${count} licenses"
|
|
},
|
|
"navigation": {
|
|
"home": "Home",
|
|
"search": "Search",
|
|
"libraries": "Libraries",
|
|
"settings": "Settings"
|
|
}
|
|
} |