Files
plezy/lib/i18n/en.i18n.json
T
AlbertandClaude Fable 5 f8cb550be7 feat(tv): add corner spotlight backdrop option (#1628)
New TV-only Appearance toggle that pins the spotlight artwork to the
top-right corner (68% width, 72% height) with the left and bottom edges
feathered into the scaffold background, so the logo, metadata, and
shelves sit on a calm surface instead of the image. Default is off —
the full-bleed spotlight stays exactly as it is.

The artwork keeps its full-screen request size: the corner box only
crops the layout, so transcode URLs and image caches are unchanged and
toggling the setting stays instant.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 10:06:25 +02:00

1568 lines
66 KiB
JSON

{
"app": {
"title": "Plezy"
},
"auth": {
"signInWithPlex": "Sign in with Plex",
"showQRCode": "Show QR Code",
"authenticate": "Authenticate",
"authenticationTimeout": "Authentication timed out. Please try again.",
"scanQRToSignIn": "Scan this QR code to sign in",
"waitingForAuth": "Waiting for authentication...\nSign in from your browser.",
"useBrowser": "Use browser",
"or": "or",
"connectToJellyfin": "Connect to Jellyfin",
"useQuickConnect": "Use Quick Connect",
"quickConnectInstructions": "Open Quick Connect in Jellyfin and enter this code.",
"quickConnectWaiting": "Waiting for approval…",
"quickConnectCancel": "Cancel",
"quickConnectExpired": "Quick Connect expired. Try again."
},
"common": {
"cancel": "Cancel",
"save": "Save",
"close": "Close",
"clear": "Clear",
"reset": "Reset",
"later": "Later",
"submit": "Submit",
"confirm": "Confirm",
"retry": "Retry",
"logout": "Logout",
"unknown": "Unknown",
"refresh": "Refresh",
"yes": "Yes",
"no": "No",
"delete": "Delete",
"edit": "Edit",
"shuffle": "Shuffle",
"addTo": "Add to...",
"createNew": "Create new",
"connect": "Connect",
"disconnect": "Disconnect",
"play": "Play",
"pause": "Pause",
"resume": "Resume",
"error": "Error",
"search": "Search",
"home": "Home",
"back": "Back",
"settings": "Settings",
"mute": "Mute",
"ok": "OK",
"off": "Off",
"seasonNumber": "Season ${number}",
"episodeNumberTitle": "Episode ${number} - ${title}",
"chapterNumber": "Chapter ${number}",
"reconnect": "Reconnect",
"viewAll": "View All",
"checkingNetwork": "Checking network...",
"loadingServers": "Loading servers...",
"connectingToServers": "Connecting to servers...",
"startingOfflineMode": "Starting offline mode...",
"loading": "Loading...",
"fullscreen": "Fullscreen",
"exitFullscreen": "Exit fullscreen",
"pressBackAgainToExit": "Press back again to exit"
},
"screens": {
"licenses": "Licenses",
"switchProfile": "Switch Profile",
"subtitleStyling": "Subtitle Styling",
"mpvConfig": "mpv.conf",
"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",
"supportDeveloper": "Support Plezy",
"supportDeveloperDescription": "Donate via Liberapay to fund development",
"language": "Language",
"theme": "Theme",
"appearance": "Appearance",
"videoPlayback": "Video Playback",
"videoPlaybackDescription": "Configure playback behavior",
"advanced": "Advanced",
"episodePosterMode": "Episode Poster Style",
"seriesPoster": "Series Poster",
"seasonPoster": "Season Poster",
"episodeThumbnail": "Thumbnail",
"showHeroSectionDescription": "Display featured content carousel on home screen",
"secondsLabel": "Seconds",
"minutesLabel": "Minutes",
"secondsShort": "s",
"minutesShort": "m",
"durationHint": "Enter duration (${min}-${max})",
"systemTheme": "System",
"lightTheme": "Light",
"darkTheme": "Dark",
"oledTheme": "OLED",
"libraryDensity": "Library Density",
"compact": "Compact",
"comfortable": "Comfortable",
"tvCornerSpotlightBackdrop": "Corner Spotlight Backdrop",
"tvCornerSpotlightBackdropDescription": "Show spotlight artwork in the top-right corner instead of filling the screen",
"viewMode": "View Mode",
"gridView": "Grid",
"listView": "List",
"showHeroSection": "Show Hero Section",
"continueWatchingAction": "Continue Watching Action",
"continueWatchingPlay": "Play",
"continueWatchingDetails": "Open Details",
"episodeAction": "Episode Action",
"episodePlay": "Play",
"episodeDetails": "Open Details",
"useGlobalHubs": "Use Home Layout",
"useGlobalHubsDescription": "Show unified home hubs. Otherwise use library recommendations.",
"showServerNameOnHubs": "Show Server Name on Hubs",
"showServerNameOnHubsDescription": "Always show server names in hub titles.",
"groupLibrariesByServer": "Group Libraries by Server",
"groupLibrariesByServerDescription": "Group sidebar libraries under each media server.",
"alwaysKeepSidebarOpen": "Always Keep Sidebar Open",
"alwaysKeepSidebarOpenDescription": "Sidebar stays expanded and content area adjusts to fit",
"showUnwatchedCount": "Show Unwatched Count",
"showUnwatchedCountDescription": "Display unwatched episode count on shows and seasons",
"showEpisodeNumberOnCards": "Show Episode Number on Cards",
"showEpisodeNumberOnCardsDescription": "Show season and episode number on episode cards",
"showSeasonPostersOnTabs": "Show Season Posters on Tabs",
"showSeasonPostersOnTabsDescription": "Show each season's poster above its tab",
"tvFullCardLayout": "Full TV Cards",
"tvFullCardLayoutDescription": "Use image-only TV cards with actor names overlaid",
"focusGlow": "Focus Glow",
"focusGlowDescription": "Draw a soft glow around the focused card",
"visualEffects": "Visual Effects",
"visualEffectsAuto": "Auto",
"visualEffectsAutoDescription": "Reduce effects automatically on low-power devices",
"visualEffectsFull": "Full",
"visualEffectsReduced": "Reduced",
"visualEffectsReducedDescription": "Fewer animations and lower-resolution artwork",
"hideSpoilers": "Hide Spoilers for Unwatched Episodes",
"hideSpoilersDescription": "Blur thumbnails and descriptions for unwatched episodes",
"playerBackend": "Player Backend",
"exoPlayer": "ExoPlayer",
"mpv": "mpv",
"hardwareDecoding": "Hardware Decoding",
"hardwareDecodingDescription": "Use hardware acceleration when available",
"bufferSize": "Buffer Size",
"bufferSizeMB": "${size}MB",
"bufferSizeAuto": "Auto (Recommended)",
"bufferSizeWarning": "${heap}MB memory available. A ${size}MB buffer may affect playback.",
"defaultQualityTitle": "Default Quality",
"musicQualityTitle": "Music Quality",
"subtitleStyling": "Subtitle Styling",
"subtitleStylingDescription": "Customize subtitle appearance",
"smallSkipDuration": "Small Skip Duration",
"largeSkipDuration": "Large Skip Duration",
"rewindOnResume": "Rewind on Resume",
"secondsUnit": "${seconds} seconds",
"defaultSleepTimer": "Default Sleep Timer",
"minutesUnit": "${minutes} minutes",
"rememberTrackSelections": "Remember track selections per show/movie",
"rememberTrackSelectionsDescription": "Remember audio and subtitle choices per title",
"showChapterMarkersOnTimeline": "Show chapter markers on seek bar",
"showChapterMarkersOnTimelineDescription": "Segment the seek bar at chapter boundaries",
"clickVideoTogglesPlayback": "Click on video to toggle play/pause",
"clickVideoTogglesPlaybackDescription": "Click video to play/pause instead of showing controls.",
"videoPlayerControls": "Video Player Controls",
"keyboardShortcuts": "Keyboard Shortcuts",
"keyboardShortcutsDescription": "Customize keyboard shortcuts",
"videoPlayerNavigation": "Video Player Navigation",
"videoPlayerNavigationDescription": "Use arrow keys to navigate video player controls",
"watchTogetherRelay": "Watch Together Relay",
"watchTogetherRelayDescription": "Set a custom relay. Everyone must use the same server.",
"watchTogetherRelayHint": "https://my-relay.example.com",
"crashReporting": "Crash Reporting",
"crashReportingDescription": "Send crash reports to help improve the app",
"debugLogging": "Debug Logging",
"debugLoggingDescription": "Enable detailed logging for troubleshooting",
"viewLogs": "View Logs",
"viewLogsDescription": "View application logs",
"clearCache": "Clear Cache",
"clearCacheDescription": "Clear cached images and data. Content may load slower.",
"clearCacheSuccess": "Cache cleared successfully",
"resetSettings": "Reset Settings",
"resetSettingsDescription": "Restore default settings. This can't be undone.",
"resetSettingsSuccess": "Settings reset successfully",
"backup": "Backup",
"exportSettings": "Export Settings",
"exportSettingsDescription": "Save your preferences to a file",
"exportSettingsSuccess": "Settings exported",
"exportSettingsFailed": "Could not export settings",
"importSettings": "Import Settings",
"importSettingsDescription": "Restore preferences from a file",
"importSettingsConfirm": "This will replace your current settings. Continue?",
"importSettingsSuccess": "Settings imported",
"importSettingsFailed": "Could not import settings",
"importSettingsInvalidFile": "This file isn't a valid Plezy settings export",
"importSettingsNoUser": "Sign in before importing settings",
"shortcutsReset": "Shortcuts reset to defaults",
"about": "About",
"aboutDescription": "App information and licenses",
"updates": "Updates",
"updateAvailable": "Update Available",
"checkForUpdates": "Check for Updates",
"autoCheckUpdatesOnStartup": "Automatically check for updates on startup",
"autoCheckUpdatesOnStartupDescription": "Notify when an update is available at launch",
"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}",
"autoSkip": "Auto Skip",
"autoSkipIntro": "Auto Skip Intro",
"autoSkipIntroDescription": "Automatically skip intro markers after a few seconds",
"autoSkipCredits": "Auto Skip Credits",
"autoSkipCreditsDescription": "Automatically skip credits and play next episode",
"forceSkipMarkerFallback": "Force Fallback Markers",
"forceSkipMarkerFallbackDescription": "Use chapter title patterns even when Plex has markers",
"autoSkipDelay": "Auto Skip Delay",
"autoSkipDelayDescription": "Wait ${seconds} seconds before auto-skipping",
"introPattern": "Intro Marker Pattern",
"introPatternDescription": "Regex pattern to match intro markers in chapter titles",
"creditsPattern": "Credits Marker Pattern",
"creditsPatternDescription": "Regex pattern to match credits markers in chapter titles",
"invalidRegex": "Invalid regular expression",
"regex": "Regular expression",
"downloads": "Downloads",
"downloadLocationDescription": "Choose where to store downloaded content",
"downloadLocationDefault": "Default (App Storage)",
"downloadLocationCustom": "Custom Location",
"selectFolder": "Select Folder",
"resetToDefault": "Reset to Default",
"currentPath": "Current: ${path}",
"downloadLocationChanged": "Download location changed",
"downloadLocationReset": "Download location reset to default",
"downloadLocationInvalid": "Selected folder is not writable",
"downloadLocationSelectError": "Failed to select folder",
"downloadOnWifiOnly": "Download on WiFi only",
"downloadOnWifiOnlyDescription": "Prevent downloads when on cellular data",
"autoRemoveWatchedDownloads": "Auto-remove watched downloads",
"autoRemoveWatchedDownloadsDescription": "Delete watched downloads automatically",
"cellularDownloadBlocked": "Downloads are blocked on cellular. Use WiFi or change the setting.",
"maxVolume": "Maximum Volume",
"maxVolumeDescription": "Allow volume boost above 100% for quiet media",
"maxVolumePercent": "${percent}%",
"discordRichPresence": "Discord Rich Presence",
"discordRichPresenceDescription": "Show what you're watching on Discord",
"services": "Services",
"servicesDescription": "Connect Trakt, MyAnimeList, Seerr, and more",
"manageLibrariesDescription": "Reorder and hide libraries",
"companionRemoteServer": "Companion Remote Server",
"companionRemoteServerDescription": "Allow mobile devices on your network to control this app",
"autoPip": "Auto Picture-in-Picture",
"autoPipDescription": "Enter picture-in-picture when leaving during playback",
"matchContentFrameRate": "Match Content Frame Rate",
"matchContentFrameRateDescription": "Match display refresh rate to video content",
"matchRefreshRate": "Match Refresh Rate",
"matchRefreshRateDescription": "Match display refresh rate in fullscreen",
"matchDynamicRange": "Match Dynamic Range",
"matchDynamicRangeDescription": "Switch HDR on for HDR content, then back to SDR",
"displaySwitchDelay": "Display Switch Delay",
"tunneledPlayback": "Tunneled Playback",
"tunneledPlaybackDescription": "Use video tunneling. Disable if HDR playback shows black video.",
"audioPassthrough": "Audio Passthrough",
"audioPassthroughDescription": "Send Dolby/DTS audio to your receiver or TV without re-encoding, preserving surround sound. Turn off if you have no sound.",
"audioPassthroughDescriptionAppleTv": "Use Apple's native Dolby decoder for Dolby Digital Plus, including Atmos. DTS and TrueHD still play as multichannel PCM. Turn off if you have no sound.",
"audioDownmix": "Downmix to Stereo",
"audioDownmixDescription": "Mix surround audio down to two channels for stereo speakers or headphones",
"downmixCenterBoost": "Center Channel Boost",
"downmixCenterBoostValue": "${db} dB",
"downmixCenterBoostLabel": "Boost (dB)",
"downmixCenterBoostShort": "dB",
"audioDownmixNormalize": "Normalize Volume on Downmix",
"audioDownmixNormalizeDescription": "Lower the mix to prevent clipping. Turn off to keep the original volume (may distort loud scenes).",
"atmosDiagnostics": "Atmos Output Test",
"atmosDiagnosticsDescription": "Diagnose Dolby Atmos output by playing test signals through the system player",
"atmosTestHlsAtmos": "Apple Atmos stream",
"atmosTestHlsAtmosDescription": "Known-good Dolby Atmos stream. The receiver should show Dolby Atmos.",
"atmosTestHlsControl": "Apple surround stream",
"atmosTestHlsControlDescription": "Non-Atmos control stream. The receiver should show surround without Atmos.",
"atmosTestRawStream": "Raw EAC3 stream",
"atmosTestRawStreamDescription": "Streams the test file exactly like in-player Atmos playback. Needs the test file URL.",
"atmosTestRawFile": "Raw EAC3 file",
"atmosTestRawFileDescription": "Plays the test file with a known length. Needs the test file URL.",
"atmosTestStop": "Stop test",
"atmosTestUrl": "Test file URL",
"atmosTestUrlDescription": "HTTP URL of a raw .ec3 Dolby Atmos file (e.g. extracted with ffmpeg)",
"atmosTestUrlMissing": "Set the test file URL first",
"atmosTestStatus": "Status",
"dvConversionMode": "Dolby Vision Conversion",
"dvConversionModeDescription": "Choose how ExoPlayer handles Dolby Vision Profile 7 files.",
"dvConversionAuto": "Auto",
"dvConversionNative": "Native / Disabled",
"dvConversionDv81": "P7 → P8.1",
"dvConversionHevcStrip": "P7 → HEVC",
"dvConversionAutoDescription": "Use device capability detection and normal fallback behavior",
"dvConversionNativeDescription": "Force native DV7 and suppress DV conversion retry",
"dvConversionDv81Description": "Force inline RPU conversion to Dolby Vision profile 8.1",
"dvConversionHevcStripDescription": "Strip Dolby Vision RPU/EL layers and present plain HEVC",
"requireProfileSelectionOnOpen": "Ask for profile on app open",
"requireProfileSelectionOnOpenDescription": "Show profile selection every time the app is opened",
"forceTvMode": "Force TV mode",
"forceTvModeDescription": "Force TV layout. For devices that don't auto-detect. Requires restart.",
"startInFullscreen": "Start in fullscreen",
"startInFullscreenDescription": "Open Plezy in fullscreen mode at launch",
"exitFullscreenOnPlayerClose": "Exit fullscreen on player close",
"exitFullscreenOnPlayerCloseDescription": "Automatically exit fullscreen when closing the video player",
"autoHidePerformanceOverlay": "Auto-Hide Performance Overlay",
"autoHidePerformanceOverlayDescription": "Fade the performance overlay with the playback controls",
"showNavBarLabels": "Show Navigation Bar Labels",
"showNavBarLabelsDescription": "Display text labels under navigation bar icons",
"startupSection": "Startup Section",
"liveTvDefaultFavorites": "Default to Favorite Channels",
"liveTvDefaultFavoritesDescription": "Show only favorite channels when opening Live TV",
"display": "Display",
"homeScreen": "Home Screen",
"navigation": "Navigation",
"window": "Window",
"content": "Content",
"player": "Player",
"subtitlesAndConfig": "Subtitles & Configuration",
"seekAndTiming": "Seek & Timing",
"behavior": "Behavior"
},
"search": {
"hint": "Search movies, shows, music...",
"tryDifferentTerm": "Try a different search term",
"searchYourMedia": "Search your media",
"enterTitleActorOrKeyword": "Enter a title, actor, or keyword"
},
"hotkeys": {
"setShortcutFor": "Set Shortcut for ${actionName}",
"clearShortcut": "Clear shortcut",
"noShortcutSet": "No shortcut set",
"currentShortcut": "Current shortcut:",
"pressToRecord": "Select to record a shortcut",
"recordingShortcut": "Press the shortcut now",
"actions": {
"playPause": "Play/Pause",
"volumeUp": "Volume Up",
"volumeDown": "Volume Down",
"seekForward": "Seek Forward (${seconds}s)",
"seekBackward": "Seek Backward (${seconds}s)",
"fullscreenToggle": "Toggle Fullscreen",
"muteToggle": "Toggle Mute",
"subtitleToggle": "Toggle Subtitles",
"audioTrackNext": "Next Audio Track",
"subtitleTrackNext": "Next Subtitle Track",
"chapterNext": "Next Chapter",
"chapterPrevious": "Previous Chapter",
"episodeNext": "Next Episode",
"episodePrevious": "Previous Episode",
"speedIncrease": "Increase Speed",
"speedDecrease": "Decrease Speed",
"speedReset": "Reset Speed",
"zoomIn": "Zoom In",
"zoomOut": "Zoom Out",
"zoomReset": "Reset Zoom",
"subSeekNext": "Seek to Next Subtitle",
"subSeekPrev": "Seek to Previous Subtitle",
"shaderToggle": "Toggle Shaders",
"skipMarker": "Skip Intro/Credits",
"screenshot": "Take Screenshot"
}
},
"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",
"subtitles": "Subtitles",
"overallBitrate": "Overall Bitrate",
"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",
"viewDetails": "View details",
"goToSeries": "Go to series",
"shufflePlay": "Shuffle Play",
"shuffleNotAvailableOffline": "Shuffle not available offline",
"fileInfo": "File Info",
"deleteFromServer": "Delete from server",
"confirmDelete": "Delete this media and its files from your server?",
"deleteMultipleWarning": "This includes all episodes and their files.",
"mediaDeletedSuccessfully": "Media item deleted successfully",
"mediaFailedToDelete": "Failed to delete media item",
"rate": "Rate",
"playFromBeginning": "Play from Beginning",
"playVersion": "Play Version..."
},
"rateSheet": {
"title": "Rate",
"server": "Server",
"favorite": "Favorite",
"favorited": "Favorited",
"saved": "Saved",
"notAvailable": "No match found",
"noConnectedServices": "Connect a service in Settings to rate there."
},
"accessibility": {
"mediaCardMovie": "${title}, movie",
"mediaCardShow": "${title}, TV show",
"mediaCardEpisode": "${title}, ${episodeInfo}",
"mediaCardSeason": "${title}, ${seasonInfo}",
"mediaCardWatched": "watched",
"mediaCardPartiallyWatched": "${percent} percent watched",
"mediaCardUnwatched": "unwatched",
"tapToPlay": "Tap to play",
"decrease": "Decrease",
"increase": "Increase",
"decreaseValue": "Decrease ${label}",
"increaseValue": "Increase ${label}",
"hue": "Hue",
"saturation": "Saturation",
"brightness": "Brightness",
"hexColor": "Hex color",
"expandText": "Expand text",
"collapseText": "Collapse text"
},
"tooltips": {
"shufflePlay": "Shuffle play",
"playTrailer": "Play trailer",
"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",
"timerActive": "Timer Active",
"playbackWillPauseIn": "Playback will pause in ${duration}",
"sleepTimerEndOfVideo": "End of current video",
"sleepTimerStopAtHeader": "Stop at",
"sleepTimerDurationHeader": "Timer",
"playbackWillPauseAtEnd": "Playback will pause at the end of this video",
"stillWatching": "Still watching?",
"pausingIn": "Pausing in ${seconds}s",
"continueWatching": "Continue",
"autoPlayNext": "Auto-Play Next",
"playNext": "Play Next",
"playButton": "Play",
"pauseButton": "Pause",
"seekBackwardButton": "Seek backward ${seconds} seconds",
"seekForwardButton": "Seek forward ${seconds} seconds",
"previousButton": "Previous episode",
"nextButton": "Next episode",
"previousChapterButton": "Previous chapter",
"nextChapterButton": "Next chapter",
"muteButton": "Mute",
"unmuteButton": "Unmute",
"settingsButton": "Playback Settings",
"tracksButton": "Audio & Subtitles",
"chaptersButton": "Chapters",
"versionQualityButton": "Version & Quality",
"versionColumnHeader": "Version",
"qualityColumnHeader": "Quality",
"qualityOriginal": "Original",
"qualityPresetLabel": "${resolution}p ${bitrate} Mbps",
"transcodeUnavailableFallback": "Transcoding unavailable — playing original quality",
"subtitleUnavailableFallback": "Selected subtitles could not be loaded — continuing without subtitles",
"pipButton": "Picture-in-Picture mode",
"aspectRatioButton": "Aspect ratio",
"ambientLighting": "Ambient lighting",
"fullscreenButton": "Enter fullscreen",
"exitFullscreenButton": "Exit fullscreen",
"alwaysOnTopButton": "Always on top",
"rotationLockButton": "Rotation lock",
"lockScreen": "Lock screen",
"screenLockButton": "Screen lock",
"longPressToUnlock": "Long press to unlock",
"timelineSlider": "Video timeline",
"volumeSlider": "Volume level",
"endsAt": "Ends at ${time}",
"pipActive": "Playing in Picture-in-Picture",
"pipFailed": "Picture-in-picture failed to start",
"screenshotSaved": "Screenshot saved",
"zoomPercent": "Zoom ${percent}%",
"pipErrors": {
"androidVersion": "Requires Android 8.0 or newer",
"iosVersion": "Requires iOS 15.0 or newer",
"permissionDisabled": "Picture-in-picture is disabled. Enable it in system settings.",
"notSupported": "Device doesn't support picture-in-picture mode",
"voSwitchFailed": "Failed to switch video output for picture-in-picture",
"failed": "Picture-in-picture failed to start",
"unknown": "An error occurred: ${error}"
},
"chapters": "Chapters",
"noChaptersAvailable": "No chapters available",
"queue": "Queue",
"noQueueItems": "No items in queue",
"searchSubtitles": "Search Subtitles",
"language": "Language",
"noSubtitlesFound": "No subtitles found",
"noSubtitlesAvailable": "No subtitles available",
"noAudioTracksAvailable": "No audio tracks available",
"noTracksAvailable": "No tracks available",
"subtitleDownloaded": "Subtitle downloaded",
"subtitleDownloadedNotApplied": "Subtitle downloaded, but it could not be selected",
"subtitleDownloadFailed": "Failed to download subtitle",
"searchLanguages": "Search languages..."
},
"userStatus": {},
"messages": {
"markedAsWatched": "Marked as watched",
"markedAsUnwatched": "Marked as unwatched",
"markedAsWatchedOffline": "Marked as watched (will sync when online)",
"markedAsUnwatchedOffline": "Marked as unwatched (will sync when online)",
"autoRemovedWatchedDownload": "Auto-removed: ${title}",
"autoRemovedWatchedDownloads": {
"one": "Auto-removed ${n} watched download",
"other": "Auto-removed ${n} watched downloads"
},
"removedFromContinueWatching": "Removed from Continue Watching",
"errorLoading": "Error: ${error}",
"streamInterrupted": "The stream was interrupted. Press play or seek to retry.",
"liveStreamInterrupted": "The live stream was interrupted. Press play to retry.",
"fileInfoNotAvailable": "File information not available",
"errorLoadingFileInfo": "Error loading file info: ${error}",
"errorLoadingSeries": "Error loading series",
"musicNotSupported": "Music playback is not yet supported",
"noDescriptionAvailable": "No description available",
"noProfilesAvailable": "No profiles available",
"contactAdminForProfiles": "Contact your server administrator to add profiles",
"unableToDetermineLibrarySection": "Unable to determine library section for this item",
"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}",
"logoutConfirm": "Are you sure you want to logout?",
"noSeasonsFound": "No seasons found",
"seasonsLoadFailed": "Couldn't load seasons",
"noEpisodesFound": "No episodes found in first season",
"noEpisodesFoundGeneral": "No episodes found",
"episodesLoadFailed": "Couldn't load episodes",
"noResultsFound": "No results found",
"sleepTimerSet": "Sleep timer set for ${label}",
"noItemsAvailable": "No items available",
"failedToCreatePlayQueueNoItems": "Failed to create play queue - no items",
"failedPlayback": "Failed to ${action}: ${error}",
"switchingToCompatiblePlayer": "Switching to compatible player...",
"serverLimitTitle": "Playback failed",
"serverLimitBody": "Server error (HTTP 500). A bandwidth/transcoding limit likely rejected this session. Ask the owner to adjust it.",
"logsUploaded": "Logs uploaded",
"logsUploadFailed": "Failed to upload logs",
"logId": "Log ID"
},
"subtitlingStyling": {
"text": "Text",
"border": "Border",
"background": "Background",
"fontSize": "Font Size",
"textColor": "Text Color",
"borderSize": "Border Size",
"borderColor": "Border Color",
"backgroundOpacity": "Background Opacity",
"backgroundColor": "Background Color",
"position": "Position",
"assOverride": "ASS Override",
"overrideScale": "Scale",
"overrideForce": "Force",
"overrideStrip": "Remove styling",
"positionTop": "Top",
"positionBottom": "Bottom",
"bold": "Bold",
"italic": "Italic",
"renderResolution": "Render Resolution",
"renderResolutionScreen": "Screen resolution",
"renderResolutionVideo": "Video resolution"
},
"mpvConfig": {
"title": "mpv.conf",
"description": "Advanced video player settings",
"presets": "Presets",
"noPresets": "No saved presets",
"saveAsPreset": "Save as Preset...",
"presetName": "Preset Name",
"presetNameHint": "Enter a name for this preset",
"loadPreset": "Load",
"deletePreset": "Delete",
"presetSaved": "Preset saved",
"presetLoaded": "Preset loaded",
"presetDeleted": "Preset deleted",
"confirmDeletePreset": "Are you sure you want to delete this preset?",
"configPlaceholder": "gpu-api=vulkan\nhwdec=auto\n# comment"
},
"dialog": {
"confirmAction": "Confirm Action"
},
"profiles": {
"addPlezyProfile": "Add Plezy profile",
"switchingProfile": "Switching profile…",
"deleteThisProfileTitle": "Delete this profile?",
"deleteThisProfileMessage": "Remove ${displayName}. Connections aren't affected.",
"active": "Active",
"manage": "Manage",
"delete": "Delete",
"signOut": "Sign out",
"signOutPlexTitle": "Sign out of Plex?",
"signOutPlexMessage": "Remove ${displayName} and all Plex Home users? Sign back in anytime.",
"signedOutPlex": "Signed out of Plex.",
"signOutFailed": "Sign out failed.",
"sectionTitle": "Profiles",
"summarySingle": "Add profiles to mix managed users and local identities",
"summaryMultipleWithActive": "${count} profiles · active: ${activeName}",
"summaryMultiple": "${count} profiles",
"removeConnectionTitle": "Remove connection?",
"removeConnectionMessage": "Remove ${displayName}'s access to ${connectionLabel}. Other profiles keep it.",
"deleteProfileTitle": "Delete profile?",
"deleteProfileMessage": "Remove ${displayName} and its connections. Servers stay available.",
"profileNameLabel": "Profile name",
"pinProtectionLabel": "PIN protection",
"pinManagedByPlex": "PIN managed by Plex. Edit on plex.tv.",
"noPinSetEditOnPlex": "No PIN set. To require one, edit the home user on plex.tv.",
"setPin": "Set PIN",
"setPinTitle": "Set PIN",
"confirmPinTitle": "Confirm PIN",
"pinSet": "PIN set",
"changePin": "Change",
"removePin": "Remove",
"connectionsLabel": "Connections",
"add": "Add",
"deleteProfileButton": "Delete profile",
"noConnectionsHint": "No connections — add one to use this profile.",
"noConnections": "No connections",
"plexHomeAccount": "Plex Home account",
"connectionDefault": "Default",
"connectionAs": "as ${displayName}",
"makeDefault": "Make default",
"removeConnection": "Remove",
"profileRenamed": "Profile renamed.",
"borrowAddTo": "Add to ${displayName}",
"borrowExplain": "Borrow another profile's connection. PIN-protected profiles require a PIN.",
"borrowEmpty": "Nothing to borrow yet.",
"borrowEmptySubtitle": "Connect Plex or Jellyfin to another profile first.",
"borrowFromProfile": "From ${displayName}",
"borrowConnectionBorrowed": "Connection borrowed.",
"borrowFailed": "Failed to borrow connection.",
"incorrectPin": "Incorrect PIN.",
"incorrectPinTryAgain": "Incorrect PIN. Please try again.",
"sourceProfileMissingParentAccount": "Source profile is missing its parent account.",
"failedToLoadHomeUsers": "Could not load your Plex Home users. Check your connection and try again.",
"failedToVerifyPin": "Failed to verify PIN.",
"newProfile": "New profile",
"profileNameHint": "e.g. Guests, Kids, Family Room",
"pinProtectionOptional": "PIN protection (optional)",
"pinExplain": "4-digit PIN required to switch profiles.",
"continueButton": "Continue",
"pinsDontMatch": "PINs don't match"
},
"connections": {
"sectionTitle": "Connections",
"addConnection": "Add connection",
"addConnectionSubtitleNoProfile": "Sign in with Plex or connect a Jellyfin server",
"addConnectionSubtitleScoped": "Add to ${displayName}: Plex, Jellyfin, or another profile connection",
"sessionExpiredOne": "Session expired for ${name}",
"sessionExpiredMany": "Session expired for ${count} servers",
"signInAgain": "Sign in again",
"editJellyfinTitle": "Edit Jellyfin connection",
"editJellyfinIntro": "Add or remove URLs for ${serverName}. Plezy will use the reachable URL with the lowest latency."
},
"discover": {
"title": "Discover",
"noContentAvailable": "No content available",
"addMediaToLibraries": "Add some media to your libraries",
"continueWatching": "Continue Watching",
"continueWatchingIn": "Continue Watching in ${library}",
"nextUp": "Next Up",
"nextUpIn": "Next Up in ${library}",
"recentlyAdded": "Recently Added",
"recentlyAddedIn": "Recently Added in ${library}",
"latestAlbumsIn": "Latest Albums in ${library}",
"recentlyPlayedIn": "Recently Played in ${library}",
"mostPlayedIn": "Most Played in ${library}",
"playEpisode": "S${season}E${episode}",
"overview": "Overview",
"cast": "Cast",
"extras": "Trailers & Extras",
"studio": "Studio",
"rating": "Rating",
"movie": "Movie",
"tvShow": "TV Show",
"minutesLeft": "${minutes} min left",
"moreLikeThis": "More Like This"
},
"errors": {
"searchFailed": "Search failed: ${error}",
"connectionTimeout": "Connection timeout while loading ${context}",
"connectionFailed": "Unable to connect to media server",
"unableToLoad": "Unable to load ${context}. Please try again.",
"noClientAvailable": "No client available",
"pleaseEnterToken": "Please enter a token",
"invalidToken": "Invalid token",
"failedToVerifyToken": "Failed to verify token: ${error}",
"failedToSwitchProfile": "Failed to switch to ${displayName}",
"failedToDeleteProfile": "Failed to delete ${displayName}",
"failedToRate": "Couldn't update rating"
},
"libraries": {
"title": "Libraries",
"fallbackTitle": "Library",
"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",
"allLibrariesHidden": "All libraries are hidden",
"hiddenLibrariesCount": "Hidden libraries (${count})",
"thisLibraryIsEmpty": "This library is empty",
"noItemsMatchFilters": "No items match the active filters",
"resetFilters": "Reset filters",
"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",
"confirmActionMessage": "Are you sure you want to perform this action?",
"showLibrary": "Show library",
"hideLibrary": "Hide library",
"libraryOptions": "Library options",
"content": "library content",
"selectLibrary": "Select library",
"filtersWithCount": "Filters (${count})",
"noRecommendations": "No recommendations available",
"noCollections": "No collections in this library",
"noFoldersFound": "No folders found",
"folders": "folders",
"tabs": {
"recommended": "Recommended",
"browse": "Browse",
"collections": "Collections",
"playlists": "Playlists"
},
"groupings": {
"title": "Grouping",
"all": "All",
"movies": "Movies",
"shows": "TV Shows",
"seasons": "Seasons",
"episodes": "Episodes",
"artists": "Artists",
"albums": "Albums",
"tracks": "Tracks",
"folders": "Folders"
},
"filterCategories": {
"genre": "Genre",
"year": "Year",
"contentRating": "Content Rating",
"tag": "Tag",
"unwatched": "Unwatched",
"unplayed": "Unplayed",
"favorites": "Favorites"
},
"sortLabels": {
"title": "Title",
"dateAdded": "Date Added",
"releaseDate": "Release Date",
"rating": "Rating",
"communityRating": "Community Rating",
"criticRating": "Critic Rating",
"userRating": "User Rating",
"datePlayed": "Date Played",
"playCount": "Play Count",
"productionYear": "Production Year",
"runtime": "Runtime",
"officialRating": "Official Rating",
"premiereDate": "Premiere Date",
"startDate": "Start Date",
"airTime": "Air Time",
"studio": "Studio",
"random": "Random",
"dateShared": "Date Shared",
"latestEpisodeAirDate": "Latest Episode Air Date",
"lastEpisodeDateAdded": "Last Episode Date Added"
}
},
"about": {
"title": "About",
"openSourceLicenses": "Open Source Licenses",
"versionLabel": "Version ${version}",
"appDescription": "A beautiful Plex and Jellyfin client for Flutter",
"viewLicensesDescription": "View licenses of third-party libraries"
},
"serverSelection": {
"noServersFoundForAccount": "No servers found for ${username} (${email})",
"failedToLoadServers": "Failed to load servers: ${error}"
},
"hubDetail": {
"title": "Title",
"releaseYear": "Release Year",
"dateAdded": "Date Added",
"rating": "Rating",
"noItemsFound": "No items found"
},
"logs": {
"clearLogs": "Clear Logs",
"copyLogs": "Copy Logs",
"uploadLogs": "Upload Logs"
},
"licenses": {
"relatedPackages": "Related Packages",
"license": "License",
"licenseNumber": "License ${number}",
"licensesCount": "${count} licenses"
},
"navigation": {
"libraries": "Libraries",
"downloads": "Downloads",
"liveTv": "Live TV",
"explore": "Explore"
},
"explore": {
"title": "Explore",
"selectSource": "Select source",
"rows": {
"watchlist": "Watchlist",
"recommendedMovies": "Recommended Movies",
"recommendedShows": "Recommended Shows",
"trendingMovies": "Trending Movies",
"trendingShows": "Trending Shows",
"popularMovies": "Popular Movies",
"popularShows": "Popular Shows",
"suggestedAnime": "Suggested Anime",
"airingAnime": "Top Airing Anime",
"popularAnime": "Most Popular Anime",
"trending": "Trending",
"upcomingMovies": "Upcoming Movies",
"upcomingShows": "Upcoming Shows"
},
"status": {
"airing": "Airing",
"ended": "Ended",
"canceled": "Canceled",
"upcoming": "Upcoming"
},
"episodeCount": {
"one": "${n} episode",
"other": "${n} episodes"
},
"cast": "Cast",
"characters": "Characters",
"addToWatchlist": "Add to Watchlist",
"removeFromWatchlist": "Remove from Watchlist",
"watchlistUpdateFailed": "Couldn't update watchlist",
"notInLibrary": "Not in your library",
"inTheseLibraries": "In these libraries",
"checkingLibrary": "Checking your library...",
"emptyTitle": "Nothing here yet",
"emptyMessage": "Rows from ${source} will appear here once they have content.",
"searchHint": "Search ${source}",
"searchEmpty": "No results for \"${query}\"",
"searchPrompt": "Search for movies and shows on ${source}.",
"searchFailed": "Search failed. Check your connection and try again."
},
"liveTv": {
"title": "Live TV",
"guide": "Guide",
"noChannels": "No channels available",
"noDvr": "No DVR configured on any server",
"serverUnavailable": "Live TV server is not available.",
"serverNotConnected": "Live TV server is not connected.",
"noPrograms": "No program data available",
"liveStreamFailed": "Live stream failed",
"unknownProgram": "Unknown Program",
"unknownHub": "Unknown",
"unknownError": "Unknown error",
"channelNumber": "Channel ${number}",
"unknownChannel": "Unknown channel",
"live": "LIVE",
"reloadGuide": "Reload Guide",
"now": "Now",
"today": "Today",
"tomorrow": "Tomorrow",
"midnight": "Midnight",
"overnight": "Overnight",
"morning": "Morning",
"daytime": "Daytime",
"evening": "Evening",
"lateNight": "Late Night",
"whatsOn": "What's On",
"watchChannel": "Watch Channel",
"favorites": "Favorites",
"reorderFavorites": "Reorder Favorites",
"favoritesLoadFailed": "Could not load favorites. Check your connection and try again.",
"joinSession": "Join Session in Progress",
"watchFromStart": "Watch from start (${minutes} min ago)",
"watchLive": "Watch Live",
"goToLive": "Go to Live",
"record": "Record",
"recordEpisode": "Record Episode",
"recordSeries": "Record Series",
"recordOptions": "Record Options",
"saveTo": "Save to",
"recordings": "Recordings",
"scheduledRecordings": "Scheduled",
"recordingRules": "Recording Rules",
"noScheduledRecordings": "Nothing scheduled to record",
"manageRecording": "Manage recording",
"cancelRecording": "Cancel recording",
"cancelRecordingTitle": "Cancel this recording?",
"cancelRecordingMessage": "${title} will no longer be recorded.",
"deleteRule": "Delete rule",
"deleteRuleTitle": "Delete recording rule?",
"deleteRuleMessage": "Future episodes of ${title} will not be recorded.",
"recordingScheduled": "Recording scheduled",
"alreadyScheduled": "This program is already scheduled",
"dvrAdminRequired": "DVR settings require an admin account",
"recordingFailed": "Couldn't schedule recording",
"recordingTargetMissing": "Couldn't determine recording library",
"recordNotAvailable": "Recording not available for this program",
"recordingCancelled": "Recording cancelled",
"recordingRuleDeleted": "Recording rule deleted",
"processRecordingRules": "Re-evaluate rules",
"recordingInProgress": "Recording now",
"recordingsCount": "${count} scheduled",
"editRule": "Edit rule",
"editRuleAction": "Edit",
"recordingRuleUpdated": "Recording rule updated",
"guideReloadRequested": "Guide refresh requested",
"rulesProcessRequested": "Rule re-evaluation requested",
"recordShow": "Record show"
},
"collections": {
"title": "Collections",
"collection": "Collection",
"empty": "Collection is empty",
"deleteCollection": "Delete Collection",
"deleteConfirm": "Delete \"${title}\"? This can't be undone.",
"deleted": "Collection deleted",
"deleteFailed": "Failed to delete collection",
"deleteFailedWithError": "Failed to delete collection: ${error}",
"selectCollection": "Select Collection",
"collectionName": "Collection Name",
"enterCollectionName": "Enter collection name",
"addedToCollection": "Added to collection",
"errorAddingToCollection": "Failed to add to collection",
"created": "Collection created",
"removeFromCollection": "Remove from collection",
"removeFromCollectionConfirm": "Remove \"${title}\" from this collection?",
"removedFromCollection": "Removed from collection",
"removeFromCollectionFailed": "Failed to remove from collection",
"removeFromCollectionError": "Error removing from collection: ${error}",
"searchCollections": "Search collections..."
},
"playlists": {
"title": "Playlists",
"playlist": "Playlist",
"noPlaylists": "No playlists found",
"create": "Create Playlist",
"playlistName": "Playlist Name",
"enterPlaylistName": "Enter playlist name",
"delete": "Delete Playlist",
"removeItem": "Remove from Playlist",
"smartPlaylist": "Smart Playlist",
"itemCount": "${count} items",
"oneItem": "1 item",
"emptyPlaylist": "This playlist is empty",
"deleteConfirm": "Delete Playlist?",
"deleteMessage": "Are you sure you want to delete \"${name}\"?",
"created": "Playlist created",
"deleted": "Playlist deleted",
"itemAdded": "Added to playlist",
"itemRemoved": "Removed from playlist",
"selectPlaylist": "Select Playlist",
"searchPlaylists": "Search playlists...",
"errorCreating": "Failed to create playlist",
"errorDeleting": "Failed to delete playlist",
"errorLoading": "Failed to load playlists",
"errorAdding": "Failed to add to playlist",
"errorReordering": "Failed to reorder playlist item",
"errorRemoving": "Failed to remove from playlist"
},
"music": {
"goToAlbum": "Go to album",
"goToArtist": "Go to artist",
"instantMix": "Instant Mix",
"playNext": "Play next",
"addToQueue": "Add to queue",
"discNumber": "Disc ${n}",
"trackCount": {
"one": "${n} track",
"other": "${n} tracks"
},
"nowPlaying": "Now Playing",
"playingFrom": "Playing from ${title}",
"queue": "Queue",
"clearQueue": "Clear queue",
"lyrics": "Lyrics",
"noLyrics": "No lyrics available",
"sleepTimer": "Sleep timer",
"sleepTimerEndOfTrack": "End of track",
"sleepTimerMinutes": "${n} minutes",
"stopPlayback": "Stop playback",
"previousTrack": "Previous track",
"nextTrack": "Next track",
"repeat": "Repeat",
"repeatAll": "Repeat all",
"repeatOne": "Repeat one"
},
"watchTogether": {
"title": "Watch Together",
"description": "Watch content in sync with friends and family",
"createSession": "Create Session",
"creating": "Creating...",
"joinSession": "Join Session",
"joining": "Joining...",
"controlMode": "Control Mode",
"controlModeQuestion": "Who can control playback?",
"hostOnly": "Host Only",
"anyone": "Anyone",
"hostingSession": "Hosting Session",
"inSession": "In Session",
"sessionCode": "Session Code",
"openSessionControls": "Open Watch Together session controls",
"copySessionCode": "Copy session code",
"hostControlsPlayback": "Host controls playback",
"anyoneCanControl": "Anyone can control playback",
"hostControls": "Host controls",
"anyoneControls": "Anyone controls",
"participants": "Participants",
"host": "Host",
"hostBadge": "HOST",
"youAreHost": "You are the host",
"watchingWithOthers": "Watching with others",
"endSession": "End Session",
"leaveSession": "Leave Session",
"endSessionQuestion": "End Session?",
"leaveSessionQuestion": "Leave Session?",
"endSessionConfirm": "This will end the session for all participants.",
"leaveSessionConfirm": "You will be removed from the session.",
"endSessionConfirmOverlay": "This will end the watch session for all participants.",
"leaveSessionConfirmOverlay": "You will be disconnected from the watch session.",
"end": "End",
"leave": "Leave",
"syncing": "Syncing...",
"joinWatchSession": "Join Watch Session",
"enterCodeHint": "Enter 5-character code",
"pasteFromClipboard": "Paste from clipboard",
"pleaseEnterCode": "Please enter a session code",
"codeMustBe5Chars": "Session code must be 5 characters",
"joinInstructions": "Enter the host's session code to join.",
"failedToCreate": "Failed to create session",
"failedToJoin": "Failed to join session",
"sessionCodeCopied": "Session code copied to clipboard",
"relayUnreachable": "Relay server unreachable. ISP blocking may prevent Watch Together.",
"reconnectingToHost": "Reconnecting to host...",
"currentPlayback": "Current Playback",
"joinCurrentPlayback": "Join Current Playback",
"joinCurrentPlaybackDescription": "Jump back into what the host is currently watching",
"failedToOpenCurrentPlayback": "Failed to open current playback",
"participantJoined": "${name} joined",
"participantLeft": "${name} left",
"participantPaused": "${name} paused",
"participantResumed": "${name} resumed",
"participantSeeked": "${name} seeked",
"participantBuffering": "${name} is buffering",
"participantNeedsUpdate": "${name} is on an older app version — sync unavailable",
"resumingWithout": "Resuming without ${name}",
"waitingForParticipants": "Waiting for others to load...",
"waitingForName": "Waiting for ${name}...",
"recentRooms": "Recent Rooms",
"renameRoom": "Rename Room",
"removeRoom": "Remove",
"guestSwitchUnavailable": "Couldn't switch — server unavailable for sync",
"guestSwitchFailed": "Couldn't switch — content not found on this server"
},
"downloads": {
"title": "Downloads",
"manage": "Manage",
"tvShows": "TV Shows",
"movies": "Movies",
"music": "Music",
"tracksQueued": "${count} tracks queued for download",
"noDownloads": "No downloads yet",
"noDownloadsDescription": "Downloaded content will appear here for offline viewing",
"downloadNow": "Download",
"deleteDownload": "Delete download",
"retryDownload": "Retry download",
"downloadQueued": "Download queued",
"downloadResumed": "Download resumed",
"serverErrorBitrate": "Server error: file may exceed the remote bitrate limit",
"episodesQueued": "${count} episodes queued for download",
"downloadDeleted": "Download deleted",
"deleteConfirm": "Delete \"${title}\" from this device?",
"cancelledDownloadTitle": "Cancelled Download",
"cancelledDownloadMessage": "This download was cancelled. What would you like to do?",
"allEpisodesAlreadyDownloaded": "All episodes already downloaded",
"resumeDownload": "Resume download",
"cancelledDownload": "Cancelled download",
"syncingFile": "${file} (syncing ${status})",
"downloadedFileClickToComplete": "Downloaded ${file} - Click to complete",
"partialDownloadClickToComplete": "Partially downloaded - Click to complete",
"deleting": "Deleting...",
"deletingWithProgress": "Deleting ${title}... (${current} of ${total})",
"queuedTooltip": "Queued",
"queuedFilesTooltip": "Queued ${files}",
"downloadingTooltip": "Downloading...",
"downloadingFilesTooltip": "Downloading ${files}",
"noDownloadsTree": "No downloads",
"pauseAll": "Pause all",
"resumeAll": "Resume all",
"deleteAll": "Delete all",
"selectVersion": "Select Version",
"allEpisodes": "All episodes",
"unwatchedOnly": "Unwatched only",
"nextNUnwatched": "Next ${count} unwatched",
"customAmount": "Custom amount...",
"includeSpecials": "Include Specials",
"howManyEpisodes": "How many episodes?",
"invalidEpisodeCount": "Enter a valid episode count.",
"keepSynced": "Keep synced",
"downloadOnce": "Download once",
"keepNUnwatched": "Keep ${count} unwatched",
"editSyncRule": "Edit sync rule",
"removeSyncRule": "Remove sync rule",
"removeSyncRuleConfirm": "Stop syncing \"${title}\"? Downloaded episodes will be kept.",
"syncRuleCreated": "Sync rule created — keeping ${count} unwatched episodes",
"syncRuleUpdated": "Sync rule updated",
"syncRuleRemoved": "Sync rule removed",
"syncedNewEpisodes": "Synced ${count} new episodes for ${title}",
"activeSyncRules": "Sync rules",
"noSyncRules": "No sync rules",
"manageSyncRule": "Manage sync",
"editEpisodeCount": "Episode count",
"editSyncFilter": "Sync filter",
"syncAllItems": "Syncing all items",
"syncUnwatchedItems": "Syncing unwatched items",
"syncRuleServerContext": "Server: ${server} • ${status}",
"syncRuleAvailable": "Available",
"syncRuleOffline": "Offline",
"syncRuleSignInRequired": "Sign in required",
"syncRuleNotAvailableForProfile": "Not available for current profile",
"syncRuleUnknownServer": "Unknown server",
"syncRuleListCreated": "Sync rule created"
},
"shaders": {
"title": "Shaders",
"noShaderDescription": "No video enhancement",
"nvscalerDescription": "NVIDIA image scaling for sharper video",
"artcnnVariantNeutral": "Neutral",
"artcnnVariantDenoise": "Denoise",
"artcnnVariantDenoiseSharpen": "Denoise + Sharpen",
"qualityFast": "Fast",
"qualityHQ": "High Quality",
"mode": "Mode",
"importShader": "Import Shader",
"customShaderDescription": "Custom GLSL shader",
"shaderImported": "Shader imported",
"shaderImportFailed": "Failed to import shader",
"deleteShader": "Delete Shader",
"deleteShaderConfirm": "Delete \"${name}\"?"
},
"companionRemote": {
"title": "Companion Remote",
"connectedTo": "Connected to ${name}",
"unknownDevice": "Unknown Device",
"session": {
"startingServer": "Starting remote server...",
"hostAddress": "Host Address",
"connected": "Connected",
"serverRunning": "Remote server active",
"serverStopped": "Remote server stopped",
"serverRunningDescription": "Mobile devices on your network can connect to this app",
"serverStoppedDescription": "Start the server to allow mobile devices to connect",
"usePhoneToControl": "Use your mobile device to control this app",
"startServer": "Start Server",
"stopServer": "Stop Server",
"minimize": "Minimize"
},
"pairing": {
"discoveryDescription": "Plezy devices with the same Plex account appear here",
"hostAddressHint": "192.168.1.100:48632",
"connecting": "Connecting...",
"searchingForDevices": "Looking for devices...",
"noDevicesFound": "No devices found on your network",
"noDevicesHint": "Open Plezy on desktop and use the same WiFi",
"availableDevices": "Available Devices",
"manualConnection": "Manual Connection",
"cryptoInitFailed": "Couldn't start secure connection. Sign in to Plex first.",
"validationHostRequired": "Please enter host address",
"validationHostFormat": "Format must be IP:port (e.g., 192.168.1.100:48632)",
"connectionTimedOut": "Connection timed out. Use the same network on both devices.",
"sessionNotFound": "Device not found. Make sure Plezy is running on the host.",
"authFailed": "Authentication failed. Both devices need the same Plex account.",
"failedToConnect": "Failed to connect: ${error}"
},
"remote": {
"disconnectConfirm": "Do you want to disconnect from the remote session?",
"reconnecting": "Reconnecting...",
"attemptOf": "Attempt ${current} of 5",
"retryNow": "Retry Now",
"tabRemote": "Remote",
"tabPlay": "Play",
"tabMore": "More",
"menu": "Menu",
"tabNavigation": "Tab Navigation",
"tabDiscover": "Discover",
"tabLibraries": "Libraries",
"tabSearch": "Search",
"tabDownloads": "Downloads",
"tabSettings": "Settings",
"previous": "Previous",
"playPause": "Play/Pause",
"next": "Next",
"seekBack": "Seek Back",
"stop": "Stop",
"seekForward": "Seek Fwd",
"volume": "Volume",
"volumeDown": "Down",
"volumeUp": "Up",
"fullscreen": "Fullscreen",
"subtitles": "Subtitles",
"audio": "Audio",
"searchHint": "Search on desktop..."
},
"errors": {
"noNetworkInterface": "No network interface found",
"authenticationFailed": "Authentication failed",
"serverStartFailed": "Failed to start remote server: ${error}",
"commandFailed": "Failed to send remote command: ${error}",
"joinTimedOut": "Timed out joining session",
"failedToConnectAnyAddress": "Failed to connect to any address",
"connectionLostAfterAttempts": "Connection lost after ${attempts} attempts",
"connectionLost": "Connection lost"
}
},
"videoSettings": {
"playbackSpeed": "Playback Speed",
"normalSpeed": "Normal",
"sleepTimerActive": "Active (${duration})",
"zoom": "Zoom",
"sleepTimer": "Sleep Timer",
"audioSync": "Audio Sync",
"subtitleSync": "Subtitle Sync",
"hdr": "HDR",
"audioOutput": "Audio Output",
"performanceOverlay": "Performance Overlay",
"audioPassthrough": "Audio Passthrough",
"audioNormalization": "Normalize Loudness",
"audioDownmix": "Downmix to Stereo"
},
"performanceOverlay": {
"color": "Color",
"performance": "Performance",
"buffer": "Buffer",
"app": "App",
"decoder": "Decoder",
"rawDecoder": "Raw Decoder",
"tunneling": "Tunneling",
"aspect": "Aspect",
"rotation": "Rotation",
"dvSource": "DV Source",
"dvPath": "DV Path",
"p7Conversion": "P7 Conv",
"sampleRate": "Sample Rate",
"pixelFormat": "Pixel Fmt",
"hwFormat": "HW Fmt",
"matrix": "Matrix",
"primaries": "Primaries",
"transfer": "Transfer",
"renderFps": "Render FPS",
"displayFps": "Display FPS",
"avSync": "A/V Sync",
"dropped": "Dropped",
"dvRpus": "DV RPUs",
"dvRpuAverage": "DV RPU Avg",
"dvSampleAverage": "DV Sample Avg",
"maxLuma": "Max Luma",
"minLuma": "Min Luma",
"maxCll": "MaxCLL",
"maxFall": "MaxFALL",
"cacheUsed": "Cache Used",
"cacheLimit": "Cache Limit",
"speed": "Speed",
"player": "Player",
"memory": "Memory",
"uiFps": "UI FPS"
},
"externalPlayer": {
"title": "External Player",
"useExternalPlayer": "Use External Player",
"useExternalPlayerDescription": "Open videos in another app",
"selectPlayer": "Select Player",
"customPlayers": "Custom Players",
"systemDefault": "System Default",
"addCustomPlayer": "Add Custom Player",
"playerName": "Player Name",
"playerNameHint": "My Player",
"playerCommand": "Command",
"playerPackage": "Package Name",
"playerUrlScheme": "URL Scheme",
"off": "Off",
"launchFailed": "Failed to open external player",
"appNotInstalled": "${name} is not installed",
"playInExternalPlayer": "Play in External Player"
},
"metadataEdit": {
"editMetadata": "Edit...",
"screenTitle": "Edit Metadata",
"basicInfo": "Basic Info",
"artwork": "Artwork",
"advancedSettings": "Advanced Settings",
"title": "Title",
"sortTitle": "Sort Title",
"originalTitle": "Original Title",
"releaseDate": "Release Date",
"contentRating": "Content Rating",
"studio": "Studio",
"tagline": "Tagline",
"summary": "Summary",
"poster": "Poster",
"background": "Background",
"logo": "Logo",
"squareArt": "Square Art",
"selectPoster": "Select Poster",
"selectBackground": "Select Background",
"selectLogo": "Select Logo",
"selectSquareArt": "Select Square Art",
"fromUrl": "From URL",
"uploadFile": "Upload File",
"enterImageUrl": "Enter image URL",
"imageUrl": "Image URL",
"metadataUpdated": "Metadata updated",
"metadataUpdateFailed": "Failed to update metadata",
"artworkUpdated": "Artwork updated",
"artworkUpdateFailed": "Failed to update artwork",
"noArtworkAvailable": "No artwork available",
"artworkOption": "Artwork option ${index}",
"selectedArtworkOption": "Artwork option ${index}, selected",
"notSet": "Not set",
"libraryDefault": "Library default",
"accountDefault": "Account default",
"seriesDefault": "Series default",
"episodeSorting": "Episode Sorting",
"oldestFirst": "Oldest first",
"newestFirst": "Newest first",
"keep": "Keep",
"allEpisodes": "All episodes",
"latestEpisodes": "${count} latest episodes",
"latestEpisode": "Latest episode",
"episodesAddedPastDays": "Episodes added in the past ${count} days",
"deleteAfterPlaying": "Delete Episodes After Playing",
"never": "Never",
"afterADay": "After a day",
"afterAWeek": "After a week",
"afterAMonth": "After a month",
"onNextRefresh": "On next refresh",
"seasons": "Seasons",
"show": "Show",
"hide": "Hide",
"episodeOrdering": "Episode Ordering",
"tmdbAiring": "The Movie Database (Aired)",
"tvdbAiring": "TheTVDB (Aired)",
"tvdbAbsolute": "TheTVDB (Absolute)",
"metadataLanguage": "Metadata Language",
"useOriginalTitle": "Use Original Title",
"preferredAudioLanguage": "Preferred Audio Language",
"preferredSubtitleLanguage": "Preferred Subtitle Language",
"subtitleMode": "Auto-Select Subtitle Mode",
"manuallySelected": "Manually selected",
"shownWithForeignAudio": "Shown with foreign audio",
"alwaysEnabled": "Always enabled",
"tags": "Tags",
"addTag": "Add tag",
"genre": "Genre",
"director": "Director",
"writer": "Writer",
"producer": "Producer",
"country": "Country",
"collection": "Collection",
"label": "Label",
"style": "Style",
"mood": "Mood"
},
"matchScreen": {
"match": "Match...",
"fixMatch": "Fix Match...",
"unmatch": "Unmatch",
"unmatchConfirm": "Clear this match? Plex treats it as unmatched until rematched.",
"unmatchSuccess": "Item unmatched",
"unmatchFailed": "Failed to unmatch item",
"matchApplied": "Match applied",
"matchFailed": "Failed to apply match",
"titleHint": "Title",
"yearHint": "Year",
"search": "Search",
"noMatchesFound": "No matches found"
},
"serverTasks": {
"title": "Server Tasks",
"failedToLoad": "Failed to load tasks",
"noTasks": "No tasks running"
},
"trakt": {
"title": "Trakt",
"connected": "Connected",
"connectedAs": "Connected as @${username}",
"disconnectConfirm": "Disconnect Trakt account?",
"disconnectConfirmBody": "Plezy will stop sending events to Trakt. You can reconnect any time.",
"scrobble": "Real-time scrobbling",
"scrobbleDescription": "Send play, pause, and stop events to Trakt during playback.",
"watchedSync": "Sync watched status",
"watchedSyncDescription": "When you mark items watched in Plezy, mark them on Trakt."
},
"seerr": {
"title": "Seerr",
"connectTitle": "Connect Seerr",
"serverUrl": "Server URL",
"serverUrlHelper": "The address of your Seerr instance",
"checkServer": "Continue",
"signInWithJellyfin": "Sign in with Jellyfin",
"signInWithEmby": "Sign in with Emby",
"signInWithLocal": "Use a local account",
"email": "Email",
"noSignInMethods": "This Seerr instance offers no sign-in method Plezy supports.",
"instance": "Instance",
"disconnectConfirm": "Disconnect Seerr?",
"disconnectConfirmBody": "Plezy will forget this Seerr instance. Reconnect any time.",
"request": "Request",
"request4k": "Request in 4K",
"seasons": "Seasons",
"allSeasons": "All seasons",
"advancedOptions": "Advanced",
"destinationServer": "Destination server",
"qualityProfile": "Quality profile",
"rootFolder": "Root folder",
"languageProfile": "Language profile",
"requestSubmitted": "Request submitted",
"requestFailed": "Request failed: ${error}",
"requestsLoadFailed": "Couldn't load request options",
"nothingToRequest": "Everything is already available or requested.",
"statusAvailable": "Available",
"statusPartiallyAvailable": "Partially available",
"statusRequested": "Requested",
"statusProcessing": "Processing"
},
"services": {
"title": "Services",
"hubSubtitle": "Sync watch progress and request new titles.",
"notConnected": "Not connected",
"connectedAs": "Connected as @${username}",
"scrobble": "Track progress automatically",
"scrobbleDescription": "Update your list when you finish an episode or movie.",
"disconnectConfirm": "Disconnect ${service}?",
"disconnectConfirmBody": "Plezy will stop updating ${service}. Reconnect any time.",
"connectFailed": "Couldn't connect to ${service}. Try again.",
"names": {
"mal": "MyAnimeList",
"anilist": "AniList",
"simkl": "Simkl",
"seerr": "Seerr"
},
"deviceCode": {
"title": "Activate Plezy on ${service}",
"body": "Visit ${url} and enter this code:",
"openToActivate": "Open ${service} to activate",
"copyCode": "Copy activation code",
"waitingForAuthorization": "Waiting for authorization…",
"codeCopied": "Code copied"
},
"oauthProxy": {
"title": "Sign in to ${service}",
"body": "Scan this QR code or open the URL on any device.",
"openToSignIn": "Open ${service} to sign in",
"copyUrl": "Copy sign-in URL",
"urlCopied": "URL copied"
},
"libraryFilter": {
"title": "Library filter",
"subtitleAllSyncing": "Syncing all libraries",
"subtitleNoneSyncing": "Nothing syncing",
"subtitleBlocked": "${count} blocked",
"subtitleAllowed": "${count} allowed",
"mode": "Filter mode",
"modeBlacklist": "Blacklist",
"modeWhitelist": "Whitelist",
"modeHintBlacklist": "Sync every library except the ones checked below.",
"modeHintWhitelist": "Sync only the libraries checked below.",
"libraries": "Libraries",
"noLibraries": "No libraries available"
}
},
"addServer": {
"addJellyfinTitle": "Add Jellyfin server",
"serverUrls": "Server URLs",
"serverUrlsHelper": "Multiple URLs allowed, separated by commas.",
"findServer": "Find server",
"searchingLocalServers": "Looking for local Jellyfin servers...",
"localServers": "Local Jellyfin servers",
"username": "Username",
"password": "Password",
"signIn": "Sign in",
"change": "Change",
"required": "Required",
"couldNotReachServer": "Could not reach the server: ${error}",
"signInFailed": "Sign-in failed: ${error}",
"quickConnectFailed": "Quick Connect failed: ${error}",
"addPlexTitle": "Sign in with Plex",
"pinExpired": "PIN expired before sign-in. Please try again.",
"failedToRegisterAccount": "Failed to register account: ${error}",
"enterJellyfinUrlError": "Enter your Jellyfin server URL",
"addConnectionTitle": "Add connection",
"addConnectionTitleScoped": "Add to ${name}",
"signInWithPlexCard": "Sign in with Plex",
"signInWithPlexCardSubtitle": "Authorize this device. Shared servers are added.",
"signInWithPlexCardSubtitleScoped": "Authorize a Plex account. Home users become profiles.",
"connectToJellyfinCard": "Connect to Jellyfin",
"connectToJellyfinCardSubtitle": "Enter your server URL, username, and password.",
"connectToJellyfinCardSubtitleScoped": "Sign in to a Jellyfin server. Binds to ${name}.",
"borrowFromAnotherProfile": "Borrow from another profile",
"borrowFromAnotherProfileSubtitle": "Reuse another profile's connection. PIN-protected profiles require a PIN."
}
}