"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 for artist..."},
"musicSearchDiscographyPlaceholder":{"message":"Search in discography..."},
"updatingView":{"message":"Updating the view with new data..."},
"confirmClearContent":{"message":"Are you sure you want to delete the 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 all your 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."},
"jellyfinScanSuccess":{"message":"Jellyfin scan completed. Added $movies$ movies and $series$ series.","placeholders":{"movies":{"content":"$1"},"series":{"content":"$2"}}},
"noJellyfinCredentials":{"message":"Jellyfin credentials not configured."},
"notFoundOnJellyfin":{"message":"\"$query$\" not found on Jellyfin.","placeholders":{"query":{"content":"$1"}}},
"notFoundOnAnyServer":{"message":"\"$query$\" not found on any server.","placeholders":{"query":{"content":"$1"}}},
"availableOnPlex":{"message":"Available on Plex"},
"m3uGeneratorTitle":{"message":"M3U List Generator"},
"selectAServer":{"message":"Select a server..."},
"downloadM3u":{"message":"Download M3U"},
"m3uGenerator":{"message":"M3U Generator"},
"selectLibraries":{"message":"Select Libraries"},
"howToUse":{"message":"How to Use"},
"m3uInstruction1":{"message":"Choose a server from the list."},
"m3uInstruction2":{"message":"Select one or more libraries to include."},
"m3uInstruction3":{"message":"Click the download button."},
"m3uInstruction4":{"message":"Import the .m3u file into your compatible player."},
"chatOpen":{"message":"Open Chat"},
"chatTitle":{"message":"AI Assistant"},
"chatClose":{"message":"X"},
"chatPlaceholder":{"message":"Type your message..."},
"chatSend":{"message":"➤"},
"chatWelcome":{"message":"Welcome! I'm your CinePlex assistant. Ask me about movies, series, or anything else you'd like to know."},
"chatGoogleApiKeyMissing":{"message":"The Google Gemini API key is not configured. Please set it up in the extension settings to use the AI assistant."},
"chatApiInvalidResponse":{"message":"The API returned an invalid response. Please try again."},
"chatApiError":{"message":"Error communicating with the AI assistant"},
"downloadAll":{"message":"Download all"},
"download":{"message":"Download"},
"aiToolSearchLibraryDesc":{"message":"Searches the user's Plex library for movies or series by title."},
"aiToolSearchLibraryQueryParamDesc":{"message":"The title of the movie or series to search for."},
"aiToolSearchLibraryTypeParamDesc":{"message":"The type of content to search for. Can be 'movie' or 'series'. (Optional)."},
"aiToolSearchLibraryResolutionParamDesc":{"message":"The video resolution to search for (e.g., '4k', '1080p'). (Optional)."},
"aiToolSearchLibraryContainerParamDesc":{"message":"The video container format to search for (e.g., 'mkv', 'mp4'). (Optional)."},
"aiToolNavigateToPageDesc":{"message":"Navigates the user to a specific page within the application's interface."},
"aiToolNavigateToPagePageParamDesc":{"message":"The name of the page to navigate to, e.g., 'movies', 'series', 'stats', 'favorites', 'history', 'recommendations', 'photos', 'providers', 'm3u-generator', or 'music'."},
"aiToolGetUserStatsDesc":{"message":"Gets and displays the user's library statistics, such as the total number of unique movies, series, and artists."},
"aiToolShowItemDetailsDesc":{"message":"Displays the details page for a specific movie or series by its title and type."},
"aiToolShowItemDetailsTitleParamDesc":{"message":"The exact title of the movie or series."},
"aiToolShowItemDetailsTypeParamDesc":{"message":"The type of content. Must be 'movie' or 'series'."},
"aiToolAddToPlaylistDesc":{"message":"Adds a movie or series to the user's current playlist to be streamed to a configured PHP server."},
"aiToolAddToPlaylistTitleParamDesc":{"message":"The title of the movie or series to add."},
"aiToolAddToPlaylistTypeParamDesc":{"message":"The type of content. Must be 'movie' or 'series'."},
"aiToolDownloadSingleMovieM3UDesc":{"message":"Generates and downloads an M3U playlist file for a single locally available movie."},
"aiToolDownloadSingleMovieM3UTitleParamDesc":{"message":"The title of the movie for which the M3U will be generated."},
"aiToolDownloadSingleMovieM3UYearParamDesc":{"message":"The release year of the movie (optional, for better accuracy)."},
"aiToolDownloadSeriesSeasonM3UDesc":{"message":"Generates and downloads an M3U playlist file for a specific season of a locally available series."},
"aiToolDownloadSeriesSeasonM3UTitleParamDesc":{"message":"The title of the series."},
"aiToolDownloadSeriesSeasonM3USeasonParamDesc":{"message":"The season number to download."},
"aiToolDownloadSeriesSeasonM3UYearParamDesc":{"message":"The release year of the series (optional)."},
"aiToolCheckAndDownloadDesc":{"message":"Checks the availability of a list of movie or series titles on the user's local servers and, if found, generates and downloads an M3U playlist file with the found streams."},
"aiToolCheckAndDownloadTitlesParamDesc":{"message":"An array of movie or series titles to search for and download."},
"aiToolCheckAndDownloadTypeParamDesc":{"message":"The content type of the list. Must be 'movie' or 'series'."},
"aiToolCheckAndDownloadFilenameParamDesc":{"message":"The name of the M3U file to download (e.g., 'MyList.m3u'). If not provided, a default name will be used."},
"aiToolToggleFavoriteDesc":{"message":"Adds or removes a movie or series from the user's favorites list."},
"aiToolToggleFavoriteTitleParamDesc":{"message":"The title of the movie or series."},
"aiToolToggleFavoriteTypeParamDesc":{"message":"The type of content. Must be 'movie' or 'series'."},
"aiToolGetRecommendationsDesc":{"message":"Generates and displays a list of movie or series recommendations based on the user's viewing history and favorites."},
"aiToolApplyFiltersDesc":{"message":"Applies filters to the current movie or series view, allowing results to be refined by type, genre, year, and sort order."},
"aiToolApplyFiltersTypeParamDesc":{"message":"The content type to apply filters to. Must be 'movie' or 'series'."},
"aiToolApplyFiltersGenreParamDesc":{"message":"The name of the genre to filter by (e.g., 'Action', 'Drama')."},
"aiToolApplyFiltersYearParamDesc":{"message":"The release year to filter by (e.g., '2023')."},
"aiToolApplyFiltersSortParamDesc":{"message":"The sorting criteria for the results. Valid values: 'popularity.desc' (popular), 'vote_average.desc' (top rated), 'release_date.desc' (recent for movies), or 'first_air_date.desc' (recent for series)."},
"aiToolListAvailableMusicGenresDesc":{"message":"Lists all unique music genres available in the user's local library."},
"aiToolSearchMusicByGenreDesc":{"message":"Searches for artists in the user's music library that belong to a specific genre."},
"aiToolSearchMusicByGenreNameParamDesc":{"message":"The name of the music genre to search for (e.g., 'Rock', 'Pop', 'Jazz')."},
"aiToolPlayMusicByArtistDesc":{"message":"Opens the music player and starts playing songs by a specific artist from the user's library."},
"aiToolPlayMusicByArtistNameParamDesc":{"message":"The exact name of the artist whose songs are to be played."},
"aiToolClearChatHistoryDesc":{"message":"Clears the entire message history of the current conversation with the AI assistant."},
"aiToolDeleteDatabaseDesc":{"message":"Deletes the entire local database of the extension, including scanned content, settings, and favorites. This action is irreversible and will reload the application."},
"aiToolUpdateAllTokensDesc":{"message":"Initiates a full scan of all Plex servers and libraries associated with the configured tokens in the extension. Updates all movies, series, artists, and photos."},
"aiToolAddPlexTokenDesc":{"message":"Adds a new X-Plex token to the extension's configuration, allowing the application to scan content from new Plex servers."},
"aiToolAddPlexTokenTokenParamDesc":{"message":"The X-Plex token string to be added."},
"aiToolChangeRegionDesc":{"message":"Changes the region used for content discovery in the TMDB API. This will affect the results displayed in the movies and series sections, as well as the streaming providers."},
"aiToolChangeRegionRegionParamDesc":{"message":"The two-letter ISO 3166-1 country code for the new region (e.g., 'US' for United States, 'ES' for Spain, 'MX' for Mexico)."},
"aiToolClearAllFavoritesDesc":{"message":"Removes all movies and series that the user has marked as favorites."},
"aiToolClearViewingHistoryDesc":{"message":"Clears the user's viewing history from the history page."},
"aiToolClearRecommendationsViewDesc":{"message":"Clears the recommendations view and removes cached recommendations."},
"aiToolSearchNotFound":{"message":"Could not find '$query' in your library.","placeholders":{"query":{"content":"$1"}}},
"aiToolNavigateSuccess":{"message":"Navigated to the $page$ page.","placeholders":{"page":{"content":"$1"}}},
"aiToolNavigateError":{"message":"Error navigating to the $page$ page.","placeholders":{"page":{"content":"$1"}}},
"aiToolSearchMusicByGenreNotFound":{"message":"I couldn't find artists of the genre '$genre_name' in your library.","placeholders":{"genre_name":{"content":"$1"}}},
"aiToolPlayMusicNotReady":{"message":"The music player is not ready. Make sure your Plex music library has been scanned."},
"aiToolPlayMusicArtistNotFound":{"message":"Artist '$artist_name' not found.","placeholders":{"artist_name":{"content":"$1"}}},
"aiToolPlayMusicNoSongs":{"message":"No songs found for '$artist_name'.","placeholders":{"artist_name":{"content":"$1"}}},
"aiToolPlayMusicSuccess":{"message":"Playing music by '$artist_name'.","placeholders":{"artist_name":{"content":"$1"}}},
"aiToolChatHistoryCleared":{"message":"Chat history cleared."},
"aiToolConfirmDeleteDatabase":{"message":"Are you sure you want to delete the local database? This action is irreversible."},
"aiToolM3UDownloadStartedSingle":{"message":"Starting M3U download for '$movie_title'.","placeholders":{"movie_title":{"content":"$1"}}},
"aiToolM3UDownloadStartedSeason":{"message":"Starting M3U download for season $1 of '$2'.","placeholders":{"1":{"content":"$1"},"2":{"content":"$2"}}},
"aiToolM3UNoTitlesProvided":{"message":"Please provide a list of titles to create the playlist."},
"aiToolM3UCheckingTitles":{"message":"Checking titles on your local servers..."},
"aiToolM3UNoLocalMatchesForDownload":{"message":"I couldn't find any of the movies or series from the list on your local servers."},
"aiToolM3UDownloadStarted":{"message":"Done! I found $1 of the $2 titles on your servers and have started downloading the M3U playlist.","placeholders":{"1":{"content":"$1"},"2":{"content":"$2"}}},
"aiToolTrailerNotFoundSpecific":{"message":"Sorry, I couldn't find an available trailer for '$title'.","placeholders":{"title":{"content":"$1"}}},
"aiSystemPrompt_v4":{
"message":"You are a virtual assistant integrated into a Chrome extension that interacts with Plex and Jellyfin servers. Your main function is to help the user search, manage, play, and download multimedia content, as well as manage custom settings.\n\nTOP PRIORITY: Whenever the user's question refers to multimedia content (movies, series, music), you MUST assume it refers to their local library. Use the tools to search their database BEFORE searching the web.\n\n🎯 General behavior rules:\nAlways respond clearly, concisely, and directly. Be proactive and provide all relevant information at once to avoid follow-up questions. For example, when confirming the availability of a series, include the season details.\n\nCompare the current date with Google search results when asked for external information to ensure it is up-to-date.\n\nUse the exact names of the commands defined in the system (function.name) when calling tools.\n\n📦 Key functions for multimedia content:\nTo generate an M3U for a single movie, use download_single_movie_m3u.\nTo download a specific season of a series, use download_series_season_m3u.\nFor multiple titles (movies or full series), always use check_and_download_titles_list.\nTo search local content: search_library.\nTo search TMDB: search_tmdb_content.\nFor trending content: get_trending_content.\nTo show details of a title: show_item_details.\nTo add to the PHP playlist: add_to_playlist.\nTo check local availability: check_local_availability.\nIf a series is available locally, report how many seasons there are and on which servers using get_local_series_seasons.\nTo see recommendations: get_recommendations.\nTo apply filters: apply_filters.\nTo view history or favorites: view_history, view_favorites.\nTo mark as favorite: toggle_favorite.\nTo play trailer: play_trailer.\n\n🎵 Music functions:\nIf the user asks for general music genre recommendations (e.g., 'recommend a genre to cheer me up'), first use list_available_music_genres to see what genres they have and base your recommendation on that list.\nTo list all available music genres in the library: list_available_music_genres.\nTo search for artists by genre: search_music_by_genre.\nTo play songs by title and/or artist: play_song.\nTo play music by an artist: play_music_by_artist.\n\n🧰 Management and configuration functions:\nTo get user statistics: get_user_stats.\nTo navigate to specific sections: navigate_to_page.\nTo update tokens: update_all_tokens, add_plex_token.\nTo change content region: change_region.\nTo export or import the local database: export_local_database, import_local_database.\nTo delete the database: delete_database.\nTo clear favorites, history, or recommendations: clear_all_favorites, clear_viewing_history, clear_recommendations_view.\nTo toggle light/dark mode: toggle_light_mode.\nTo show or hide the hero section: toggle_hero_section.\n\n⚠️ Additional considerations:\nPrioritize locally available content. Use check_local_availability before showing playback or download options.\nIf an action fails, report it clearly and bluntly.\nAvoid unnecessarily repeating the user's request, unless it helps to contextualize the response."
},
"backToProviders":{"message":"Back to Providers"},
"aiToolFindStreamingProvidersDesc":{"message":"Finds where to watch a movie or series on streaming services."},
"aiToolFindStreamingProvidersTitleParamDesc":{"message":"The title of the movie or series to search for."},
"aiToolFindStreamingProvidersTypeParamDesc":{"message":"The content type (movie or series)."},
"aiToolFindStreamingProvidersYearParamDesc":{"message":"The release year of the content (optional)."},
"aiToolNoStreamingProviders":{"message":"No streaming providers found for {title}."},
"aiToolStreamingProvidersFound":{"message":"{title} is available on the following services: {providers}."},
"aiToolStreamingProviderError":{"message":"Error searching for streaming providers: {message}."},
"aiToolGetLocalSeriesSeasonsDesc":{"message":"Checks if a TV series is available locally and returns a detailed breakdown of the available seasons on each server."},
"aiToolGetLocalSeriesSeasonsTitleParamDesc":{"message":"The title of the series to check."},
"aiToolGetLocalSeriesSeasonsYearParamDesc":{"message":"The release year of the series (optional for greater accuracy)."},
"aiToolLocalSeriesNoSeasons":{"message":"The series '$series_title' is in your library, but no season details were found.","placeholders":{"series_title":{"content":"$1"}}},
"artist":{"message":"Artist"},
"tracks":{"message":"tracks"},
"noSongsFound":{"message":"No songs found for this artist."},
"durationMin":{"message":"Duration (Min)"},
"score":{"message":"Score"},
"searchGenre":{"message":"Search genre..."},
"searchArtists":{"message":"Search artists..."},
"preparingMusicLibrary":{"message":"Preparing your music library..."},
"preparingMusicLibraryDesc":{"message":"This one-time process may take a few minutes if you have many artists."},
"artistsProgress":{"message":"0 / 0 artists"},
"starting":{"message":"Starting..."},
"artistName":{"message":"Artist Name"},
"playPause":{"message":"Play/Pause"},
"noLocalFilesFound":{"message":"No local files found for this title."},
"server":{"message":"Server"},
"title":{"message":"Title"},
"year":{"message":"Year"},
"resolution":{"message":"Resolution"},
"size":{"message":"Size"},
"container":{"message":"Container"},
"action":{"message":"Action"},
"generate":{"message":"Generate"},
"availableLocalFiles":{"message":"Available Local Files"},
"downloadSeason":{"message":"Download Season"},
"errorLoadingServersM3u":{"message":"Error loading servers for the M3U generator:"},