{
    "appName": { "message": "CinePlex" },
    "appDescription": { "message": "Scans Plex servers to find content and displays it in the interface" },
    "appTagline": { "message": "Movies, Series & Music" },
    "appLocaleCode": { "message": "en-US" },
    "toggleNavigation": { "message": "Toggle Navigation" },
    "searchPlaceholder": { "message": "Search for movies or series..." },
    "openMusicPlayer": { "message": "Open Music Player" },
    "settings": { "message": "Settings" },
    "navMovies": { "message": "Movies" },
    "navSeries": { "message": "Series" },
    "navPhotos": { "message": "Photos" },
    "navStats": { "message": "Statistics" },
    "navFavorites": { "message": "Favorites" },
    "navHistory": { "message": "History" },
    "navRecommendations": { "message": "Recommendations" },
    "navMusic": { "message": "Music" },
    "heroWelcome": { "message": "Welcome to CinePlex" },
    "heroSubtitle": { "message": "Explore thousands of movies and series." },
    "addStream": { "message": "Add Stream" },
    "moreInfo": { "message": "More Info" },
    "popularMovies": { "message": "Popular Movies" },
    "allGenres": { "message": "All Genres" },
    "allYears": { "message": "All Years" },
    "sortPopular": { "message": "Most Popular" },
    "sortTopRated": { "message": "Top Rated" },
    "sortRecent": { "message": "Most Recent" },
    "loadMore": { "message": "Load More" },
    "photosBreadcrumbHome": { "message": "Albums" },
    "selectServer": { "message": "Select a server" },
    "loading": { "message": "Loading..." },
    "photosEmptyState": { "message": "No albums or photos found." },
    "photosEmptyStateSub": { "message": "Please select a server or make sure you have a photo library in Plex." },
    "statsTitle": { "message": "Library Statistics" },
    "statsAllTokens": { "message": "All Tokens" },
    "statsAnalyzing": { "message": "Analyzing your library..." },
    "statsActiveTokens": { "message": "Active Tokens" },
    "statsServersFound": { "message": "Servers Found" },
    "statsUniqueMovies": { "message": "Unique Movies" },
    "statsUniqueSeries": { "message": "Unique Series" },
    "statsUniqueArtists": { "message": "Unique Artists" },
    "statsTokenServers": { "message": "Token's Servers" },
    "statsChartMoviesByGenre": { "message": "Content by Genre (Movies)" },
    "statsChartSeriesByGenre": { "message": "Content by Genre (Series)" },
    "statsChartByDecade": { "message": "Content by Decade" },
    "recommendationsTitle": { "message": "Recommendations For You" },
    "historyTitle": { "message": "Viewing History" },
    "clearHistory": { "message": "Clear All" },
    "consoleTitle": { "message": "Plex Scan Console" },
    "footerCredit": { "message": "An interface for your Plex universe." },
    "backButton": { "message": "Back" },
    "closeTrailer": { "message": "Close trailer" },
    "close": { "message": "Close" },
    "photoViewer": { "message": "Photo Viewer" },
    "previous": { "message": "Previous" },
    "next": { "message": "Next" },
    "notificationTemplateText": { "message": "Notification" },
    "settingsTitleFull": { "message": "Settings and Configuration" },
    "settingsTabGeneral": { "message": "General" },
    "settingsTabPlex": { "message": "Plex" },
    "settingsTabPhpGen": { "message": "PHP Generator" },
    "settingsTabData": { "message": "Data" },
    "settingsApiServer": { "message": "API and Server Configuration" },
    "settingsTmdbApiLabel": { "message": "TMDB API Key (Optional)" },
    "settingsTmdbApiPlaceholder": { "message": "Will use default key if left blank" },
    "settingsTmdbLangLabel": { "message": "Language for TMDB & UI" },
    "settingsPhpUrlLabel": { "message": "Server URL for Adding Streams" },
    "settingsPhpUrlPlaceholder": { "message": "https://your-server.com/path/to/script.php" },
    "settingsInterface": { "message": "Interface" },
    "settingsLightTheme": { "message": "Light Mode" },
    "settingsShowHero": { "message": "Show 'Hero' welcome section" },
    "settingsScanContent": { "message": "Content Scanning" },
    "settingsScanDesc": { "message": "Select what to scan and press the button." },
    "settingsScanMovies": { "message": "Movies" },
    "settingsScanShows": { "message": "Series" },
    "settingsScanArtists": { "message": "Music" },
    "settingsScanPhotos": { "message": "Photos" },
    "settingsSelectAll": { "message": "Select All" },
    "settingsStartScan": { "message": "Start Scan" },
    "settingsPlexTokens": { "message": "Plex Tokens" },
    "settingsPlexTokensDesc": { "message": "Edit the list of Plex tokens (JSON format)." },
    "settingsSaveTokens": { "message": "Save Tokens" },
    "settingsPhpGenTitle": { "message": "PHP Server Script Generator" },
    "settingsPhpFileOptions": { "message": "File Options" },
    "settingsPhpSavePathLabel": { "message": "Save Path on Server" },
    "settingsPhpSavePathPlaceholder": { "message": "Ex: /var/www/html/lists (blank for same folder)" },
    "settingsPhpFilenameLabel": { "message": "Filename" },
    "settingsPhpFileAction": { "message": "File Action" },
    "settingsPhpActionAppend": { "message": "Append to the end of the file (cumulative)" },
    "settingsPhpActionOverwrite": { "message": "Overwrite the file (start fresh)" },
    "settingsPhpSecurity": { "message": "Security (Optional)" },
    "settingsPhpUseSecretKey": { "message": "Use secret key (Recommended)" },
    "settingsPhpSecretKeyPlaceholder": { "message": "Enter a secure secret key" },
    "settingsPhpGeneratedCode": { "message": "Generated Code" },
    "settingsPhpGeneratedPlaceholder": { "message": "The generated PHP code will appear here." },
    "settingsGenerateScript": { "message": "Generate Script" },
    "settingsCopyScript": { "message": "Copy Script" },
    "settingsDataManagement": { "message": "Local Database Management" },
    "settingsImportDb": { "message": "Import DB from File" },
    "settingsExportDb": { "message": "Export DB to File" },
    "settingsClearContent": { "message": "Clear Local Content Data" },
    "settingsClearContentDesc": { "message": "This action will delete movies, series, and music from the local database, but will not affect your favorites or settings." },
    "settingsClose": { "message": "Close" },
    "settingsSave": { "message": "Save Settings" },
    "musicSidenavTitle": { "message": "Plex Music" },
    "musicAllServers": { "message": "All Servers" },
    "musicSearchArtistPlaceholder": { "message": "Search artist..." },
    "musicSearchDiscographyPlaceholder": { "message": "Search in discography..." },
    "musicNothingPlaying": { "message": "Nothing playing" },
    "musicSelectSong": { "message": "Select a song" },
    "musicToStart": { "message": "to start playing" },
    "miniplayerDownloadSong": { "message": "Download song" },
    "miniplayerDownloadAlbum": { "message": "Download M3U album" },
    "miniplayerVolume": { "message": "Volume" },
    "miniplayerShuffle": { "message": "Shuffle" },
    "miniplayerEqualizer": { "message": "Equalizer" },
    "miniplayerOpenList": { "message": "Open list" },
    "eqTitle": { "message": "Graphic Equalizer" },
    "eqPresetsLabel": { "message": "Presets" },
    "eqPresetFlat": { "message": "Flat" },
    "eqPresetRock": { "message": "Rock" },
    "eqPresetPop": { "message": "Pop" },
    "eqPresetJazz": { "message": "Jazz" },
    "eqPresetClassical": { "message": "Classical" },
    "eqPresetBassBoost": { "message": "Bass Boost" },
    "eqPreampLabel": { "message": "Pre-Amp" },
    "infoModalTitle": { "message": "Information" },
    "infoModalFieldTitle": { "message": "Title:" },
    "infoModalFieldArtist": { "message": "Artist:" },
    "infoModalFieldAlbum": { "message": "Album:" },
    "infoModalFieldSong": { "message": "Song:" },
    "infoModalFieldYear": { "message": "Year:" },
    "infoModalFieldGenre": { "message": "Genre:" },
    "lang_en": { "message": "English" },
    "lang_es": { "message": "Spanish" },
    "lang_fr": { "message": "French" },
    "lang_de": { "message": "German" },
    "essentialFeaturesNotSupported": { "message": "Your browser does not support essential features." },
    "dbAccessError": { "message": "Error accessing the local database." },
    "dbUpdateNeeded": { "message": "The database needs to be updated, please reload the page." },
    "dbBlocked": { "message": "Please close other tabs of this application to continue." },
    "deletingContentData": { "message": "Deleting local content data..." },
    "noContentDataToDelete": { "message": "No content data to delete." },
    "contentDataDeleted": { "message": "Content data deleted from IndexedDB." },
    "errorDeletingData": { "message": "Error deleting data: $message$", "placeholders": { "message": { "content": "$1" } } },
    "aceEditorNotAvailable": { "message": "Text editor not available." },
    "errorLoadingTokens": { "message": "Error loading tokens to editor." },
    "errorLoadingTokensMessage": { "message": "Error loading tokens: $message$", "placeholders": { "message": { "content": "$1" } } },
    "aceEditorNotAvailableToSave": { "message": "Editor not available for saving." },
    "invalidJsonFormat": { "message": "Invalid JSON format. Must be { \"tokens\": [...] }" },
    "tokensSaved": { "message": "Tokens saved successfully." },
    "errorSavingTokens": { "message": "Error saving tokens: $message$", "placeholders": { "message": { "content": "$1" } } },
    "dbNotAvailable": { "message": "IndexedDB is not available." },
    "dbExported": { "message": "Database exported successfully." },
    "errorExportingDb": { "message": "Error exporting database: $message$", "placeholders": { "message": { "content": "$1" } } },
    "invalidJsonFile": { "message": "The file does not contain a valid JSON object." },
    "noDataToImport": { "message": "The file does not contain data for the current DB sections." },
    "dbImported": { "message": "Database imported successfully." },
    "errorImportingDb": { "message": "Error importing database: $message$", "placeholders": { "message": { "content": "$1" } } },
    "updatingView": { "message": "Updating view with new data..." },
    "confirmClearContent": { "message": "Are you sure you want to delete local content data (Movies, Series, Music, etc.)? Favorites and Settings will NOT be deleted." },
    "trailerNotFound": { "message": "No trailer found for this title." },
    "confirmClearHistory": { "message": "Are you sure you want to delete your entire viewing history? This action cannot be undone." },
    "historyCleared": { "message": "Viewing history cleared." },
    "historyItemDeleted": { "message": "Item deleted from history." },
    "errorGeneratingScript": { "message": "First, generate a script to be able to copy it." },
    "scriptCopied": { "message": "PHP script copied to clipboard." },
    "errorCopyingScript": { "message": "Error copying script." },
    "scriptGenerated": { "message": "PHP script generated." },
    "errorLoadingAlbum": { "message": "Error loading album: $message$", "placeholders": { "message": { "content": "$1" } } },
    "noPhotoServerSelected": { "message": "Error: No photo server has been selected." },
    "loadingGenres": { "message": "Loading genres..." },
    "errorLoadingGenres": { "message": "Error loading" },
    "noContentFound": { "message": "No results found." },
    "couldNotLoadContent": { "message": "Could not load content." },
    "noFavorites": { "message": "You don't have any favorites yet." },
    "errorLoadingFavorites": { "message": "Error loading favorites." },
    "historyEmpty": { "message": "Your history is empty." },
    "historyEmptySub": { "message": "Browse and watch content for it to appear here." },
    "errorGeneratingRecommendations": { "message": "Error generating recommendations." },
    "noRecommendations": { "message": "We need to know you better to give you recommendations!" },
    "errorGeneratingStats": { "message": "Error generating statistics." },
    "noServersForToken": { "message": "No associated servers found for this token." },
    "searchingActorContent": { "message": "Searching for content from $actorName$", "placeholders": { "actorName": { "content": "$1" } } },
    "errorLoadingActorContent": { "message": "Could not load content for $actorName$.", "placeholders": { "actorName": { "content": "$1" } } },
    "errorAddingStream": { "message": "Error adding stream(s): $message$", "placeholders": { "message": { "content": "$1" } } },
    "phpUrlNotConfigured": { "message": "The PHP server URL is not configured. Please set it up in Settings." },
    "searchingStreams": { "message": "Searching for streams for \"$title$\"...", "placeholders": { "title": { "content": "$1" } } },
    "sendingStreams": { "message": "Sending $count$ stream(s) to the server...", "placeholders": { "count": { "content": "$1" } } },
    "streamAddedSuccess": { "message": "Stream(s) added successfully." },
    "generatingM3U": { "message": "Generating M3U for \"$title$\"...", "placeholders": { "title": { "content": "$1" } } },
    "m3uDownloaded": { "message": "M3U for \"$title$\" downloaded.", "placeholders": { "title": { "content": "$1" } } },
    "errorGeneratingM3U": { "message": "Error generating M3U: $message$", "placeholders": { "message": { "content": "$1" } } },
    "settingsSavedSuccess": { "message": "Settings saved successfully." },
    "errorSavingSettings": { "message": "Error saving settings to the database." },
    "languageChangeReload": { "message": "Language changed. The application will now reload." },
    "addedToFavorites": { "message": "Added to favorites." },
    "removedFromFavorites": { "message": "Removed from favorites." },
    "plexScanInProgress": { "message": "Plex scan is already in progress." },
    "plexScanStarting": { "message": "Starting Plex scan..." },
    "noPlexTokens": { "message": "No Plex tokens configured." },
    "clearingSections": { "message": "Clearing sections: $sections$", "placeholders": { "sections": { "content": "$1" } } },
    "sectionsCleared": { "message": "Sections cleared." },
    "tokenFoundServers": { "message": "Token $token$... found $count$ servers.", "placeholders": { "token": { "content": "$1" }, "count": { "content": "$2" } } },
    "errorProcessingToken": { "message": "Error processing token $token$...: $message$", "placeholders": { "token": { "content": "$1" }, "message": { "content": "$2" } } },
    "initialScanPhaseComplete": { "message": "Initial scan phase completed." },
    "retryPhaseFinished": { "message": "Retry phase finished." },
    "plexScanFinished": { "message": "Plex scan finished. Updating content..." },
    "plexScanFatalError": { "message": "FATAL ERROR: $message$", "placeholders": { "message": { "content": "$1" } } },
    "errorDuringScan": { "message": "Error during scan: $message$", "placeholders": { "message": { "content": "$1" } } },
    "scanCancelled": { "message": "Scan cancelled by user." },
    "scanCancelledInfo": { "message": "Scan cancelled." },
    "retyingSection": { "message": "Retrying section \"$title$\"...", "placeholders": { "title": { "content": "$1" } } },
    "retrySuccess": { "message": "[SUCCESS] Retry of \"$title$\" completed.", "placeholders": { "title": { "content": "$1" } } },
    "retryError": { "message": "[FINAL ERROR] Retry failed for \"$title$\": $message$", "placeholders": { "title": { "content": "$1" }, "message": { "content": "$2" } } },
    "noRetriesPending": { "message": "No pending retries." },
    "startingRetryPhase": { "message": "Starting retry phase for $count$ sections...", "placeholders": { "count": { "content": "$1" } } },
    "retryPhaseCancelled": { "message": "Retry phase cancelled." },
    "errorInitializingMusicPlayer": { "message": "Error initializing music player." },
    "criticalErrorLoadingMusic": { "message": "Critical error loading music data." },
    "errorLoadingArtists": { "message": "Error loading artists." },
    "dbUnavailableError": { "message": "Error: Database not available." },
    "updatingMusicData": { "message": "Updating music data..." },
    "musicDataUpdated": { "message": "Music data updated." },
    "errorFetchingArtistSongs": { "message": "Error getting artist's songs." },
    "errorLoadingSongs": { "message": "Error loading songs." },
    "noArtistsFound": { "message": "No artists found." },
    "artistsCounter": { "message": "$start$-$end$ of $total$", "placeholders": { "start": { "content": "$1" }, "end": { "content": "$2" }, "total": { "content": "$3" } } },
    "artistsCounterSingle": { "message": "$total$ Artists", "placeholders": { "total": { "content": "$1" } } },
    "artistsCounterLoading": { "message": "Loading..." },
    "noSongsFound": { "message": "No songs found." },
    "shuffleOn": { "message": "Shuffle mode enabled." },
    "shuffleOff": { "message": "Shuffle mode disabled." },
    "downloadingSong": { "message": "Starting download of \"$title$\"...", "placeholders": { "title": { "content": "$1" } } },
    "songDownloaded": { "message": "\"$title$\" downloaded.", "placeholders": { "title": { "content": "$1" } } },
    "errorDownloadingSong": { "message": "Error downloading \"$title$\"", "placeholders": { "title": { "content": "$1" } } },
    "generatingAlbumM3U": { "message": "Generating M3U for \"$artist$\"...", "placeholders": { "artist": { "content": "$1" } } },
    "albumM3UGenerated": { "message": "M3U for album \"$artist$\" generated.", "placeholders": { "artist": { "content": "$1" } } },
    "playbackError": { "message": "Playback error" },
    "errorLabel": { "message": "Error" },
    "reloadingPage": { "message": "Reloading page..." },
    "viewed": { "message": "Viewed" },
    "local": { "message": "Local" },
    "topRatedSort": {"message": "Top Rated"},
    "recentSort": {"message": "Recent"},
    "popularSort": {"message": "Popular"},
    "moviesSectionTitle": {"message": "Movies"},
    "seriesSectionTitle": {"message": "Series"},
    "searchResultsFor": {"message": "Results for \"$query$\"", "placeholders": {"query": {"content": "$1"}}},
    "contentFrom": {"message": "Content from $actor$", "placeholders": {"actor": {"content": "$1"}}},
    "explore": {"message": "Explore"},
    "noGenre": {"message": "Uncategorized"},
    "synopsis": {"message": "Synopsis"},
    "noSynopsis": {"message": "No synopsis available."},
    "director": {"message": "Director:"},
    "writer": {"message": "Writer:"},
    "viewOnImdb": {"message": "View on IMDb"},
    "watchTrailer": {"message": "Watch Trailer"},
    "addToFavorites": {"message": "Favorite"},
    "removeFromFavorites": {"message": "Unfavorite"},
    "notAvailable": {"message": "Not Available"},
    "mainCast": {"message": "Main Cast"},
    "seasonsAndEpisodes": {"message": "Seasons & Episodes"},
    "similarContent": {"message": "Similar Content"},
    "episodesCount": {"message": "$count$ Episodes", "placeholders": {"count": {"content": "$1"}}},
    "seasonsCount": {"message": "$count$ Seasons", "placeholders": {"count": {"content": "$1"}}},
    "runtimeMinutes": {"message": "$count$ min", "placeholders": {"count": {"content": "$1"}}},
    "noTrailerFound": {"message": "No trailer was found for this title."},
    "fatalInitError": {"message": "Fatal Initialization Error"},
    "fatalInitErrorSub": {"message": "The application could not be loaded."},
    "invalidStreamInfo": {"message": "Invalid information."},
    "dbUnavailableForStreams": {"message": "Local database not available."},
    "noPlexServersForStreams": {"message": "No Plex servers."},
    "notFoundOnServers": {"message": "\"$query$\" not found on servers.", "placeholders": {"query": {"content": "$1"}}},
    "relativeTime_justNow": { "message": "Just now" },
    "relativeTime_minutesAgo": { "message": "$count$ minutes ago", "placeholders": { "count": { "content": "$1" } } },
    "relativeTime_hoursAgo": { "message": "$count$ hours ago", "placeholders": { "count": { "content": "$1" } } },
    "relativeTime_yesterday": { "message": "Yesterday" },
    "relativeTime_daysAgo": { "message": "$count$ days ago", "placeholders": { "count": { "content": "$1" } } },
    "errorLoadingDetails": { "message": "Error Loading Details" },
    "errorLoadingLocalContent": { "message": "Error loading local content." },
    "errorServerResponse": { "message": "Unsuccessful response from server." },
    "errorPlexApi": { "message": "Error $status$ from Plex API.", "placeholders": { "status": { "content": "$1" } } },
    "errorParsingPlexXml": { "message": "Error parsing Plex XML." },
    "untitled": { "message": "Untitled" },
    "itemCount": { "message": "$count$ items", "placeholders": { "count": { "content": "$1" } } },
    "noPhotoServers": { "message": "No photo servers" }
}