1625 lines
70 KiB
JSON
1625 lines
70 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.",
|
||
"localDataRecoveryRequired": "Plezy could not safely recover local sign-in and pending playback data. Please sign in again."
|
||
},
|
||
"common": {
|
||
"cancel": "Cancel",
|
||
"save": "Save",
|
||
"close": "Close",
|
||
"clear": "Clear",
|
||
"reset": "Reset",
|
||
"later": "Later",
|
||
"submit": "Submit",
|
||
"confirm": "Confirm",
|
||
"retry": "Retry",
|
||
"logout": "Log out",
|
||
"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",
|
||
"watchTogetherRelayInvalid": "Enter a valid HTTP or HTTPS relay base URL.",
|
||
"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",
|
||
"clearImageCache": "Clear Image Cache",
|
||
"clearImageCacheDescription": "Clear cached artwork and thumbnails. Images may load slower until downloaded again.",
|
||
"clearImageCacheSuccess": "Image 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",
|
||
"importSettings": "Import Settings",
|
||
"importSettingsDescription": "Restore preferences from a file",
|
||
"importSettingsConfirm": "This will replace your current settings. Continue?",
|
||
"importSettingsSuccess": "Settings imported",
|
||
"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}",
|
||
"saveFailed": "Could not save changes. Try again.",
|
||
"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",
|
||
"downloadLocationPickerUnavailable": "Folder selection is not available on this device",
|
||
"downloadOnWifiOnly": "Download on Wi-Fi 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 Wi-Fi 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": "Automatically enter picture-in-picture when you leave the app 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",
|
||
"alphabetNavigation": "Alphabet navigation",
|
||
"alphabetScrollHint": "Swipe up or down to move by letter",
|
||
"rowColumnPosition": "Row ${row} of ${rowCount}, column ${column} of ${columnCount}",
|
||
"rowPosition": "Row ${row} of ${rowCount}"
|
||
},
|
||
"tooltips": {
|
||
"shufflePlay": "Shuffle play",
|
||
"playTrailer": "Play trailer",
|
||
"markAsWatched": "Mark as watched",
|
||
"markAsUnwatched": "Mark as unwatched"
|
||
},
|
||
"audioTracks": {
|
||
"track": "Audio Track ${n}"
|
||
},
|
||
"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",
|
||
"showPlaybackControls": "Show playback controls",
|
||
"hidePlaybackControls": "Hide playback controls",
|
||
"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}",
|
||
"searchPartialResults": "Some media servers could not be searched. Showing available results.",
|
||
"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",
|
||
"playbackAuthenticationRequired": "Sign in to the media server again to play this item.",
|
||
"playbackServerUnavailable": "The media server is unavailable. Try again later.",
|
||
"playbackDataInvalid": "The server returned invalid playback information.",
|
||
"playbackCancelled": "Playback was canceled.",
|
||
"playbackFailed": "Playback could not be started.",
|
||
"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 log out?",
|
||
"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 a 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.",
|
||
"borrowLoadFailed": "Available connections could not be loaded. Try again.",
|
||
"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",
|
||
"director": "Director",
|
||
"directors": "Directors",
|
||
"movie": "Movie",
|
||
"tvShow": "TV Show",
|
||
"minutesLeft": "${minutes} min left",
|
||
"moreLikeThis": "More Like This"
|
||
},
|
||
"errors": {
|
||
"searchFailed": "Search failed: ${error}",
|
||
"searchUnavailable": "Search could not reach any media server.",
|
||
"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",
|
||
"trendingAnime": "Trending Anime",
|
||
"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.",
|
||
"favoritesUpdateFailed": "Could not update 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 canceled",
|
||
"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} changed the playback position",
|
||
"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",
|
||
"storageFull": "Downloads stopped because device storage is full. Free some space, then retry.",
|
||
"episodesQueued": "${count} episodes queued for download",
|
||
"downloadDeleted": "Download deleted",
|
||
"deleteConfirm": "Delete \"${title}\" from this device?",
|
||
"cancelledDownloadTitle": "Canceled Download",
|
||
"cancelledDownloadMessage": "This download was canceled. What would you like to do?",
|
||
"allEpisodesAlreadyDownloaded": "All episodes already downloaded",
|
||
"resumeDownload": "Resume download",
|
||
"cancelledDownload": "Canceled 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.",
|
||
"removeListSyncRuleConfirm": "Stop syncing \"${title}\"?",
|
||
"deleteSyncRuleDownloads": "Also delete associated downloads",
|
||
"deleteSyncRuleDownloadsDescription": "Downloads used by another sync rule or profile will be kept.",
|
||
"syncRuleCreated": "Sync rule created — keeping ${count} unwatched episodes",
|
||
"syncRuleUpdated": "Sync rule updated",
|
||
"syncRuleRemoved": "Sync rule removed",
|
||
"syncRuleAndDownloadsRemoved": "Sync rule and associated downloads removed",
|
||
"syncRuleCleanupBusy": "Sync rules are currently updating. Try again in a moment.",
|
||
"syncRuleCleanupUnavailable": "Associated downloads could not be identified safely. Reconnect the server and try again, or remove the rule without deleting downloads.",
|
||
"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",
|
||
"backgroundWarning": {
|
||
"bannerBlocked": "Downloads will stop when you leave the app",
|
||
"bannerDegraded": "Background downloads may be limited",
|
||
"bannerAction": "Details",
|
||
"sheetTitle": "Background downloads are blocked",
|
||
"sheetTitleDegraded": "Background downloads may be limited",
|
||
"sheetIntro": "Android is preventing Plezy from downloading reliably in the background.",
|
||
"sheetIntroDegraded": "Your device is limiting when Plezy can download in the background.",
|
||
"reasonBackgroundRestricted": "Plezy's background usage is restricted. Set its battery or background usage to \"Unrestricted\".",
|
||
"reasonStandbyRestricted": "Android has put Plezy in a restricted standby state. Set its battery usage to \"Unrestricted\".",
|
||
"reasonDownloadChannelBlocked": "Download notifications are turned off, so progress and controls may be unavailable.",
|
||
"reasonNotificationsDisabled": "Notifications are turned off. On Android 13 or newer, they are required for long background downloads.",
|
||
"reasonDataSaver": "Data Saver is on, which blocks background downloads on mobile data. Downloads should still run on Wi-Fi.",
|
||
"reasonOemUnknown": "Downloads repeatedly stopped while Plezy was in the background. Check Plezy's battery or background usage settings.",
|
||
"openSettings": "Open settings",
|
||
"stillNotWorking": "Device-specific help",
|
||
"stillNotWorkingDescription": "See steps for your device, or send a log from Settings › View Logs if the issue continues.",
|
||
"dialogTitle": "Downloads may not finish",
|
||
"dialogDownloadAnyway": "Download anyway",
|
||
"dialogFixFirst": "Fix this first",
|
||
"statusTile": "Background downloads",
|
||
"statusOk": "Allowed to run in the background",
|
||
"statusBlocked": "Blocked by system settings",
|
||
"statusDegraded": "Limited by system settings",
|
||
"statusUnknown": "Not checked yet",
|
||
"settingsUnavailable": "Couldn't open system settings on this device",
|
||
"linkUnavailable": "Couldn't open dontkillmyapp.com on this device"
|
||
}
|
||
},
|
||
"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 Wi-Fi",
|
||
"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 as watched in Plezy, they are also marked as watched 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."
|
||
}
|
||
}
|